webpack-post-compile-plugin
v1.2.3
Published
A webpack post compile plugin
Downloads
376
Readme
webpack-post-compile-plugin
A webpack post compile plugin. It is used to include post compile modules in node_modules.
Install
npm i webpack-post-compile-plugin --save-dev
Usage
const PostCompilePlugin = require('webpack-post-compile-plugin')
const path = require('path')
module.exports = {
// ...
module: {
rules: [
// ...
{
test: /\.js$/,
loader: 'babel-loader',
include: [path.resolve(__dirname, './')]
// eg: {"compileDependencies": ["cube-ui"]} // package.json
// the current rule's loader will process node_modules/cube-ui/**/*.js too
}
// ...
]
},
plugins: [
new PostCompilePlugin()
]
}
Config
And if you can control all the packages which you want to post compile, you can just add postCompile: true
to the packages package.json
:
{
"name": "your-one-pkg",
// ...
"postCompile": true
// ...
}
Or you can add compileDependencies
to your application package.json
:
{
"name": "your-application",
// ...
"compileDependencies": ["xx-pkg"]
}
After 1.0.0+, you can alse use postCompile
like this:
{
"name": "your-one-pkg",
// ...
"postCompile": "src/*.js"
// ...
}
{
"name": "your-one-pkg",
// ...
"postCompile": [
"*.js"
]
// ...
}
1.0.0+ postCompile
uses micromatch to match the post compile files.
Options
new PostCompilePlugin({
dependenciesKey: 'myCompileDependencies',
compileDependencies: ['a', 'b'],
compilePaths: ['node_module/@test']
})
dependenciesKey {String}
default'compileDependencies'
, dependencies key inpackage.json
, it is used to find and include post compile node modules.compileDependencies {Array}
defaultundefined
, application init post compile node modules, if it isundefined
then the plugin will getdependenciesKey
value ordependencies
keys value inpackage.json
as the init application's post complie node modules.sourceDir {String}
0.5.1+ defaultsrc
, application source directory, if your application's source directory islib
you should set this config tolib
.compilePaths {Array}
1.1.0+ defaultundefined
, a dependencies matching any of these conditions will be treated as post compile modules.