Monaco vendor maintenance
The site keeps Monaco 0.30.1 at its existing assets/js/vs paths. Its 99 files
match the official archive, with the recorded CSS line-ending difference. Do not
edit these assets directly or upgrade Monaco as part of a license correction.
TypeScript worker
typescript.ts describes the six browser adaptations from the fixed upstream
monaco-typescript/scripts/importTypescript.js, source-map removal and RequireJS's
removal of the top-level strict directive. Each adaptation must occur once; strings
containing emitted strict directives are preserved. The adapted 4.4.4 service is
an exact 9,698,327-character segment in the archived development worker.
reproduce-typescript.ts verifies four archive SHA-512/SHA-256 fingerprints,
three fixed Git files, source/member identities, and original notice bytes. It
then executes only the pinned Terser 5.9.0 compiler with source-map 0.7.3 and the
recorded options. The full minified result and fixed header must equal the shipped
worker exactly. It does not execute TypeScript services, run npm install scripts,
or rewrite runtime assets. Historical compilers are isolated below the ignored
refactor/.cache/monaco-review directory, without changing root dependencies.
yarn verify:monaco-typescript-source --fetch
yarn verify:monaco-typescript-source
yarn build:site-notices
yarn check:site-notices
node --test test/monaco-provenance.test.js test/site-notices.test.js
yarn typecheck:docs-tools
Use the first command to populate and reverify the network cache; the second is
offline. Provenance and pinned build recipes are in
refactor/baselines/monaco-typescript-provenance.json. The normal site build only
copies verified notice files; it does not rerun the historical compiler.
Monaco's original ThirdPartyNotices names TypeScript 2.7.2; retain it verbatim. The supplement identifies the actual 4.4.4 worker and delivers its LICENSE, CopyrightNotice and ThirdPartyNoticeText. The last file includes upstream third-party terms, not just Apache 2.0. Preserve raw bytes, including encoding and line endings. The new attribution explains upstream modifications and the stale version label.
CSS, HTML and JSON workers
languages.ts names anonymous AMD modules syntactically, accounts for exact map
trailers and package aliases, and checks every source fragment and intervening byte.
It rejects missing modules, renamed dependencies, uncovered helper code, overlaps
and duplicate definitions. The npm sources are whole UMD files, including their
helpers and comments; module bodies alone are insufficient evidence.
archives.ts verifies archives and fixed Git files and extracts only historical
compiler inputs into the isolated cache. reproduce-languages.ts uses the fixed
upstream lock and recipes to match 91 npm modules from seven packages, eight root
aliases, the shared Monaco localization shim and three worker adapters. The complete
CSS/HTML/JSON development files contain 48/38/33 module instances respectively.
All bytes except whitespace are assigned to a verified source fragment. Terser
5.9.0 with the original options and header reproduces all three shipped workers.
The shim is Monaco's own src/fillers/vscode-nls.ts, identical in the three packages;
it is not the installed vscode-nls npm implementation. Compile the shim and worker
adapters with TypeScript 4.4.4 and its ES5/DOM/collection/promise/iterable libraries.
The compiler program intentionally omits import resolution; exact emission is
verified, but this is not a full upstream build or semantic typecheck. Standalone
transpileModule changes an async helper's Promise argument and does not reproduce
these adapters. No service runtime or install script executes during source checks.
yarn verify:monaco-language-sources --fetch
yarn verify:monaco-language-sources
node --test test/monaco-provenance.test.js
yarn typecheck:docs-tools
yarn test:browser test/browser/editor-languages.spec.js --workers=1
The source record is refactor/baselines/monaco-languages-provenance.json; its 13
fixed Git references include the shared upstream lock plus all three bundle recipes,
compiler configs, shims and adapters. The browser suite creates real workers with
Monaco's public createWebWorker, using the archived mode-manager options, and
disposes both workers and models. Monaco 0.30.1 has no public CSS/HTML/JSON worker
getter equivalent to getTypeScriptWorker. Tests exercise valid/invalid CSS and
JSON, HTML tag completion, document symbols, and HTML/JSON formatting on three engines.
Language-service notices
monaco-language-notices.json binds seven verified package versions to their nine
complete original LICENSE/third-party notice files. Two exact source-comment slices
preserve the HTML service's CSS/HTML beautifier MIT notices, 2007-2018 author years
and formatter authors. The package's older 2007-2017 text remains verbatim. A local
attribution explains this difference and the JSON service's original glob-to-regexp
BSD conditions; neither component is relabeled as solely Microsoft's MIT code.
The separate beautify.js source is Microsoft's no-op JS formatting adapter.
notices.ts binds the nine component entries (seven packages plus two embedded
origins) to their exact worker paths and delivered notices. The normal site build
checks these associations before any output write. Full reproduction additionally
matches all 12 notice inputs against their archived files or exact header byte
ranges. Preserve raw bytes and the -text Git attributes for frozen/output notices.
site-vendor.spec.js checks all 81 site notice files over HTTP plus the supplement's
12 relative links, alongside mobile player playback and console cleanup.
This does not close all Monaco embedded-source review. Core embedded libraries, mode bundles, language definitions and remaining upstream data/origin details stay under VENDOR-06. Revalidate editor-types and site-vendor tests when changing declarations or delivered notices. Whole-site, physical-device and remote release gates remain separate.