oxc/tasks/coverage
Daniel Bulant 6aa2ddeb85
refactor(codegen): accept SymbolTable instead of Mangler (#8829)
It seems to be that the easiest way to rename variables is to use
rename_symbol from SymbolTable and to let it be applied during codegen -
this is what Mangler does.

This PR changes Codegen to accept (any) SymbolTable instead of just
Mangler itself, and for Mangler build output to be a new SymbolTable,
after consuming itself (which makes it clear at the type level if a
Mangler has been built or not).

This also moves the few symbol table helper methods from Mangler to
SymbolTable itself, and adds an example of Mangler use to it's
documentation.

Codegen dependencies now include semantic (which was transient by
mangler before). It's dependency on Mangler could be removed, though
I've left it to allow easy linking of docs (with_symbol_table points
users to Mangler, hopefully helps with migration?)
2025-02-02 17:13:09 +08:00
..
misc fix(parser): allow line breaks between const and enum (#8193) 2024-12-31 08:45:17 +08:00
snapshots feat(semantic): report error for empty JSX attribute expression (#8815) 2025-02-01 02:30:39 +00:00
src refactor(codegen): accept SymbolTable instead of Mangler (#8829) 2025-02-02 17:13:09 +08:00
Cargo.toml chore(tasks/coverage): fix test262 cases to run on windows (#8358) 2025-01-09 10:48:37 +08:00
README.md chore: use dprint to format js, json and markdown 2024-09-08 13:24:58 +08:00

Coverage

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