# neutrino-middleware-loader-merge

> Neutrino middleware for merging options into existing ruleset loader options

Latest version **7.4.0** (published 2017-12-04) · MPL-2.0 license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install neutrino-middleware-loader-merge
pnpm add neutrino-middleware-loader-merge
yarn add neutrino-middleware-loader-merge
bun add neutrino-middleware-loader-merge
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 7.4.0 |
| Published | 2017-12-04 |
| First published | 2017-03-09 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3905 |
| Author | Eli Perelman |
| Maintainers | eliperelman |
| Keywords | neutrino, neutrino-middleware, rule, loader, merge |

## Links

- npm: https://www.npmjs.com/package/neutrino-middleware-loader-merge
- Repository: https://github.com/mozilla-neutrino/neutrino-dev/tree/master/packages/neutrino-middleware-loader-merge
- Homepage: https://neutrino.js.org
- Issues: https://github.com/mozilla-neutrino/neutrino-dev/issues
- npm.io page: https://npm.io/package/neutrino-middleware-loader-merge

## Dependencies (1)

- [deepmerge](https://npm.io/package/deepmerge.md) ^1.5.2

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 7.4.0 (latest) — 2017-12-04
- 7.3.3 — 2017-11-21
- 7.3.2 — 2017-11-13
- 7.3.1 — 2017-11-06
- 7.3.0 — 2017-10-31
- 7.2.3 — 2017-10-26
- 7.2.1 — 2017-10-21
- 7.2.0 — 2017-10-21
- 7.1.10 — 2017-10-18
- 7.1.9 — 2017-10-18
- 7.1.8 — 2017-10-18
- 7.1.7 — 2017-10-18
- 7.1.6 — 2017-10-18
- 7.1.5 — 2017-10-18
- 7.1.4 — 2017-10-18
- … 37 more at https://npm.io/package/neutrino-middleware-loader-merge/versions

## README

# Neutrino Loader Merge Middleware

`neutrino-middleware-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-image]][npm-url]
[![NPM downloads][npm-downloads]][npm-url]
[![Join the Neutrino community on Spectrum][spectrum-image]][spectrum-url]

## Requirements

- Node.js v6.10+
- Yarn or npm client
- Neutrino v7

## Installation

`neutrino-middleware-loader-merge` can be installed via the Yarn or npm clients.

#### Yarn

```bash
❯ yarn add neutrino-middleware-loader-merge
```

#### npm

```bash
❯ npm install --save neutrino-middleware-loader-merge
```

## Usage

`neutrino-middleware-loader-merge` can be consumed from the Neutrino API, middleware, or presets. Require this package
and plug it into Neutrino:

```js
// Using function middleware format
const loaderMerge = require('neutrino-middleware-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.

```js
const middleware = loaderMerge(ruleName, loaderName);

neutrino.use(middleware, options);
```


## Customization

`neutrino-middleware-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](https://github.com/mozilla-neutrino/neutrino-dev) repository, a monorepo
containing all resources for developing Neutrino and its core presets and middleware. Follow the
[contributing guide](https://neutrino.js.org/contributing) for details.

[npm-image]: https://img.shields.io/npm/v/neutrino-middleware-loader-merge.svg
[npm-downloads]: https://img.shields.io/npm/dt/neutrino-middleware-loader-merge.svg
[npm-url]: https://npmjs.org/package/neutrino-middleware-loader-merge
[spectrum-image]: https://withspectrum.github.io/badge/badge.svg
[spectrum-url]: https://spectrum.chat/neutrino

---
_Source: https://npm.io/package/neutrino-middleware-loader-merge · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
