swc-project
swc
BlogDocsChangelog

fix: rewriteRelativeImportExtensions with TypeScript path aliases

#11219
Comparing
devbird/fix-extension-rewrite-path-aliases
(
72aaad5
) with
main
(
6223100
)
CodSpeed Performance Gauge
0%
Untouched
138
Ignored
1

Benchmarks

Passed

es/minifier/libs/terser
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
+1%
353.9 ms351.7 ms
es/resolver_with_hygiene/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
747.7 ms744.6 ms
es/minifier/libs/victory
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
861.1 ms858.6 ms
es/parser/colors
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
84.6 µs84.5 µs
es/lexer/colors
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
28.6 µs28.6 µs
es/preset-env/usage/property
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
113.3 µs113.2 µs
es/codegen/with-parser/colors
crates/swc_ecma_codegen/benches/with_parse.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
159.9 µs159.8 µs
es/minifier/libs/jquery
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
97.8 ms97.8 ms
es/minifier/libs/vue
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
144.3 ms144.2 ms
stackoverflow
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
36.2 ms36.2 ms
typescript/fast-strip
crates/swc_ts_fast_strip/benches/assets.rs::benches::fast_ts
CodSpeed Performance Gauge
0%
427.4 µs427.1 µs
es/parser/jquery mobile
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
23.3 ms23.3 ms
html/document/visitor/compare/visit_mut_span_panic
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
es2020_nullish_coalescing
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
291.3 µs291.1 µs
es/codegen/colors
crates/swc_ecma_codegen/benches/bench.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
68.6 µs68.5 µs
es/minifier/libs/typescript
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
3.8 s3.8 s
css_spec
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
196.4 ms196.3 ms
stackoverflow
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
37.5 ms37.5 ms
es/lints/libs/three
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
50.3 ms50.3 ms
html/document_fragment/visitor/compare/visit_mut_span_panic
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
es/transform/baseline/base
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
259.9 µs259.8 µs
css/visitor/compare/clone
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
4.8 ms4.8 ms
es2015_shorthand_property
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
274.4 µs274.4 µs
es/lexer/three
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
19.7 ms19.7 ms
es/transform/baseline/common_typescript
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
370.7 µs370.6 µs
es/transform/baseline/common_reserved_word
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
278.1 µs278.1 µs
es2015_instanceof
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
278.4 µs278.3 µs
es/parser/yui
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
11.5 ms11.5 ms
es2015_sticky_regex
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
273.9 µs273.9 µs
es/lints/libs/jquery
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
6.5 ms6.5 ms
es2015_duplicate_keys
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
280.9 µs280.9 µs
css/lexer/foundation_6_7_4
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
9 ms9 ms
es/lints/libs/typescript
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
276.4 ms276.4 ms
es/lints/libs/antd
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
156.4 ms156.3 ms
html/parser/parser_document_fragment/css_2021_spec
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
71.9 ms71.8 ms
es2015_typeof_symbol
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
275.8 µs275.8 µs
es/full-target/es2016
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
577.4 µs577.4 µs
css/visitor/compare/fold_span
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.8 ms5.8 ms
es/visitor/compare/clone
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.5 ms5.5 ms
css/lexer/tailwind_3_1_1
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
es2016_exponentiation
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
292 µs292 µs
es2015_fn_name
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
281.1 µs281.1 µs
es2015_classes
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
390.7 µs390.6 µs
html/document/visitor/compare/fold_span
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
es2015_block_scoping
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
457.5 µs457.4 µs
html/parser/parser_document/github_com_17_05_2022
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
22.5 ms22.5 ms
css/parser/bootstrap_5_1_3
crates/swc_css_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
46.5 ms46.5 ms
es2015_block_scoped_fn
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
291.8 µs291.8 µs
es2015_computed_props
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
273.8 µs273.8 µs
es2015_for_of
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
293.4 µs293.4 µs
es/lexer/underscore
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
863.7 µs863.6 µs
es2022_class_properties
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
384.2 µs384.2 µs
es2019_optional_catch_binding
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
272.2 µs272.2 µs
html/document/visitor/compare/visit_mut_span
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
es/minifier/libs/three
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
650.8 ms650.7 ms
github
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
41.7 ms41.7 ms
html/document_fragment/visitor/compare/visit_mut_span
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
es2017_async_to_generator
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
277 µs277 µs
es/preset-env/usage/builtin_type
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
243.6 µs243.6 µs
es2015_destructuring
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
345.6 µs345.6 µs
css/visitor/compare/visit_mut_span_panic
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms
html/document/visitor/compare/fold_span_panic
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
parse_and_babelify_yui
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
68.2 ms68.2 ms
es2020_optional_chaining
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
338 µs338 µs
parse_and_babelify_backbone
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
15.6 ms15.6 ms
es/minifier/libs/moment
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
63.2 ms63.2 ms
parse_and_babelify_jquery
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
100.3 ms100.3 ms
es/target/es2020
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
458.4 µs458.4 µs
html/parser/parser_document/stackoverflow_com_17_05_2022
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
22.6 ms22.6 ms
es/lexer/cal-com
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
13.4 ms13.4 ms
github
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
42.3 ms42.3 ms
es/visitor/compare/fold_span
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
html/lexer/github_com_17_05_2022
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
14.4 ms14.4 ms
es/lexer/angular
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
7.6 ms7.6 ms
parse_and_babelify_angular
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
161.4 ms161.4 ms
html/lexer/stackoverflow_com_17_05_2022
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
14.5 ms14.5 ms
parse_and_babelify_mootools
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
73.4 ms73.4 ms
parse_and_babelify_jquery_mobile
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
171.3 ms171.3 ms
es2015_arrow
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
299.4 µs299.4 µs
css/parser/foundation_6_7_4
crates/swc_css_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
37 ms37 ms
css/lexer/bootstrap_5_1_3
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
11 ms11 ms
parse_and_babelify_underscore
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
13.2 ms13.2 ms
css/visitor/compare/fold_span_panic
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.8 ms5.8 ms
es2018_object_rest_spread
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
290.9 µs290.9 µs
html/lexer/css_2021_spec
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
40 ms40 ms
css/visitor/compare/visit_mut_span
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms
es/visitor/compare/visit_mut_span_panic
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
6 ms6 ms
es/lexer/jquery
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
5.5 ms5.5 ms
es/lexer/jquery mobile
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
8.5 ms8.5 ms
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
22.6 ms22.6 ms
es/lexer/mootools
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
4.3 ms4.3 ms
css/parser/tailwind_3_1_1
crates/swc_css_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
7.2 ms7.2 ms
es/lints/libs/lodash
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
6.2 ms6.2 ms
es2015_spread
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
273.2 µs273.3 µs
es/parser/mootools
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
11.8 ms11.8 ms
css_spec
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
196.5 ms196.5 ms
es/codegen/with-parser/large
crates/swc_ecma_codegen/benches/with_parse.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
html/document_fragment/visitor/compare/clone
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1 ms1 ms
es/lints/libs/echarts
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
114.3 ms114.3 ms
html/document_fragment/visitor/compare/fold_span
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
es/target/es2017
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
276 µs276.1 µs
es/hygiene/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
423.2 ms423.3 ms
babelify-only
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
es/full-target/es2018
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
523.2 µs523.3 µs
es/visitor/compare/visit_mut_span
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
6 ms6 ms
es/visitor/compare/fold_span_panic
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
es/target/es2015
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
es/resolver/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
243.4 ms243.4 ms
es/target/es3
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
398.7 µs398.7 µs
es/target/es2016
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
291.9 µs291.9 µs
es/lexer/yui
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
4.6 ms4.6 ms
es/parser/typescript
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
399.8 ms399.9 ms
html/document_fragment/visitor/compare/fold_span_panic
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
es/full-target/es2017
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
542 µs542 µs
es/minifier/libs/react
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
19.8 ms19.8 ms
es/target/es2018
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
310 µs310.1 µs
es2015_parameters
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
332.3 µs332.4 µs
html/parser/parser_document_fragment/github_com_17_05_2022
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
22.5 ms22.5 ms
es/parser/angular
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
18.7 ms18.7 ms
es/lexer/typescript
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
109.9 ms109.9 ms
es/minifier/libs/echarts
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
html/parser/parser_document/css_2021_spec
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
72.2 ms72.2 ms
es/codegen/large
crates/swc_ecma_codegen/benches/bench.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
640 µs640.2 µs
es/lexer/backbone
crates/swc_ecma_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
1 ms1 ms
es/parser/backbone
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
es/minifier/libs/lodash
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
115.3 ms115.3 ms
html/document/visitor/compare/clone
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1 ms1 ms
es/fixer/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
202.1 ms202.2 ms
es/parser/underscore
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
2.5 ms2.5 ms
es/parser/jquery
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
15 ms15 ms
es/parser/three
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
72 ms72 ms
es/lints/libs/moment
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
4.2 ms4.2 ms
es/parser/cal-com
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
59.5 ms59.5 ms
es/lints/libs/victory
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
70.7 ms70.8 ms
es/minifier/libs/antd
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
1.9 s1.9 s
es/lints/libs/vue
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
8.3 ms8.3 ms
es/lints/libs/react
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms
es/minifier/libs/d3
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
397.6 ms398.4 ms

