swc/crates/swc_ecma_transforms
Levi bfea322351
feat(es/testing): Parse test code as a Program instead of a Module (#9623)
**Description:**

This PR addresses the issue described in https://github.com/swc-project/swc/issues/8713

**BREAKING CHANGE:**
Will break unit tests that use `fold_module`/`visit_module`/`visit_mut_module` if the visitor is intended to work for both modules and scripts instead of using `fold_program`/`visit_program`/`visit_mut_program`.

When creating visitors, you should use `fold_program`/`visit_program`/`visit_mut_program` if you simply want to visit the top-level node.

When creating tests, the input source code will be parsed using `parse_program` by default. If you need to parse it as a `Module`, you can use `module: Some(true)` in `FixtureTestConfig` (or with `test!(module, ..)`), which will parse it as a `Program::Module`, or `Some(false)` for `Program::Script`. `None` will use `parse_program` (`parse_program` will auto-detect the underlying type).
2024-10-08 13:58:58 +09:00
..
scripts refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00
src refactor(swc_core): Use namespace ecma (#5713) 2022-09-02 10:24:27 +09:00
tests feat(es/testing): Parse test code as a Program instead of a Module (#9623) 2024-10-08 13:58:58 +09:00
Cargo.toml chore: Publish crates with swc_core v0.108.0 2024-10-08 12:28:01 +09:00