Kaynağa Gözat

more correct naming: ObfuscationTransformers -> ObfuscatingTransformers

sanex3339 8 yıl önce
ebeveyn
işleme
b95a248c00
50 değiştirilmiş dosya ile 75 ekleme ve 63 silme
  1. 41 37
      dist/index.js
  2. 13 5
      src/Obfuscator.ts
  3. 2 2
      src/container/InversifyContainerFacade.ts
  4. 7 7
      src/container/modules/node-transformers/NodeTransformersModule.ts
  5. 5 5
      src/container/modules/node-transformers/ObfuscatingTransformersModule.ts
  6. 0 0
      src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts
  7. 0 0
      src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts
  8. 0 0
      src/node-transformers/obfuscating-transformers/FunctionTransformer.ts
  9. 0 0
      src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts
  10. 0 0
      src/node-transformers/obfuscating-transformers/LiteralTransformer.ts
  11. 0 0
      src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts
  12. 0 0
      src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts
  13. 0 0
      src/node-transformers/obfuscating-transformers/replacers/AbstractReplacer.ts
  14. 0 0
      src/node-transformers/obfuscating-transformers/replacers/BooleanLiteralReplacer.ts
  15. 0 0
      src/node-transformers/obfuscating-transformers/replacers/IdentifierReplacer.ts
  16. 0 0
      src/node-transformers/obfuscating-transformers/replacers/NumberLiteralReplacer.ts
  17. 0 0
      src/node-transformers/obfuscating-transformers/replacers/StringLiteralReplacer.ts
  18. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/CatchClauseTransformer.spec.ts
  19. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/fixtures/input.js
  20. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/fixtures/object-pattern-as-parameter.js
  21. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts
  22. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/input.js
  23. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/FunctionTransformer.spec.ts
  24. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/fixtures/input.js
  25. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/fixtures/object-pattern-as-parameter.js
  26. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts
  27. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js
  28. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/LiteralTransformer.spec.ts
  29. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/boolean-value.js
  30. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/error-when-non-latin.js
  31. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/number-value.js
  32. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/same-literal-values.js
  33. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/short-literal-value.js
  34. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/simple-input.js
  35. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts
  36. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js
  37. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-literal-value.js
  38. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js
  39. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts
  40. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/let-kind.js
  41. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/member-expression-identifier.js
  42. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/object-pattern.js
  43. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/parent-block-scope-is-program-node.js
  44. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/property-identifier.js
  45. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/simple-declaration.js
  46. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/var-kind.js
  47. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-1.js
  48. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-2.js
  49. 0 0
      test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-3.js
  50. 7 7
      test/index.spec.ts

+ 41 - 37
dist/index.js

@@ -90,7 +90,7 @@ module.exports =
 /******/ 	__webpack_require__.p = "";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 151);
+/******/ 	return __webpack_require__(__webpack_require__.s = 150);
 /******/ })
 /************************************************************************/
 /******/ ([
@@ -759,7 +759,7 @@ var _getIterator2 = __webpack_require__(21);
 
 var _getIterator3 = _interopRequireDefault(_getIterator2);
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -1409,6 +1409,12 @@ var NodeObfuscatorsReplacers;
 
 /***/ }),
 /* 24 */
+/***/ (function(module, exports) {
+
+module.exports = require("babel-runtime/helpers/toConsumableArray");
+
+/***/ }),
+/* 25 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1463,7 +1469,7 @@ var JavaScriptObfuscator = function () {
 exports.JavaScriptObfuscator = JavaScriptObfuscator;
 
 /***/ }),
