Input Code
(function () {
var CONST_CASE_1 = 1,
CONST_CASE_2 = 2,
CONST_CASE_3 = 3;
var CONST_VALUE = CONST_CASE_2;
console.log('before switch');
switch (CONST_VALUE) {
case CONST_CASE_1:
console.log('case 1');
break;
case CONST_CASE_2:
console.log('case 2');
break;
case CONST_CASE_3:
default:
console.log('case 3');
break;
}
console.log('after switch');
})();
Actual Output
Expected Output
before switch
case 2
after switch
Configuration
Using these packages:
"babel-core": "~6.26.0"
"babel-preset-env": "~1.6.1"
"babel-preset-minify": "~0.3.0"
Enable deadcode in .babelrc
{
"presets": [
["minify", {
"booleans": false,
"builtIns": false,
"consecutiveAdds": false,
"deadcode": true,
"evaluate": false,
"flipComparisons": false,
"guards": false,
"infinity": false,
"mangle": false,
"memberExpressions": false,
"mergeVars": false,
"numericLiterals": false,
"propertyLiterals": false,
"regexpConstructors": false,
"removeConsole": false,
"removeDebugger": false,
"removeUndefined": false,
"replace": false,
"simplify": false,
"simplifyComparisons": false,
"typeConstructors": false,
"undefinedToVoid": false
}]
]
}
Or enable deadcode and simplify in babel-cli:
babel repro.js --out-file repro.min.js --no-babelrc --plugins=minify-dead-code-elimination,minify-simplify
Input Code
Actual Output
Expected Output
Configuration
Using these packages:
Enable
deadcodein .babelrc{ "presets": [ ["minify", { "booleans": false, "builtIns": false, "consecutiveAdds": false, "deadcode": true, "evaluate": false, "flipComparisons": false, "guards": false, "infinity": false, "mangle": false, "memberExpressions": false, "mergeVars": false, "numericLiterals": false, "propertyLiterals": false, "regexpConstructors": false, "removeConsole": false, "removeDebugger": false, "removeUndefined": false, "replace": false, "simplify": false, "simplifyComparisons": false, "typeConstructors": false, "undefinedToVoid": false }] ] }Or enable
deadcodeandsimplifyin babel-cli: