diff --git a/dist/index.js b/dist/index.js index ba7b9448..360d1eb9 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1454,7 +1454,6 @@ var Obfuscator = function () { _classCallCheck(this, Obfuscator); this.customNodes = new Map(); - this.obfuscatorsCache = new Map(); this.options = options; } @@ -1515,12 +1514,7 @@ var Obfuscator = function () { return; } nodeObfuscators.forEach(function (obfuscator) { - var cachedObfuscator = _this2.obfuscatorsCache.get(obfuscator); - if (!cachedObfuscator) { - cachedObfuscator = new obfuscator(_this2.customNodes, _this2.options); - _this2.obfuscatorsCache.set(obfuscator, cachedObfuscator); - } - cachedObfuscator.obfuscateNode(node, parentNode); + new obfuscator(_this2.customNodes, _this2.options).obfuscateNode(node, parentNode); }); } }, { @@ -3204,10 +3198,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) { function MethodDefinitionObfuscator() { _classCallCheck(this, MethodDefinitionObfuscator); - var _this = _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments)); - - _this.ignoredNames = ['constructor']; - return _this; + return _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments)); } _createClass(MethodDefinitionObfuscator, [{ @@ -3222,7 +3213,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) { estraverse.replace(methodDefinitionNode.key, { enter: function enter(node) { - if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(_this2.ignoredNames, node.name) && methodDefinitionNode.computed === false) { + if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) && methodDefinitionNode.computed === false) { methodDefinitionNode.computed = true; node.name = new StringLiteralReplacer_1.StringLiteralReplacer(_this2.nodes, _this2.options).replace(node.name); return; @@ -3236,6 +3227,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) { return MethodDefinitionObfuscator; }(AbstractNodeObfuscator_1.AbstractNodeObfuscator); +MethodDefinitionObfuscator.ignoredNames = ['constructor']; exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator; /***/ }, diff --git a/src/Obfuscator.ts b/src/Obfuscator.ts index 5f5e2a8d..8909dc5b 100644 --- a/src/Obfuscator.ts +++ b/src/Obfuscator.ts @@ -5,7 +5,6 @@ import { TNodeGroup } from './types/TNodeGroup'; import { TNodeObfuscator } from './types/TNodeObfuscator'; import { ICustomNode } from './interfaces/custom-nodes/ICustomNode'; -import { INodeObfuscator } from './interfaces/INodeObfuscator'; import { IObfuscator } from './interfaces/IObfuscator'; import { IOptions } from './interfaces/IOptions'; import { IStackTraceData } from './interfaces/stack-trace-analyzer/IStackTraceData'; @@ -66,11 +65,6 @@ export class Obfuscator implements IObfuscator { */ private customNodes: Map = new Map (); - /** - * @type {Map} - */ - private obfuscatorsCache: Map = new Map (); - /** * @type {IOptions} */ @@ -161,14 +155,7 @@ export class Obfuscator implements IObfuscator { } nodeObfuscators.forEach((obfuscator: TNodeObfuscator) => { - let cachedObfuscator: INodeObfuscator|undefined = this.obfuscatorsCache.get(obfuscator); - - if (!cachedObfuscator) { - cachedObfuscator = new obfuscator(this.customNodes, this.options); - this.obfuscatorsCache.set(obfuscator, cachedObfuscator); - } - - cachedObfuscator.obfuscateNode(node, parentNode); + new obfuscator(this.customNodes, this.options).obfuscateNode(node, parentNode); }); } diff --git a/src/node-obfuscators/MethodDefinitionObfuscator.ts b/src/node-obfuscators/MethodDefinitionObfuscator.ts index 0ee9b98d..279133f4 100644 --- a/src/node-obfuscators/MethodDefinitionObfuscator.ts +++ b/src/node-obfuscators/MethodDefinitionObfuscator.ts @@ -17,7 +17,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator { /** * @type {string[]} */ - private ignoredNames: string[] = ['constructor']; + private static ignoredNames: string[] = ['constructor']; /** * @param methodDefinitionNode @@ -35,7 +35,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator { enter: (node: ESTree.Node): any => { if ( Node.isIdentifierNode(node) && - !Utils.arrayContains(this.ignoredNames, node.name) && + !Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) && methodDefinitionNode.computed === false ) { methodDefinitionNode.computed = true;