You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.2 KiB

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.9+
  • Yarn or npm client
  • Neutrino v5

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:

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.

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 create its own conventions.

Contributing

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