-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
Milestone
Description
Describe the bug
Describe the bug
Previously reported here: #8177
but erroneously closed by a bot.
I also messed up re-reporting here: #9726
Input code
import { IS_DEV_MODE } from "debug";
function ifDev(callback: () => void) {
if (IS_DEV_MODE) {
callback();
}
}
export class Foo {
constructor() {
ifDev(() => {
Object.defineProperties({
hello: {
enumerable: true,
get x() { return 1; }
}
})
})
}
}Config
{
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": false
},
"target": "es2022",
"loose": false,
"minify": {
"compress": {
"arguments": false,
"arrows": true,
"booleans": true,
"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": true,
"keep_classnames": false,
"keep_fargs": true,
"keep_fnames": false,
"keep_infinity": false,
"loops": true,
"negate_iife": true,
"properties": true,
"reduce_funcs": false,
"reduce_vars": false,
"side_effects": true,
"switches": true,
"typeofs": true,
"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": true,
"const_to_let": true,
"pristine_globals": true
},
"mangle": false,
},
"transform": {
"constModules": {"globals": {"debug": {"IS_DEV_MODE": "false"}}}
}
},
"module": {
"type": "es6"
},
"minify": false,
"isModule": true
}Playground link (or link to the minimal reproduction)
SWC Info output
No response
Expected behavior
constructor is removed as it does nothing
Actual behavior
constructor remains
Version
all of them
Additional context
No response