3.0.1 • Published 1 year ago
runner-generator-webpack v3.0.1
Tasks generator for Webpack
Installation
npm install runner-generator-webpack
Usage
Add to the scope:
const generator = require('runner-generator-webpack');
Generate tasks according to the given config:
const tasks = generator(webpack => {
return {
mode: 'development',
entry: 'src/js/main.js',
output: {
filename: 'develop.js',
path: path.resolve('build')
},
devtool: 'source-map',
plugins: [
new webpack.optimize.OccurrenceOrderPlugin()
],
hooks: {
done: {
// according to https://webpack.js.org/api/compiler-hooks/
// each hook must pass a class name of https://github.com/webpack/tapable
class: 'AsyncSeriesHook',
callbacks: [
function ( stats) {
console.log(stats);
}
]
},
compile: {
class: 'SyncHook',
callbacks: [
function ( compilationParams ) {
console.log(compilationParams);
}
]
}
}
};
});
Add generated tasks to the runner
instance:
const runner = require('runner');
Object.assign(runner.tasks, tasks);
The following tasks will become available:
Task name | Description |
---|---|
webpack:config | prints the current configuration used for generated tasks |
webpack:build | performs webpack compilation |
webpack:modules | prints detailed info on files used in the latest compilation |
webpack:clear | removes compiled file (source map as well) |
webpack:watch | starts file changes monitoring and rebuilds when necessary |
webpack:unwatch | stops monitoring |
Generator accepts two arguments: base configuration and additional options.
Base configuration
It's a Webpack config passed to the compiller instance.
Additional options
It's an object with the following properties:
Name | Description |
---|---|
prefix | an affix placed before a task name (default is webpack: ) |
suffix | a string added at the end of a task name (empty by default) |
So it's possible to change generated tasks names:
Object.assign(runner.tasks,
generator(config, {
prefix: 'js:',
suffix: ':develop'
})
);
It will add the following tasks:
js:config:develop
js:build:develop
js:modules:develop
js:clear:develop
js:watch:develop
js:unwatch:develop
Contribution
If you have any problems or suggestions please open an issue according to the contribution rules.
License
runner-generator-webpack
is released under the GPL-3.0 License.