webpack-clean
Version:
A webpack plugin to clean specified files after build
98 lines (78 loc) • 4 kB
Markdown
[](https://github.com/allexcd/webpack-clean/stargazers)
[](https://github.com/allexcd/webpack-clean/network)
[](https://github.com/allexcd/webpack-clean/issues)
[](https://github.com/allexcd/webpack-clean/issues?q=is%3Aissue+is%3Aclosed)
[](https://github.com/allexcd/webpack-clean/releases)
[](https://github.com/allexcd/webpack-clean/releases)
[](https://nodei.co/npm/webpack-clean)
[](https://www.npmjs.com/package/webpack-clean)
[](https://nodei.co/npm/webpack-clean)
[](https://www.npmjs.com/package/webpack-clean)
[](https://www.npmjs.com/package/webpack-clean)
[](https://github.com/allexcd/webpack-clean/blob/master/LICENSE)
A webpack plugin to clean specified files after build
Install the plugin:
```
npm install webpack-clean --save-dev
yarn add webpack-clean --dev
```
```javascript
new WebpackCleanPlugin(files: array|string, [ { [basePath: string], [removeMaps: boolean] } ])
```
* `files` - array of files or string for a single file relative to the `basePath` or to the `context` of your config (if the `basePath` param is not specified),
* `basePath` (optional) - string - directory to be resolved to
* `removeMaps` (optional) - boolean - specify if the `.map` files should be automatically removed. Disabled by default.
* `forceDelete` (optional) - boolean - specify if the files should be force deleted in case of compile errors. If `forceDelete` is not enabled, the compile errors will be logged to `stdout` but the deletion of the files will not take place. Disabled by default.
### Usage
```javascript
var WebpackCleanPlugin = require('webpack-clean');
module.exports = {
context: path.join(__dirname, './'),
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new WebpackCleanPlugin([
'dist/test1.js',
'dist/test2.js'
])
]
};
module.exports = {
plugins: [
new WebpackCleanPlugin(
'dist/fileA.js',
{basePath: path.join(__dirname, './')}
)
]
};
module.exports = {
plugins: [
new WebpackCleanPlugin([
'fileA.js',
'fileB.js'
], {basePath: path.join(__dirname, 'dist'))}
]
};
module.exports = {
plugins: [
new WebpackCleanPlugin([
'fileA.js',
'fileB.js'
], {basePath: path.join(__dirname, 'dist'), removeMaps: true)}
]
};
module.exports = {
plugins: [
new WebpackCleanPlugin([
'fileA.js',
'fileB.js'
], {basePath: path.join(__dirname, 'dist'), removeMaps: true, forceDelete: true)}
]
};
```