mirror of
https://github.com/swc-project/swc.git
synced 2024-11-24 10:12:42 +03:00
feat(es/minifier): Improve compatibility of arrows
with terser
(#6862)
**Related issue:** - Closes https://github.com/swc-project/swc/issues/6123.
This commit is contained in:
parent
49d9237e64
commit
d1687d8e01
@ -41,10 +41,6 @@ impl Pure<'_> {
|
||||
}
|
||||
|
||||
pub(super) fn optimize_arrow_body(&mut self, b: &mut BlockStmtOrExpr) {
|
||||
if !self.options.arrows {
|
||||
return;
|
||||
}
|
||||
|
||||
match b {
|
||||
BlockStmtOrExpr::BlockStmt(s) => {
|
||||
if s.stmts.len() == 1 {
|
||||
|
@ -1,6 +1,6 @@
|
||||
function n(n, e, t, r, o, u, i) {
|
||||
function n(n, e, t, r, o, i, u) {
|
||||
try {
|
||||
var a = n[u](i);
|
||||
var a = n[i](u);
|
||||
var c = a.value;
|
||||
} catch (n) {
|
||||
t(n);
|
||||
@ -12,20 +12,19 @@ function n(n, e, t, r, o, u, i) {
|
||||
function e(e) {
|
||||
return function() {
|
||||
var t = this, r = arguments;
|
||||
return new Promise(function(o, u) {
|
||||
var i = e.apply(t, r);
|
||||
return new Promise(function(o, i) {
|
||||
var u = e.apply(t, r);
|
||||
function a(e) {
|
||||
n(i, o, u, a, c, "next", e);
|
||||
n(u, o, i, a, c, "next", e);
|
||||
}
|
||||
function c(e) {
|
||||
n(i, o, u, a, c, "throw", e);
|
||||
n(u, o, i, a, c, "throw", e);
|
||||
}
|
||||
a(void 0);
|
||||
});
|
||||
};
|
||||
}
|
||||
export const styleLoader = ()=>{
|
||||
return {
|
||||
export const styleLoader = ()=>({
|
||||
name: 'style-loader',
|
||||
setup (n) {
|
||||
n.onLoad({
|
||||
@ -38,5 +37,4 @@ export const styleLoader = ()=>{
|
||||
};
|
||||
}());
|
||||
}
|
||||
};
|
||||
};
|
||||
});
|
||||
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"defaults": false,
|
||||
"conditionals": true,
|
||||
"dead_code": true,
|
||||
"arrows": false
|
||||
}
|
12
crates/swc_ecma_minifier/tests/pass-1/issue-6123/1/input.js
Normal file
12
crates/swc_ecma_minifier/tests/pass-1/issue-6123/1/input.js
Normal file
@ -0,0 +1,12 @@
|
||||
const arrow = (param) => {
|
||||
return Boolean(param);
|
||||
}
|
||||
|
||||
const obj = {
|
||||
method1() {
|
||||
return "hello";
|
||||
},
|
||||
method2() {
|
||||
return "goodbye"
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
const arrow = (param)=>Boolean(param);
|
||||
const obj = {
|
||||
method1 () {
|
||||
return "hello";
|
||||
},
|
||||
method2 () {
|
||||
return "goodbye";
|
||||
}
|
||||
};
|
Loading…
Reference in New Issue
Block a user