rollup-plugin-force-binding

1.0.6 • Public • Published

rollup-plugin-force-binding

Force all import bindings for a module to come from one absolute source. Useful for bundles with multiple entry points that have shared dependencies at different absolute paths.

// entry A
import SomeDependency from 'some-dependency';
// resolved path: ~\path\to\A\node_modules\some-dependency\...
 
// entry B
import SomeDependency from 'some-dependency';
// resolved path: ~\path\to\B\node_modules\some-dependency\...
 
// resulting in bundled duplicates
var SomeDependency = (function () {})();
var EntryA = (function (_SomeDependency) {})(SomeDependency);
 
var SomeDependency$2 = (function () {})();
var EntryB = (function (_SomeDependency) {})(SomeDependency$2);

Install

$ npm i rollup-plugin-force-binding [--save-dev]

Usage

If used in junction with node-resolve, place force-binding BEFORE in the plugin array.

import forceBinding from 'rollup-plugin-force-binding';
 
rollup.rollup({
  plugins: [
    forceBinding([
      // regular module
      'some-dependency',
      // pathed module (some-dependency/src/Asset.js)
      'Asset' // 'Asset.js' also valid
    ])
  ]
});

License

MIT

/rollup-plugin-force-binding/

    Package Sidebar

    Install

    npm i rollup-plugin-force-binding

    Weekly Downloads

    34

    Version

    1.0.6

    License

    MIT

    Last publish

    Collaborators

    • tehvgg