oxc/tasks/transform_conformance
overlookmotel ca02c16f8f test(transformer): handle more exec tests (#8493)
Some of Babel's exec tests contain a return statement at top level, in order to return a Promise.

e.g. ad572fd1a1/packages/babel-plugin-transform-private-methods/test/fixtures/private-method-loose/async/exec.js

These test files could not be parsed due to illegal position of `return`, and the tests were silently excluded.

This PR:

1. Includes those tests by passing `allow_return_outside_function: true` option to parser for exec tests.
2. Includes a "transform error" message in snapshot for any exec tests which produce errors in parser/transformer.
2025-01-15 02:07:04 +00:00
..
overrides fix(transformer/typescript): remove type-only import = when only_remove_type_imports is true (#8275) 2025-01-11 08:42:51 +00:00
snapshots test(transformer): handle more exec tests (#8493) 2025-01-15 02:07:04 +00:00
src test(transformer): handle more exec tests (#8493) 2025-01-15 02:07:04 +00:00
tests fix(transformer/typescript): retain TSImportEqualsDeclaration when it is exported 2025-01-14 19:12:23 +08:00
.gitignore chore(transformer_conformance): only ignore root fixtures directory (#7198) 2024-11-08 02:36:22 +00:00
Cargo.toml ci(transformer): move post-transform checker to tasks crate (#6288) 2024-10-05 14:48:37 +00:00
package.json feat(transform-conformance): support enabling all class-related plugins when any of them are enabled in update_fixtures (#8200) 2024-12-31 12:30:57 +00:00
README.md test(transformer): update transform conformance README (#5919) 2024-09-20 11:46:44 +01:00
reporter.mjs test(transformer): fix exec test reporter (#7722) 2024-12-08 01:41:30 +00:00
update_fixtures.mjs test(transformer): remove repeated code from fixtures updating script (#8287) 2025-01-06 11:55:00 +00:00

Transformation Conformance Test Runner

Execution

This test runner uses the transformation plugin test suite from the Babel repository.

Additional tests are in the tests directory.

The failing test cases are listed in:

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, which 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.