build(site): [SITE-07] retain shallowequal upstream attribution

This commit is contained in:
Harvey Zhao committed 2026-09-15 08:17:49 +08:00
1 parent 0503fe8aa8
commit 4bef084328
23 files changed
+1518 -19

No files matched your search

@@ -91,6 +91,22 @@
"gitBlobSha": "cd1e53a9b92620d2656eae423017f81be1fb3ad1",
"apiUrl": "https://api.github.com/repos/aappleby/smhasher/contents/src/MurmurHash2.cpp?ref=61a0530f28277f2e850bfc39600ce61d02b518de",
"url": "https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp"
},
{
"id": "react-pure-render-source",
"source": "refactor/baselines/site-vendor/console-attribution/react-pure-render-source.txt",
"sha256": "f410448dcc6d47aa323c8de622fa57903c0aefecf63e87700adb2e7ccfea357b",
"gitBlobSha": "545e937745bd7d8ca27c8afe183aa6b32c4f2969",
"apiUrl": "https://api.github.com/repos/gaearon/react-pure-render/contents/src/shallowEqual.js?ref=729cdbd51df00068816376544738cc1fc4720cf2",
"url": "https://github.com/gaearon/react-pure-render/blob/729cdbd51df00068816376544738cc1fc4720cf2/src/shallowEqual.js"
},
{
"id": "react-pure-render-license",
"source": "refactor/baselines/site-vendor/console-attribution/react-pure-render-license.txt",
"sha256": "65a1f00f35ea469048896fbfec3c5faed7d3fe7c7e0be2a0478470b59d9e1439",
"gitBlobSha": "fb541aad5166efa50b6071d6fb63d99286d708a7",
"apiUrl": "https://api.github.com/repos/gaearon/react-pure-render/contents/LICENSE?ref=729cdbd51df00068816376544738cc1fc4720cf2",
"url": "https://github.com/gaearon/react-pure-render/blob/729cdbd51df00068816376544738cc1fc4720cf2/LICENSE"
}
],
"replicator": {
@@ -159,5 +175,20 @@
"Replicator is a modified fork; neither a unique npm fork base nor the entire original install lock is claimed.",
"Emotion historical online Closure service was not re-executed; its published source is pinned to the matching upstream tag commit.",
"Stack Overflow attribution and final remaining embedded-source review stay open."
]
],
"shallow": {
"source": "react-pure-render-source",
"license": "react-pure-render-license",
"reference": {
"archive": "shallowequal-1.1.0",
"member": "package/README.md",
"sha256": "6e0194e17b560c9d68e29d457e3d0d273ddaf520e89309401d82ec12cccaccbb"
},
"target": {
"archive": "shallowequal-1.1.0",
"member": "package/index.js",
"sha256": "9b3e054c49fda8b75d8b79d6472c3116d3ac43347d6439ae07a9a4c105075f76"
},
"upstreamUrl": "https://github.com/gaearon/react-pure-render/"
}
}
@@ -33,11 +33,11 @@
"All 17 react-inspector external source-map members exactly match Babel runtime 7.13.10 and regenerator-runtime 0.13.7; both licenses preserved.",
"Modified replicator fork has fixed console-feed TS source matching the archived runtime, with Ivan Nikulin MIT attribution.",
"Emotion Stylis pinned source and 3.5.4 dependency, rule-sheet source references, and MurmurHash references retain Sultan Tarimo, Gary Court and Austin Appleby notices; historical Closure stage not rerun.",
"customStringify exactly matches Stack Overflow revision 5 under CC BY-SA 4.0, with Alexander Mills and Rob W attribution, original snippet, full license and an emitted bundle comment."
"customStringify exactly matches Stack Overflow revision 5 under CC BY-SA 4.0, with Alexander Mills and Rob W attribution, original snippet, full license and an emitted bundle comment.",
"The shallowequal README source credit is verified; fixed react-pure-render source and Dan Abramov MIT license are retained, with explicit modified-source attribution."
],
"pending": [
"Final embedded-source and mixed-license distribution review",
"shallowequal README identifies react-pure-render as its code origin; original notice review remains outstanding"
"Final embedded-source and mixed-license distribution review"
]
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,15 @@
# react-pure-render origin of shallowequal
The console bundle includes shallowequal 1.1.0. Its published README credits
[react-pure-render](https://github.com/gaearon/react-pure-render/) as the code
origin. The [original shallowEqual source](https://github.com/gaearon/react-pure-render/blob/729cdbd51df00068816376544738cc1fc4720cf2/src/shallowEqual.js)
and [MIT license](https://github.com/gaearon/react-pure-render/blob/729cdbd51df00068816376544738cc1fc4720cf2/LICENSE)
are preserved at a fixed upstream commit, with copyright (c) 2015 Dan Abramov.
The full license accompanies this file as [LICENSE](./LICENSE).
The included shallowequal implementation has been modified: it adds a comparison
callback and context, boolean callback results, and different loop/null-check
forms. The original source and the bundled implementation are not identical.
This attribution does not claim a uniquely installed react-pure-render version.
The separate shallowequal license, copyright (c) 2017 Alberto Leal, is retained
[alongside this notice](../shallowequal/shallowequal-1.1.0-LICENSE).
@@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2015 Dan Abramov
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
@@ -0,0 +1,27 @@
export default function shallowEqual(objA, objB) {
if (objA === objB) {
return true;
}
if (typeof objA !== 'object' || objA === null ||
typeof objB !== 'object' || objB === null) {
return false;
}
var keysA = Object.keys(objA);
var keysB = Object.keys(objB);
if (keysA.length !== keysB.length) {
return false;
}
// Test for A's keys different from B.
var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
for (var i = 0; i < keysA.length; i++) {
if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {
return false;
}
}
return true;
}