-/* 25 */
+/* 26 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1473,7 +1479,7 @@ var _getIterator2 = __webpack_require__(21);
 
 var _getIterator3 = _interopRequireDefault(_getIterator2);
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -1597,12 +1603,6 @@ var NodeAppender = function () {
 
 exports.NodeAppender = NodeAppender;
 
-/***/ }),
-/* 26 */
-/***/ (function(module, exports) {
-
-module.exports = require("babel-runtime/helpers/toConsumableArray");
-
 /***/ }),
 /* 27 */
 /***/ (function(module, exports, __webpack_require__) {
@@ -2193,7 +2193,7 @@ exports.DEFAULT_PRESET = (0, _freeze2.default)({
 "use strict";
 
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -2446,14 +2446,18 @@ exports.ObfuscationResult = ObfuscationResult;
 "use strict";
 
 
-var _map = __webpack_require__(11);
-
-var _map2 = _interopRequireDefault(_map);
-
 var _defineProperty2 = __webpack_require__(140);
 
 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
 
+var _toConsumableArray2 = __webpack_require__(24);
+
+var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
+
+var _map = __webpack_require__(11);
+
+var _map2 = _interopRequireDefault(_map);
+
 var _classCallCheck2 = __webpack_require__(0);
 
 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
@@ -2503,7 +2507,7 @@ var Obfuscator = Obfuscator_1 = function () {
             if (this.options.controlFlowFlattening) {
                 astTree = this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.leave, this.nodeTransformersFactory(Obfuscator_1.controlFlowTransformersMap));
             }
-            astTree = this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.enter, this.nodeTransformersFactory(Obfuscator_1.nodeTransformersMap));
+            astTree = this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.enter, this.nodeTransformersFactory(new _map2.default([].concat((0, _toConsumableArray3.default)(Obfuscator_1.convertingTransformersMap), (0, _toConsumableArray3.default)(Obfuscator_1.obfuscatingTransformersMap)))));
             this.obfuscationEventEmitter.emit(ObfuscationEvents_1.ObfuscationEvents.AfterObfuscation, astTree, stackTraceData);
             return astTree;
         }
@@ -2523,7 +2527,8 @@ var Obfuscator = Obfuscator_1 = function () {
     return Obfuscator;
 }();
 Obfuscator.controlFlowTransformersMap = new _map2.default([[NodeType_1.NodeType.BlockStatement, [NodeTransformers_1.NodeTransformers.BlockStatementControlFlowTransformer]], [NodeType_1.NodeType.FunctionDeclaration, [NodeTransformers_1.NodeTransformers.FunctionControlFlowTransformer]], [NodeType_1.NodeType.FunctionExpression, [NodeTransformers_1.NodeTransformers.FunctionControlFlowTransformer]]]);
-Obfuscator.nodeTransformersMap = new _map2.default([[NodeType_1.NodeType.MemberExpression, [NodeTransformers_1.NodeTransformers.MemberExpressionTransformer]], [NodeType_1.NodeType.MethodDefinition, [NodeTransformers_1.NodeTransformers.MethodDefinitionTransformer]], [NodeType_1.NodeType.TemplateLiteral, [NodeTransformers_1.NodeTransformers.TemplateLiteralTransformer]], [NodeType_1.NodeType.ArrowFunctionExpression, [NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.ClassDeclaration, [NodeTransformers_1.NodeTransformers.FunctionDeclarationTransformer]], [NodeType_1.NodeType.CatchClause, [NodeTransformers_1.NodeTransformers.CatchClauseTransformer]], [NodeType_1.NodeType.FunctionDeclaration, [NodeTransformers_1.NodeTransformers.FunctionDeclarationTransformer, NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.FunctionExpression, [NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.ObjectExpression, [NodeTransformers_1.NodeTransformers.ObjectExpressionTransformer]], [NodeType_1.NodeType.VariableDeclaration, [NodeTransformers_1.NodeTransformers.VariableDeclarationTransformer]], [NodeType_1.NodeType.LabeledStatement, [NodeTransformers_1.NodeTransformers.LabeledStatementTransformer]], [NodeType_1.NodeType.Literal, [NodeTransformers_1.NodeTransformers.LiteralTransformer]]]);
+Obfuscator.convertingTransformersMap = new _map2.default([[NodeType_1.NodeType.MemberExpression, [NodeTransformers_1.NodeTransformers.MemberExpressionTransformer]], [NodeType_1.NodeType.MethodDefinition, [NodeTransformers_1.NodeTransformers.MethodDefinitionTransformer]], [NodeType_1.NodeType.TemplateLiteral, [NodeTransformers_1.NodeTransformers.TemplateLiteralTransformer]]]);
+Obfuscator.obfuscatingTransformersMap = new _map2.default([[NodeType_1.NodeType.ArrowFunctionExpression, [NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.ClassDeclaration, [NodeTransformers_1.NodeTransformers.FunctionDeclarationTransformer]], [NodeType_1.NodeType.CatchClause, [NodeTransformers_1.NodeTransformers.CatchClauseTransformer]], [NodeType_1.NodeType.FunctionDeclaration, [NodeTransformers_1.NodeTransformers.FunctionDeclarationTransformer, NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.FunctionExpression, [NodeTransformers_1.NodeTransformers.FunctionTransformer]], [NodeType_1.NodeType.ObjectExpression, [NodeTransformers_1.NodeTransformers.ObjectExpressionTransformer]], [NodeType_1.NodeType.VariableDeclaration, [NodeTransformers_1.NodeTransformers.VariableDeclarationTransformer]], [NodeType_1.NodeType.LabeledStatement, [NodeTransformers_1.NodeTransformers.LabeledStatementTransformer]], [NodeType_1.NodeType.Literal, [NodeTransformers_1.NodeTransformers.LiteralTransformer]]]);
 Obfuscator = Obfuscator_1 = tslib_1.__decorate([inversify_1.injectable(), tslib_1.__param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStackTraceAnalyzer)), tslib_1.__param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter)), tslib_1.__param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.TCustomNodeGroupStorage)), tslib_1.__param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeTransformer)), tslib_1.__param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), tslib_1.__metadata("design:paramtypes", [Object, Object, Object, Function, Object])], Obfuscator);
 exports.Obfuscator = Obfuscator;
 var Obfuscator_1;
