@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.
- Node.js v6.10+
- Yarn or npm client
- Neutrino v8
@neutrinojs/loader-merge
can be installed via the Yarn or npm clients.
❯ yarn add @neutrinojs/loader-merge
❯ npm install --save @neutrinojs/loader-merge
@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: ['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);
@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.
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.