diff --git a/crates/swc_ecma_minifier/src/compress/optimize/ops.rs b/crates/swc_ecma_minifier/src/compress/optimize/ops.rs index 13920365c703..d69a08a1f521 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/ops.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/ops.rs @@ -89,7 +89,7 @@ where || (n.left.is_str() && right.right.is_str()) { self.changed = true; - report_change!("Remove extra paren in binray expression"); + report_change!("Remove extra paren in binary expression"); let left = n.left.take(); let BinExpr { op, diff --git a/crates/swc_ecma_minifier/src/option/terser.rs b/crates/swc_ecma_minifier/src/option/terser.rs index 5026c772ff1f..576f601b607a 100644 --- a/crates/swc_ecma_minifier/src/option/terser.rs +++ b/crates/swc_ecma_minifier/src/option/terser.rs @@ -433,6 +433,8 @@ impl From for EsVersion { 2018 => EsVersion::Es2018, 2019 => EsVersion::Es2019, 2020 => EsVersion::Es2020, + 2021 => EsVersion::Es2021, + 2022 => EsVersion::Es2022, _ => { panic!("`{}` is not a valid ecmascript version", v) } diff --git a/crates/swc_ecma_minifier/tests/fixture/next/41992/1/input.js b/crates/swc_ecma_minifier/tests/fixture/next/41992/1/input.js new file mode 100644 index 000000000000..c12b2ca21b18 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/fixture/next/41992/1/input.js @@ -0,0 +1,5 @@ +export const + N = (0, p.default)(e = (0, ft.default)((0, p.default)(r).call(r, ((e, t) => { + const r = t.get("in"); + return e[r] ?? (e[r] = []), e[r].push(t), e + }), {}))).call(e, ((e, t) => (0, h.default)(e).call(e, t)), []); \ No newline at end of file diff --git a/crates/swc_ecma_minifier/tests/fixture/next/41992/1/output.js b/crates/swc_ecma_minifier/tests/fixture/next/41992/1/output.js new file mode 100644 index 000000000000..ea09700ca801 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/fixture/next/41992/1/output.js @@ -0,0 +1,4 @@ +export const N = (0, p.default)(e = (0, ft.default)((0, p.default)(r).call(r, (e1, t)=>{ + const r1 = t.get("in"); + return e1[r1] ?? (e1[r1] = []), e1[r1].push(t), e1; +}, {}))).call(e, (e1, t)=>(0, h.default)(e1).call(e1, t), []); diff --git a/crates/swc_ecma_minifier/tests/fixture/next/41992/config.json b/crates/swc_ecma_minifier/tests/fixture/next/41992/config.json new file mode 100644 index 000000000000..4b1f1d994eaf --- /dev/null +++ b/crates/swc_ecma_minifier/tests/fixture/next/41992/config.json @@ -0,0 +1,5 @@ +{ + "defaults": false, + "toplevel": true, + "ecma": 2022 +}