Open
Description
- Update plugin guidelines and documentation to explain this
- Open issues on all plugins that need this added linking to the new docs
- Add this to a few prominent modules (sass, less, stylus, browserify, require.js)
To describe the problem, look at browserify. It likes to read all of it's own dependencies in. We prefer to do the IO so we can pass virtual files to these modules. Currently this isn't possible without writing to a tmp folder and then giving the tmp folder to browserify so it can load the modifications that a plugin up the pipeline made. Instead we can trick browserify into thinking the set of virtual files (purely in memory) are the real fs by wrapping it in a contextify sandbox where fs = a set of virtual files. This will be a module that plugin authors use under the hood to help deal with these modules.