build(site): [SITE-07] verify Node path origin and preserve complete notices

This commit is contained in:
Harvey Zhao committed 2026-09-15 12:18:24 +08:00
1 parent d2b2f76db8
commit d3aa4bbfe4
24 files changed
+4050 -5

No files matched your search

@@ -0,0 +1,275 @@
[
{
"namespace": "posix",
"method": "normalize",
"args": [
"/foo//bar/../baz/"
],
"expected": "/foo/baz/"
},
{
"namespace": "posix",
"method": "normalize",
"args": [
"../../a/./b"
],
"expected": "../../a/b"
},
{
"namespace": "posix",
"method": "normalize",
"args": [
""
],
"expected": "."
},
{
"namespace": "posix",
"method": "basename",
"args": [
"/a/file.txt",
".txt"
],
"expected": "file"
},
{
"namespace": "posix",
"method": "basename",
"args": [
"/a/.profile"
],
"expected": ".profile"
},
{
"namespace": "posix",
"method": "dirname",
"args": [
"/a/b/"
],
"expected": "/a"
},
{
"namespace": "posix",
"method": "extname",
"args": [
"/a/.hidden"
],
"expected": ""
},
{
"namespace": "posix",
"method": "extname",
"args": [
"/a/file.tar.gz"
],
"expected": ".gz"
},
{
"namespace": "posix",
"method": "join",
"args": [
"",
"a",
"..",
"b"
],
"expected": "b"
},
{
"namespace": "posix",
"method": "relative",
"args": [
"/a/b",
"/a/c/d"
],
"expected": "../c/d"
},
{
"namespace": "posix",
"method": "resolve",
"args": [
"/a",
"../b"
],
"expected": "/b"
},
{
"namespace": "posix",
"method": "parse",
"args": [
"/文件/report.txt"
],
"expected": {
"root": "/",
"dir": "/文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
}
},
{
"namespace": "posix",
"method": "format",
"args": [
{
"root": "/",
"dir": "/a",
"base": "b.txt"
}
],
"expected": "/a/b.txt"
},
{
"namespace": "posix",
"method": "isAbsolute",
"args": [
"../a"
],
"expected": false
},
{
"namespace": "posix",
"method": "toNamespacedPath",
"args": [
"/a/b"
],
"expected": "/a/b"
},
{
"namespace": "win32",
"method": "normalize",
"args": [
"C:\\foo\\..\\bar\\"
],
"expected": "C:\\bar\\"
},
{
"namespace": "win32",
"method": "normalize",
"args": [
"\\\\server\\share\\a\\..\\b"
],
"expected": "\\\\server\\share\\b"
},
{
"namespace": "win32",
"method": "normalize",
"args": [
""
],
"expected": "."
},
{
"namespace": "win32",
"method": "basename",
"args": [
"C:\\a\\file.txt",
".txt"
],
"expected": "file"
},
{
"namespace": "win32",
"method": "basename",
"args": [
"C:\\a\\.profile"
],
"expected": ".profile"
},
{
"namespace": "win32",
"method": "dirname",
"args": [
"C:\\a\\b\\"
],
"expected": "C:\\a"
},
{
"namespace": "win32",
"method": "extname",
"args": [
"C:\\a\\file.tar.gz"
],
"expected": ".gz"
},
{
"namespace": "win32",
"method": "join",
"args": [
"\\\\server",
"share",
"a"
],
"expected": "\\\\server\\share\\a"
},
{
"namespace": "win32",
"method": "join",
"args": [
"",
"",
"a"
],
"expected": "a"
},
{
"namespace": "win32",
"method": "relative",
"args": [
"C:\\a\\b",
"C:\\a\\c"
],
"expected": "..\\c"
},
{
"namespace": "win32",
"method": "resolve",
"args": [
"C:\\a",
"..\\b"
],
"expected": "C:\\b"
},
{
"namespace": "win32",
"method": "parse",
"args": [
"C:\\文件\\report.txt"
],
"expected": {
"root": "C:\\",
"dir": "C:\\文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
}
},
{
"namespace": "win32",
"method": "format",
"args": [
{
"root": "C:\\",
"dir": "C:\\a",
"base": "b.txt"
}
],
"expected": "C:\\a\\b.txt"
},
{
"namespace": "win32",
"method": "isAbsolute",
"args": [
"C:a"
],
"expected": false
},
{
"namespace": "win32",
"method": "toNamespacedPath",
"args": [
"C:\\a\\b"
],
"expected": "\\\\?\\C:\\a\\b"
}
]
@@ -0,0 +1,142 @@
{
"schemaVersion": 1,
"task": "SITE-07",
"nodeCommit": "bd60e93357a118204ea238d94e7a9e4209d93062",
"archives": [
{
"name": "monaco-editor",
"version": "0.30.1",
"tarball": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.30.1.tgz",
"integrity": "sha512-B/y4+b2O5G2gjuxIFtCE2EkM17R2NM7/3F8x0qcPsqy4V83bitJTIO4TIeZpYlzu/xy6INiY/+84BEm6+7Cmzg==",
"sha256": "d7872ab742036036eca48cd54e43d751bede56742f0689bcf4049bcf701468c7"
},
{
"name": "monaco-editor-core",
"version": "0.30.1",
"tarball": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.30.1.tgz",
"integrity": "sha512-WNxfchYafMZXVfysqg/ESW4MtOpYLPaIKrzudNlgwYvfYID+O/nwSZI5X+KxW84roVzHsNgFGyOOesfHFZwYUA==",
"sha256": "a3b004061373a7f6217eba6399f1a1de31970bee2eee693aada289035198c5ec"
},
{
"name": "typescript",
"version": "4.5.0-dev.20211021",
"tarball": "https://registry.yarnpkg.com/typescript/-/typescript-4.5.0-dev.20211021.tgz",
"integrity": "sha512-lZJTNSL8CBqgURSrVwCto8WEV1U0BUwoy+GTmINoRc/Sm2BcYiRpcq/OAiSg/1q/rvODousdOsHePfAZfwi0Qg==",
"sha256": "27cbe79009d92bcbcbbb7c5575fd8a0821d16eb26b410c249db018d49b10a693"
}
],
"remotes": [
{
"source": "refactor/baselines/site-vendor/monaco-node-path/node-path.js.txt",
"sha256": "ff755282e187b98ebb2f5381d3caf235cee94afb97d7d994007079a01694319e",
"gitBlobSha": "7532b795bf63f7190bb46946d2db69459bce08a7",
"apiUrl": "https://api.github.com/repos/nodejs/node/contents/lib/path.js?ref=bd60e93357a118204ea238d94e7a9e4209d93062"
},
{
"source": "refactor/baselines/site-vendor/monaco-node-path/vscode-path.ts.txt",
"sha256": "d500777083482e1c9db549b44b0c8de6702fd1bdb4aab8f51ad2a3d670960676",
"gitBlobSha": "00d948acd88597642885d21ea1dac6e6a860949c",
"apiUrl": "https://api.github.com/repos/microsoft/vscode/contents/src/vs/base/common/path.ts?ref=829382514cb1065f5ebb90f436e1c6103e153953"
},
{
"source": "refactor/baselines/site-vendor/monaco-css-build/yarn.lock.txt",
"sha256": "9f74da55701070e0d2203daf46b1552e12a95c0b7ee9bd10694fa2b61a47227a",
"gitBlobSha": "2b4d4ce38436144cd7b3405a1eef1a4cd7d53cac",
"apiUrl": "https://api.github.com/repos/microsoft/vscode/contents/yarn.lock?ref=829382514cb1065f5ebb90f436e1c6103e153953"
}
],
"nodeSource": "refactor/baselines/site-vendor/monaco-node-path/node-path.js.txt",
"vscodeSource": "refactor/baselines/site-vendor/monaco-node-path/vscode-path.ts.txt",
"lockSource": "refactor/baselines/site-vendor/monaco-css-build/yarn.lock.txt",
"maps": [
{
"archive": "monaco-editor-core-0.30.1",
"member": "package/min-maps/vs/editor/editor.main.js.map",
"sha256": "981ef3b9027387b50c8a035dbb14e66ce6ecbc6a3e617db423c585d0f434057f",
"source": "out-editor/vs/editor/file:/Users/alex/src/vscode/out-editor-src/vs/base/common/path.ts"
},
{
"archive": "monaco-editor-core-0.30.1",
"member": "package/min-maps/vs/base/worker/workerMain.js.map",
"sha256": "824cd08c975e30bd9d8942051e8a38f9f852efb3a6c09984c25d845d0a5e36a5",
"source": "out-editor/vs/base/worker/file:/Users/alex/src/vscode/out-editor-src/vs/base/common/path.ts"
}
],
"outputs": [
{
"development": {
"archive": "monaco-editor-core-0.30.1",
"member": "package/dev/vs/editor/editor.main.js",
"sha256": "483348c3a73e86f201bc0df26ceee2c3ef610fe56c344993410fc093bac228a7"
},
"signature": "define(__m[75/*vs/base/common/path*/], __M([0/*require*/,1/*exports*/,300/*vs/base/common/process*/]),",
"offset": 334819,
"target": {
"path": "docs/assets/js/vs/editor/editor.main.js",
"sha256": "05a50ed50bb013b6e7a82d25686186aa7bdff8b8209c7badab00e046b5e99618"
},
"editor": {
"archive": "monaco-editor-0.30.1",
"member": "package/min/vs/editor/editor.main.js",
"sha256": "05a50ed50bb013b6e7a82d25686186aa7bdff8b8209c7badab00e046b5e99618"
}
},
{
"development": {
"archive": "monaco-editor-core-0.30.1",
"member": "package/dev/vs/base/worker/workerMain.js",
"sha256": "016d569eb0ae9ba9865bc9c9be1da9fe88f722622c60828c4fa93b73245e2a42"
},
"signature": "define(__m[20/*vs/base/common/path*/], __M([0/*require*/,1/*exports*/,19/*vs/base/common/process*/]),",
"offset": 159086,
"target": {
"path": "docs/assets/js/vs/base/worker/workerMain.js",
"sha256": "3ebdb68f45f9fed1c587901c9db42dd70e8a552421e330f39116fc7b078ba67e"
},
"editor": {
"archive": "monaco-editor-0.30.1",
"member": "package/min/vs/base/worker/workerMain.js",
"sha256": "3ebdb68f45f9fed1c587901c9db42dd70e8a552421e330f39116fc7b078ba67e"
}
}
],
"component": {
"name": "nodejs path (Monaco core)",
"version": "14.16.0",
"tarball": "https://github.com/nodejs/node/blob/bd60e93357a118204ea238d94e7a9e4209d93062/lib/path.js",
"assets": [
"docs/assets/js/vs/editor/editor.main.js",
"docs/assets/js/vs/base/worker/workerMain.js"
],
"notices": [
"docs/licenses/monaco-editor/ThirdPartyNotices.txt",
"docs/licenses/monaco-editor/core-path/ATTRIBUTION.md"
]
},
"legacyNotice": {
"source": "refactor/baselines/site-vendor/monaco-editor-ThirdPartyNotices.txt.txt",
"target": "docs/licenses/monaco-editor/ThirdPartyNotices.txt",
"sha256": "b23ab6e9a1a31ce6948a98b16a83474c999a384ece75643dd0affc83ea1724ef"
},
"attribution": {
"source": "refactor/baselines/site-vendor/monaco-node-path/ATTRIBUTION.md.txt",
"target": "docs/licenses/monaco-editor/core-path/ATTRIBUTION.md",
"sha256": "40583c701c0bcbd8e10935652a0a8b02e2073b0ef040fb7be7b939c437d8b8dc"
},
"fixtures": {
"path": "refactor/baselines/monaco-node-path-fixtures.json",
"sha256": "9c3ad261603d231a093e98ed4a43f302c1aa722d696f97c129d9bf95fa083ccc"
},
"review": {
"classification": "Existing modified browser port; not an unmodified Node runtime",
"algorithms": [
"Windows join adds a typeof firstPart string guard",
"Both basename implementations share a loop index declared outside the loops"
],
"environment": [
"Local process adapter and validation/Error subclass",
"Typed interfaces, explicit exports and platform aliases; Node legacy _makeLong omitted"
],
"unmodifiedSemanticEquivalenceClaimed": false
}
}
@@ -0,0 +1,350 @@
{
"schemaVersion": 1,
"task": "SITE-07",
"status": "checkpoint-incomplete",
"recordedAt": "2026-09-15T04:12:40.550Z",
"baseCommit": "d2b2f76db84ba107751766935a79b78766b81c7d",
"node": "v24.21.0",
"yarn": "1.22.22",
"fingerprints": {
"refactor/baselines/monaco-node-path-provenance.json": "45872f22f226922a57dde70b9ad2d16c7844c6da0ffd7f6f5d23c1fdcfafa6fd",
"refactor/baselines/monaco-node-path-fixtures.json": "9c3ad261603d231a093e98ed4a43f302c1aa722d696f97c129d9bf95fa083ccc",
"scripts/site-vendor/monaco/node-path.ts": "dbcd863a436af83e9969b99bad600df8fc6d42f460ac5b03e3e9408cb11f4da8",
"scripts/site-vendor/monaco/reproduce-node-path.ts": "6ce26a15ddd3fdcdeb0deb62e5e2ef81aadf00c85c284e1204eeaf2b8d648c4c",
"scripts/site-vendor/manifest.json": "5ed425e4136a7fd59a4784cd52070dc9be21066f3ba4757778ce4da5d8a5ed7b",
"scripts/build-site-notices.mjs": "95576c1f36fbfcc1613813ae7cf101b871d0dd7a201a3edcbe26003d96e4da03",
"test/browser/editor-path.spec.js": "cae3cbfee45494e95924b3eb1d31de92bee9903d0ab381c578c162f2071b551d",
"test/browser/site-vendor.spec.js": "bd9abd585d446a2bbeefee7ed750f2e302cc84573b8a7ce45007d8933dc692bd",
"docs/licenses/monaco-editor/core-path/ATTRIBUTION.md": "40583c701c0bcbd8e10935652a0a8b02e2073b0ef040fb7be7b939c437d8b8dc",
"docs/THIRD_PARTY_NOTICES.md": "048ba3ef9aea250c7683cafc8d0cb7d5b36a853d49b5e8ab406dc2b07c852e2d"
},
"reproduction": {
"result": {
"archives": 3,
"gitSources": 3,
"maps": 2,
"removedUnusedExports": 6,
"outputs": [
{
"path": "docs/assets/js/vs/editor/editor.main.js",
"offset": 334819,
"moduleBytes": 57628,
"exactModule": true,
"sha256": "05a50ed50bb013b6e7a82d25686186aa7bdff8b8209c7badab00e046b5e99618"
},
{
"path": "docs/assets/js/vs/base/worker/workerMain.js",
"offset": 159086,
"moduleBytes": 57627,
"exactModule": true,
"sha256": "3ebdb68f45f9fed1c587901c9db42dd70e8a552421e330f39116fc7b078ba67e"
}
],
"fixtures": 30,
"existingLicenseTextMatches": true,
"compiler": "4.5.0-dev.20211021",
"fullCoreTypeScriptBuild": false,
"unmodifiedNodeRuntimeClaimed": false
},
"offline": {
"exitCode": 0,
"logSha256": "5877aa1df3cfcd002b8c360546bbe15974e209317819cb35df5394916582670e"
},
"online": {
"exitCode": 0,
"logSha256": "5877aa1df3cfcd002b8c360546bbe15974e209317819cb35df5394916582670e"
}
},
"unit": {
"passed": 28,
"failed": 0,
"logSha256": "548fcbf988efb129c426c013ac2038992f103c274363b7bbcd422b395466dfc2"
},
"types": {
"exitCode": 0,
"logSha256": "975a28d6b24bd2efde60d6feb9a4731f84df8c04c367cf1d5a1de9453dc84262"
},
"lint": {
"exitCode": 0
},
"notices": {
"files": 86,
"outputs": 87
},
"browser": {
"command": "yarn test:browser test/browser/editor-path.spec.js test/browser/site-vendor.spec.js --workers=1",
"reportSha256": "35b5b4cd62c5e5993f3c0398ebc31c5871fc30b6ab1aebbd2ce41967dee06c8b",
"stats": {
"startTime": "2026-09-15T04:07:59.233Z",
"duration": 14093.269,
"expected": 6,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"errors": [],
"tests": [
{
"title": "docs Monaco path port preserves frozen Node path results in both namespaces",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [],
"path": {
"cases": 30,
"values": [
"/foo/baz/",
"../../a/b",
".",
"file",
".profile",
"/a",
"",
".gz",
"b",
"../c/d",
"/b",
{
"root": "/",
"dir": "/文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"/a/b.txt",
false,
"/a/b",
"C:\\bar\\",
"\\\\server\\share\\b",
".",
"file",
".profile",
"C:\\a",
".gz",
"\\\\server\\share\\a",
"a",
"..\\c",
"C:\\b",
{
"root": "C:\\",
"dir": "C:\\文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"C:\\a\\b.txt",
false,
"\\\\?\\C:\\a\\b"
],
"namespace": "win32",
"alias": true,
"invalid": {
"name": "Error",
"code": "ERR_INVALID_ARG_TYPE"
}
}
},
{
"title": "docs Monaco path port preserves frozen Node path results in both namespaces",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [],
"path": {
"cases": 30,
"values": [
"/foo/baz/",
"../../a/b",
".",
"file",
".profile",
"/a",
"",
".gz",
"b",
"../c/d",
"/b",
{
"root": "/",
"dir": "/文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"/a/b.txt",
false,
"/a/b",
"C:\\bar\\",
"\\\\server\\share\\b",
".",
"file",
".profile",
"C:\\a",
".gz",
"\\\\server\\share\\a",
"a",
"..\\c",
"C:\\b",
{
"root": "C:\\",
"dir": "C:\\文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"C:\\a\\b.txt",
false,
"\\\\?\\C:\\a\\b"
],
"namespace": "win32",
"alias": true,
"invalid": {
"name": "Error",
"code": "ERR_INVALID_ARG_TYPE"
}
}
},
{
"title": "docs Monaco path port preserves frozen Node path results in both namespaces",
"project": "webkit",
"status": "passed",
"browser": "26.6",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [],
"path": {
"cases": 30,
"values": [
"/foo/baz/",
"../../a/b",
".",
"file",
".profile",
"/a",
"",
".gz",
"b",
"../c/d",
"/b",
{
"root": "/",
"dir": "/文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"/a/b.txt",
false,
"/a/b",
"C:\\bar\\",
"\\\\server\\share\\b",
".",
"file",
".profile",
"C:\\a",
".gz",
"\\\\server\\share\\a",
"a",
"..\\c",
"C:\\b",
{
"root": "C:\\",
"dir": "C:\\文件",
"base": "report.txt",
"ext": ".txt",
"name": "report"
},
"C:\\a\\b.txt",
false,
"\\\\?\\C:\\a\\b"
],
"namespace": "posix",
"alias": true,
"invalid": {
"name": "Error",
"code": "ERR_INVALID_ARG_TYPE"
}
}
},
{
"title": "mobile vConsole shows logs and upstream site notice texts are served unchanged",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [
{
"url": "http://127.0.0.1:8084/test/pattern.mp4",
"resourceType": "media",
"failure": {
"errorText": "net::ERR_ABORTED"
}
}
],
"notices": {
"count": 86,
"sha256": "fd92aad7f34fc1daf6d700a8ab48f818effbe2d8f85aa9a3c1fa008d3680bdb7"
}
},
{
"title": "mobile vConsole shows logs and upstream site notice texts are served unchanged",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [],
"notices": {
"count": 86,
"sha256": "fd92aad7f34fc1daf6d700a8ab48f818effbe2d8f85aa9a3c1fa008d3680bdb7"
}
},
{
"title": "mobile vConsole shows logs and upstream site notice texts are served unchanged",
"project": "webkit",
"status": "passed",
"browser": "26.6",
"platform": "win32",
"errors": [],
"consoleErrors": [],
"failedRequests": [],
"notices": {
"count": 86,
"sha256": "fd92aad7f34fc1daf6d700a8ab48f818effbe2d8f85aa9a3c1fa008d3680bdb7"
}
}
]
},
"limitations": [
"The Node reference harness covers deterministic valid calls, not Node error formatting or cwd/drive behavior.",
"Full original core TypeScript compilation and remaining embedded origins are not closed by one module proof.",
"Chromium mobile playback passed its currentTime assertion but recorded one pattern.mp4 net::ERR_ABORTED request; that observation is retained.",
"Runtime assets are unchanged. No device, external SDK, remote CI or publication evidence is claimed.",
"The CSS publication newline-stage limitation and pending Thumbnail default policy remain recorded separately."
],
"finalPathCorrection": {
"source": "refactor/baselines/site-vendor/monaco-node-path/ATTRIBUTION.md.txt",
"reason": "Frozen deployed text contains a site-relative link; it is not a repository Markdown document.",
"noticeCheckExitCode": 0,
"planCheckExitCode": 0,
"unit": {
"passed": 28,
"failed": 0,
"logSha256": "7b904dd4144c6e9638c8e269370fae60a91ccf8156eca13391b9c484585d8967"
},
"offline": {
"exitCode": 0,
"logSha256": "a04f121993cf78bc33a52d07a0b37617a329d5364470908060f742b36ff4b0a4"
}
}
}
@@ -0,0 +1,22 @@
# Node path in Monaco 0.30.1
The editor and core worker include VS Code's browser port of Node.js path. The
source identifies Node v14.16.0 ([fixed Node source](https://github.com/nodejs/node/blob/bd60e93357a118204ea238d94e7a9e4209d93062/lib/path.js)),
ported in [VS Code 829382514cb1065f5ebb90f436e1c6103e153953](https://github.com/microsoft/vscode/blob/829382514cb1065f5ebb90f436e1c6103e153953/src/vs/base/common/path.ts).
The full Joyent/Node contributor copyright and permission text is already in
[the original third-party notices](../ThirdPartyNotices.txt). That upstream index
links an older Node commit; this supplement identifies the actual ported source
without removing or rewriting the original notice. Its license text matches both
the v14.16.0 source and VS Code's retained comment.
VS Code adds types and a browser process adapter, local argument validation and
an Error subclass, exports platform-selected functions, and omits Node's legacy
_makeLong alias. Reviewed algorithm edits include a string guard in Windows join
and shared loop-variable declarations in both basename implementations. These
are existing upstream adaptations, not new ArtPlayer behavior changes.
Six unused top-level exports are removed from the prepared sources. Both actual
source maps retain identical complete path-module sources after those removals;
TypeScript 4.5.0-dev.20211021 reproduces the full module in editor and worker builds.
The full VS Code compiler pipeline is a separate verification scope.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,55 @@
# SITE-07 Monaco Node 路径库来源与交付绑定
修改前 HEAD:d2b2f76db84ba107751766935a79b78766b81c7d。
## 来源、实现与兼容
VS Code path.ts 明确注明来自 Node v14.16.0。本批将该 tag 解析到固定 commit
bd60e93357a118204ea238d94e7a9e4209d93062,冻结 Node 原源码及 VS Code 移植源码,
并使用 SHA-256/Git blob 校验。原站点 ThirdPartyNotices 的完整 Joyent/Node
许可与两份源码正文一致;仅其中链接指向更早 commit。保留原文件,补充一份
core-path/ATTRIBUTION.md,准确说明实际来源和既有移植变化,没有虚构许可缺失。
新增 node-path.ts / reproduce-node-path.ts,将来源、6 个未用导出的移除、原版
路径参考用例及 notice 绑定分开维护。Node 路径算法经既有 VS Code 移植,包含
类型/参数名/括号整理、Windows join 字符串保护、两处 basename 循环变量调整、
本地参数校验和 Error 类、process adapter、显式导出及旧 _makeLong 别名的省略。
不声称等同未经修改的 Node 运行时,本批没有改动这些既有运行逻辑。
移除六个精确指定的顶层导出后,完整源码与主编辑器/worker 两份原 source map
一致。初始记录误用了整理缓存中的 file URI;读取原归档确认两个 map 实际使用
不同的 out-editor/.../file:/ 前缀,现按原始 key 精确核对。固定 VS Code 原锁中
TypeScript 4.5.0-dev.20211021,发射的完整路径模块分别匹配主编辑器 57,628 字节
和 worker 57,627 字节的唯一源码片段。对应站点压缩文件与固定归档完全相同,
整体压缩链复用既有 core-build 证据;这不是完整原 VS Code TS 工程编译证明。
历史编译器仅解包到隔离缓存,不覆盖已有 Monaco TypeScript 4.4.4 复现工具,
不改项目依赖、根 yarn.lock、运行资源、公开 API 或 worker URL。
## 测试与交付
冻结 Node 源码实际计算 30 个确定性合法路径用例,涵盖 POSIX/Windows 的空值、
点段、UNC、路径组合/相对关系、扩展名、中文路径、格式化和命名空间路径。
参考环境限制额外 import 与 cwd 使用,不模拟完整 Node 错误文本或驱动器环境。
三引擎测试直接调用真实 Monaco 两个 namespace,并检查平台别名和原有
Error/ERR_INVALID_ARG_TYPE 行为。另一组三引擎测试验证实际移动播放、全部
86 份 notice 的 HTTP/内容以及新增相对链接,总计 6/6 通过。
28/28 单元、严格 docs-tools 类型、lint、联网/离线来源与发射复验通过;普通
notice 构建新增 Node 双资产/原许可/补充说明绑定,负例覆盖遗漏 worker 或原
条款、错误/重复导出、额外 Node import 和非确定性 cwd。总交付为 86 notices
加索引,即 87 outputs。
Chromium 移动测试记录一条 pattern.mp4 net::ERR_ABORTED,保留在证据中;实际
播放时间推进断言通过,没有将本轮描述为所有网络请求零失败。其余本轮浏览器
错误/控制台错误为空。详情见[验证记录](../baselines/monaco-node-path-validation.json)。
## 后续与回退
维护入口:[Monaco README](../../scripts/site-vendor/monaco/README.md)。Node 路径
条目的版本/来源/原有条款/实际模块对应已核实;WinJS、Unicode 数据和其他
内嵌来源、完整 core TS 编译以及 SITE-07 其他交付范围继续开放。CSS 70 个
生成分隔符的发布归一化位置仍按前一批记录保留限制。
SITE-07 doing / VENDOR-06 open,199/265;Thumbnail 默认策略仍待答。独立本地
提交;回退时同批撤回新增来源/测试/绑定和重新生成 notice 索引,无推送或发布。
+1 -1
View File
@@ -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) [记录](baselines/console-commonjs-provenance.json) [记录](changes/2026-09-15-SITE-07-console-commonjs.md) [记录](baselines/console-esm-provenance.json) [记录](changes/2026-09-15-SITE-07-console-esm.md) [记录](baselines/console-embedded-notices.json) [记录](baselines/console-notices-validation.json) [记录](changes/2026-09-15-SITE-07-console-notices.md) [记录](baselines/console-embedded-sources.json) [记录](baselines/console-embedded-validation.json) [记录](changes/2026-09-15-SITE-07-console-embedded-sources.md) [记录](baselines/console-derived-attribution.json) [记录](baselines/console-derived-validation.json) [记录](changes/2026-09-15-SITE-07-console-derived-attribution.md) [记录](baselines/console-stackoverflow-provenance.json) [记录](baselines/console-stackoverflow-validation.json) [记录](changes/2026-09-15-SITE-07-console-stackoverflow.md) [记录](baselines/console-shallowequal-validation.json) [记录](changes/2026-09-15-SITE-07-console-shallowequal.md) [记录](console-notice-review.md) [记录](baselines/console-notice-review-validation.json) [记录](changes/2026-09-15-SITE-07-console-notice-review.md) [记录](baselines/monaco-typescript-provenance.json) [记录](baselines/monaco-typescript-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-typescript.md) [记录](baselines/monaco-languages-provenance.json) [记录](baselines/monaco-languages-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-languages.md) [记录](baselines/monaco-language-notices.json) [记录](baselines/monaco-language-notices-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-language-notices.md) [记录](baselines/monaco-modes-provenance.json) [记录](baselines/monaco-modes-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-modes.md) [记录](baselines/monaco-basic-provenance.json) [记录](baselines/monaco-basic-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-basic.md) [记录](baselines/monaco-core-origins-provenance.json) [记录](baselines/monaco-core-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-origins.md) [记录](baselines/monaco-core-build-provenance.json) [记录](baselines/monaco-core-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-build.md) [记录](baselines/monaco-contributions-provenance.json) [记录](baselines/monaco-contributions-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-contributions.md) [记录](baselines/monaco-css-build-provenance.json) [记录](baselines/monaco-css-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-css.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) [记录](baselines/console-esm-provenance.json) [记录](changes/2026-09-15-SITE-07-console-esm.md) [记录](baselines/console-embedded-notices.json) [记录](baselines/console-notices-validation.json) [记录](changes/2026-09-15-SITE-07-console-notices.md) [记录](baselines/console-embedded-sources.json) [记录](baselines/console-embedded-validation.json) [记录](changes/2026-09-15-SITE-07-console-embedded-sources.md) [记录](baselines/console-derived-attribution.json) [记录](baselines/console-derived-validation.json) [记录](changes/2026-09-15-SITE-07-console-derived-attribution.md) [记录](baselines/console-stackoverflow-provenance.json) [记录](baselines/console-stackoverflow-validation.json) [记录](changes/2026-09-15-SITE-07-console-stackoverflow.md) [记录](baselines/console-shallowequal-validation.json) [记录](changes/2026-09-15-SITE-07-console-shallowequal.md) [记录](console-notice-review.md) [记录](baselines/console-notice-review-validation.json) [记录](changes/2026-09-15-SITE-07-console-notice-review.md) [记录](baselines/monaco-typescript-provenance.json) [记录](baselines/monaco-typescript-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-typescript.md) [记录](baselines/monaco-languages-provenance.json) [记录](baselines/monaco-languages-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-languages.md) [记录](baselines/monaco-language-notices.json) [记录](baselines/monaco-language-notices-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-language-notices.md) [记录](baselines/monaco-modes-provenance.json) [记录](baselines/monaco-modes-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-modes.md) [记录](baselines/monaco-basic-provenance.json) [记录](baselines/monaco-basic-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-basic.md) [记录](baselines/monaco-core-origins-provenance.json) [记录](baselines/monaco-core-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-origins.md) [记录](baselines/monaco-core-build-provenance.json) [记录](baselines/monaco-core-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-build.md) [记录](baselines/monaco-contributions-provenance.json) [记录](baselines/monaco-contributions-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-contributions.md) [记录](baselines/monaco-css-build-provenance.json) [记录](baselines/monaco-css-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-css.md) [记录](baselines/monaco-node-path-provenance.json) [记录](baselines/monaco-node-path-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-node-path.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)
+11
View File
@@ -1,5 +1,16 @@
# 进度与证据
## SITE-07 Monaco Node 路径来源与完整模块
核实 Node v14.16.0 固定源码及 VS Code 移植。原 notice 已含完整相同条款,新增
准确来源说明;86 份 notice 加索引。6 个未用导出移除后匹配两份原 map,历史
TS 4.5.0-dev 编译匹配主编辑器/worker 完整模块。28/28 单元、类型/lint、联网/
离线复验及三引擎 30 路径用例/移动实播/notice 交付 6/6 通过;Chromium 一条
媒体 ERR_ABORTED 保留记录,播放推进断言通过。见[记录](changes/2026-09-15-SITE-07-monaco-node-path.md)。
其余内嵌来源、完整 core TS 编译与既有 CSS 发布换行定位限制继续开放。
SITE-07/VENDOR-06 未完结,199/265;Thumbnail 默认策略仍待答。
## SITE-07 Monaco CSS 来源与样式回归
68 份样式、3 个内联图片和字体按原配方恢复,81 个 Git 成员验证;显式记录
+5 -2
View File
@@ -658,11 +658,14 @@
"refactor/changes/2026-09-15-SITE-07-monaco-contributions.md",
"refactor/baselines/monaco-css-build-provenance.json",
"refactor/baselines/monaco-css-build-validation.json",
"refactor/changes/2026-09-15-SITE-07-monaco-css.md"
"refactor/changes/2026-09-15-SITE-07-monaco-css.md",
"refactor/baselines/monaco-node-path-provenance.json",
"refactor/baselines/monaco-node-path-validation.json",
"refactor/changes/2026-09-15-SITE-07-monaco-node-path.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": "Monaco 0.30.1 remains byte-pinned, including its known CSS newline-only difference. Codicons 0.0.26, TypeScript 4.4.4 and language-service licenses are delivered. Three service workers, four modes and 76 basic-language bundles reproduce exactly; all 13 core JS minified outputs reproduce with locked esbuild 0.12.6 on Windows x64. Loader/header and css/nls source origins match fixed Git; two maps inventory 584 prepared-source entries and 549 different names. DOMPurify 2.3.1 and marked 3.0.2 have exact source adaptations and complete notice supplements; 85 site notices were verified by HTTP/mobile browser checks. Latest contribution check verifies six archives and 102 Git members, emits 88 TS registration modules and uses RequireJS 2.3.6/Terser 5.9.0 to reproduce the entire dev/min editor assembly, including core string-table entry, dependency injection, order, alias and map trailer. Latest units 23/23, strict type/lint and offline/network source checks pass; modes/tokenizer regressions pass 6/6 across three engines with 2523 token cases per engine. Earlier ten-locale editing/find 30/30 and diff-worker 3/3 evidence remains recorded separately. CSS now reproduces from 68 styles, three embedded images and the copied font, with 81 verified Git members. The archived transport/plugin recipes match every prepared ESM stylesheet; explicit normalization of 70 generated CRLF separators reproduces the entire development CSS. cssnano 4.1.11/PostCSS 7.0.35 reproduce complete minified CSS using isolated frozen Yarn installs (153 selectors/143 versions) and historical browser defaults. The site retains its five header CRLF differences. The exact upstream stage that normalized the 70 development separators is still unidentified. Latest units 25/25, strict type/lint and offline/network checks pass; new three-engine style/theme/font/resize regressions pass 3/3. Original core TS compilation and remaining embedded-origin review stay open; this is not release approval or an exhaustive sanitizer audit."
"workspaceState": "Monaco 0.30.1 remains byte-pinned, including its known CSS newline-only difference. Codicons 0.0.26, TypeScript 4.4.4 and language-service licenses are delivered. Three service workers, four modes and 76 basic-language bundles reproduce exactly; all 13 core JS minified outputs reproduce with locked esbuild 0.12.6 on Windows x64. Loader/header and css/nls source origins match fixed Git; two maps inventory 584 prepared-source entries and 549 different names. DOMPurify 2.3.1 and marked 3.0.2 have exact source adaptations and complete notice supplements; 85 site notices were verified by HTTP/mobile browser checks. Latest contribution check verifies six archives and 102 Git members, emits 88 TS registration modules and uses RequireJS 2.3.6/Terser 5.9.0 to reproduce the entire dev/min editor assembly, including core string-table entry, dependency injection, order, alias and map trailer. Latest units 23/23, strict type/lint and offline/network source checks pass; modes/tokenizer regressions pass 6/6 across three engines with 2523 token cases per engine. Earlier ten-locale editing/find 30/30 and diff-worker 3/3 evidence remains recorded separately. CSS now reproduces from 68 styles, three embedded images and the copied font, with 81 verified Git members. The archived transport/plugin recipes match every prepared ESM stylesheet; explicit normalization of 70 generated CRLF separators reproduces the entire development CSS. cssnano 4.1.11/PostCSS 7.0.35 reproduce complete minified CSS using isolated frozen Yarn installs (153 selectors/143 versions) and historical browser defaults. The site retains its five header CRLF differences. The exact upstream stage that normalized the 70 development separators is still unidentified. Latest units 25/25, strict type/lint and offline/network checks pass; new three-engine style/theme/font/resize regressions pass 3/3. Original core TS compilation and remaining embedded-origin review stay open; this is not release approval or an exhaustive sanitizer audit. The Node path origin is now fixed to v14.16.0/bd60e93357a118204ea238d94e7a9e4209d93062 and the verified VS Code port. Its complete existing notice text matches both sources; a source supplement corrects the older index link without rewriting it. Six removed exports reproduce both source-map inputs; pinned TS 4.5.0-dev.20211021 emits exact full editor/worker modules. Thirty deterministic original Node path results pass in each browser engine, together with all 86 delivered notices and actual playback: 6/6 browser, 28/28 unit, type/lint, offline/network checks. Chromium retains one observed media ERR_ABORTED despite successful playback. Other embedded origins/full core compilation remain open."
},
{
"id": "VENDOR-07",
+4 -1
View File
@@ -4540,7 +4540,10 @@
"changes/2026-09-15-SITE-07-monaco-contributions.md",
"baselines/monaco-css-build-provenance.json",
"baselines/monaco-css-build-validation.json",
"changes/2026-09-15-SITE-07-monaco-css.md"
"changes/2026-09-15-SITE-07-monaco-css.md",
"baselines/monaco-node-path-provenance.json",
"baselines/monaco-node-path-validation.json",
"changes/2026-09-15-SITE-07-monaco-node-path.md"
]
},
{