swc-project
swc
BlogDocsChangelog

fix(es/minifier): Preserve `__proto__` shorthand property behavior

#11123Merged
Comparing
magic-akari:fix/issue-11105
(
14a7b94
) with
main
(
8cfd47b
)
CodSpeed Performance Gauge
0%
Untouched
127
Ignored
1
Archived
13

Benchmarks

Passed

es/minifier/libs/d3
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
+1%
388.5 ms385.5 ms
es/minifier/libs/terser
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
+1%
342.3 ms340.1 ms
html/parser/parser_document_fragment/css_2021_spec
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
71.4 ms71.2 ms
html/parser/parser_document/css_2021_spec
crates/swc_html_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
71.7 ms71.5 ms
es/codegen/colors
crates/swc_ecma_codegen/benches/bench.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
70.9 µs70.8 µ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.4 ms22.3 ms
es2015_parameters
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
331.2 µs330.6 µ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.4 ms22.4 ms
es/parser/typescript
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
402.5 ms401.8 ms
es/parser/colors
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
84.5 µs84.4 µs
es/parser/mootools
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
11.9 ms11.9 ms
github
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
40.3 ms40.2 ms
es/parser/jquery mobile
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
23.5 ms23.5 ms
es/parser/cal-com
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
59.3 ms59.3 ms
es/preset-env/usage/builtin_type
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
247.1 µs246.7 µ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.3 ms22.3 ms
es/minifier/libs/lodash
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
111.6 ms111.4 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.3 ms22.3 ms
es/minifier/libs/jquery
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
94.9 ms94.8 ms
github
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
40.9 ms40.9 ms
es/parser/backbone
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
stackoverflow
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
35.3 ms35.3 ms
es2015_for_of
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
290.4 µs290.1 µs
es/parser/underscore
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
2.5 ms2.5 ms
es/minifier/libs/typescript
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
3.7 s3.7 s
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
es2015_arrow
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
302.6 µs302.3 µs
es/parser/angular
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
18.8 ms18.8 ms
es/codegen/large
crates/swc_ecma_codegen/benches/bench.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
645.7 µs645.3 µs
stackoverflow
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
35.5 ms35.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.9 ms72.9 ms
es/minifier/libs/moment
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
61.5 ms61.4 ms
es2015_block_scoped_fn
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
289.4 µs289.3 µs
es2015_spread
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
273.9 µs273.8 µs
es/minifier/libs/react
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
19.2 ms19.2 ms
es2019_optional_catch_binding
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
273.8 µs273.7 µs
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/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/resolver_with_hygiene/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
735.9 ms735.7 ms
es/visitor/compare/clone
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.5 ms5.5 ms
es/lints/libs/typescript
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
276.2 ms276.1 ms
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
es2022_class_properties
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
381.4 µs381.3 µs
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/visitor/compare/fold_span
crates/swc_ecma_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
es/lints/libs/echarts
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
114 ms114 ms
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
html/lexer/github_com_17_05_2022
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
14.6 ms14.6 ms
css/lexer/foundation_6_7_4
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
8.2 ms8.2 ms
html/lexer/stackoverflow_com_17_05_2022
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
14.7 ms14.7 ms
es/target/es2015
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
es2020_nullish_coalescing
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
298.6 µs298.6 µs
es/minifier/libs/victory
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
837.7 ms837.6 ms
css_spec
crates/swc_html_minifier/benches/full.rs::files_document::bench_files_document::html/minify/document
CodSpeed Performance Gauge
0%
194.1 ms194.1 ms
html/document/visitor/compare/clone
crates/swc_html_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
1 ms1 ms
parse_and_babelify_underscore
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
13.1 ms13.1 ms
css/lexer/tailwind_3_1_1
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
1.6 ms1.6 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/lodash
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
6.2 ms6.2 ms
es2015_computed_props
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
274.2 µs274.2 µs
html/lexer/css_2021_spec
crates/swc_html_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
40.7 ms40.7 ms
es2015_typeof_symbol
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
278.6 µs278.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
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/target/es2018
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
309.6 µs309.6 µs
css/visitor/compare/clone
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
4.8 ms4.8 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/target/es2016
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
289.7 µs289.7 µs
es2016_exponentiation
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
289 µs289 µs
es/full-target/es2018
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
508.4 µs508.4 µs
css/visitor/compare/fold_span_panic
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.7 ms5.7 ms
css/lexer/bootstrap_5_1_3
crates/swc_css_parser/benches/lexer.rs::benches::bench_files
CodSpeed Performance Gauge
0%
10 ms10 ms
parse_and_babelify_angular
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
157.5 ms157.5 ms
parse_and_babelify_jquery_mobile
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
169 ms169 ms
es2015_destructuring
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
347.9 µs347.9 µs
es2015_instanceof
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
280.4 µs280.5 µs
parse_and_babelify_backbone
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
15.3 ms15.3 ms
css/visitor/compare/fold_span
crates/swc_css_parser/benches/compare.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
5.7 ms5.7 ms
es2015_duplicate_keys
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
281 µs281 µ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
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/lints/libs/victory
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
70.6 ms70.6 ms
parse_and_babelify_mootools
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
72.7 ms72.7 ms
es2015_sticky_regex
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
277.7 µs277.7 µs
es2015_fn_name
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
282.2 µs282.2 µs
es/target/es2020
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
445.8 µs445.8 µs
es/transform/baseline/common_reserved_word
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
284.4 µs284.5 µ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
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
es/full-target/es2017
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
524.9 µs524.9 µs
parse_and_babelify_jquery
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
98.6 ms98.6 ms
parse_and_babelify_yui
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
66.3 ms66.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
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/antd
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
0%
156.1 ms156.1 ms
es/fixer/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
202.7 ms202.8 ms
babelify-only
crates/swc_estree_compat/benches/babelify.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
es/target/es2017
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
275.6 µs275.6 µs
es/full-target/es2016
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::full_group
CodSpeed Performance Gauge
0%
560.6 µs560.8 µs
es2015_shorthand_property
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
274 µs274.1 µs
es/target/es3
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::version_group
CodSpeed Performance Gauge
0%
395.8 µs395.9 µs
es2017_async_to_generator
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
276 µs276.1 µs
es/resolver/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
244.3 ms244.3 ms
es/minifier/libs/vue
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
139.8 ms139.9 ms
es/hygiene/typescript
crates/swc_ecma_transforms_base/benches/base.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
426.5 ms426.7 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
es/transform/baseline/base
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
260.4 µs260.5 µs
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
es2015_block_scoping
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
451.8 µs452 µs
es/parser/yui
crates/swc_ecma_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
11.6 ms11.6 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
es2015_classes
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
389.8 µs390 µs
es2018_object_rest_spread
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
291.9 µs292 µs
css/parser/bootstrap_5_1_3
crates/swc_css_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
46.8 ms46.9 ms
es/minifier/libs/three
crates/swc_ecma_minifier/benches/full.rs::bench_all::bench_libs::es/minifier/libs
CodSpeed Performance Gauge
0%
632.8 ms633.2 ms
es/transform/baseline/common_typescript
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::baseline_group
CodSpeed Performance Gauge
0%
364 µs364.2 µs
es2020_optional_chaining
crates/swc_ecma_transforms_typescript/benches/compat.rs::benches::single_tr_group
CodSpeed Performance Gauge
0%
336.4 µs336.7 µs
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
css_spec
crates/swc_html_minifier/benches/full.rs::files_document_fragment::bench_files_document_fragment::html/minify/document_fragment
CodSpeed Performance Gauge
0%
191.7 ms191.8 ms
css/parser/foundation_6_7_4
crates/swc_css_parser/benches/parser.rs::benches::bench_files
CodSpeed Performance Gauge
0%
37.2 ms37.2 ms
typescript/fast-strip
crates/swc_ts_fast_strip/benches/assets.rs::benches::fast_ts
CodSpeed Performance Gauge
0%
435.1 µs435.8 µs
es/codegen/with-parser/colors
crates/swc_ecma_codegen/benches/with_parse.rs::benches::bench_cases
CodSpeed Performance Gauge
0%
156.2 µs156.4 µs
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
es/lints/libs/three
crates/swc_ecma_lints/benches/all.rs::files::bench_files::es/lints/libs
CodSpeed Performance Gauge
-1%
50.1 ms50.4 ms
es/preset-env/usage/property
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
CodSpeed Performance Gauge
-1%
114.6 µs115.3 µs

Ignored

es/preset-env/entry/import
crates/swc_ecma_preset_env/benches/polyfills.rs::benches::bench_cases
Ignored
CodSpeed Performance Gauge
-1%
27.9 µs28.1 µs

Commits

Click on a commit to change the comparison range
Base
main
8cfd47b
0%
fix(es/minifier): Preserve `__proto__` shorthand property behavior When minifying object shorthand properties, the `__proto__` property should be converted to a computed property `["__proto__"]` instead of a regular key-value pair to preserve the original object behavior. This prevents changing the object's prototype chain during minification.
d2c7cc4
1 month ago
by magic-akari
-0.01%
fix: format issue
76a05ad
1 month ago
by magic-akari
+0.02%
refactor: extract a shared helper function to reduce code duplication and improve maintainability
e0b8fe1
1 month ago
by magic-akari
0%
Create dry-queens-clean.md
14a7b94
1 month ago
by kdy1
© 2025 CodSpeed Technology
Home Terms Privacy Docs