Skip to content

Commit

Permalink
fix(es/minifier): Fix react-ace (#4183)
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 authored Mar 29, 2022
1 parent 9b63369 commit 9a9a4f3
Show file tree
Hide file tree
Showing 11 changed files with 227,188 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
var M;
M || (M = {}), this.bar;
!function(M) {
this.bar;
}(M || (M = {}));
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
var M;
import * as swcHelpers from "@swc/helpers";
M || (M = {}), swcHelpers.defineProperty({}, this.bar, 0);
!function(M) {
swcHelpers.defineProperty({}, this.bar, 0);
}(M || (M = {}));
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
var M;
M || (M = {}), this.bar;
!function(M) {
this.bar;
}(M || (M = {}));
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
var M;
import * as swcHelpers from "@swc/helpers";
M || (M = {}), swcHelpers.defineProperty({}, this.bar, 0);
!function(M) {
swcHelpers.defineProperty({}, this.bar, 0);
}(M || (M = {}));
6 changes: 4 additions & 2 deletions crates/swc_ecma_minifier/src/compress/optimize/iife.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ use rustc_hash::FxHashMap;
use swc_atoms::js_word;
use swc_common::{pass::Either, util::take::Take, Spanned, DUMMY_SP};
use swc_ecma_ast::*;
use swc_ecma_utils::{contains_arguments, ident::IdentLike, undefined, ExprFactory, Id};
use swc_ecma_utils::{
contains_arguments, contains_this_expr, ident::IdentLike, undefined, ExprFactory, Id,
};
use swc_ecma_visit::VisitMutWith;

use super::{util::MultiReplacer, Optimizer};
Expand Down Expand Up @@ -586,7 +588,7 @@ where
return false;
}

if contains_arguments(body) {
if contains_this_expr(body) || contains_arguments(body) {
return false;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3819,7 +3819,9 @@
var check = function(it) {
return it && it.Math == Math && it;
};
module.exports = check('object' == typeof globalThis && globalThis) || check('object' == typeof window && window) || check('object' == typeof self && self) || check('object' == typeof __webpack_require__.g && __webpack_require__.g) || this || Function('return this')();
module.exports = check('object' == typeof globalThis && globalThis) || check('object' == typeof window && window) || check('object' == typeof self && self) || check('object' == typeof __webpack_require__.g && __webpack_require__.g) || function() {
return this;
}() || Function('return this')();
},
1521: function(module, __unused_webpack_exports, __webpack_require__) {
var toObject = __webpack_require__(89343), hasOwnProperty = {}.hasOwnProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1167,7 +1167,9 @@
},
function(module, exports) {
var g;
g = this;
g = function() {
return this;
}();
try {
g = g || new Function("return this")();
} catch (e) {
Expand Down
Loading

1 comment on commit 9a9a4f3

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 9a9a4f3 Previous: 8ca4e67 Ratio
base_tr_fixer 26513 ns/iter (± 1002) 29602 ns/iter (± 2892) 0.90
base_tr_resolver_and_hygiene 112014 ns/iter (± 35478) 126857 ns/iter (± 18156) 0.88
codegen_es2015 34824 ns/iter (± 2824) 35483 ns/iter (± 2495) 0.98
codegen_es2016 34682 ns/iter (± 1535) 34418 ns/iter (± 3560) 1.01
codegen_es2017 35006 ns/iter (± 1420) 36233 ns/iter (± 3766) 0.97
codegen_es2018 35101 ns/iter (± 398) 34974 ns/iter (± 5087) 1.00
codegen_es2019 35177 ns/iter (± 649) 35645 ns/iter (± 2769) 0.99
codegen_es2020 35134 ns/iter (± 723) 35680 ns/iter (± 2460) 0.98
codegen_es3 35151 ns/iter (± 2744) 35043 ns/iter (± 10571) 1.00
codegen_es5 34987 ns/iter (± 1026) 34615 ns/iter (± 3736) 1.01
full_es2015 156397819 ns/iter (± 15045314) 158484205 ns/iter (± 11308444) 0.99
full_es2016 157965261 ns/iter (± 5050289) 163263304 ns/iter (± 13755462) 0.97
full_es2017 157743699 ns/iter (± 6031613) 158107642 ns/iter (± 10395404) 1.00
full_es2018 156404483 ns/iter (± 5607544) 155600955 ns/iter (± 10006473) 1.01
full_es2019 155435672 ns/iter (± 11825317) 155114647 ns/iter (± 7580242) 1.00
full_es2020 149425357 ns/iter (± 3993800) 151121516 ns/iter (± 8168671) 0.99
full_es3 212834982 ns/iter (± 6031402) 218939180 ns/iter (± 24869545) 0.97
full_es5 201041048 ns/iter (± 5919272) 201256812 ns/iter (± 9628816) 1.00
parser 659895 ns/iter (± 19924) 718382 ns/iter (± 71751) 0.92
ser_ast_node 174 ns/iter (± 14) 174 ns/iter (± 13) 1
ser_serde 177 ns/iter (± 14) 169 ns/iter (± 13) 1.05
emit_colors 5205509 ns/iter (± 6630922) 10687976 ns/iter (± 7893454) 0.49
emit_large 66280094 ns/iter (± 89344943) 38476396 ns/iter (± 48848207) 1.72
base_clone 2658750 ns/iter (± 94437) 2722537 ns/iter (± 626748) 0.98
fold_span 4434027 ns/iter (± 128814) 5032325 ns/iter (± 1356493) 0.88
fold_span_panic 4643932 ns/iter (± 170576) 5105964 ns/iter (± 1178235) 0.91
visit_mut_span 3195018 ns/iter (± 98665) 4641849 ns/iter (± 917822) 0.69
visit_mut_span_panic 3245422 ns/iter (± 65273) 3268884 ns/iter (± 1642778) 0.99
usage_builtin_type 19138138 ns/iter (± 12215161) 18267695 ns/iter (± 11674262) 1.05
usage_property 475314 ns/iter (± 6855) 462957 ns/iter (± 40431) 1.03
boxing_boxed 162 ns/iter (± 7) 168 ns/iter (± 30) 0.96
boxing_boxed_clone 84 ns/iter (± 4) 92 ns/iter (± 14) 0.91
boxing_unboxed 145 ns/iter (± 4) 137 ns/iter (± 27) 1.06
boxing_unboxed_clone 86 ns/iter (± 9) 73 ns/iter (± 16) 1.18
time_10 379 ns/iter (± 44) 355 ns/iter (± 39) 1.07
time_15 771 ns/iter (± 62) 735 ns/iter (± 114) 1.05
time_20 1392 ns/iter (± 57) 1479 ns/iter (± 212) 0.94
time_40 4893 ns/iter (± 662) 4954 ns/iter (± 619) 0.99
time_5 127 ns/iter (± 25) 118 ns/iter (± 16) 1.08
time_60 10386 ns/iter (± 1429) 10590 ns/iter (± 1667) 0.98
es2015 10953062 ns/iter (± 148682) 11211882 ns/iter (± 1810186) 0.98
total 0 ns/iter (± 0) 0 ns/iter (± 0) NaN

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.