Neutrino Copy Middleware

@neutrinojs/copy is Neutrino middleware for copying files during building.

NPM version NPM downloads

Requirements

  • Node.js 10+
  • Yarn v1.2.1+, or npm v5.4+
  • Neutrino 9
  • webpack 4

Installation

@neutrinojs/copy can be installed via the Yarn or npm clients.

Yarn

❯ yarn add --dev @neutrinojs/copy

npm

❯ npm install --save-dev @neutrinojs/copy

Usage

@neutrinojs/copy can be consumed from the Neutrino API, middleware, or presets. Require this package and plug it into Neutrino:

const copy = require('@neutrinojs/copy');

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

// Usage shows the default values of this middleware:
neutrino.use(
  copy({
    patterns: [],
    options: {
      logLevel: neutrino.options.debug ? 'debug' : 'warn',
    },
    pluginId: 'copy',
  }),
);
// Using in .neutrinorc.js
const copy = require('@neutrinojs/copy');

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

// Usage shows the default values of this middleware:
module.exports = {
  use: [
    copy({
      patterns: [],
      options: {
        logLevel: neutrino.options.debug ? 'debug' : 'warn',
      },
      pluginId: 'copy',
    }),
  ],
};

The patterns and options are defined from the CopyWebpackPlugin. See their docs for details on valid values to specify.

  • patterns: An array of patterns specifying copy operations.
  • options: An object specifying copy options.
  • pluginId: The plugin identifier. Override this to add an additional copy plugin instance.

Customization

@neutrinojs/copy 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
copy Copy files during 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.