JSPM

  • Created
  • Published
  • Downloads 856
  • Score
    100M100P100Q9123F
  • License MPL-2.0

Neutrino middleware for cleaning bundle output directories

Package Exports

  • @neutrinojs/clean

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@neutrinojs/clean) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Neutrino Clean Middleware

@neutrinojs/clean is Neutrino middleware for removing or cleaning build directories.

NPM version NPM downloads

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 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');

// Use with default options
neutrino.use(clean());

// Usage shows the default values of this middleware:
neutrino.use(
  clean({
    verbose: neutrino.options.debug,
    // Override pluginId to add an additional clean plugin instance
    pluginId: 'clean',
  }),
);
// Using in .neutrinorc.js
const clean = require('@neutrinojs/clean');

// Use with default options
module.exports = {
  use: [clean()],
};

// Usage shows the default values of this middleware:
module.exports = {
  use: [
    clean({
      verbose: neutrino.options.debug,
      // Override pluginId to add an additional banner plugin instance
      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.