Avatar for the oxc-project user
oxc-project
oxc
Instrumentation
Wall Time
BlogDocsChangelog

feat(regex-parser): parse simple `TemplateLiterals`

#13265Merged
Comparing
08-22-fix_regex-parser_parse_simple_templateliterals_
(
9a205d1
) with
main
(
08c05df
)
CodSpeed Performance Gauge
0%
Untouched
37

Benchmarks

Passed

mangler[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
+1%
11.6 µs11.5 µs
transformer[binder.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[binder.ts]
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
formatter[react.development.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[react.development.js]
CodSpeed Performance Gauge
0%
11.5 ms11.5 ms
transformer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
134.1 µs133.9 µs
transformer[react.development.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[react.development.js]
CodSpeed Performance Gauge
0%
714.5 µs713.8 µs
parser[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
85.1 µs85.1 µs
transformer[cal.com.tsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[cal.com.tsx]
CodSpeed Performance Gauge
0%
26.3 ms26.3 ms
minifier[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[react.development.js]
CodSpeed Performance Gauge
0%
2.4 ms2.4 ms
codegen[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
119.8 µs119.8 µs
minifier[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[cal.com.tsx]
CodSpeed Performance Gauge
0%
31 ms30.9 ms
mangler[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[binder.ts]
CodSpeed Performance Gauge
0%
733.4 µs733.2 µs
mangler[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[react.development.js]
CodSpeed Performance Gauge
0%
259.2 µs259.1 µs
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[cal.com.tsx]
CodSpeed Performance Gauge
0%
26.9 ms26.9 ms
linter[cal.com.tsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[cal.com.tsx]
CodSpeed Performance Gauge
0%
1.2 s1.2 s
parser[binder.ts]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[binder.ts]
CodSpeed Performance Gauge
0%
3.3 ms3.3 ms
codegen[react.development.js]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[react.development.js]
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
lexer[binder.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[binder.ts]
CodSpeed Performance Gauge
0%
870.1 µs870.1 µs
estree[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_estree::estree[checker.ts]
CodSpeed Performance Gauge
0%
104.5 ms104.5 ms
linter[binder.ts]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[binder.ts]
CodSpeed Performance Gauge
0%
142.1 ms142.1 ms
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[cal.com.tsx]
CodSpeed Performance Gauge
0%
5.3 ms5.3 ms
semantic[binder.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[binder.ts]
CodSpeed Performance Gauge
0%
4.3 ms4.3 ms
linter[react.development.js]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[react.development.js]
CodSpeed Performance Gauge
0%
50.4 ms50.4 ms
formatter[binder.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[binder.ts]
CodSpeed Performance Gauge
0%
22.6 ms22.6 ms
semantic[cal.com.tsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[cal.com.tsx]
CodSpeed Performance Gauge
0%
27.8 ms27.8 ms
codegen[cal.com.tsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[cal.com.tsx]
CodSpeed Performance Gauge
0%
34.3 ms34.3 ms
isolated-declarations[vue-id.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_isolated_declarations::isolated-declarations[vue-id.ts]
CodSpeed Performance Gauge
0%
56.4 ms56.4 ms
parser[react.development.js]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[react.development.js]
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms
semantic[react.development.js]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[react.development.js]
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
formatter[cal.com.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[cal.com.tsx]
CodSpeed Performance Gauge
0%
206.9 ms206.9 ms
mangler[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[cal.com.tsx]
CodSpeed Performance Gauge
0%
2.8 ms2.8 ms
lexer[react.development.js]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[react.development.js]
CodSpeed Performance Gauge
0%
356.9 µs357.1 µs
formatter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
570.8 µs571.1 µs
linter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
2.4 ms2.4 ms
minifier[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[binder.ts]
CodSpeed Performance Gauge
0%
3.8 ms3.8 ms
codegen[binder.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[binder.ts]
CodSpeed Performance Gauge
0%
4 ms4 ms
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
20 µs20 µs
semantic[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
75 µs75.3 µs

Commits

Click on a commit to change the comparison range
Base
main
08c05df
+0.01%
feat(regex-parser): parse simple `TemplateLiterals` (#13265) This PR adds the function to parse `TemplateLiteral`s. If the `new RegExp(`${variable}`)` or `new RegExp("", `${foo}`)` the parsing will be skipped, this is a different behavior then for `StringLiteral`s. https://github.com/eslint/eslint/blob/5082fc206de6946d9d4c20e57301f78839b3b9f2/tests/lib/rules/no-misleading-character-class.js#L91-L93 I would like to have a strict algo, when a regexp will be parsed and not. Currently, every rule does it by its own. https://github.com/oxc-project/oxc/blob/2cd4c7b42cd7d4d455dd1f64ee453e05d5da26ef/crates/oxc_linter/src/rules/eslint/no_control_regex.rs#L322 Moved some structs into the parent directory, so it can be consumed by both parsers. I guess `ParserTrait` could be helpful to share common methods like - consume_hex_digits - parse_unicode_escape_sequence
9a205d1
19 days ago
by Sysix
© 2025 CodSpeed Technology
Home Terms Privacy Docs