deepmerge-ts
Advanced tools
Comparing version 6.0.0-next.1 to 6.0.0
# 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 @@ |
{ | ||
"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) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
125055
64
0
168