const banner = `/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD AND TERSER if you want to view the source, please visit the github repository of this plugin */ `; const prod = process.argv[2] === "production" || process.env?.BUILD_MODE === "production"; /*** * @type import("terser").MinifyOptions */ const terserOption = { sourceMap: !prod ? { url: "inline", } : {}, format: { // indent_level: 2, // beautify: true, comments: "some", ecma: 2018, preamble: banner, webkit: true, }, parse: { // parse options }, compress: { // compress options defaults: false, evaluate: true, dead_code: true, // directives: true, inline: false, join_vars: true, loops: true, passes: 4, reduce_vars: true, reduce_funcs: false, arrows: true, collapse_vars: true, comparisons: true, //@ts-ignore lhs_constants: true, hoist_props: true, side_effects: true, ecma: 2018, // hoist_vars: true, // hoist_funs: true, if_return: true, // unsafe_math: true, unused: true, // -- typeofs: true, properties: true, module: true, booleans: true, conditionals: true, hoist_funs: true, hoist_vars: true, // toplevel: "vars", }, mangle: false, ecma: 2018, // specify one of: 5, 2015, 2016, etc. enclose: false, // or specify true, or "args:values" keep_classnames: true, keep_fnames: true, ie8: false, module: false, // nameCache: null, // or specify a name cache object safari10: false, toplevel: false, }; export { terserOption };