-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/minifier): Increment
ref_count
while invoking IIFE (#8904)
**Related issue:** - Closes #8880
- Loading branch information
Showing
6 changed files
with
336 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
{ | ||
"jsc": { | ||
"externalHelpers": true, | ||
"parser": { | ||
"syntax": "typescript", | ||
"tsx": false | ||
}, | ||
"transform": { | ||
"legacyDecorator": true, | ||
}, | ||
"target": "es2017", | ||
"loose": false, | ||
"minify": { | ||
"compress": { | ||
"arguments": false, | ||
"arrows": true, | ||
"booleans": false, | ||
"booleans_as_integers": false, | ||
"collapse_vars": true, | ||
"comparisons": true, | ||
"computed_props": true, | ||
"conditionals": true, | ||
"dead_code": true, | ||
"directives": true, | ||
"drop_console": false, | ||
"drop_debugger": true, | ||
"evaluate": true, | ||
"expression": false, | ||
"hoist_funs": false, | ||
"hoist_props": true, | ||
"hoist_vars": false, | ||
"if_return": true, | ||
"join_vars": false, | ||
"keep_classnames": false, | ||
"keep_fargs": true, | ||
"keep_fnames": false, | ||
"keep_infinity": false, | ||
"loops": false, | ||
"negate_iife": false, | ||
"properties": false, | ||
"reduce_funcs": false, | ||
"reduce_vars": false, | ||
"side_effects": true, | ||
"switches": false, | ||
"typeofs": false, | ||
"unsafe": false, | ||
"unsafe_arrows": false, | ||
"unsafe_comps": false, | ||
"unsafe_Function": false, | ||
"unsafe_math": false, | ||
"unsafe_symbols": false, | ||
"unsafe_methods": false, | ||
"unsafe_proto": false, | ||
"unsafe_regexp": false, | ||
"unsafe_undefined": false, | ||
"unused": false, | ||
"const_to_let": false, | ||
"pristine_globals": true, | ||
"sequences": false, | ||
"passes": 2, | ||
}, | ||
"mangle": false | ||
} | ||
}, | ||
"module": { | ||
"type": "es6" | ||
}, | ||
"minify": false, | ||
"isModule": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
function a(module, exports, farmRequire, farmDynamicRequire) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
const _interop_require_default = farmRequire("@swc/helpers/_/_interop_require_default"); | ||
const _typeof = _interop_require_default._(farmRequire("8178b9bd")); | ||
const _dep734fea04 = farmRequire("92648bed"); | ||
const _dayjs = _interop_require_default._(farmRequire("d0dc4dad")); | ||
farmRequire("15d5169f"); | ||
var zhCn = (0, _dep734fea04.c)(function (module, exports) { | ||
!function (e__1, _) { | ||
"object" == 'object' && "undefined" != 'object' ? module.exports = _(_dayjs.default) : "function" == typeof undefined && undefined.amd ? undefined([ | ||
"dayjs" | ||
], _) : (e__1 = "undefined" != typeof globalThis ? globalThis : e__1 || self).dayjs_locale_zh_cn = _(e__1.dayjs); | ||
}(_dep734fea04.a, function (e__2) { | ||
"use strict"; | ||
function _(e__3) { | ||
return e__3 && "object" == (0, _typeof.default)(e__3) && "default" in e__3 ? e__3 : { | ||
"default": e__3 | ||
}; | ||
} | ||
var t = _(e__2), d = { | ||
name: "zh-cn", | ||
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), | ||
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"), | ||
weekdaysMin: "日_一_二_三_四_五_六".split("_"), | ||
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), | ||
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
ordinal: function ordinal(e, _) { | ||
return "W" === _ ? e + "周" : e + "日"; | ||
}, | ||
weekStart: 1, | ||
yearStart: 4, | ||
formats: { | ||
LT: "HH:mm", | ||
LTS: "HH:mm:ss", | ||
L: "YYYY/MM/DD", | ||
LL: "YYYY年M月D日", | ||
LLL: "YYYY年M月D日Ah点mm分", | ||
LLLL: "YYYY年M月D日ddddAh点mm分", | ||
l: "YYYY/M/D", | ||
ll: "YYYY年M月D日", | ||
lll: "YYYY年M月D日 HH:mm", | ||
llll: "YYYY年M月D日dddd HH:mm" | ||
}, | ||
relativeTime: { | ||
future: "%s内", | ||
past: "%s前", | ||
s: "几秒", | ||
m: "1 分钟", | ||
mm: "%d 分钟", | ||
h: "1 小时", | ||
hh: "%d 小时", | ||
d: "1 天", | ||
dd: "%d 天", | ||
M: "1 个月", | ||
MM: "%d 个月", | ||
y: "1 年", | ||
yy: "%d 年" | ||
}, | ||
meridiem: function meridiem(e, _) { | ||
var t = 100 * e + _; | ||
return t < 600 ? "凌晨" : t < 900 ? "早上" : t < 1100 ? "上午" : t < 1300 ? "中午" : t < 1800 ? "下午" : "晚上"; | ||
} | ||
}; | ||
return t["default"].locale(d, null, !0), d; | ||
}); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
function a(module, exports, farmRequire, farmDynamicRequire) { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
const _interop_require_default = farmRequire("@swc/helpers/_/_interop_require_default"); | ||
const _typeof = _interop_require_default._(farmRequire("8178b9bd")); | ||
const _dep734fea04 = farmRequire("92648bed"); | ||
const _dayjs = _interop_require_default._(farmRequire("d0dc4dad")); | ||
farmRequire("15d5169f"); | ||
(0, _dep734fea04.c)(function(module, exports) { | ||
var e__1, _; | ||
e__1 = _dep734fea04.a, _ = function(e__2) { | ||
var e__3; | ||
var t = e__2 && "object" == (0, _typeof.default)(e__2) && "default" in e__2 ? e__2 : { | ||
default: e__2 | ||
}, d = { | ||
name: "zh-cn", | ||
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), | ||
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"), | ||
weekdaysMin: "日_一_二_三_四_五_六".split("_"), | ||
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), | ||
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
ordinal: function ordinal(e, _) { | ||
return "W" === _ ? e + "周" : e + "日"; | ||
}, | ||
weekStart: 1, | ||
yearStart: 4, | ||
formats: { | ||
LT: "HH:mm", | ||
LTS: "HH:mm:ss", | ||
L: "YYYY/MM/DD", | ||
LL: "YYYY年M月D日", | ||
LLL: "YYYY年M月D日Ah点mm分", | ||
LLLL: "YYYY年M月D日ddddAh点mm分", | ||
l: "YYYY/M/D", | ||
ll: "YYYY年M月D日", | ||
lll: "YYYY年M月D日 HH:mm", | ||
llll: "YYYY年M月D日dddd HH:mm" | ||
}, | ||
relativeTime: { | ||
future: "%s内", | ||
past: "%s前", | ||
s: "几秒", | ||
m: "1 分钟", | ||
mm: "%d 分钟", | ||
h: "1 小时", | ||
hh: "%d 小时", | ||
d: "1 天", | ||
dd: "%d 天", | ||
M: "1 个月", | ||
MM: "%d 个月", | ||
y: "1 年", | ||
yy: "%d 年" | ||
}, | ||
meridiem: function meridiem(e, _) { | ||
var t = 100 * e + _; | ||
return t < 600 ? "凌晨" : t < 900 ? "早上" : t < 1100 ? "上午" : t < 1300 ? "中午" : t < 1800 ? "下午" : "晚上"; | ||
} | ||
}; | ||
return t["default"].locale(d, null, !0), d; | ||
}, module.exports = _(_dayjs.default); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
70 changes: 70 additions & 0 deletions
70
crates/swc_ecma_minifier/tests/fixture/issues/8880/1/input.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
export function a(module, exports, farmRequire, farmDynamicRequire) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
const _interop_require_default = farmRequire("@swc/helpers/_/_interop_require_default"); | ||
const _typeof = _interop_require_default._(farmRequire("8178b9bd")); | ||
const _dep734fea04 = farmRequire("92648bed"); | ||
const _dayjs = _interop_require_default._(farmRequire("d0dc4dad")); | ||
farmRequire("15d5169f"); | ||
var zhCn = (0, _dep734fea04.c)(function (module, exports) { | ||
!function (e, _) { | ||
module.exports = _(_dayjs.default); | ||
}(_dep734fea04.a, function (e) { | ||
"use strict"; | ||
function _(e) { | ||
return e && "object" == (0, _typeof.default)(e) && "default" in e ? e : { | ||
default: e | ||
}; | ||
} | ||
var t = _(e), d = { | ||
name: "zh-cn", | ||
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), | ||
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"), | ||
weekdaysMin: "日_一_二_三_四_五_六".split("_"), | ||
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), | ||
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
ordinal: function ordinal(e, _) { | ||
return "W" === _ ? e + "周" : e + "日"; | ||
}, | ||
weekStart: 1, | ||
yearStart: 4, | ||
formats: { | ||
LT: "HH:mm", | ||
LTS: "HH:mm:ss", | ||
L: "YYYY/MM/DD", | ||
LL: "YYYY年M月D日", | ||
LLL: "YYYY年M月D日Ah点mm分", | ||
LLLL: "YYYY年M月D日ddddAh点mm分", | ||
l: "YYYY/M/D", | ||
ll: "YYYY年M月D日", | ||
lll: "YYYY年M月D日 HH:mm", | ||
llll: "YYYY年M月D日dddd HH:mm" | ||
}, | ||
relativeTime: { | ||
future: "%s内", | ||
past: "%s前", | ||
s: "几秒", | ||
m: "1 分钟", | ||
mm: "%d 分钟", | ||
h: "1 小时", | ||
hh: "%d 小时", | ||
d: "1 天", | ||
dd: "%d 天", | ||
M: "1 个月", | ||
MM: "%d 个月", | ||
y: "1 年", | ||
yy: "%d 年" | ||
}, | ||
meridiem: function meridiem(e, _) { | ||
var t = 100 * e + _; | ||
return t < 600 ? "凌晨" : t < 900 ? "早上" : t < 1100 ? "上午" : t < 1300 ? "中午" : t < 1800 ? "下午" : "晚上"; | ||
} | ||
}; | ||
return t.default.locale(d, null, !0), d; | ||
}); | ||
}); | ||
|
||
return zhCn | ||
} |
59 changes: 59 additions & 0 deletions
59
crates/swc_ecma_minifier/tests/fixture/issues/8880/1/output.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
export function a(module, exports, farmRequire, farmDynamicRequire) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
const _interop_require_default = farmRequire("@swc/helpers/_/_interop_require_default"), _typeof = _interop_require_default._(farmRequire("8178b9bd")), _dep734fea04 = farmRequire("92648bed"), _dayjs = _interop_require_default._(farmRequire("d0dc4dad")); | ||
return farmRequire("15d5169f"), (0, _dep734fea04.c)(function(module, exports) { | ||
var _; | ||
_dep734fea04.a, _ = function(e) { | ||
var t = e && "object" == (0, _typeof.default)(e) && "default" in e ? e : { | ||
default: e | ||
}, d = { | ||
name: "zh-cn", | ||
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), | ||
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"), | ||
weekdaysMin: "日_一_二_三_四_五_六".split("_"), | ||
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), | ||
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), | ||
ordinal: function(e, _) { | ||
return "W" === _ ? e + "周" : e + "日"; | ||
}, | ||
weekStart: 1, | ||
yearStart: 4, | ||
formats: { | ||
LT: "HH:mm", | ||
LTS: "HH:mm:ss", | ||
L: "YYYY/MM/DD", | ||
LL: "YYYY年M月D日", | ||
LLL: "YYYY年M月D日Ah点mm分", | ||
LLLL: "YYYY年M月D日ddddAh点mm分", | ||
l: "YYYY/M/D", | ||
ll: "YYYY年M月D日", | ||
lll: "YYYY年M月D日 HH:mm", | ||
llll: "YYYY年M月D日dddd HH:mm" | ||
}, | ||
relativeTime: { | ||
future: "%s内", | ||
past: "%s前", | ||
s: "几秒", | ||
m: "1 分钟", | ||
mm: "%d 分钟", | ||
h: "1 小时", | ||
hh: "%d 小时", | ||
d: "1 天", | ||
dd: "%d 天", | ||
M: "1 个月", | ||
MM: "%d 个月", | ||
y: "1 年", | ||
yy: "%d 年" | ||
}, | ||
meridiem: function(e, _) { | ||
var t = 100 * e + _; | ||
return t < 600 ? "凌晨" : t < 900 ? "早上" : t < 1100 ? "上午" : t < 1300 ? "中午" : t < 1800 ? "下午" : "晚上"; | ||
} | ||
}; | ||
return t.default.locale(d, null, !0), d; | ||
}, module.exports = _(_dayjs.default); | ||
}); | ||
} |