diff --git a/README.md b/README.md index f6c24352..151df6cb 100644 --- a/README.md +++ b/README.md @@ -188,11 +188,6 @@ This option can slightly slow down your code speed. All literals in Unicode array become encoded in Base64. To decode strings, a special function will be inserted on the page under `unicodeArray` node. -### `optimize` -Type: `boolean` Default: `false` - -Enables optimizations for obfuscated code with help of [optimize-js](https://github.com/nolanlawson/optimize-js) - ### `reservedNames` Type: `string[]` Default: `[]` diff --git a/package.json b/package.json index 5fe0082f..9743df53 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "estraverse": "^4.2.0", "format-unicorn": "^1.1.0", "mkdirp": "^0.5.1", - "optimize-js": "^1.0.1", "source-map-support": "^0.4.2" }, "devDependencies": { diff --git a/src/JavaScriptObfuscatorInternal.ts b/src/JavaScriptObfuscatorInternal.ts index 27f74c15..508e9317 100644 --- a/src/JavaScriptObfuscatorInternal.ts +++ b/src/JavaScriptObfuscatorInternal.ts @@ -7,15 +7,11 @@ import { IGeneratorOutput } from "./interfaces/IGeneratorOutput"; import { IObfuscationResult } from "./interfaces/IObfuscationResult"; import { IOptions } from './interfaces/IOptions'; -import { SourceMapMode } from "./enums/SourceMapMode"; - import { ObfuscationResult } from "./ObfuscationResult"; import { Obfuscator } from "./Obfuscator"; import { Options } from "./options/Options"; import { SourceMapCorrector } from "./SourceMapCorrector"; -const optimizeJs = require('optimize-js'); - export class JavaScriptObfuscatorInternal { /** * @type {GenerateOptions} @@ -71,12 +67,6 @@ export class JavaScriptObfuscatorInternal { const generatorOutput: IGeneratorOutput = escodegen.generate(astTree, escodegenParams); - if (options.optimize) { - generatorOutput.code = optimizeJs(generatorOutput.code, { - sourceMap: options.sourceMap && options.sourceMapMode === SourceMapMode.Inline - }); - } - generatorOutput.map = generatorOutput.map ? generatorOutput.map.toString() : ''; return generatorOutput; diff --git a/src/cli/JavaScriptObfuscatorCLI.ts b/src/cli/JavaScriptObfuscatorCLI.ts index 8fa81be6..4a4453c4 100644 --- a/src/cli/JavaScriptObfuscatorCLI.ts +++ b/src/cli/JavaScriptObfuscatorCLI.ts @@ -127,7 +127,6 @@ export class JavaScriptObfuscatorCLI { .option('--debugProtectionInterval ', 'Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)', JavaScriptObfuscatorCLI.parseBoolean) .option('--disableConsoleOutput ', 'Allow console.log, console.info, console.error and console.warn messages output into browser console', JavaScriptObfuscatorCLI.parseBoolean) .option('--encodeUnicodeLiterals ', 'All literals in Unicode array become encoded in Base64 (this option can slightly slow down your code speed)', JavaScriptObfuscatorCLI.parseBoolean) - .option('--optimize ', 'Enables optimizations for obfuscated code with help of `optimize-js`', JavaScriptObfuscatorCLI.parseBoolean) .option('--reservedNames ', 'Disable obfuscation of variable names, function names and names of function parameters that match the passed RegExp patterns (comma separated)', (val: string) => val.split(',')) .option('--rotateUnicodeArray ', 'Disable rotation of unicode array values during obfuscation', JavaScriptObfuscatorCLI.parseBoolean) .option('--selfDefending ', 'Disables self-defending for obfuscated code', JavaScriptObfuscatorCLI.parseBoolean) diff --git a/src/interfaces/IObfuscatorOptions.d.ts b/src/interfaces/IObfuscatorOptions.d.ts index c9a22b99..58940d1a 100644 --- a/src/interfaces/IObfuscatorOptions.d.ts +++ b/src/interfaces/IObfuscatorOptions.d.ts @@ -6,7 +6,6 @@ export interface IObfuscatorOptions { debugProtectionInterval?: boolean; disableConsoleOutput?: boolean; encodeUnicodeLiterals?: boolean; - optimize?: boolean; reservedNames?: string[]; rotateUnicodeArray?: boolean; selfDefending?: boolean; diff --git a/src/interfaces/IOptions.d.ts b/src/interfaces/IOptions.d.ts index 7505168d..3d7afb2f 100644 --- a/src/interfaces/IOptions.d.ts +++ b/src/interfaces/IOptions.d.ts @@ -6,7 +6,6 @@ export interface IOptions { readonly debugProtectionInterval: boolean; readonly disableConsoleOutput: boolean; readonly encodeUnicodeLiterals: boolean; - readonly optimize: boolean; readonly reservedNames: string[]; readonly rotateUnicodeArray: boolean; readonly selfDefending: boolean; diff --git a/src/options/Options.ts b/src/options/Options.ts index f1c1ab02..903636cf 100644 --- a/src/options/Options.ts +++ b/src/options/Options.ts @@ -72,12 +72,6 @@ export class Options implements IOptions { @IsBoolean() public readonly encodeUnicodeLiterals: boolean; - /** - * @type {boolean} - */ - @IsBoolean() - public readonly optimize: boolean; - /** * @type {string[]} */ diff --git a/src/preset-options/DefaultPreset.ts b/src/preset-options/DefaultPreset.ts index 2a784a4f..fd1f97c8 100644 --- a/src/preset-options/DefaultPreset.ts +++ b/src/preset-options/DefaultPreset.ts @@ -9,7 +9,6 @@ export const DEFAULT_PRESET: IObfuscatorOptions = Object.freeze({ disableConsoleOutput: true, domainLock: [], encodeUnicodeLiterals: false, - optimize: false, reservedNames: [], rotateUnicodeArray: true, selfDefending: true, diff --git a/src/preset-options/NoCustomNodesPreset.ts b/src/preset-options/NoCustomNodesPreset.ts index 5b89ecc2..faac40bc 100644 --- a/src/preset-options/NoCustomNodesPreset.ts +++ b/src/preset-options/NoCustomNodesPreset.ts @@ -9,7 +9,6 @@ export const NO_CUSTOM_NODES_PRESET: IObfuscatorOptions = Object.freeze({ disableConsoleOutput: false, domainLock: [], encodeUnicodeLiterals: false, - optimize: false, reservedNames: [], rotateUnicodeArray: false, selfDefending: false,