Webpack Plugin that allows dynamical generation of in-memory virtual modules. Watch mode is supported. Any write to virtual module will be seen by Webpack as if the corresponding file was changed.
npm install --save-dev webpack-virtual-modules
Sample Webpack config:
var VirtualModulesPlugin = require("webpack-virtual-modules");
var virtualModules = new VirtualModulesPlugin({
'node_modules/module-foo.js': 'module.exports = { foo: "foo" };'
'node_modules/module-bar.js': 'module.exports = { bar: "bar" };'
});
module.exports = {
// ...
plugins: [
virtualModules
]
};
Somewhere in the source code:
var moduleFoo = require('module-foo');
// Outputs 'foo'
console.log(moduleFoo.foo);
var webpack = require("webpack");
var VirtualModulesPlugin = require("webpack-virtual-modules");
var virtualModules = new VirtualModulesPlugin();
var compiler = webpack({
// ...
plugins: [
virtualModules
]
});
compiler.plugin('watch', function(callback) {
virtualModules.writeModule('node_modules/module-foo.js', '');
callback();
});
compiler.watch();
// Later in some other code, perhaps in other Webpack plugin:
virtualModules.writeModule('node_modules/module-foo.js',
'module.exports = { foo: "foo" };');
// After this write the webpack will "see" that module-foo.js
// has been changed and restarts compilation
This project is inspired by: https://github.com/rmarscher/virtual-module-webpack-plugin
Copyright © 2017 SysGears INC. This source code is licensed under the MIT license.