@@ -2715,7 +2720,7 @@ var SourceMapMode_1 = __webpack_require__(29);
 var StringArrayEncoding_1 = __webpack_require__(32);
 var Default_1 = __webpack_require__(43);
 var CLIUtils_1 = __webpack_require__(55);
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 
 var JavaScriptObfuscatorCLI = function () {
     function JavaScriptObfuscatorCLI(argv) {
@@ -2865,7 +2870,7 @@ var inversify_1 = __webpack_require__(2);
 var ServiceIdentifiers_1 = __webpack_require__(4);
 var ControlFlowTransformersModule_1 = __webpack_require__(59);
 var CustomNodesModule_1 = __webpack_require__(58);
-var ObfuscationTransformersModule_1 = __webpack_require__(61);
+var ObfuscatingTransformersModule_1 = __webpack_require__(61);
 var NodeTransformersModule_1 = __webpack_require__(60);
 var StackTraceAnalyzerModule_1 = __webpack_require__(62);
 var StoragesModule_1 = __webpack_require__(63);
@@ -2901,7 +2906,7 @@ var InversifyContainerFacade = function () {
         this.container.load(CustomNodesModule_1.customNodesModule);
         this.container.load(NodeTransformersModule_1.nodeTransformersModule);
         this.container.load(ControlFlowTransformersModule_1.controlFlowTransformersModule);
-        this.container.load(ObfuscationTransformersModule_1.obfuscationTransformersModule);
+        this.container.load(ObfuscatingTransformersModule_1.obfuscatingTransformersModule);
     }
 
     (0, _createClass3.default)(InversifyContainerFacade, [{
@@ -3123,7 +3128,7 @@ var BooleanLiteralReplacer_1 = __webpack_require__(103);
 var IdentifierReplacer_1 = __webpack_require__(104);
 var NumberLiteralReplacer_1 = __webpack_require__(105);
 var StringLiteralReplacer_1 = __webpack_require__(106);
-exports.obfuscationTransformersModule = new inversify_1.ContainerModule(function (bind) {
+exports.obfuscatingTransformersModule = new inversify_1.ContainerModule(function (bind) {
     bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatorReplacer).to(BooleanLiteralReplacer_1.BooleanLiteralReplacer).whenTargetNamed(NodeObfuscationReplacers_1.NodeObfuscatorsReplacers.BooleanReplacer);
     bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatorReplacer).to(IdentifierReplacer_1.IdentifierReplacer).whenTargetNamed(NodeObfuscationReplacers_1.NodeObfuscatorsReplacers.IdentifierReplacer);
     bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatorReplacer).to(NumberLiteralReplacer_1.NumberLiteralReplacer).whenTargetNamed(NodeObfuscationReplacers_1.NodeObfuscatorsReplacers.NumberLiteralReplacer);
@@ -3314,7 +3319,7 @@ var Initializable_1 = __webpack_require__(10);
 var CustomNodes_1 = __webpack_require__(15);
 var ObfuscationEvents_1 = __webpack_require__(22);
 var AbstractCustomNodeGroup_1 = __webpack_require__(27);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var ConsoleOutputCustomNodeGroup = function (_AbstractCustomNodeGr) {
     (0, _inherits3.default)(ConsoleOutputCustomNodeGroup, _AbstractCustomNodeGr);
@@ -3648,7 +3653,7 @@ exports.LogicalExpressionFunctionNode = LogicalExpressionFunctionNode;
 "use strict";
 
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -4107,7 +4112,7 @@ var Initializable_1 = __webpack_require__(10);
 var CustomNodes_1 = __webpack_require__(15);
 var ObfuscationEvents_1 = __webpack_require__(22);
 var AbstractCustomNodeGroup_1 = __webpack_require__(27);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var DebugProtectionCustomNodeGroup = function (_AbstractCustomNodeGr) {
     (0, _inherits3.default)(DebugProtectionCustomNodeGroup, _AbstractCustomNodeGr);
@@ -4290,7 +4295,7 @@ var Initializable_1 = __webpack_require__(10);
 var CustomNodes_1 = __webpack_require__(15);
 var ObfuscationEvents_1 = __webpack_require__(22);
 var AbstractCustomNodeGroup_1 = __webpack_require__(27);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var DomainLockCustomNodeGroup = function (_AbstractCustomNodeGr) {
     (0, _inherits3.default)(DomainLockCustomNodeGroup, _AbstractCustomNodeGr);
@@ -4383,7 +4388,7 @@ var Initializable_1 = __webpack_require__(10);
 var SingleNodeCallControllerTemplate_1 = __webpack_require__(120);
 var NoCustomNodes_1 = __webpack_require__(31);
 var AbstractCustomNode_1 = __webpack_require__(13);
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 var NodeUtils_1 = __webpack_require__(8);
 var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) {
     (0, _inherits3.default)(NodeCallsControllerFunctionNode, _AbstractCustomNode_);
@@ -4461,7 +4466,7 @@ var Initializable_1 = __webpack_require__(10);
 var NoCustomNodes_1 = __webpack_require__(31);
 var SelfDefendingTemplate_1 = __webpack_require__(126);
 var AbstractCustomNode_1 = __webpack_require__(13);
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 var NodeUtils_1 = __webpack_require__(8);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) {
@@ -4537,7 +4542,7 @@ var Initializable_1 = __webpack_require__(10);
 var CustomNodes_1 = __webpack_require__(15);
 var ObfuscationEvents_1 = __webpack_require__(22);
 var AbstractCustomNodeGroup_1 = __webpack_require__(27);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var SelfDefendingCustomNodeGroup = function (_AbstractCustomNodeGr) {
     (0, _inherits3.default)(SelfDefendingCustomNodeGroup, _AbstractCustomNodeGr);
@@ -4635,7 +4640,7 @@ var StringArrayBase64DecodeNodeTemplate_1 = __webpack_require__(128);
 var StringArrayCallsWrapperTemplate_1 = __webpack_require__(129);
 var StringArrayRC4DecodeNodeTemplate_1 = __webpack_require__(130);
 var AbstractCustomNode_1 = __webpack_require__(13);
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 var NodeUtils_1 = __webpack_require__(8);
 var StringArrayCallsWrapper = function (_AbstractCustomNode_) {
     (0, _inherits3.default)(StringArrayCallsWrapper, _AbstractCustomNode_);
@@ -4828,7 +4833,7 @@ var NoCustomNodes_1 = __webpack_require__(31);
 var SelfDefendingTemplate_1 = __webpack_require__(132);
 var StringArrayRotateFunctionTemplate_1 = __webpack_require__(133);
 var AbstractCustomNode_1 = __webpack_require__(13);
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 var NodeUtils_1 = __webpack_require__(8);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var Utils_1 = __webpack_require__(14);
@@ -4923,7 +4928,7 @@ var Initializable_1 = __webpack_require__(10);
 var CustomNodes_1 = __webpack_require__(15);
 var ObfuscationEvents_1 = __webpack_require__(22);
 var AbstractCustomNodeGroup_1 = __webpack_require__(27);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
 var Utils_1 = __webpack_require__(14);
 var StringArrayCustomNodeGroup = function (_AbstractCustomNodeGr) {
@@ -5055,7 +5060,7 @@ exports.ObfuscationEventEmitter = ObfuscationEventEmitter;
 "use strict";
 
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -5177,7 +5182,7 @@ var CustomNodes_1 = __webpack_require__(15);
 var NodeType_1 = __webpack_require__(18);
 var AbstractNodeTransformer_1 = __webpack_require__(16);
 var Node_1 = __webpack_require__(12);
-var NodeAppender_1 = __webpack_require__(25);
+var NodeAppender_1 = __webpack_require__(26);
 var NodeControlFlowReplacers_1 = __webpack_require__(39);
 var NodeUtils_1 = __webpack_require__(8);
 var RandomGeneratorUtils_1 = __webpack_require__(9);
@@ -7545,7 +7550,7 @@ exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtracto
 "use strict";
 
 
-var _toConsumableArray2 = __webpack_require__(26);
+var _toConsumableArray2 = __webpack_require__(24);
 
 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
 
@@ -8116,14 +8121,13 @@ module.exports = require("mkdirp");
 module.exports = require("reflect-metadata");
 
 /***/ }),
-/* 150 */,
-/* 151 */
+/* 150 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var JavaScriptObfuscator_1 = __webpack_require__(24);
+var JavaScriptObfuscator_1 = __webpack_require__(25);
 module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator;
 
 /***/ })

+ 13 - 5
src/Obfuscator.ts

@@ -38,13 +38,16 @@ export class Obfuscator implements IObfuscator {
     /**
      * @type {Map<string, NodeTransformers[]>}
      */
-    private static readonly nodeTransformersMap: Map <string, NodeTransformers[]> = new Map([
-        // converting transformers
+    private static readonly convertingTransformersMap: Map <string, NodeTransformers[]> = new Map([
         [NodeType.MemberExpression, [NodeTransformers.MemberExpressionTransformer]],
         [NodeType.MethodDefinition, [NodeTransformers.MethodDefinitionTransformer]],
         [NodeType.TemplateLiteral, [NodeTransformers.TemplateLiteralTransformer]],
+    ]);
 
-        // obfuscation transformers
+    /**
+     * @type {Map<string, NodeTransformers[]>}
+     */
+    private static readonly obfuscatingTransformersMap: Map <string, NodeTransformers[]> = new Map([
         [NodeType.ArrowFunctionExpression, [NodeTransformers.FunctionTransformer]],
         [NodeType.ClassDeclaration, [NodeTransformers.FunctionDeclarationTransformer]],
         [NodeType.CatchClause, [NodeTransformers.CatchClauseTransformer]],
@@ -56,7 +59,7 @@ export class Obfuscator implements IObfuscator {
         [NodeType.ObjectExpression, [NodeTransformers.ObjectExpressionTransformer]],
         [NodeType.VariableDeclaration, [NodeTransformers.VariableDeclarationTransformer]],
         [NodeType.LabeledStatement, [NodeTransformers.LabeledStatementTransformer]],
-        [NodeType.Literal, [NodeTransformers.LiteralTransformer]] // should be latest in the chain of obfuscators
+        [NodeType.Literal, [NodeTransformers.LiteralTransformer]]
     ]);
 
     /**
@@ -145,7 +148,12 @@ export class Obfuscator implements IObfuscator {
         astTree = this.transformAstTree(
             astTree,
             VisitorDirection.enter,
-            this.nodeTransformersFactory(Obfuscator.nodeTransformersMap)
+            this.nodeTransformersFactory(
+                new Map([
+                    ...Obfuscator.convertingTransformersMap,
+                    ...Obfuscator.obfuscatingTransformersMap
+                ])
+            )
         );
 
         this.obfuscationEventEmitter.emit(ObfuscationEvents.AfterObfuscation, astTree, stackTraceData);

+ 2 - 2
src/container/InversifyContainerFacade.ts

@@ -3,7 +3,7 @@ import { ServiceIdentifiers } from './ServiceIdentifiers';
 
 import { controlFlowTransformersModule } from './modules/node-transformers/ControlFlowTransformersModule';
 import { customNodesModule } from './modules/custom-nodes/CustomNodesModule';
-import { obfuscationTransformersModule } from './modules/node-transformers/ObfuscationTransformersModule';
+import { obfuscatingTransformersModule } from './modules/node-transformers/ObfuscatingTransformersModule';
 import { nodeTransformersModule } from './modules/node-transformers/NodeTransformersModule';
 import { stackTraceAnalyzerModule } from './modules/stack-trace-analyzer/StackTraceAnalyzerModule';
 import { storagesModule } from './modules/storages/StoragesModule';
@@ -88,7 +88,7 @@ export class InversifyContainerFacade implements IInversifyContainerFacade {
         this.container.load(customNodesModule);
         this.container.load(nodeTransformersModule);
         this.container.load(controlFlowTransformersModule);
-        this.container.load(obfuscationTransformersModule);
+        this.container.load(obfuscatingTransformersModule);
     }
 
     /**

+ 7 - 7
src/container/modules/node-transformers/NodeTransformersModule.ts

@@ -8,16 +8,16 @@ import { NodeTransformers } from '../../../enums/container/NodeTransformers';
 import { FunctionControlFlowTransformer } from '../../../node-transformers/control-flow-transformers/FunctionControlFlowTransformer';
 
 import { BlockStatementControlFlowTransformer } from '../../../node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer';
-import { CatchClauseTransformer } from '../../../node-transformers/obfuscation-transformers/CatchClauseTransformer';
-import { FunctionDeclarationTransformer } from '../../../node-transformers/obfuscation-transformers/FunctionDeclarationTransformer';
-import { FunctionTransformer } from '../../../node-transformers/obfuscation-transformers/FunctionTransformer';
-import { LabeledStatementTransformer } from '../../../node-transformers/obfuscation-transformers/LabeledStatementTransformer';
-import { LiteralTransformer } from '../../../node-transformers/obfuscation-transformers/LiteralTransformer';
+import { CatchClauseTransformer } from '../../../node-transformers/obfuscating-transformers/CatchClauseTransformer';
+import { FunctionDeclarationTransformer } from '../../../node-transformers/obfuscating-transformers/FunctionDeclarationTransformer';
+import { FunctionTransformer } from '../../../node-transformers/obfuscating-transformers/FunctionTransformer';
+import { LabeledStatementTransformer } from '../../../node-transformers/obfuscating-transformers/LabeledStatementTransformer';
+import { LiteralTransformer } from '../../../node-transformers/obfuscating-transformers/LiteralTransformer';
 import { MemberExpressionTransformer } from '../../../node-transformers/converting-transformers/MemberExpressionTransformer';
 import { MethodDefinitionTransformer } from '../../../node-transformers/converting-transformers/MethodDefinitionTransformer';
-import { ObjectExpressionTransformer } from '../../../node-transformers/obfuscation-transformers/ObjectExpressionTransformer';
+import { ObjectExpressionTransformer } from '../../../node-transformers/obfuscating-transformers/ObjectExpressionTransformer';
 import { TemplateLiteralTransformer } from '../../../node-transformers/converting-transformers/TemplateLiteralTransformer';
-import { VariableDeclarationTransformer } from '../../../node-transformers/obfuscation-transformers/VariableDeclarationTransformer';
+import { VariableDeclarationTransformer } from '../../../node-transformers/obfuscating-transformers/VariableDeclarationTransformer';
 
 export const nodeTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
     // control flow transformers

+ 5 - 5
src/container/modules/node-transformers/ObfuscationTransformersModule.ts → src/container/modules/node-transformers/ObfuscatingTransformersModule.ts

@@ -5,12 +5,12 @@ import { IObfuscationReplacer } from '../../../interfaces/node-transformers/IObf
 
 import { NodeObfuscatorsReplacers } from '../../../enums/container/NodeObfuscationReplacers';
 
-import { BooleanLiteralReplacer } from '../../../node-transformers/obfuscation-transformers/replacers/BooleanLiteralReplacer';
-import { IdentifierReplacer } from '../../../node-transformers/obfuscation-transformers/replacers/IdentifierReplacer';
-import { NumberLiteralReplacer } from '../../../node-transformers/obfuscation-transformers/replacers/NumberLiteralReplacer';
-import { StringLiteralReplacer } from '../../../node-transformers/obfuscation-transformers/replacers/StringLiteralReplacer';
+import { BooleanLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/replacers/BooleanLiteralReplacer';
+import { IdentifierReplacer } from '../../../node-transformers/obfuscating-transformers/replacers/IdentifierReplacer';
+import { NumberLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/replacers/NumberLiteralReplacer';
+import { StringLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/replacers/StringLiteralReplacer';
 
-export const obfuscationTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
+export const obfuscatingTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
     bind<IObfuscationReplacer>(ServiceIdentifiers.IObfuscatorReplacer)
         .to(BooleanLiteralReplacer)
         .whenTargetNamed(NodeObfuscatorsReplacers.BooleanReplacer);

+ 0 - 0
src/node-transformers/obfuscation-transformers/CatchClauseTransformer.ts → src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/FunctionDeclarationTransformer.ts → src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/FunctionTransformer.ts → src/node-transformers/obfuscating-transformers/FunctionTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/LabeledStatementTransformer.ts → src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/LiteralTransformer.ts → src/node-transformers/obfuscating-transformers/LiteralTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/ObjectExpressionTransformer.ts → src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/VariableDeclarationTransformer.ts → src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/replacers/AbstractReplacer.ts → src/node-transformers/obfuscating-transformers/replacers/AbstractReplacer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/replacers/BooleanLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/replacers/BooleanLiteralReplacer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/replacers/IdentifierReplacer.ts → src/node-transformers/obfuscating-transformers/replacers/IdentifierReplacer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/replacers/NumberLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/replacers/NumberLiteralReplacer.ts


+ 0 - 0
src/node-transformers/obfuscation-transformers/replacers/StringLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/replacers/StringLiteralReplacer.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/catch-clause-transformer/CatchClauseTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/CatchClauseTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/catch-clause-transformer/fixtures/input.js → test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/fixtures/input.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/catch-clause-transformer/fixtures/object-pattern-as-parameter.js → test/functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/fixtures/object-pattern-as-parameter.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/function-declaration-transformer/fixtures/input.js → test/functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/fixtures/input.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/function-transformer/FunctionTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/FunctionTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/function-transformer/fixtures/input.js → test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/fixtures/input.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/function-transformer/fixtures/object-pattern-as-parameter.js → test/functional-tests/node-transformers/obfuscating-transformers/function-transformer/fixtures/object-pattern-as-parameter.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/labeled-statement-transformer/fixtures/input.js → test/functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/fixtures/input.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/LiteralTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/LiteralTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/boolean-value.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/boolean-value.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/error-when-non-latin.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/error-when-non-latin.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/number-value.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/number-value.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/same-literal-values.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/same-literal-values.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/short-literal-value.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/short-literal-value.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/literal-transformer/fixtures/simple-input.js → test/functional-tests/node-transformers/obfuscating-transformers/literal-transformer/fixtures/simple-input.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js → test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-identifier-value.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/object-expression-transformer/fixtures/property-with-literal-value.js → test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/property-with-literal-value.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js → test/functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/fixtures/shorthand-object-expression.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec.ts


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/let-kind.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/let-kind.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/member-expression-identifier.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/member-expression-identifier.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/object-pattern.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/object-pattern.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/parent-block-scope-is-program-node.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/parent-block-scope-is-program-node.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/property-identifier.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/property-identifier.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/simple-declaration.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/simple-declaration.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/var-kind.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/var-kind.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-1.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-1.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-2.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-2.js


+ 0 - 0
test/functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-3.js → test/functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/fixtures/variable-call-before-variable-declaration-3.js


+ 7 - 7
test/index.spec.ts

@@ -38,13 +38,13 @@ import './functional-tests/node-transformers/control-flow-transformers/control-f
 import './functional-tests/node-transformers/converting-transformers/member-expression-transformer/MemberExpressionTransformer.spec';
 import './functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec';
 import './functional-tests/node-transformers/converting-transformers/template-literal-transformer/TemplateLiteralTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/catch-clause-transformer/CatchClauseTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/function-transformer/FunctionTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/literal-transformer/LiteralTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/object-expression-transformer/ObjectExpressionTransformer.spec';
-import './functional-tests/node-transformers/obfuscation-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/catch-clause-transformer/CatchClauseTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/function-declaration-transformer/FunctionDeclarationTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/function-transformer/FunctionTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/literal-transformer/LiteralTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/object-expression-transformer/ObjectExpressionTransformer.spec';
+import './functional-tests/node-transformers/obfuscating-transformers/variable-declaration-transformer/VariableDeclarationTransformer.spec';
 import './functional-tests/stack-trace-analyzer/stack-trace-analyzer/StackTraceAnalyzer.spec';
 import './functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec';
 import './functional-tests/templates/custom-nodes/string-array-nodes/StringArrayCallsWrapperNodeTemplate.spec';