oxc/tasks/transform_conformance
overlookmotel 91343913ca fix(semantic): transform checker check unresolved references (#5096)
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.
2024-08-23 07:52:30 +00:00
..
src feat(transform_conformance): show printed output alongside with errors (#5105) 2024-08-23 04:00:45 +00:00
tests feat(transformer): support react fast refresh (#4587) 2024-08-15 16:41:30 +00:00
babel.snap.md fix(semantic): transform checker check unresolved references (#5096) 2024-08-23 07:52:30 +00:00
babel_exec.snap.md feat(transform_conformance): show printed output alongside with errors (#5105) 2024-08-23 04:00:45 +00:00
Cargo.toml refactor(transform_conformance): add driver (#4969) 2024-08-19 07:27:39 +00:00
oxc.snap.md fix(semantic): transform checker check unresolved references (#5096) 2024-08-23 07:52:30 +00:00
oxc_exec.snap.md chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
README.md
typescript.snap.md chore: remove trailing whitespaces for all files; add .editorconfig (#3639) 2024-06-12 15:47:26 +08:00

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.