Mangling ​
Oxc minifier supports mangling variable names and private class fields.
This feature is enabled by default and can be disabled by setting the mangle option to false.
Top Level Variables ​
Top level variables are not mangled by default for non module code. You can enable mangling for top level variables by setting the mangle.toplevel option to true.
// input
var foo = 1;
// output
var e = 1;// Example
import { minify } from "oxc-minify";
const result = minify("lib.js", code, {
module: false, // non-module code
compress: {
mangle: {
toplevel: true,
},
},
});Keep name Property Values ​
Mangling variable names can change the name property values of functions / classes. You can keep the original name property values by enabling the mangle.keepNames option.
// input
var foo = function() {};
// output
var foo = function() {};// Example
import { minify } from "oxc-minify";
const result = minify("lib.js", code, {
compress: {
mangle: {
keepNames: true, // shorthand of { function: true, class: true }
},
},
});compress.keepNames option
When enabling this option, you may also want to enable the compress.keepNames option.
Debugging The Mangler ​
To debug the mangler, you can enable the mangle.debug option. When this option is enabled, the mangler will use slot_0, slot_1, ... as variable names.
// input
var foo = 1;
// output
var slot_0 = 1;// Example
import { minify } from "oxc-minify";
const result = minify("lib.js", code, {
compress: {
mangle: {
debug: true,
},
},
});