Have opinions about JavaScript? We want to hear them. Take the 2018 JavaScript Ecosystem Survey »

@neutrinojs/loader-merge

8.3.0 • Public • Published

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 Join the Neutrino community on Spectrum

Requirements

  • Node.js v6 LTS, v8, v9
  • Yarn v1.2.1+, or npm v5.4+
  • Neutrino v8

Installation

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

Yarn

❯ yarn add @neutrinojs/loader-merge

npm

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

install

npm i @neutrinojs/loader-merge

Downloadsweekly downloads

9,669

version

8.3.0

license

MPL-2.0

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability