Neutrino Clean Middleware
@neutrinojs/clean
is Neutrino middleware for removing or cleaning build
directories.
By default, this plugin will remove all files inside webpack's output.path
directory, as well as all unused webpack assets after every successful rebuild.
Requirements
- Node.js ^8.10 or 10+
- Yarn v1.2.1+, or npm v5.4+
- Neutrino 9
- webpack 4
Installation
@neutrinojs/clean
can be installed via the Yarn or npm clients.
Yarn
❯ yarn add --dev @neutrinojs/clean
npm
❯ npm install --save-dev @neutrinojs/clean
Usage
@neutrinojs/clean
can be consumed from the Neutrino API, middleware, or
presets. Require this package and plug it into Neutrino:
const clean = require('@neutrinojs/clean');
neutrino.use(clean());
neutrino.use(
clean({
verbose: neutrino.options.debug,
pluginId: 'clean',
}),
);
const clean = require('@neutrinojs/clean');
module.exports = {
use: [clean()],
};
module.exports = {
use: [
clean({
verbose: neutrino.options.debug,
pluginId: 'clean',
}),
],
};
Additional options can be specified to control the behavior of the underlying
clean-webpack-plugin
. See
CleanWebpackPlugin
's documentation
for available options.
Clean external directories
Pass the dangerouslyAllowCleanPatternsOutsideProject: true
option to remove
directories outside of the project root. This is disabled by default to prevent
deletion of unintended directories.
module.exports = {
use: [
clean({
dangerouslyAllowCleanPatternsOutsideProject: true,
}),
],
};
Customization
@neutrinojs/clean
creates some conventions to make overriding the
configuration easier once you are ready to make changes.
Plugins
The following is a list of plugins and their identifiers which can be
overridden:
Name | Description | NODE_ENV |
---|
clean | Removes directories before building. | all |
Contributing
This middleware is part of the
neutrino repository, a monorepo
containing all resources for developing Neutrino and its core presets and
middleware. Follow the
contributing guide for details.