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.
Requirements¶
- Node.js v8.3+
- 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.