StephanGerbeth / webpack-virtual-modules

Webpack Virtual Modules with watch mode support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Webpack Virtual Modules

Build Status Greenkeeper badge Twitter Follow

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.

Installation

npm install --save-dev webpack-virtual-modules

Usage

Static virtual modules generation

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);

Dynamic virtual modules generation

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

Inspiration

This project is inspired by: https://github.com/rmarscher/virtual-module-webpack-plugin

License

Copyright © 2017 SysGears INC. This source code is licensed under the MIT license.

About

Webpack Virtual Modules with watch mode support

License:MIT License


Languages

Language:JavaScript 100.0%