Neutrino Loader Merge Middleware

NPM version NPM downloads Join Slack

neutrino-middleware-loader-merge is Neutrino middleware for easily performing a deep merge of options into a named rule and named loader in a Neutrino configuration.

Requirements

  • Node.js v6.10+
  • Yarn or npm client
  • Neutrino v6

Installation

neutrino-middleware-loader-merge can be installed via the Yarn or npm clients.

Yarn

❯ yarn add neutrino-middleware-loader-merge

npm

npm install --save neutrino-middleware-loader-merge

Usage

neutrino-middleware-loader-merge can be consumed from the Neutrino API, middleware, or presets. Require this package and plug it into Neutrino:

// Using function middleware format
const loaderMerge = require('neutrino-middleware-loader-merge');

neutrino.use(loaderMerge('compile', 'babel'), {
  plugins: ['object-rest-spread']
});

// Equivalent to:
neutrino.config.module
  .rule('compile')
  .use('babel')
    .tap(options => require('deepmerge')(options, {
      plugins: ['object-rest-spread']
    }));

This middleware is a factory intended to be invoked with a rule name and a loader name for which to extend the options. Upon invoking, it will return a middleware function to be provided to Neutrino's use() method. This middleware is only useful to the function middleware format.

const middleware = loaderMerge(ruleName, loaderName);

neutrino.use(middleware, options);

Customization

neutrino-middleware-loader-merge does not create any of its own conventions; it is only middleware for extending the options for a rule loader which has created its own conventions.

Contributing

This middleware is part of the neutrino-dev repository, a monorepo containing all resources for developing Neutrino and its core presets and middleware. Follow the contributing guide for details.

results matching ""

    No results matching ""