diff --git a/docs/modules/README.md b/docs/modules/README.md index 5c8dda3..006a8f7 100644 --- a/docs/modules/README.md +++ b/docs/modules/README.md @@ -12,6 +12,7 @@ ESLint plugin. ## List of modules +- [`@75lb/deep-merge`](./deep-merge.md) - [`@jsdevtools/ezspawn`](./ez-spawn.md) - [`axios`](./fetch.md) - [`bluebird`](./bluebird-q.md) diff --git a/docs/modules/deep-merge.md b/docs/modules/deep-merge.md new file mode 100644 index 0000000..9b62396 --- /dev/null +++ b/docs/modules/deep-merge.md @@ -0,0 +1,27 @@ +--- +description: Modern alternatives to packages for deep merging objects +--- + +# Replacements for deep merge packages + +## `defu` + +If you need to deep merge two objects, you can use [`defu`](https://github.com/unjs/defu): + +```ts +import { defu } from 'defu' + +const options = defu(object, defaults) +``` + +## `@fastify/deepmerge` + +The [`@fastify/deepmerge`](https://github.com/fastify/deepmerge) package is another fast and small alternative. + +It also offers more options for customizing the merge behavior than other libraries. + +```ts +import deepMerge from '@fastify/deepmerge' + +const options = deepMerge(object, defaults) +``` diff --git a/manifests/preferred.json b/manifests/preferred.json index c06ac71..66c1a3f 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -1,5 +1,11 @@ { "mappings": { + "@75lb/deep-merge": { + "type": "module", + "moduleName": "@75lb/deep-merge", + "replacements": ["defu", "@fastify/deepmerge"], + "url": {"type": "e18e", "id": "deep-merge"} + }, "@iarna/toml": { "type": "module", "moduleName": "@iarna/toml", @@ -2739,6 +2745,12 @@ "url": {"type": "e18e", "id": "faker"}, "replacementModule": "@faker-js/faker" }, + "@fastify/deepmerge": { + "id": "@fastify/deepmerge", + "type": "documented", + "url": {"type": "e18e", "id": "deep-merge"}, + "replacementModule": "@fastify/deepmerge" + }, "@material/web": { "id": "@material/web", "type": "documented", @@ -2967,7 +2979,7 @@ "defu": { "id": "defu", "type": "documented", - "url": {"type": "e18e", "id": "extend"}, + "url": {"type": "e18e", "id": "deep-merge"}, "replacementModule": "defu" }, "dequal": {