mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-08 10:56:15 -08:00
build(site): [SITE-07] reproduce 41 more console vendor modules
This commit is contained in:
1 parent
b47ede011a
commit
ba1dbd430f
26 files changed
+1163
-24
No files matched your search
@@ -24,3 +24,4 @@ docs/licenses/monaco-editor/codicons/README.md -text whitespace=-trailing-space,
|
||||
refactor/baselines/site-vendor/codicons-0.0.26/ATTRIBUTION.txt text eol=lf
|
||||
refactor/baselines/site-vendor/vconsole-3.15.0/** text eol=lf whitespace=-blank-at-eof
|
||||
refactor/baselines/site-vendor/console-original.js text eol=lf
|
||||
refactor/baselines/site-vendor/console-commonjs/** -text whitespace=-trailing-space,cr-at-eol
|
||||
@@ -0,0 +1,711 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "SITE-07",
|
||||
"recordedAt": "2026-09-14T22:35:29.344Z",
|
||||
"archives": [
|
||||
{
|
||||
"id": "react-17.0.2",
|
||||
"name": "react",
|
||||
"version": "17.0.2",
|
||||
"tarball": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
|
||||
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
|
||||
"sha256": "e2901c777fd5a469bef952d1fc7bcafead65a7b66ef4dbb295d2a7116a6dc66d",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/react-17.0.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "react-dom-17.0.2",
|
||||
"name": "react-dom",
|
||||
"version": "17.0.2",
|
||||
"tarball": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
|
||||
"integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
|
||||
"sha256": "bec64d076c2425e76fbe01235b53fac5a7e58a8487a126b1cb831087e7d6ba98",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/react-dom-17.0.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "scheduler-0.20.2",
|
||||
"name": "scheduler",
|
||||
"version": "0.20.2",
|
||||
"tarball": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
|
||||
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
|
||||
"sha256": "efdafb0fbd335e41bb209cd8c3256a28d576e6062ca101cb4ba1167c8fc014c6",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/scheduler-0.20.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "object-assign-4.1.1",
|
||||
"name": "object-assign",
|
||||
"version": "4.1.1",
|
||||
"tarball": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"sha256": "782d726a263ba7b26cced612af97b80035516df4b0cd788524e7b2cebc4e29ed",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/object-assign-4.1.1-license.txt",
|
||||
"member": "package/license",
|
||||
"sha256": "6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "react-is-16.13.1",
|
||||
"name": "react-is",
|
||||
"version": "16.13.1",
|
||||
"tarball": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
||||
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
|
||||
"sha256": "0bdbb5d473ddc13e850987f3937666e261b6a3a8fcaffddd8195953ff0faee8f",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/react-is-16.13.1-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "prop-types-15.7.2",
|
||||
"name": "prop-types",
|
||||
"version": "15.7.2",
|
||||
"tarball": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
|
||||
"integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
|
||||
"sha256": "f7904f9e8bfc54965b7fc717ba718ed9dbf6beb88303d896de0a7a9b329b8375",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/prop-types-15.7.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "f657f99d3fb9647db92628e96007aabb46e5f04f33e49999075aab8e250ca7ce"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shallowequal-1.1.0",
|
||||
"name": "shallowequal",
|
||||
"version": "1.1.0",
|
||||
"tarball": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
|
||||
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
|
||||
"sha256": "6a36e06a307f7c40161f22d1178314b2971d7902e45ca1b486f690d1116a3f49",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/shallowequal-1.1.0-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "709e45bb17277819ce27e9abe5dc8e56fe93081e54adb6e6385517f28aa11ac4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "process-0.11.10",
|
||||
"name": "process",
|
||||
"version": "0.11.10",
|
||||
"tarball": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
||||
"sha256": "7c10569b3c9cb056152ad630d40f9f4fcc321a0013c2bb8384f036aaa674e6bb",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/process-0.11.10-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "59a400d04c5078579acc27ddd6452c1bdf763f9506e01364700935fbb1a7c91b"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "hoist-non-react-statics-3.3.2",
|
||||
"name": "hoist-non-react-statics",
|
||||
"version": "3.3.2",
|
||||
"tarball": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
|
||||
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
|
||||
"sha256": "0f7ae4b52c57171711a2e061ea793ff340f17e0bec3eef2d7d5fdb821462c8ba",
|
||||
"license": "BSD-3-Clause",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/hoist-non-react-statics-3.3.2-LICENSE.md.txt",
|
||||
"member": "package/LICENSE.md",
|
||||
"sha256": "eb32ff0ec52b6ea86e3d3e06c6ad1b68ee03798b6729af13919f6d5c14b368f3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "is-dom-1.1.0",
|
||||
"name": "is-dom",
|
||||
"version": "1.1.0",
|
||||
"tarball": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz",
|
||||
"integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==",
|
||||
"sha256": "38b11f31022dd2f40da6d5df090f905184f1339c0bf3b8b2e0a2296606a426ae",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/is-dom-1.1.0-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "ba38703a10a53a91d4ff87bc1d930714104ead8d53f3f86936b7772c440be96f"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "is-object-1.0.2",
|
||||
"name": "is-object",
|
||||
"version": "1.0.2",
|
||||
"tarball": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
|
||||
"integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==",
|
||||
"sha256": "aa37252c9d198f0c8cacdc11c764738668f7cdb2eee31f32f3b5f97f259094df",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/is-object-1.0.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "950429b35f82e225a613a0638e7933855a4ce05172bd36dc060093ba58793bbe"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "is-window-1.0.2",
|
||||
"name": "is-window",
|
||||
"version": "1.0.2",
|
||||
"tarball": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz",
|
||||
"integrity": "sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==",
|
||||
"sha256": "8fc9c993b5883352e5b9ca8c614cd68dfedae7b8e7ef9c72da619a2049a0341d",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/is-window-1.0.2-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "6f19793f004670a8c873dde23d0f970eb32dd3bba8078980a42a4fb71cb1a048"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "linkifyjs-2.1.9",
|
||||
"name": "linkifyjs",
|
||||
"version": "2.1.9",
|
||||
"tarball": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-2.1.9.tgz",
|
||||
"integrity": "sha512-74ivurkK6WHvHFozVaGtQWV38FzBwSTGNmJolEgFp7QgR2bl6ArUWlvT4GcHKbPe1z3nWYi+VUdDZk16zDOVug==",
|
||||
"sha256": "ff2b797cb3f43ad546d4b65f8818475de63454d5a94c22162b8570f66defc077",
|
||||
"license": "MIT",
|
||||
"notices": [
|
||||
{
|
||||
"source": "refactor/baselines/site-vendor/console-commonjs/linkifyjs-2.1.9-LICENSE.txt",
|
||||
"member": "package/LICENSE",
|
||||
"sha256": "c66691e7e051cf0e1538a2c7d33f337b1dfe37bb0726724917dd1ceaf043a2df"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"compilerOptions": {
|
||||
"warnings": true,
|
||||
"safari10": true,
|
||||
"mangle": {
|
||||
"toplevel": true
|
||||
},
|
||||
"output": {
|
||||
"comments": false
|
||||
}
|
||||
},
|
||||
"recipes": {
|
||||
"parcelVersion": "1.12.5",
|
||||
"archiveRecord": "console-feed-provenance.json",
|
||||
"members": [
|
||||
{
|
||||
"member": "package/src/visitors/process.js",
|
||||
"sha256": "1f8beba95e6d1099402917c42333981f6c9ecd54041050b00d26ac5dcac95743"
|
||||
},
|
||||
{
|
||||
"member": "package/src/visitors/env.js",
|
||||
"sha256": "266ac5ff8d6f1b34dba2b10a6c7ae788c1b109527b23758a112983367e3f50ee"
|
||||
}
|
||||
],
|
||||
"description": "Exact pinned sources only: production substitutes process.env.NODE_ENV; process-browser removes its single assignment as Parcel process visitor does. All resulting bytes must still match."
|
||||
},
|
||||
"roots": [
|
||||
"n8MK",
|
||||
"NKHc",
|
||||
"mH4R",
|
||||
"tmkg",
|
||||
"uXAH",
|
||||
"H1RQ",
|
||||
"dwcU",
|
||||
"MaFS",
|
||||
"NKxe",
|
||||
"KIG8",
|
||||
"QDWH",
|
||||
"LCQI",
|
||||
"ibbm",
|
||||
"eQ4J",
|
||||
"H5iQ",
|
||||
"SbWR",
|
||||
"h3Cb"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"id": "n8MK",
|
||||
"archive": "react-17.0.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "a216c390bf956cbb906c66d29fdb2e2ad6999464a5ca83e476533a6f25ad0ef3",
|
||||
"generatedSha256": "731133726dc1b436d62cdda43423ccdce0e697fed3b31d579005e7821a1d7486",
|
||||
"bodySha256": "731133726dc1b436d62cdda43423ccdce0e697fed3b31d579005e7821a1d7486"
|
||||
},
|
||||
{
|
||||
"id": "awqi",
|
||||
"archive": "react-17.0.2",
|
||||
"member": "package/cjs/react.production.min.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "d3ea88ce03534dc2f3060f4ca55f26dfa26466b2077f61ff401fba2529567254",
|
||||
"generatedSha256": "be599bd3cbbde4703cd9bbf8cf964dc34df215702654ab6fb78060953551c088",
|
||||
"bodySha256": "be599bd3cbbde4703cd9bbf8cf964dc34df215702654ab6fb78060953551c088"
|
||||
},
|
||||
{
|
||||
"id": "NKHc",
|
||||
"archive": "react-dom-17.0.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "f26fcb81b5d1dc32c6edea34645c75b60d259916293d3208c8be48ac33e882e4",
|
||||
"generatedSha256": "02d4adb184c5e4cb2959ada702dbcb2d5c4b12e8d6b0d06b715150d315c322b1",
|
||||
"bodySha256": "02d4adb184c5e4cb2959ada702dbcb2d5c4b12e8d6b0d06b715150d315c322b1"
|
||||
},
|
||||
{
|
||||
"id": "i17t",
|
||||
"archive": "react-dom-17.0.2",
|
||||
"member": "package/cjs/react-dom.production.min.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "aa5e027a236b156f5e833ae8a86e94474130b78f0b70386c1b213417d0013910",
|
||||
"generatedSha256": "b3470a31b3b778ed8c606c818a835c6e5bd2261ca86605ed266fe131967d9ff7",
|
||||
"bodySha256": "b3470a31b3b778ed8c606c818a835c6e5bd2261ca86605ed266fe131967d9ff7"
|
||||
},
|
||||
{
|
||||
"id": "mH4R",
|
||||
"archive": "scheduler-0.20.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "b413b3aac7bd209fd82cbe2241fda1467558daaef830744f45ed8396fac9185e",
|
||||
"generatedSha256": "2ca663914431b04af00af5f1c46af4eb1d0c3f80c09d4b4922a98d3ae8a53ae7",
|
||||
"bodySha256": "2ca663914431b04af00af5f1c46af4eb1d0c3f80c09d4b4922a98d3ae8a53ae7"
|
||||
},
|
||||
{
|
||||
"id": "ydJi",
|
||||
"archive": "scheduler-0.20.2",
|
||||
"member": "package/cjs/scheduler.production.min.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "69c8d2580ecfef7ce3577dab8654189555163e926b5381eb12f760f2cc485c35",
|
||||
"generatedSha256": "b68cfa2d9e73c034f77d32124f42890ab679b8dc49ef99c98844fe0421c4c56c",
|
||||
"bodySha256": "b68cfa2d9e73c034f77d32124f42890ab679b8dc49ef99c98844fe0421c4c56c"
|
||||
},
|
||||
{
|
||||
"id": "tmkg",
|
||||
"archive": "object-assign-4.1.1",
|
||||
"member": "package/index.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "e02cb9714ef6e561e971fe400644330212f07ca86120587199470d8b759a4b7c",
|
||||
"generatedSha256": "7c4ebb66a0f1b90b53a5206f0e90edf510ce0bf3264de5e31a07c4ad7352d537",
|
||||
"bodySha256": "7c4ebb66a0f1b90b53a5206f0e90edf510ce0bf3264de5e31a07c4ad7352d537"
|
||||
},
|
||||
{
|
||||
"id": "uXAH",
|
||||
"archive": "react-is-16.13.1",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "d34fce01b963097a8d649b95e20aa17a63e4105b54adcce7d7daf1c8524b434e",
|
||||
"generatedSha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4",
|
||||
"bodySha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4"
|
||||
},
|
||||
{
|
||||
"id": "c6OW",
|
||||
"archive": "react-is-16.13.1",
|
||||
"member": "package/cjs/react-is.production.min.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "edea7246e3282e6bcfc3589a31f512343212dced2eb0f789da3e4903060b6d5d",
|
||||
"generatedSha256": "d915c873cb131680f5b34afc5fd87ecafe723aeabd845cbde7e68ac6ff437bf4",
|
||||
"bodySha256": "d915c873cb131680f5b34afc5fd87ecafe723aeabd845cbde7e68ac6ff437bf4"
|
||||
},
|
||||
{
|
||||
"id": "H1RQ",
|
||||
"archive": "react-is-16.13.1",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "d34fce01b963097a8d649b95e20aa17a63e4105b54adcce7d7daf1c8524b434e",
|
||||
"generatedSha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4",
|
||||
"bodySha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4"
|
||||
},
|
||||
{
|
||||
"id": "dwcU",
|
||||
"archive": "react-is-16.13.1",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "d34fce01b963097a8d649b95e20aa17a63e4105b54adcce7d7daf1c8524b434e",
|
||||
"generatedSha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4",
|
||||
"bodySha256": "d49b5b0c463ce72fe850100b8ae351ac2b32761871575468201e4a1fe415a6b4"
|
||||
},
|
||||
{
|
||||
"id": "MaFS",
|
||||
"archive": "prop-types-15.7.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "production",
|
||||
"sourceSha256": "441834c833751da7e8b3c6185d95130b99b6757cb48373c8f8939a86f9637051",
|
||||
"generatedSha256": "a40db652be5509f563a238ee56c40fba41f6ed14ecf7388cae3aa585acbf4187",
|
||||
"bodySha256": "a40db652be5509f563a238ee56c40fba41f6ed14ecf7388cae3aa585acbf4187"
|
||||
},
|
||||
{
|
||||
"id": "Qkun",
|
||||
"archive": "prop-types-15.7.2",
|
||||
"member": "package/factoryWithThrowingShims.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "16bdc77bb83ab9993f6b87e8b5cf63a0541bd9d6d3040d5985a13dca0feb29ba",
|
||||
"generatedSha256": "8c0de7e81e3fdcfb80692c659f106aa2fceb50980c91d7d3e42e9471f20ed709",
|
||||
"bodySha256": "8c0de7e81e3fdcfb80692c659f106aa2fceb50980c91d7d3e42e9471f20ed709"
|
||||
},
|
||||
{
|
||||
"id": "oBf3",
|
||||
"archive": "prop-types-15.7.2",
|
||||
"member": "package/lib/ReactPropTypesSecret.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "c826b66b47220c8e4571bf54d56b4904b6d6061187400c969b040262311000a5",
|
||||
"generatedSha256": "46f5d70c15914074adf5470361032c0e24298e1e20950d973e65a54a6a52f91d",
|
||||
"bodySha256": "46f5d70c15914074adf5470361032c0e24298e1e20950d973e65a54a6a52f91d"
|
||||
},
|
||||
{
|
||||
"id": "NKxe",
|
||||
"archive": "shallowequal-1.1.0",
|
||||
"member": "package/index.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "9b3e054c49fda8b75d8b79d6472c3116d3ac43347d6439ae07a9a4c105075f76",
|
||||
"generatedSha256": "b0e42651797824d0562b78bee064373fdb086743202fc7a4b4a0b4bc09980725",
|
||||
"bodySha256": "b0e42651797824d0562b78bee064373fdb086743202fc7a4b4a0b4bc09980725"
|
||||
},
|
||||
{
|
||||
"id": "KIG8",
|
||||
"archive": "process-0.11.10",
|
||||
"member": "package/browser.js",
|
||||
"transform": "process-browser",
|
||||
"sourceSha256": "a199f9fdd8f0f94be4bfe5407c4969d261aa6f080c372c1a359815dc6187f32c",
|
||||
"generatedSha256": "9c1ea1e59cead64d5895bdb0ee65fa324f47b1e59fbe652ba24495ab21bd89f0",
|
||||
"bodySha256": "9c1ea1e59cead64d5895bdb0ee65fa324f47b1e59fbe652ba24495ab21bd89f0"
|
||||
},
|
||||
{
|
||||
"id": "QDWH",
|
||||
"archive": "hoist-non-react-statics-3.3.2",
|
||||
"member": "package/dist/hoist-non-react-statics.cjs.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "ed989cf3e42997ae8e7f7144a5504329d24e8383968b27f11fa20f941fa4a784",
|
||||
"generatedSha256": "ba27751db682ef75371d459324bfdea052e94cfe69b5073e0700a696f8b4d4dc",
|
||||
"bodySha256": "ba27751db682ef75371d459324bfdea052e94cfe69b5073e0700a696f8b4d4dc"
|
||||
},
|
||||
{
|
||||
"id": "LCQI",
|
||||
"archive": "hoist-non-react-statics-3.3.2",
|
||||
"member": "package/dist/hoist-non-react-statics.cjs.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "ed989cf3e42997ae8e7f7144a5504329d24e8383968b27f11fa20f941fa4a784",
|
||||
"generatedSha256": "ba27751db682ef75371d459324bfdea052e94cfe69b5073e0700a696f8b4d4dc",
|
||||
"bodySha256": "ba27751db682ef75371d459324bfdea052e94cfe69b5073e0700a696f8b4d4dc"
|
||||
},
|
||||
{
|
||||
"id": "ibbm",
|
||||
"archive": "is-dom-1.1.0",
|
||||
"member": "package/index.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "f56485bc2862d1485a85a640a6c32609e72cd46747306c139d156e8570dc14ca",
|
||||
"generatedSha256": "cd0736f79358670bfcdc2e818c83dffbe1565df76087386b386283f6b3fa30b2",
|
||||
"bodySha256": "cd0736f79358670bfcdc2e818c83dffbe1565df76087386b386283f6b3fa30b2"
|
||||
},
|
||||
{
|
||||
"id": "eQ4J",
|
||||
"archive": "is-object-1.0.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "826fec026da0e91176e1065e98fa5962428ca0a41f9bd5933a083c4f90f6a410",
|
||||
"generatedSha256": "2f1733c7f533f65d3bd7bf1f6014ec8b102e1e87598b76ba628ed98c58fc6a1c",
|
||||
"bodySha256": "2f1733c7f533f65d3bd7bf1f6014ec8b102e1e87598b76ba628ed98c58fc6a1c"
|
||||
},
|
||||
{
|
||||
"id": "H5iQ",
|
||||
"archive": "is-window-1.0.2",
|
||||
"member": "package/index.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "d697373641edc8a8f74b11d79175b8f25b613fef8907794e95cc4292499d8187",
|
||||
"generatedSha256": "0c355a3be6ca81a8c688ad5cf781d5da2fd79829b278aeb05032b16e1c3073d0",
|
||||
"bodySha256": "0c355a3be6ca81a8c688ad5cf781d5da2fd79829b278aeb05032b16e1c3073d0"
|
||||
},
|
||||
{
|
||||
"id": "SbWR",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/html.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "f46ca34c7e36aa0efe392052695acf37b6875640d304d9842a6b1245d53e70c3",
|
||||
"generatedSha256": "3b64ff7160fac73c531c589319eda68f9ccfc584818ce4dd2168546b7335704d",
|
||||
"bodySha256": "3b64ff7160fac73c531c589319eda68f9ccfc584818ce4dd2168546b7335704d"
|
||||
},
|
||||
{
|
||||
"id": "Qql5",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify-html.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "0d232bebae52fa1c2fc6078269cacbeda668b3b17be19c685c84bbba1efcc10f",
|
||||
"generatedSha256": "1b0afc3e227f52c362033d8881002e18162971228833679965e8f05b4a706345",
|
||||
"bodySha256": "1b0afc3e227f52c362033d8881002e18162971228833679965e8f05b4a706345"
|
||||
},
|
||||
{
|
||||
"id": "MBv4",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "8f88edfe8e7e7adb53d8c64c6fd9b1438c48b31cb7d1642a564eeecf76d03615",
|
||||
"generatedSha256": "36324b6460ee8257d55c5042f172d19e5926ad574909b19578ae37fc3999c60f",
|
||||
"bodySha256": "36324b6460ee8257d55c5042f172d19e5926ad574909b19578ae37fc3999c60f"
|
||||
},
|
||||
{
|
||||
"id": "qZhu",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/html5-named-char-refs.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "1cda52628c0fe26f52159ecfccd27a0f9ec1810c09707977d17647941e5433dc",
|
||||
"generatedSha256": "6ba383f84184620d2de03611d5c69134d3d017ed2ce561a16217432c4413b813",
|
||||
"bodySha256": "6ba383f84184620d2de03611d5c69134d3d017ed2ce561a16217432c4413b813"
|
||||
},
|
||||
{
|
||||
"id": "AHb4",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/entity-parser.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "60d9d369600dd7802a3c9ca343fec67030b1cce3f79625d441194c69bd5315c8",
|
||||
"generatedSha256": "cc91eb367e003c001d86752a847897ec66002d2ebef8c2fafd1d56e77f99ab67",
|
||||
"bodySha256": "cc91eb367e003c001d86752a847897ec66002d2ebef8c2fafd1d56e77f99ab67"
|
||||
},
|
||||
{
|
||||
"id": "hbzM",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/evented-tokenizer.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "103bae96d698a2a97187d88a2b0316a62c06abea732050ef5cb8871daae2c188",
|
||||
"generatedSha256": "e0463b426beb413ee7dac4dff504d5aa33e64c2271400f991961f4a51f432b70",
|
||||
"bodySha256": "e0463b426beb413ee7dac4dff504d5aa33e64c2271400f991961f4a51f432b70"
|
||||
},
|
||||
{
|
||||
"id": "nqNX",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/utils.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "87a1125b20e60ffe32ecbb40b7605668a0be7e24e56eac112847f34b4169677a",
|
||||
"generatedSha256": "9b645c573a38c1e74bc58dc4ed4a2419dbb056d2d8c2e9a850b99f1c10a98942",
|
||||
"bodySha256": "9b645c573a38c1e74bc58dc4ed4a2419dbb056d2d8c2e9a850b99f1c10a98942"
|
||||
},
|
||||
{
|
||||
"id": "TQRk",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/tokenizer.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "6ea4c5117afcc6bbc4ce6b1c55a06a58c994e1807fa1235ca342b71107516734",
|
||||
"generatedSha256": "f1857da1c868ab4624e2243950d10d697d17cbac7f6cb33e9d6e0a873f09223e",
|
||||
"bodySha256": "f1857da1c868ab4624e2243950d10d697d17cbac7f6cb33e9d6e0a873f09223e"
|
||||
},
|
||||
{
|
||||
"id": "Hpz9",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/simple-html-tokenizer/tokenize.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "f2835e77b8f3bce4300c80206862b22b26a92ccb26b3aac2b3c4f281ca0c3534",
|
||||
"generatedSha256": "2557669f51721d677bfe71c2cbc9d096f0a102e1dfefe20144f5afb61f329afb",
|
||||
"bodySha256": "2557669f51721d677bfe71c2cbc9d096f0a102e1dfefe20144f5afb61f329afb"
|
||||
},
|
||||
{
|
||||
"id": "OXlU",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "8b8ea089029dc908c1307b80c52534484a2ee7282f35ad389d67cdbe1615bf38",
|
||||
"generatedSha256": "e03f8f4b9c1d1eb8110b48e3827946be51e65c95983a932b3b4a7f9ee14db032",
|
||||
"bodySha256": "e03f8f4b9c1d1eb8110b48e3827946be51e65c95983a932b3b4a7f9ee14db032"
|
||||
},
|
||||
{
|
||||
"id": "AfnJ",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/utils/class.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "8cdb759ef29b5b002771dfb5c6ac19c6d00d2ecb4156596068977f8881fcbc7b",
|
||||
"generatedSha256": "354bf758eda2d049c14b26718a35e145afdd19a01835472f6e277a12dc70502d",
|
||||
"bodySha256": "354bf758eda2d049c14b26718a35e145afdd19a01835472f6e277a12dc70502d"
|
||||
},
|
||||
{
|
||||
"id": "myF7",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/utils/options.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "1bc7f03c6ea8b1e919d4f8108c50928e2e544ba28ee769c5c9ff35d86f2b8171",
|
||||
"generatedSha256": "e9cf3b6e5002449ecf1c9bbdbd0d2a4ef3ddb379ea20442d3ee4a8ab1612a582",
|
||||
"bodySha256": "e9cf3b6e5002449ecf1c9bbdbd0d2a4ef3ddb379ea20442d3ee4a8ab1612a582"
|
||||
},
|
||||
{
|
||||
"id": "TlLe",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/scanner.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "98eeec0f8dda70a309f14f43271a603e12df1fc394acdab99a9e61e5d6e396a1",
|
||||
"generatedSha256": "561349acf47f0096f58f5b81a0598b9e11a3191b5a0fc231977dda4f0aba6fc1",
|
||||
"bodySha256": "561349acf47f0096f58f5b81a0598b9e11a3191b5a0fc231977dda4f0aba6fc1"
|
||||
},
|
||||
{
|
||||
"id": "HwYy",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/state.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "5a627073bfeac34676bd84dda16a35784101d0e703af8c35da547585a5f75aa8",
|
||||
"generatedSha256": "3726ddec85d5ed74ba2938eb08e22bbe522793792017414db6e639ce98e7dcb5",
|
||||
"bodySha256": "3726ddec85d5ed74ba2938eb08e22bbe522793792017414db6e639ce98e7dcb5"
|
||||
},
|
||||
{
|
||||
"id": "lim8",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/tokens/text.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "7bf974f86c8e4f986ff83b1ab78d9a9f3c0064440d9d7c943896cdd56d8154ce",
|
||||
"generatedSha256": "4cc15182783258f6a9bcdea1a72d87027dbc69745428e0e7e19e5bc122e6fbc3",
|
||||
"bodySha256": "4cc15182783258f6a9bcdea1a72d87027dbc69745428e0e7e19e5bc122e6fbc3"
|
||||
},
|
||||
{
|
||||
"id": "VxSs",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/tokens/create-token-class.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "283329d4ba0b75b6f309d2f591643a754dd3194684592ecc37ed829108064089",
|
||||
"generatedSha256": "361fa8bcf62f379ec44bf75e1f75cfc433c4e8f78dccec0977224343fe86800f",
|
||||
"bodySha256": "361fa8bcf62f379ec44bf75e1f75cfc433c4e8f78dccec0977224343fe86800f"
|
||||
},
|
||||
{
|
||||
"id": "Jffm",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/parser.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "e915ee6b29d930ee773c6a281f13f435e54bb6bc80a0475432230f9cf0913d82",
|
||||
"generatedSha256": "e1a628cf50d8772a74fae80cee369809bb1146ec2975ba49153f34e7c2e48935",
|
||||
"bodySha256": "e1a628cf50d8772a74fae80cee369809bb1146ec2975ba49153f34e7c2e48935"
|
||||
},
|
||||
{
|
||||
"id": "G3vk",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify/core/tokens/multi.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "1de34a79b1236370b7857231c941578ef966cdc7d2616bd0c65f7c4e3e9a8cae",
|
||||
"generatedSha256": "0af6d0fe2e3dd27c060c60bb1376fffc64bbfbc500b2666a3e50aa5cc86fb533",
|
||||
"bodySha256": "0af6d0fe2e3dd27c060c60bb1376fffc64bbfbc500b2666a3e50aa5cc86fb533"
|
||||
},
|
||||
{
|
||||
"id": "h3Cb",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/react.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "19449ebefd265fca06be550b88f6d7bba90d23b9397e597b77dbf1397094bc80",
|
||||
"generatedSha256": "9f14c08a0273f149f9c15cd89114b71a20a6f393d5db6d4ecbf6396d4d96215f",
|
||||
"bodySha256": "9f14c08a0273f149f9c15cd89114b71a20a6f393d5db6d4ecbf6396d4d96215f"
|
||||
},
|
||||
{
|
||||
"id": "cf6K",
|
||||
"archive": "linkifyjs-2.1.9",
|
||||
"member": "package/lib/linkify-react.js",
|
||||
"transform": "plain",
|
||||
"sourceSha256": "7106f82f3c4613aa358c75142772c20db452532ff945a519842eba81b5573c2e",
|
||||
"generatedSha256": "6983c8014355837ecb29ec36299680763f628a393577bd4cd4702a08551ebb1e",
|
||||
"bodySha256": "6983c8014355837ecb29ec36299680763f628a393577bd4cd4702a08551ebb1e"
|
||||
}
|
||||
],
|
||||
"external": [
|
||||
{
|
||||
"from": "awqi",
|
||||
"dependency": "object-assign",
|
||||
"id": "tmkg"
|
||||
},
|
||||
{
|
||||
"from": "i17t",
|
||||
"dependency": "react",
|
||||
"id": "n8MK"
|
||||
},
|
||||
{
|
||||
"from": "i17t",
|
||||
"dependency": "object-assign",
|
||||
"id": "tmkg"
|
||||
},
|
||||
{
|
||||
"from": "i17t",
|
||||
"dependency": "scheduler",
|
||||
"id": "mH4R"
|
||||
},
|
||||
{
|
||||
"from": "QDWH",
|
||||
"dependency": "react-is",
|
||||
"id": "uXAH"
|
||||
},
|
||||
{
|
||||
"from": "LCQI",
|
||||
"dependency": "react-is",
|
||||
"id": "dwcU"
|
||||
},
|
||||
{
|
||||
"from": "ibbm",
|
||||
"dependency": "is-object",
|
||||
"id": "eQ4J"
|
||||
},
|
||||
{
|
||||
"from": "ibbm",
|
||||
"dependency": "is-window",
|
||||
"id": "H5iQ"
|
||||
},
|
||||
{
|
||||
"from": "cf6K",
|
||||
"dependency": "react",
|
||||
"id": "n8MK"
|
||||
}
|
||||
],
|
||||
"unresolvedModules": [
|
||||
"L2AO",
|
||||
"G3Sv",
|
||||
"WW8m",
|
||||
"faen",
|
||||
"uxSu",
|
||||
"tMFb",
|
||||
"kqnl",
|
||||
"n0d5",
|
||||
"y4hN",
|
||||
"P6FR",
|
||||
"VvAy",
|
||||
"qy56",
|
||||
"AoFs",
|
||||
"vL6w",
|
||||
"aEp8",
|
||||
"MaOu",
|
||||
"gcCv",
|
||||
"wdCp",
|
||||
"cYce",
|
||||
"pufF",
|
||||
"kuYm",
|
||||
"R69H",
|
||||
"wvgy",
|
||||
"TJBs",
|
||||
"IX9o",
|
||||
"m5O0",
|
||||
"tFSs"
|
||||
],
|
||||
"limits": [
|
||||
"An exact reproducing recipe does not recover the original full dependency lockfile or unique installed versions.",
|
||||
"Raw upstream notices are preserved but not yet complete component attribution or publication clearance.",
|
||||
"React-inspector 5.1.1 CJS did not match; ESM Babel transformation investigation remains open."
|
||||
]
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
Software License Agreement (BSD License)
|
||||
========================================
|
||||
|
||||
Copyright (c) 2015, Yahoo! Inc. All rights reserved.
|
||||
----------------------------------------------------
|
||||
|
||||
Redistribution and use of this software in source and binary forms, with or
|
||||
without modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be
|
||||
used to endorse or promote products derived from this software without
|
||||
specific prior written permission of Yahoo! Inc.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014
|
||||
|
||||
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,19 @@
|
||||
Copyright (c) 2013 Colingo.
|
||||
|
||||
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,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 W.Y.
|
||||
|
||||
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,19 @@
|
||||
Copyright (c) 2018 SoapBox Innovations Inc.
|
||||
|
||||
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,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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,22 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2013 Roman Shtylman <shtylman@gmail.com>
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-present, Facebook, Inc.
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
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,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Alberto Leal <mailforalberto@gmail.com> (github.com/dashed)
|
||||
|
||||
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,43 @@
|
||||
# SITE-07 控制台 CommonJS 来源检查点
|
||||
|
||||
本批从 13 个经过 SRI 校验的官方 npm 归档重建 41 个模块,加上已有 console-feed
|
||||
32 个,累计 73/100 个第三方模块与冻结函数体逐字一致。组件版本、归档和成员
|
||||
指纹、完整相对依赖关系与剩余 27 个模块见
|
||||
[来源记录](../baselines/console-commonjs-provenance.json)。
|
||||
|
||||
新增匹配包括 React/ReactDOM 17.0.2、scheduler 0.20.2、object-assign 4.1.1、
|
||||
react-is 16.13.1、prop-types 15.7.2、shallowequal 1.1.0、process 0.11.10、
|
||||
hoist-non-react-statics 3.3.2、is-dom 1.1.0、is-object/is-window 1.0.2、
|
||||
linkifyjs 2.1.9。这里记录的是可精确重建的来源,不是找回原始安装锁或唯一版本。
|
||||
|
||||
## 构建规则与保留差异
|
||||
|
||||
生产入口的 NODE_ENV 变换和 process.browser 赋值移除,均在官方 Parcel 1.12.5
|
||||
对应 visitor 中找到依据。只有固定且已哈希校验的源码经过这些操作,并必须得到
|
||||
旧模块原字节。未匹配时不得换成语义近似、规范化 AST 或放宽字符串比较。
|
||||
|
||||
首次普通压缩匹配 40/42;process 的 browser 字段差异按原 visitor 处理后精确
|
||||
匹配,故最终收录 41 项。react-inspector 5.1.1 CJS 仍不匹配;进一步调查显示
|
||||
可能涉及 ES module 转换,但本地 Babel 缺少转换插件/传递 helper,尚未形成
|
||||
可复现的匹配。该条及 Emotion/styled-components/Babel helper 共 27 项保持未确认。
|
||||
没有将失败归档或缺失工具当作发布豁免。
|
||||
|
||||
## 工具与验证
|
||||
|
||||
现有 reproduce.ts 扩展为同时校验两个来源记录,显式 --fetch 下载固定 15 个归档
|
||||
(14 个运行时来源加 Terser 工具);无参数只使用独立缓存。没有安装依赖、改根
|
||||
Yarn 锁或执行被比对的运行时库。provenance.ts 支持显式多个包根,并限制相对依赖
|
||||
不能跨归档;完整来源集和剩余集都验证,防止丢失、重复或错误归属。
|
||||
|
||||
联网准备后与离线复现均为 73/73。单元 10/10,覆盖跨归档、遗漏根、重复根及先前
|
||||
SRI/源码/输出/依赖反例;严格 docs-tools TS、相关 lint、build:console --check
|
||||
通过。原始日志保留在 refactor/.cache/console-commonjs-{fetch-rebuild,offline,unit}.log。
|
||||
所有运行时 JS、生成资产、包入口与锁文件不变,故未重复页面/播放测试。
|
||||
|
||||
13 个归档的原始许可已按实际字节冻结,并加 Git 属性防止换行改写。它们不是对
|
||||
内嵌组件的完整许可审查;尚未作为整套 console notices 对外分发。SITE-07 doing、
|
||||
VENDOR-08 open,完成数仍为 199/265;无远端 CI、部署或发布验收。
|
||||
|
||||
维护/复现入口见[说明](../../scripts/site-vendor/console/README.md)。回退本检查点
|
||||
恢复 32 模块的复现工具和台账,移除本批来源/许可/测试,不影响运行时修复。
|
||||
本检查点独立本地提交,无推送或发布。
|
||||
@@ -13,6 +13,9 @@ SITE-07 冻结原始 bundle 和浏览器契约,SITE-CONSOLE-01 已实现自有
|
||||
- console-feed 的 32 个模块现已用官方 3.2.2 归档精确重建,见
|
||||
[来源记录](baselines/console-feed-provenance.json)。这证明源码匹配,不代表找回
|
||||
原始 lockfile 或证明唯一安装版本;其余传递依赖和完整许可仍待核查。
|
||||
- React/ReactDOM、scheduler、react-is、Linkify 等 13 个官方归档又精确重建 41 个
|
||||
模块,累计 73/100;其成员/许可原文、环境变换和剩余 27 个 ID 见
|
||||
[CommonJS 来源](baselines/console-commonjs-provenance.json)。仍不代表完整许可闭环。
|
||||
- 原末尾指向不存在的 /index.js.map。原始 bundle 和模块指纹见
|
||||
[冻结来源](baselines/site-console-inventory.json)。
|
||||
|
||||
|
||||
+1
-1
@@ -653,7 +653,7 @@
|
||||
- SITE-AI-DOCS-01: [记录](changes/2026-09-14-SITE-AI-DOCS-01-documentation-pipeline.md) [记录](baselines/documentation-pipeline-validation.json)
|
||||
- SITE-BUILD-01: [记录](changes/2026-09-14-SITE-BUILD-01-staged-builds.md) [记录](baselines/site-build-validation.json)
|
||||
- SITE-03: [记录](changes/2026-09-14-SITE-03-desktop-editor.md) [记录](baselines/site-editor-validation.json)
|
||||
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json) [记录](changes/2026-09-14-SITE-07-vendor-notices.md) [记录](baselines/site-notices-checkpoint.json) [记录](baselines/site-codicons-provenance.json) [记录](baselines/site-codicons-validation.json) [记录](changes/2026-09-15-SITE-07-codicons.md) [记录](baselines/vconsole-notices-provenance.json) [记录](baselines/vconsole-notices-validation.json) [记录](changes/2026-09-15-SITE-07-vconsole-notices.md) [记录](console-modernization.md) [记录](baselines/site-console-inventory.json) [记录](baselines/site-console-validation.json) [记录](changes/2026-09-15-SITE-07-console-baseline.md) [记录](baselines/console-feed-provenance.json) [记录](changes/2026-09-15-SITE-07-console-feed-source.md)
|
||||
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json) [记录](changes/2026-09-14-SITE-07-vendor-notices.md) [记录](baselines/site-notices-checkpoint.json) [记录](baselines/site-codicons-provenance.json) [记录](baselines/site-codicons-validation.json) [记录](changes/2026-09-15-SITE-07-codicons.md) [记录](baselines/vconsole-notices-provenance.json) [记录](baselines/vconsole-notices-validation.json) [记录](changes/2026-09-15-SITE-07-vconsole-notices.md) [记录](console-modernization.md) [记录](baselines/site-console-inventory.json) [记录](baselines/site-console-validation.json) [记录](changes/2026-09-15-SITE-07-console-baseline.md) [记录](baselines/console-feed-provenance.json) [记录](changes/2026-09-15-SITE-07-console-feed-source.md) [记录](baselines/console-commonjs-provenance.json) [记录](changes/2026-09-15-SITE-07-console-commonjs.md)
|
||||
- EX-01: [记录](changes/2026-09-14-EX-01-react-consumer.md) [记录](baselines/react-consumer-validation.json) [记录](scripts/react-consumer.mjs)
|
||||
- EX-02: [记录](changes/2026-09-14-EX-02-vue-consumer.md) [记录](baselines/vue-consumer-validation.json) [记录](scripts/vue-consumer.mjs)
|
||||
- MOD-01: [记录](changes/2026-09-15-MOD-01-bun-evaluation.md) [记录](baselines/bun-install-validation.json) [记录](bun-evaluation.md)
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# 进度与证据
|
||||
|
||||
## SITE-07 控制台来源扩大到 73/100 模块
|
||||
|
||||
新增 13 个官方归档、41 个精确模块及许可原文;联网准备和离线复现均为73/73。
|
||||
跨归档完整性反例纳入,单元10/10、严格类型/lint/生成检查通过。见
|
||||
[记录](changes/2026-09-15-SITE-07-console-commonjs.md)。剩余27模块与Parcel及完整
|
||||
许可继续核查;SITE-07 doing,仍199/265。没有运行时、锁文件、推送或发布变化。
|
||||
|
||||
## SITE-07 console-feed 32 模块精确重建
|
||||
|
||||
官方 npm 3.2.2 的 32 个模块使用历史压缩配置全部重建为旧 bundle 原字节;首次
|
||||
|
||||
+4
-2
@@ -685,11 +685,13 @@
|
||||
"refactor/baselines/console-feed-provenance.json",
|
||||
"refactor/changes/2026-09-15-SITE-07-console-feed-source.md",
|
||||
"scripts/site-vendor/console/provenance.ts",
|
||||
"scripts/site-vendor/console/reproduce.ts"
|
||||
"scripts/site-vendor/console/reproduce.ts",
|
||||
"refactor/baselines/console-commonjs-provenance.json",
|
||||
"refactor/changes/2026-09-15-SITE-07-console-commonjs.md"
|
||||
],
|
||||
"compatibleResolution": "Keep separate from owned TS migration. Verify source/version/diff and license notices before replacement; preserve API/CSS/worker URLs and run owning package tests.",
|
||||
"closureCriteria": "固定上游版本/内容差异、完整组件许可与分发 notices,兼容测试通过;仅当前上游许可证名称不足以关闭。",
|
||||
"workspaceState": "32 console-feed modules match official 3.2.2 archive exactly under a verified historical transform. Other 68 vendor modules, Parcel wrapper, original lockfile and complete attribution remain open. Runtime files unchanged in this checkpoint."
|
||||
"workspaceState": "73/100 vendor module bodies match official archives exactly: console-feed 32 and commonjs components 41. Remaining 27 modules, Parcel wrapper, original full lockfile and complete attribution remain open; runtime unchanged."
|
||||
},
|
||||
{
|
||||
"id": "SDK-01",
|
||||
|
||||
+3
-1
@@ -4490,7 +4490,9 @@
|
||||
"baselines/site-console-validation.json",
|
||||
"changes/2026-09-15-SITE-07-console-baseline.md",
|
||||
"baselines/console-feed-provenance.json",
|
||||
"changes/2026-09-15-SITE-07-console-feed-source.md"
|
||||
"changes/2026-09-15-SITE-07-console-feed-source.md",
|
||||
"baselines/console-commonjs-provenance.json",
|
||||
"changes/2026-09-15-SITE-07-console-commonjs.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1060,12 +1060,25 @@
|
||||
"owners": [
|
||||
"SITE-01"
|
||||
],
|
||||
"sourceStatus": "Frozen original 340306-byte Parcel bundle e00bbf82bf08c452825690372ded39a9b60f4baf438f0e7ce8300e9bc4629c03; 102-module map, Focm entry/W5CS view, React 17.0.2 globals and styled-components 5.3.3 literal identified. Full dependency versions and source reconstruction remain open. SITE-CONSOLE-01 replaces only Focm/W5CS bodies from owned TS and removes the missing source-map trailer; other 100 modules and runtime remain byte-for-byte frozen. Full vendor provenance remains open. Official console-feed 3.2.2 archive reproduces all 32 relative-import module bodies exactly with verified Terser 3.17.0/Parcel 1.12.5 transform settings; 68 vendor modules and wrapper remain. This does not recover the original lockfile or establish a unique installed version.",
|
||||
"licenseStatus": "Official console-feed 3.2.2 MIT LICENSE preserved verbatim, including Facebook attribution. Embedded replicator and all external/remaining component notices still require review; no full closure.",
|
||||
"sourceStatus": "Frozen original 340306-byte Parcel bundle e00bbf82bf08c452825690372ded39a9b60f4baf438f0e7ce8300e9bc4629c03 has 102 modules. SITE-CONSOLE-01 replaces only owned Focm/W5CS bodies and removes the missing map trailer. Of the 100 retained vendor modules, 32 console-feed and 41 commonjs modules exactly reproduce from 14 official npm archives with a verified historical transform. The remaining 27, Parcel wrapper and original full lockfile remain unverified; exact source matches do not establish unique installed versions.",
|
||||
"licenseStatus": "Original notices from console-feed and 13 additional archives preserved verbatim under site-vendor, with checked archive/member hashes. Complete embedded/external component attribution and public console notices remain open.",
|
||||
"upstreamSources": [
|
||||
"https://registry.npmjs.org/console-feed/-/console-feed-3.2.2.tgz",
|
||||
"https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
|
||||
"https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.5.tgz"
|
||||
"https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.5.tgz",
|
||||
"https://registry.npmjs.org/react/-/react-17.0.2.tgz",
|
||||
"https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
|
||||
"https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
|
||||
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
||||
"https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
|
||||
"https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
|
||||
"https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
|
||||
"https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz",
|
||||
"https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
|
||||
"https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz",
|
||||
"https://registry.npmjs.org/linkifyjs/-/linkifyjs-2.1.9.tgz"
|
||||
],
|
||||
"upstreamReviewedAt": null,
|
||||
"updatePolicy": "Keep separate from owned TS migration. Verify source/version/diff and license notices before replacement; preserve API/CSS/worker URLs and run owning package tests.",
|
||||
|
||||
@@ -72,8 +72,11 @@ remain SITE-07 / VENDOR-08; this build does not close them. See
|
||||
|
||||
`refactor/baselines/console-feed-provenance.json` maps all 32 modules reachable
|
||||
through relative imports from m6b6 to the official console-feed 3.2.2 archive.
|
||||
Their rebuilt bodies exactly match the frozen bundle. The 68 remaining vendor
|
||||
modules and Parcel wrapper need further provenance; this does not establish a
|
||||
Their rebuilt bodies exactly match the frozen bundle. The separate
|
||||
`console-commonjs-provenance.json` adds 41 exact modules from 13 official archives:
|
||||
React/ReactDOM, scheduler, object-assign, react-is, prop-types, shallowequal,
|
||||
process, hoist-non-react-statics, is-dom/is-object/is-window and linkifyjs.
|
||||
The 27 remaining vendor modules and Parcel wrapper need further provenance; this does not establish a
|
||||
unique original installed version or recover its missing lockfile.
|
||||
|
||||
```sh
|
||||
@@ -82,19 +85,30 @@ node scripts/site-vendor/console/reproduce.ts
|
||||
yarn test:site-console
|
||||
```
|
||||
|
||||
The first command downloads two pinned npm archives into the dedicated ignored
|
||||
The first command downloads 15 pinned npm archives into the dedicated ignored
|
||||
`refactor/.cache/console-feed-reproduction/` directory. The second uses that cache
|
||||
offline. Both verify SHA-512 SRI, archive SHA-256, source member fingerprints,
|
||||
compiler bytes and exact output. They load Terser 3.17.0 as a historical build
|
||||
compiler bytes, original notice bytes and exact output of all 73 identified
|
||||
modules. They load Terser 3.17.0 as a historical build
|
||||
tool with the already installed source-map 0.6.1; they do not install dependencies,
|
||||
change Yarn or execute the archived console-feed runtime. Canonical Node is required.
|
||||
The minification recipe is recovered from Parcel 1.12.5's archive; this proves a
|
||||
reproducing transform, not that the original author used precisely that Parcel
|
||||
version. `provenance.ts` separately verifies complete traversal, relative source
|
||||
mapping and external dependency boundaries. Missing, unreachable, duplicate or
|
||||
changed evidence fails instead of silently shrinking the comparison.
|
||||
changed evidence fails instead of silently shrinking the comparison. Multiple
|
||||
package roots are explicit, relative edges must stay in the same archive, and
|
||||
the remaining module IDs are checked as a complete list. Production entrypoints
|
||||
use the pinned-source process.env.NODE_ENV substitution. The process shim's
|
||||
single process.browser assignment is removed following Parcel's original visitor;
|
||||
this is checked against exact source/output bytes, not a general JS rewrite.
|
||||
|
||||
The archived LICENSE is preserved verbatim with its Facebook attribution under
|
||||
`refactor/baselines/site-vendor/console-feed-3.2.2-LICENSE.txt`. Do not rewrite it
|
||||
or infer it covers every embedded/external component. Complete notices remain
|
||||
open, including the bundled replicator and remaining dependencies.
|
||||
The other 13 archives' LICENSE texts are also frozen under
|
||||
`refactor/baselines/site-vendor/console-commonjs/`, with exact bytes preserved by
|
||||
Git attributes. They are source evidence; complete site notice delivery still
|
||||
requires the remaining component review. React-inspector 5.1.1's CJS file did
|
||||
not match; its ESM conversion remains an investigation, not an accepted source.
|
||||
@@ -4,7 +4,7 @@ import path from 'node:path'
|
||||
import ts from 'typescript'
|
||||
|
||||
export interface Module { id: string, body: string, dependencies: Record<string, string> }
|
||||
export interface Source { id: string, member: string, sourceSha256: string, generatedSha256: string, bodySha256: string }
|
||||
export interface Source { id: string, member: string, sourceSha256: string, generatedSha256: string, bodySha256: string, archive?: string }
|
||||
export interface External { from: string, dependency: string, id: string }
|
||||
export interface Archive { name: string, version: string, tarball: string, integrity: string, sha256: string }
|
||||
export const hash = (bytes: string | Uint8Array) => createHash('sha256').update(bytes).digest('hex')
|
||||
@@ -46,7 +46,7 @@ export function parcelModules(text: string): Map<string, Module> {
|
||||
return result
|
||||
}
|
||||
|
||||
export function verifyModules(modules: Map<string, Module>, sources: Source[], external: External[], read: (member: string) => string, compile: (source: string) => string) {
|
||||
export function verifyModules<S extends Source>(modules: Map<string, Module>, sources: S[], external: External[], read: (member: string, item: S) => string, compile: (source: string, item: S) => string, options = { roots: ['m6b6'], sourcePrefix: 'package/lib/' }) {
|
||||
const mapped = new Map(sources.map(source => [source.id, source]))
|
||||
assert.equal(mapped.size, sources.length, 'Duplicate source mapping')
|
||||
const visited = new Set<string>()
|
||||
@@ -57,11 +57,11 @@ export function verifyModules(modules: Map<string, Module>, sources: Source[], e
|
||||
const item = mapped.get(id)
|
||||
const module = modules.get(id)
|
||||
assert(item && module, `Missing console-feed module mapping: ${id}`)
|
||||
assert(item.member.startsWith('package/lib/') && item.member.endsWith('.js') && path.posix.normalize(item.member) === item.member, 'Invalid source member')
|
||||
assert(item.member.startsWith(options.sourcePrefix) && item.member.endsWith('.js') && path.posix.normalize(item.member) === item.member, 'Invalid source member')
|
||||
visited.add(id)
|
||||
const source = read(item.member)
|
||||
const source = read(item.member, item)
|
||||
assert.equal(hash(source), item.sourceSha256, `Source changed: ${item.member}`)
|
||||
const compiled = compile(source)
|
||||
const compiled = compile(source, item)
|
||||
assert.equal(hash(compiled), item.generatedSha256, `Compiler output changed: ${id}`)
|
||||
assert.equal(hash(module.body), item.bodySha256, `Frozen module changed: ${id}`)
|
||||
assert.equal(compiled, module.body, `Rebuilt module differs: ${id}`)
|
||||
@@ -74,10 +74,12 @@ export function verifyModules(modules: Map<string, Module>, sources: Source[], e
|
||||
const base = path.posix.join(path.posix.dirname(item.member), dependency)
|
||||
const target = mapped.get(child)?.member
|
||||
assert(target && [base, `${base}.js`, `${base}/index.js`].includes(target), `Source dependency mapping changed: ${id} ${dependency}`)
|
||||
assert.equal(item.archive, mapped.get(child)?.archive, `Relative dependency changed archives: ${id} ${dependency}`)
|
||||
visit(child)
|
||||
}
|
||||
}
|
||||
visit('m6b6')
|
||||
assert(options.roots.length && new Set(options.roots).size === options.roots.length, 'Invalid source roots')
|
||||
options.roots.forEach(visit)
|
||||
assert.equal(visited.size, sources.length, 'Unreachable source mapping')
|
||||
assert.deepEqual(dependencies, external, 'External dependency boundary changed')
|
||||
return visited.size
|
||||
|
||||
@@ -8,7 +8,7 @@ import process from 'node:process'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { hash, parcelModules, verifyArchive, verifyModules } from './provenance.ts'
|
||||
|
||||
interface CompilerOptions { warnings: boolean, safari10: boolean, mangle: { toplevel: boolean } }
|
||||
interface CompilerOptions { warnings: boolean, safari10: boolean, mangle: { toplevel: boolean }, output?: { comments: boolean } }
|
||||
interface Provenance {
|
||||
archive: Archive
|
||||
frozen: { path: string, sha256: string }
|
||||
@@ -17,16 +17,26 @@ interface Provenance {
|
||||
external: External[]
|
||||
}
|
||||
interface Minifier { minify: (source: string, options: CompilerOptions) => { code?: string, error?: unknown } }
|
||||
interface CommonSource extends Source { archive: string, transform: 'plain' | 'production' | 'process-browser' }
|
||||
interface CommonProvenance {
|
||||
archives: (Archive & { id: string, notices: { source: string, member: string, sha256: string }[] })[]
|
||||
sources: CommonSource[]
|
||||
external: External[]
|
||||
roots: string[]
|
||||
compilerOptions: CompilerOptions
|
||||
unresolvedModules: string[]
|
||||
}
|
||||
|
||||
const root = fileURLToPath(new URL('../../../', import.meta.url))
|
||||
const record: Provenance = JSON.parse(fs.readFileSync(path.join(root, 'refactor/baselines/console-feed-provenance.json'), 'utf8'))
|
||||
const common: CommonProvenance = JSON.parse(fs.readFileSync(path.join(root, 'refactor/baselines/console-commonjs-provenance.json'), 'utf8'))
|
||||
assert(process.argv.slice(2).every(arg => arg === '--fetch'), 'Use reproduce.ts [--fetch]')
|
||||
assert.equal(process.version, `v${fs.readFileSync(path.join(root, '.node-version'), 'utf8').trim()}`, 'Use canonical Node')
|
||||
const cacheRoot = fs.realpathSync(path.join(root, 'refactor/.cache'))
|
||||
const cache = path.join(cacheRoot, 'console-feed-reproduction')
|
||||
fs.mkdirSync(cache, { recursive: true })
|
||||
assert.equal(fs.realpathSync(cache), cache, 'Reproduction cache must not redirect')
|
||||
for (const archive of [record.archive, record.compiler.archive]) {
|
||||
for (const archive of [record.archive, record.compiler.archive, ...common.archives]) {
|
||||
const target = path.join(cache, `${archive.name}-${archive.version}.tgz`)
|
||||
if (process.argv.includes('--fetch')) {
|
||||
const response = await fetch(archive.tarball)
|
||||
@@ -50,11 +60,44 @@ const { minify } = require(compilerPath) as Minifier
|
||||
const frozen = fs.readFileSync(path.join(root, record.frozen.path), 'utf8')
|
||||
assert.equal(hash(frozen), record.frozen.sha256, 'Frozen console changed')
|
||||
assert.equal(record.sources.length, 32, 'Incomplete console-feed scope')
|
||||
const count = verifyModules(parcelModules(frozen), record.sources, record.external, member => readMember('console-feed-3.2.2.tgz', member).toString('utf8'), (source) => {
|
||||
const result = minify(source, record.compiler.options)
|
||||
function compile(source: string, options: CompilerOptions) {
|
||||
const result = minify(source, options)
|
||||
if (result.error)
|
||||
throw result.error
|
||||
assert(typeof result.code === 'string')
|
||||
return result.code
|
||||
})
|
||||
console.log(JSON.stringify({ exactModules: count, totalVendorModules: 100, archive: record.archive.sha256, licenseClosure: false }))
|
||||
}
|
||||
const modules = parcelModules(frozen)
|
||||
const count = verifyModules(modules, record.sources, record.external, member => readMember('console-feed-3.2.2.tgz', member).toString('utf8'), source => compile(source, record.compiler.options))
|
||||
assert.equal(common.sources.length, 41, 'Incomplete commonjs scope')
|
||||
const archiveIds = new Set(common.archives.map(archive => archive.id))
|
||||
assert.equal(archiveIds.size, common.archives.length, 'Duplicate archives')
|
||||
for (const archive of common.archives) {
|
||||
assert.equal(archive.id, `${archive.name}-${archive.version}`, 'Archive ID differs')
|
||||
for (const notice of archive.notices) {
|
||||
const bytes = readMember(`${archive.id}.tgz`, notice.member)
|
||||
assert.equal(hash(bytes), notice.sha256, 'Upstream notice differs')
|
||||
assert.equal(hash(fs.readFileSync(path.join(root, notice.source))), notice.sha256, 'Frozen notice differs')
|
||||
}
|
||||
}
|
||||
const commonCount = verifyModules(modules, common.sources, common.external, (member, item) => {
|
||||
assert(archiveIds.has(item.archive), 'Unknown source archive')
|
||||
return readMember(`${item.archive}.tgz`, member).toString('utf8')
|
||||
}, (source, item) => {
|
||||
if (item.transform === 'production') {
|
||||
assert(source.includes('process.env.NODE_ENV'), 'Missing production substitution')
|
||||
source = source.replaceAll('process.env.NODE_ENV', '"production"')
|
||||
}
|
||||
else if (item.transform === 'process-browser') {
|
||||
assert.equal(source.split('process.browser = true;').length, 2, 'Unexpected process browser assignment')
|
||||
source = source.replace('process.browser = true;', '')
|
||||
}
|
||||
else {
|
||||
assert.equal(item.transform, 'plain', 'Unknown transform')
|
||||
}
|
||||
return compile(source, common.compilerOptions)
|
||||
}, { roots: common.roots, sourcePrefix: 'package/' })
|
||||
const identified = new Set([...record.sources, ...common.sources].map(source => source.id))
|
||||
assert.equal(identified.size, count + commonCount, 'Duplicate identified module')
|
||||
assert.deepEqual([...modules.keys()].filter(id => !identified.has(id) && !['Focm', 'W5CS'].includes(id)), common.unresolvedModules, 'Unresolved module scope changed')
|
||||
console.log(JSON.stringify({ exactModules: identified.size, consoleFeed: count, commonjs: commonCount, totalVendorModules: 100, unresolved: common.unresolvedModules.length, licenseClosure: false }))
|
||||
@@ -215,3 +215,23 @@ test('Console provenance requires exact source, compiler output, dependency mapp
|
||||
modules.set('child', { ...child, body: 'changed' })
|
||||
assert.throws(() => verifyModules(modules, sources, external, read, source => source), /Frozen module changed/)
|
||||
})
|
||||
|
||||
test('Console provenance verifies multiple archive roots without merging their relative module ownership', () => {
|
||||
const modules = new Map([
|
||||
['m6b6', { id: 'm6b6', body: 'exports.a=1;', dependencies: { react: 'react' } }],
|
||||
['react', { id: 'react', body: 'exports.b=2;', dependencies: {} }],
|
||||
])
|
||||
const sources = [...modules.values()].map(module => ({ id: module.id, archive: module.id, member: 'package/index.js', sourceSha256: hash(module.body), generatedSha256: hash(module.body), bodySha256: hash(module.body) }))
|
||||
const external = [{ from: 'm6b6', dependency: 'react', id: 'react' }]
|
||||
const read = (member, source) => {
|
||||
assert.equal(member, 'package/index.js')
|
||||
assert.equal(source.archive, source.id)
|
||||
return modules.get(source.id).body
|
||||
}
|
||||
const options = { roots: ['m6b6', 'react'], sourcePrefix: 'package/' }
|
||||
assert.equal(verifyModules(modules, sources, external, read, code => code, options), 2)
|
||||
assert.throws(() => verifyModules(modules, sources, external, read, code => code, { ...options, roots: ['m6b6'] }), /Unreachable/)
|
||||
assert.throws(() => verifyModules(modules, sources, external, read, code => code, { ...options, roots: ['m6b6', 'm6b6'] }), /Invalid source roots/)
|
||||
modules.get('m6b6').dependencies = { './index': 'react' }
|
||||
assert.throws(() => verifyModules(modules, sources, [], read, code => code, options), /Relative dependency changed archives/)
|
||||
})
|
||||
Reference in new issue
Block a user