Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

deepmerge-ts

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deepmerge-ts - npm Package Compare versions

Comparing version 6.0.0-next.1 to 6.0.0

34

CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
# [6.0.0](https://github.com/RebeccaStevens/deepmerge-ts/compare/v5.1.0...v6.0.0) (2024-05-19)
### Bug Fixes
* type when merging optional properties of a record ([fa9ace2](https://github.com/RebeccaStevens/deepmerge-ts/commit/fa9ace2a2b38030d12fa85634966d409b8bb123f))
### Build System
* remove typing support for typescript<4.7 ([f2f5956](https://github.com/RebeccaStevens/deepmerge-ts/commit/f2f5956d653a672073fc3c0174f9d8d6ca9d4371))
### Features
* allow restricting what types can be passed in as parameters ([69e9ba3](https://github.com/RebeccaStevens/deepmerge-ts/commit/69e9ba3519319eb02763887f457549340e9a9c76)), closes [#305](https://github.com/RebeccaStevens/deepmerge-ts/issues/305)
* remove deprecated type DeepMergeLeafHKT ([1982e56](https://github.com/RebeccaStevens/deepmerge-ts/commit/1982e56016cbbbfd07f78e8512b56e8294ff83c0))
* undefined will no longer replace defined values by default ([9c86605](https://github.com/RebeccaStevens/deepmerge-ts/commit/9c866054cbade77118b5cd62b1e8e68033fe2879))
### Performance Improvements
* remove BlacklistedRecordProps ([19d4944](https://github.com/RebeccaStevens/deepmerge-ts/commit/19d4944fa228d66d5af93f419526ffaf8b5a376b))
### BREAKING CHANGES
* remove deprecated type DeepMergeLeafHKT
* undefined will no longer replace defined values by default
* The order of the generics of `deepmergeCustom`
and `deepmergeIntoCustom` have changed. If you are passing generics
to these functions you need to update them.
* remove typing support for typescript<4.7
# [5.1.0](https://github.com/RebeccaStevens/deepmerge-ts/compare/v5.0.0...v5.1.0) (2023-04-04)

@@ -5,0 +39,0 @@

17

package.json
{
"name": "deepmerge-ts",
"version": "6.0.0-next.1",
"version": "6.0.0",
"description": "Deeply merge 2 or more objects respecting type information.",

@@ -58,4 +58,4 @@ "keywords": [

"cz": "git-cz",
"lint": "eslint \"**/*\" && pnpm run lint:md-only && pnpm run lint:spelling && pnpm run lint:knip && pnpm run lint:packages",
"lint-fix": "eslint \"**/*\" --fix && pnpm run lint:packages-fix",
"lint": "eslint && pnpm run lint:md-only && pnpm run lint:spelling && pnpm run lint:knip && pnpm run lint:packages",
"lint-fix": "eslint --fix && pnpm run lint:packages-fix",
"lint:js": "eslint \"**/*.?([cm])[jt]s?(x)\"",

@@ -67,7 +67,9 @@ "lint:js-fix": "eslint \"**/*.?([cm])[jt]s?(x)\" --fix",

"lint:md": "pnpm run lint:md-only && eslint \"**/*.md\"",
"lint:md-fix": "eslint \"**/*.md\" --fix",
"lint:md-only": "markdownlint \"**/*.md\" --config=.markdownlint.json --ignore-path=.markdownlintignore",
"lint:md-fix": "markdownlint-cli2 --fix && eslint \"**/*.md\" --fix",
"lint:md-only": "markdownlint-cli2",
"lint:packages": "pnpm dedupe --check",
"lint:packages-fix": "pnpm dedupe",
"lint:spelling": "cspell lint --no-progress --show-suggestions --show-context --dot \"**\" \".github/**/*\"",
"lint:yaml": "eslint \"**/*.y?(a)ml\"",
"lint:yaml-fix": "eslint \"**/*.y?(a)ml\" --fix",
"prepare": "husky",

@@ -85,3 +87,3 @@ "release": "semantic-release",

"@cspell/dict-cryptocurrencies": "5.0.0",
"@rebeccastevens/eslint-config": "3.0.0-next.26",
"@rebeccastevens/eslint-config": "3.0.0-next.27",
"@rollup/plugin-replace": "5.0.5",

@@ -133,4 +135,3 @@ "@semantic-release/changelog": "6.0.3",

"lodash": "4.17.21",
"markdownlint": "0.34.0",
"markdownlint-cli": "0.40.0",
"markdownlint-cli2": "0.13.0",
"prettier": "3.2.5",

@@ -137,0 +138,0 @@ "prettier-plugin-packagejson": "2.5.0",

@@ -29,3 +29,4 @@ <div align="center">

Tidelift is working with the maintainers of `deepmerge-ts` and a growing network of open source maintainers to ensure your open source software supply chain meets enterprise standards now and into the future.
Tidelift is working with the maintainers of `deepmerge-ts` and a growing network of open source maintainers to ensure
your open source software supply chain meets enterprise standards now and into the future.
[Learn more.](https://tidelift.com/subscription/pkg/npm-deepmerge-ts?utm_source=npm-deepmerge-ts&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)

@@ -123,11 +124,14 @@

You can try out this example at [codesandbox.io](https://codesandbox.io/s/deepmerge-ts-example-iltxby?file=/src/example.ts).
You can try out this example at
[codesandbox.io](https://codesandbox.io/s/deepmerge-ts-example-iltxby?file=/src/example.ts).
### Merging into a Target
You can use `deepmergeInto` if you want to update a target object with the merge result instead of creating a new object.
You can use `deepmergeInto` if you want to update a target object with the merge result instead of creating a new
object.
This function is best used with objects that are all of the same type.
Note: If the target object's type is different to the input objects, we'll assert that the target's type has changed (this is not done automatically with `deepmergeIntoCustom`).
Note: If the target object's type differs from the input objects, we'll assert that the target's type has changed
(this is not done automatically with `deepmergeIntoCustom`).

@@ -143,3 +147,4 @@ ### Customized the Merging Process

We use smart merging instead of the classic merging strategy which some alternative libraries use. This vastly improves performance, both in execution time and memory usage.
We use smart merging instead of the classic merging strategy which some alternative libraries use. This vastly improves
performance, both in execution time and memory usage.

@@ -158,3 +163,4 @@ ### Classic Merge (not what we do)

In addition to performance improvements, this strategy merges multiple inputs at once; allowing for benefits such as taking averages of the inputs.
In addition to performance improvements, this strategy merges multiple inputs at once; allowing for benefits such as
taking averages of the inputs.

@@ -161,0 +167,0 @@ ![smart merge animation](./assets/smart-merge.gif)

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc