JSPM

  • Created
  • Published
  • Downloads 146
  • Score
    100M100P100Q9455F
  • License MPL-2.0

Neutrino middleware for merging options into existing ruleset loader options

Package Exports

  • @neutrinojs/loader-merge

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/loader-merge) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Neutrino Loader Merge Middleware

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

NPM version NPM downloads

Requirements

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

Installation

@neutrinojs/loader-merge can be installed via the Yarn or npm clients.

Yarn

yarn add --dev @neutrinojs/loader-merge

npm

npm install --save-dev @neutrinojs/loader-merge

Usage

@neutrinojs/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('@neutrinojs/loader-merge');

neutrino.use(loaderMerge('compile', 'babel'), {
  plugins: ['your-babel-plugin']
});

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

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

@neutrinojs/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 repository, a monorepo containing all resources for developing Neutrino and its core presets and middleware. Follow the contributing guide for details.