Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
executable-dll-plugin
Advanced tools
Install with yarn
:
yarn add executable-dll-plugin --dev
With npm
:
npm install executable-dll-plugin --save-dev
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.
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:
use filter
option for advanced filtering:
const executableModules = [path.resolve(__dirname, './src/A.js')];
new ExecutableDllPlugin({
filter: m => executableModules.includes(m.identifier())
})
or execute
option to list particular modules:
new ExecutableDllPlugin({
execute: [path.resolve(__dirname, './src/A.js')]
})
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__);
If your modules are sensitive to execution order, you might want to use optimization.moduleIds webpack option to produce a stable call order for both dev
and prod
modes.
+ const ExecutableDllPlugin = require('executable-dll-plugin');
//...
output: {
//...
library: 'MyLibrary'
},
+ optimization: { moduleIds: 'natural' },
plugins: [
new DllPlugin({
name: 'MyLibrary',
path: path.join(__dirname, 'manifest.json')
}),
+ new ExecutableDllPlugin()
]
See specific-entrypoints and code-splitting examples for more details.
FAQs
Execute DllPlugin bundle code
We found that executable-dll-plugin demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.