Files
Dunqing 3bc5563d30 feat(str): add JavaScript string proof of concept
JavaScript strings can contain lone UTF-16 surrogates that Rust str cannot represent. The existing marker encoding separates the value from its metadata and lets consumers mistake marker text for the real value.

Add arena-backed JSStr and JSStrBuilder using canonical WTF-8, then migrate StringLiteral::value and its required consumers. Preserve normal UTF-8 fast paths and validate concatenation against UTF-16 semantics.

AI-assisted by OpenAI Codex.
2026-09-02 01:20:53 +08:00
..

Coverage tests

Tools are tested against test262, babel and TypeScript for conformance.

Clone the test repositories beforehand:

just submodules

Development

# full run
cargo coverage
cargo coverage js # for test262
cargo coverage babel # for babel
cargo coverage ts # for typescript

# run in watch
cargo watch -x 'coverage js'

# filter for a file path
cargo watch -x 'coverage js --filter filter-file-path'

# find crash scene by turning off rayon and print out the test cases in serial
cargo coverage -- --debug

# Run after submodules are updated
UPDATE_SNAPSHOT=1 just c