webpack-encapsulation-plugin
v3.0.0
Published
Control access to modules bundled by Webpack
Downloads
159
Maintainers
Readme
Webpack Encapsulation Plugin
An implementation of esmac for Webpack to control access between modules and enforce file-layer encapsulation. See that project for more details.
Usage
The plugin has a familiar Webpack interface for filtering the files it runs
against, similar to what you would do with a loader. rules
is the only
required argument, which is the set of rules to provide to esmac.
// file: webpack.config.js
const EncapsulationPlugin = require('webpack-encapsulation-plugin')
module.exports = {
plugins: [
new EncapsulationPlugin({
rules: [ ... ]
})
]
}
The plugin can generate 2 types of errors that are added to the compilation's list of errors after the modules have been built:
AccessViolationError
when no rule was found to cover the dependencySpecifierMismatchError
when a rule was found but the specifier check failed
You can choose to format the errors into something meaningful to your users
by implementing the formatter
function, described in Options.
Options
See ./types.d.ts for the available options.
License
MIT