Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(es/minifier): Increment ref_count while invoking IIFE #8904

Merged
merged 12 commits into from Apr 30, 2024

Conversation

kdy1
Copy link
Member

@kdy1 kdy1 commented Apr 29, 2024

Description:

Related issue:

@kdy1 kdy1 added this to the Planned milestone Apr 29, 2024
@kdy1 kdy1 self-assigned this Apr 29, 2024
Copy link

changeset-bot bot commented Apr 29, 2024

⚠️ No Changeset found

Latest commit: 5dbe80d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@kdy1
Copy link
Member Author

kdy1 commented Apr 29, 2024

===== After pure =====
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;
        });
    });
}

    at crates/swc_ecma_minifier/src/compress/mod.rs:248
    in apply pure optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

   INFO  Done in 1.184542ms, kind: "perf"
    at crates/swc_timer/src/lib.rs:32
    in apply pure optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

   INFO  Done in 369.209µs, kind: "perf"
    at crates/swc_timer/src/lib.rs:32
    in analyze
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Removing 'use strict', kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2649
    in visit_mut_stmt with start: "\"use strict\";\n"
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Compressing boolean literal, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:639
    in visit_mut_prop
    in visit_mut_call_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt with start: "Object#14.defineProperty(exports#16, \"__esModule\", {\n    value: true\n});\n"
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Removing 'use strict', kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2649
    in visit_mut_stmt with start: "\"use strict\";\n"
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  inline: Decided to inline function `_#19` as it's used only once, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/inline.rs:753
    in visit_mut_decl
    in visit_mut_stmt with start: "function _#19(e#20) {\n    return e#20 && \"object\" == 0, _typeof#16.default(e#20) && \"default\" in e#20 ? e#20 : {\n        default: e#20\n    };\n}\n"
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  inline: Replacing '_#19' with an expression, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/inline.rs:882
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  sequences: Inlining sequential expressions (`e#20`), kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/sequences.rs:2508
    in merge_sequential_expr with a: "e#20 = e#19", b: "e#20"
    in merge_sequential_expr with a: "e#20 = e#19", b: "e#20 && \"object\" == 0, _typeof#16.default(e#20)"
    in merge_sequential_expr with a: "e#20 = e#19", b: "e#20 && \"object\" == 0, _typeof#16.default(e#20) && \"default\" in e#20"
    in merge_sequential_expr with a: "e#20 = e#19", b: "e#20 && \"object\" == 0, _typeof#16.default(e#20) && \"default\" in e#20 ? e#20 : {\n    default: e#20\n}"
    in merge_sequences_in_seq_expr with seq_expr: "e#20 = e#19, e#20 && \"object\" == 0, _typeof#16.default(e#20) && \"default\" in e#20 ? e#20 : {\n    default: e#20\n}"
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  inline: Inlining a function call, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/iife.rs:658
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Creating a fake block because of prepend or append, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2590
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  inline: Inlining a function call, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/iife.rs:658
    in visit_mut_unary_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  ignore_return_value: Reducing unary (!), kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:1151
    in ignore_return_value
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Creating a fake block because of prepend or append, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2590
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  unused: Dropping a variable 'zhCn#16' because it is not used, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/unused.rs:184
    in take_ident_of_pat_if_unused
    in take_pat_if_unused
    in drop_unused_vars
    in drop_unused_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  unused: Removing an unused variable declarator, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/unused.rs:51
    in drop_unused_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  unused: Dropping a variable 'e#18' because it is not used, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/unused.rs:184
    in take_ident_of_pat_if_unused
    in take_pat_if_unused
    in drop_unused_vars
    in drop_unused_var_declarator
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt with start: "var e#18, _#18;\n"
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Ignoring arg of `void`, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2859
    in visit_mut_unary_expr
    in seq_expr_with_children
    in visit_mut_seq_expr
    in visit_mut_expr_stmt
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_expr
    in visit_mut_call_expr
    in visit_mut_var_declarators
    in visit_mut_var_decl
    in visit_mut_decl
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Creating a fake block because of prepend or append, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/mod.rs:2590
    in visit_mut_stmt
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  sequences: Compressing statements as a sequences, kind: "change"
    at crates/swc_ecma_minifier/src/compress/optimize/sequences.rs:152
    in handle_stmt_likes
    in visit_mut_function
    in visit_mut_fn_decl with id: a#15
    in visit_mut_decl
    in visit_mut_stmt
    in visit_mut_module_item
    in handle_stmt_likes
    in visit_mut_module_items
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

   INFO  Done in 70.411083ms, kind: "perf"
    at crates/swc_timer/src/lib.rs:32
    in apply full optimizer
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  Removing dead branches
    at crates/swc_ecma_transforms_optimization/src/simplify/branch/mod.rs:237
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

   INFO  compress: dead_branch_remover took 78.375µs (pass = 1)
    at crates/swc_ecma_minifier/src/compress/mod.rs:297
    in optimize with pass: 1
    in compress ast
    in minify
    in swc::Compiler::apply_transforms
    in process_js_with_custom_pass
    in process_js_file with fm: SourceFile(/Users/kdy1/projects/s/minifier/crates/swc/tests/fixture/issues-8xxx/8880/input/1.js)

  DEBUG  ===== Removed dead branches =====
function a#15(module#16, ex

@kdy1 kdy1 changed the title fix(es/minifier): Fix a bug fix(es/minifier): Increment ref_count while invoking IIFE Apr 29, 2024
@kdy1 kdy1 marked this pull request as ready for review April 29, 2024 06:14
@kdy1 kdy1 requested a review from a team as a code owner April 29, 2024 06:14
Copy link
Member Author

@kdy1 kdy1 left a comment

Choose a reason for hiding this comment

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

swc-bump:

  • swc_ecma_minifier
  • swc_core

@kdy1 kdy1 merged commit 86e2bb0 into swc-project:main Apr 30, 2024
151 checks passed
@kdy1 kdy1 deleted the issue-8880 branch April 30, 2024 00:11
@kdy1 kdy1 modified the milestones: Planned, v1.5.4 May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Minify bug when unused set to false
2 participants