oxc/tasks/coverage
Boshen 6bc13f6cd4 feat(minifier): add MinimizeConditions pass (#5747)
I expect small performance regression.

But managed to improve the following case from react.developmement.js

```
oxc  main ❯ diff before.js after.js
670c670
< 		if (!(dispatcher !== null)) throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");
---
> 		if (dispatcher === null) throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");
```
2024-09-13 08:31:45 +00:00
..
misc fix(coverage): parse babel unambiguously (#5579) 2024-09-07 10:49:00 +00:00
src perf(rust): use cow_utils instead (#5664) 2024-09-11 18:39:30 +08:00
Cargo.toml chore(dprint): format toml files (#5599) 2024-09-08 14:26:16 +08:00
codegen_babel.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
codegen_misc.snap fix(coverage): parse babel unambiguously (#5579) 2024-09-07 10:49:00 +00:00
codegen_runtime_test262.snap fix(codegen): do not print trailing commas for ArrayExpression (#5551) 2024-09-06 16:35:10 +00:00
codegen_sourcemap.snap feat(codegen): print missing fields for AccessorProperty (#5291) 2024-08-28 08:42:39 +00:00
codegen_test262.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
codegen_typescript.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
minifier_babel.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
minifier_test262.snap feat(minifier): add MinimizeConditions pass (#5747) 2024-09-13 08:31:45 +00:00
parser_babel.snap fix(span): treat .js as module file (reverts the previous breaking change) (#5612) 2024-09-08 15:14:04 +00:00
parser_misc.snap fix(span): treat .js as module file (reverts the previous breaking change) (#5612) 2024-09-08 15:14:04 +00:00
parser_test262.snap fix(regular_expression): Keep LegacyOctalEscape raw digits for to_string (#5692) 2024-09-11 07:07:00 +00:00
parser_typescript.snap fix(regular_expression): Report more MayContainStrings error in (nested)class (#5661) 2024-09-10 01:55:51 +00:00
prettier_babel.snap feat(parser): parse modifiers with parse_modifiers (take 2) (#3977) 2024-06-30 03:46:34 +00:00
prettier_misc.snap chore(coverage): add test for huge binary expression and nested if statements (#4084) 2024-07-08 00:15:26 +08:00
prettier_test262.snap feat(parser): parse modifiers with parse_modifiers (take 2) (#3977) 2024-06-30 03:46:34 +00:00
prettier_typescript.snap refactor(parser): use function instead of trait to parse list with rest element (#4028) 2024-07-02 13:43:14 +00:00
README.md chore: use dprint to format js, json and markdown 2024-09-08 13:24:58 +08:00
semantic_babel.snap fix(semantic): bind SymbolId to function name in if (foo) function id() {} (#5673) 2024-09-10 11:05:26 +00:00
semantic_misc.snap fix(span): treat .js as module file (reverts the previous breaking change) (#5612) 2024-09-08 15:14:04 +00:00
semantic_test262.snap fix(regular_expression): Keep LegacyOctalEscape raw digits for to_string (#5692) 2024-09-11 07:07:00 +00:00
semantic_typescript.snap fix(coverage): parse typescript unambiguously (#5575) 2024-09-07 10:48:59 +00:00
transformer_babel.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
transformer_misc.snap fix(coverage): parse babel unambiguously (#5579) 2024-09-07 10:49:00 +00:00
transformer_test262.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00
transformer_typescript.snap fix(coverage): parse typescript unambiguously (#5575) 2024-09-07 10:48:59 +00:00
transpile.snap chore: update test262 / babel / typescript submodules (#5369) 2024-08-31 12:28:25 +00:00

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