mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-01 07:33:12 +08:00
Node answers every locale-dependent Intl form from ICU, so a compiled binary that must match it byte for byte has to run the same release over the same data. vendor-inputs.ts pins ICU_VERSION = "78.3" beside the other vendored versions and vendor-inputs.test.ts asserts it against process.versions.icu, the oracle the differential corpus compares with. ICU is not vendored. Its source tarball (icu4c-78.3-sources.tgz, 27,977,255 B) and its prebuilt data zip (icu4c-78.3-data-bin-l.zip, 12,836,659 B) come from unicode-org/icu's official release-78.3 assets, each pinned by version and sha256 beside ICU_VERSION and mirrored in the runtime packs' icu-inputs.mjs, with a unit test that keeps the two identical. The tarball carries ICU's own sources.txt lists, which stay the list of record: icuSourceList() reads them so the archive holds exactly the units ICU's autoconf build compiles. ICU_CXX_TARGET names the glibc floor the archive is built for. The data (icudt78l.dat, 33,107,232 B) is shipped beside the executable, never embedded: 970 source files and 33 MiB of compiled CLDR tables are a download, not a reviewable tree in this repository. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>