rollup-plugin-memory-fs
v1.0.3
Published
Rollup plugin for storing build artifacts in memory, rather than FS.
Downloads
15
Maintainers
Readme
Rollup plugin for storing build artifacts in memory
Quite obviously, this plugin is intended for use during development in watch mode with HTTP-server (for example, using rollup-plugin-serve).
Installation
# yarn
yarn add -D rollup-plugin-memory-fs
# npm
npm install --save-dev rollup-plugin-memory-fs
Usage
// rollup.config.js
import serve from 'rollup-plugin-serve';
import memfs from 'rollup-plugin-memory-fs'
export default {
input: 'src/main.js',
output: {
file: 'dist/bundle.js',
format: ...
},
plugins: [
serve({ contentBase: ['./dist'] }),
memfs()
]
}
Caveats
This plugin works by monkey-patching native Node.js module fs
with memfs
. This approach allows for transparent compatibility with any other plugin, and with Rollup itself. However, this imposes some limitations on overall Rollup workflow:
- Most importantly, any plugins that tightly depend on native filesystem will not work, most notably those relying on
fsevents
Node.js module (for example, rollup-plugin-livereload - see below for alternative solution); - Any data written to FS in Rollup process will end up in memory, and thus will be lost on exit. Bear that in mind if you have any custom code executing during builds;
- This plugin cannot be used only for specific outputs - once initialized, it will affect all bundles.
For live reloading, you can use rollup-plugin-livereload-universal. It's basically an alternative implementation of rollup-plugin-livereload that allows triggering reloads with a custom event emitter. See its README for instructions.
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Contributions and feedback are more than welcome.
To get it running:
- Clone the project;
npm install
;npm run build
.
Credits
License
The MIT License (MIT). Please see LICENSE for more information.