{"library":"rollup-plugin-memfs","title":"rollup-plugin-memfs","description":"A Rollup plugin that uses an in-memory filesystem (memfs) as the file system backend, enabling unit testing of Rollup builds without writing to disk. Current version is 4.0.1-alpha.0. It replaces Rollup's default file system with a memfs instance, allowing deterministic tests and fast iteration. Key differentiators: works with memfs v4, supports Promise-based memfs API, and is TypeScript-native. Compared to alternatives like rollup-plugin-mock-fs, this plugin integrates directly with memfs's Volume for fine-grained virtual file control.","language":"javascript","status":"active","last_verified":"Mon Apr 27","install":{"commands":["npm install rollup-plugin-memfs"],"cli":null},"imports":["import { memfsPlugin } from 'rollup-plugin-memfs'","import createFs from 'memfs/lib/promises'","import { Volume } from 'memfs'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { Volume } from 'memfs';\nimport createFs from 'memfs/lib/promises';\nimport { memfsPlugin } from 'rollup-plugin-memfs';\nimport { rollup } from 'rollup';\n\nconst vol = Volume.fromJSON({\n  '/input.js': 'export default 42;'\n});\nconst memfs = createFs(vol);\n\nasync function build() {\n  const bundle = await rollup({\n    input: '/input.js',\n    plugins: [memfsPlugin(memfs)]\n  });\n  const { output } = await bundle.generate({ format: 'es' });\n  console.log(output[0].code); // 'var input = 42; export { input as default };'\n}\nbuild();","lang":"typescript","description":"Creates an in-memory filesystem with memfs, uses it as Rollup's file system, and generates a bundle without touching disk.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}