1.0.3 • Published 4 years ago

rollup-plugin-memory-fs v1.0.3

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

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: 1. 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); 2. 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; 3. 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: 1. Clone the project; 2. npm install; 3. npm run build.

Credits

License

The MIT License (MIT). Please see LICENSE for more information.