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.
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: ['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);
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.