runner-generator-webpack
v3.0.1
Published
Tasks generator for Webpack.
Downloads
27
Readme
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.