mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
Transform checker check root unresolved references. The transform checker is now checking pretty much everything it can. Only fields of `ScopeTree` and `SymbolTable` that it's *not* checking are those which contain `AstNodeId`s, because transformer does not create node IDs at present: * `ScopeTree::node_ids` * `SymbolTable::declarations` * `Reference::node_id` Checking also only proceeds in "from AST" direction. i.e. for each `SymbolId` which appears in the AST, we check everything about that symbol. But we *don't* go through all the "rows" in `SymbolTable` and check if there are any extra symbols in the table which aren't in the AST. Presumably transformer will leave a lot of old symbols lying around in `SymbolTable` (ditto scopes and references). We'd need to add `ScopeFlags::Deleted`, `SymbolFlags::Deleted` and `ReferenceFlags::Deleted` for the transformer to be able to "delete" existing symbols. |
||
|---|---|---|
| .. | ||
| misc | ||
| src | ||
| Cargo.toml | ||
| codegen_babel.snap | ||
| codegen_misc.snap | ||
| codegen_runtime_test262.snap | ||
| codegen_sourcemap.snap | ||
| codegen_test262.snap | ||
| codegen_typescript.snap | ||
| minifier_babel.snap | ||
| minifier_test262.snap | ||
| parser_babel.snap | ||
| parser_misc.snap | ||
| parser_test262.snap | ||
| parser_typescript.snap | ||
| prettier_babel.snap | ||
| prettier_misc.snap | ||
| prettier_test262.snap | ||
| prettier_typescript.snap | ||
| README.md | ||
| semantic_babel.snap | ||
| semantic_misc.snap | ||
| semantic_test262.snap | ||
| semantic_typescript.snap | ||
| transformer_babel.snap | ||
| transformer_misc.snap | ||
| transformer_test262.snap | ||
| transformer_typescript.snap | ||
| transpile.snap | ||
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