Skip to content

deleteme/ExecutableDllPlugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExecutableDllPlugin

Install

Install with yarn:

yarn add executable-dll-plugin --dev

With npm:

npm install executable-dll-plugin --save-dev

Motivation

DllPlugin webpack plugin cannot be configured to meet both requirements: a) bundle shared modules and b) run these modules. That is, it is impossible for a DllPlugin bundle to execute code when it is imported via a script tag into the page.

ExecutableDllPlugin allows you to execute an entrypoint module(s) included to a DllPlugin bundle.

API

Add ExecutableDllPlugin to webpack configuration next to DllPlugin:

+ const ExecutableDllPlugin = require('executable-dll-plugin');
//...
output: {
  //...
  library: 'MyLibrary'
},
plugins: [
  new DllPlugin({
    name: 'MyLibrary',
    path: path.join(__dirname, 'manifest.json')
  }),
+ new ExecutableDllPlugin()
]

By default all entry modules are run, if you would like to execute a particular entrypoint(s), you could specify it via plugin options:

new ExecutableDllPlugin({
  execute: [path.resolve(__dirname, './src/A.js')]
})

How it works

The idea is to call __webpack_require__ for each entry during webpack bootstrapping, e.g.:

['0','./src/A.js','./src/B.js','./src/C.js'].forEach(__webpack_require__);

License

MIT

About

⚡️ Execute DllPlugin bundle code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%