chore(react-core): internalize fast-deep-equal (KNO-13810)#1023
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
6a97082 to
29f99c5
Compare
08eb941 to
d69399c
Compare
🦋 Changeset detectedLatest commit: d69399c The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Combined into #1024. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## kyle-kno-13811-internalize-lodashdebounce-in-knocklabsreact-and-drop-the #1023 +/- ##
============================================================================================================
- Coverage 63.64% 63.58% -0.07%
============================================================================================================
Files 210 211 +1
Lines 10081 10157 +76
Branches 1303 1329 +26
============================================================================================================
+ Hits 6416 6458 +42
- Misses 3640 3678 +38
+ Partials 25 21 -4
|

Description
Internalizes
fast-deep-equalin@knocklabs/react-coreand drops the runtime dependency. It is reimplemented as a small internaldeepEqual(the default non-ES6 behavior: recursive comparison of primitives, plain objects, arrays,Date, andRegExp; no Map/Set special-casing).What changed
packages/react-core/src/modules/core/deepEqual/— a dedicated folder containing thedeepEqualutil.useStableOptions.ts.packages/react-core/test/core/deepEqual.test.tscovering primitives,NaN, nested objects/arrays, key-order independence, differing key counts, array-vs-object,Date, andRegExp.fast-deep-equalfrompackages/react-core/package.jsonand updated the lockfile.fast-deep-equalremains in the lockfile only as a transitive dependency ofajv— it is no longer a direct dependency of ours.Why: Part of the npm supply chain hardening effort.
@knocklabs/react-coreis published, so dropping the dependency also removes it from every consumer's install graph.Linear: KNO-13810
Stack (bottom → top) — npm supply chain hardening:
clsxfrom@knocklabs/reactjwt-decodein@knocklabs/clientlodash.debouncein@knocklabs/reactfast-deep-equalin@knocklabs/react-core◀ this PRChecklist
test/core/deepEqual.test.ts) anduseStableOptions.test.tspasses against the internalizeddeepEqual.