Ignored

es/preset-env/entry/import
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
Ignored
CodSpeed Performance Gauge
0%
29.5 µs29.5 µs

Commits

Click on a commit to change the comparison range
Base
main
6223100
+0.01%
fix: rewriteRelativeImportExtensions with TypeScript path aliases Fixes #11143 ## Problem When both `rewriteRelativeImportExtensions: true` and `jsc.paths` were configured, the extension rewriting would not work for imports using path aliases. For example: - Input: `export { a } from "@/util/index.ts";` - Previous output: `export { a } from "./util/index.ts";` (extension NOT rewritten) - Fixed output: `export { a } from "./util/index.js";` (extension correctly rewritten) ## Root Cause The transformation passes were executing in the wrong order: 1. `typescript_import_rewriter()` ran first, checking for relative paths (`./` or `../`) 2. Since `@/util/index.ts` doesn't start with `./` or `../`, it skipped rewriting 3. `import_rewriter()` ran second and resolved `@/util/index.ts` → `./util/index.ts` 4. But the extension rewriter had already run, so `.ts` was never rewritten to `.js` ## Solution Integrated extension rewriting directly into `NodeImportResolver`: 1. Added `rewrite_import_extensions: bool` field to `Config` in `path.rs` 2. Implemented `rewrite_extension()` method that applies the same logic as TypeScript's `rewriteRelativeImportExtensions` after path resolution 3. Updated the main config to pass this flag through to the resolver 4. Modified the pass logic to skip the separate `typescript_import_rewriter` pass when using a resolver with extension rewriting enabled This ensures extension rewriting happens AFTER path alias resolution, fixing the issue. ## Changes - `crates/swc_ecma_transforms_module/src/path.rs`: - Added `rewrite_import_extensions` field to `Config` struct - Implemented `rewrite_extension()` helper method - Applied extension rewriting in `to_specifier()` after path resolution - `crates/swc/src/config/mod.rs`: - Updated `build_resolver()` to accept `rewrite_import_extensions` parameter - Updated `get_resolver()` to accept and pass through the flag - Modified resolver cache key to include `rewrite_import_extensions` - Updated pass logic to conditionally use separate rewriter only when needed ## Tests Added comprehensive test in `crates/swc/tests/fixture/issues-11xxx/11143/` covering: - Path aliases with `.ts` → `.js` - Path aliases with `.tsx` → `.jsx` - Path aliases with `.mts` → `.mjs` - Path aliases with `.cts` → `.cjs` - Regular relative imports (regression test) - Export all statements - Dynamic imports 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
72aaad5
1 day ago
by github-actions[bot]
© 2025 CodSpeed Technology
Home Terms Privacy Docs