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. |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| babel.snap.md | ||
| babel_exec.snap.md | ||
| Cargo.toml | ||
| oxc.snap.md | ||
| oxc_exec.snap.md | ||
| README.md | ||
| typescript.snap.md | ||
Transformation Conformance Test Runner
Execution
This test runner uses the transformation plugin test suite from the babel repository.
The failing test cases are listed in ./babel.snap.md
To get started, run
cargo run -p oxc_transform_conformance
or watch for changes
just watch 'run -p oxc_transform_conformance'
Options
--filter
To filter for a specific test case, apply the --filter path option, e.g.
cargo run -p oxc_transform_conformance -- --filter react/arrow-functions
--exec
The babel test suite contains many exec.js files, they need to be executed by a runtime.
Bun is the preferred way to execute these tests, which you may install them via https://bun.sh/docs/installation.
Once bun is installed, apply the --exec flag:
cargo run -p oxc_transform_conformance -- --exec
The failing test cases are listed in ./babel_exec.snap.md.