diff --git a/dist/index.js b/dist/index.js index 7661d4a6..bb66d3c0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -88,7 +88,7 @@ module.exports = /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 110); +/******/ return __webpack_require__(__webpack_require__.s = 106); /******/ }) /************************************************************************/ /******/ ([ @@ -104,9 +104,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var chance_1 = __webpack_require__(29); -var JSFuck_1 = __webpack_require__(23); -var isEqual = __webpack_require__(107); +var chance_1 = __webpack_require__(26); +var JSFuck_1 = __webpack_require__(21); +var isEqual = __webpack_require__(103); var Utils = function () { function Utils() { @@ -737,8 +737,8 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var escodegen = __webpack_require__(12); -var esprima = __webpack_require__(30); +var escodegen = __webpack_require__(11); +var esprima = __webpack_require__(27); var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var Node_1 = __webpack_require__(2); @@ -898,12 +898,6 @@ exports.AbstractNodeTransformer = AbstractNodeTransformer; /***/ }, /* 10 */ -/***/ function(module, exports) { - -module.exports = require("inversify"); - -/***/ }, -/* 11 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -913,13 +907,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -__webpack_require__(33); -if (!global._babelPolyfill) { - __webpack_require__(32); -} -var JavaScriptObfuscatorCLI_1 = __webpack_require__(38); -var JavaScriptObfuscatorInternal_1 = __webpack_require__(34); -var Options_1 = __webpack_require__(26); +var JavaScriptObfuscatorCLI_1 = __webpack_require__(34); +var JavaScriptObfuscatorInternal_1 = __webpack_require__(30); +var Options_1 = __webpack_require__(69); var JavaScriptObfuscator = function () { function JavaScriptObfuscator() { @@ -947,13 +937,13 @@ var JavaScriptObfuscator = function () { exports.JavaScriptObfuscator = JavaScriptObfuscator; /***/ }, -/* 12 */ +/* 11 */ /***/ function(module, exports) { module.exports = require("escodegen"); /***/ }, -/* 13 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -991,7 +981,7 @@ var AbstractCustomNodesFactory = function () { exports.AbstractCustomNodesFactory = AbstractCustomNodesFactory; /***/ }, -/* 14 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1005,7 +995,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var AbstractReplacer_1 = __webpack_require__(17); +var AbstractReplacer_1 = __webpack_require__(15); var Utils_1 = __webpack_require__(0); var IdentifierReplacer = function (_AbstractReplacer_1$A) { @@ -1051,23 +1041,7 @@ var IdentifierReplacer = function (_AbstractReplacer_1$A) { exports.IdentifierReplacer = IdentifierReplacer; /***/ }, -/* 15 */ -/***/ function(module, exports) { - -"use strict"; -"use strict"; - -var ServiceIdentifiers = { - IObfuscationEventEmitter: Symbol('IObfuscationEventEmitter'), - IObfuscator: Symbol('IObfuscator'), - IOptions: Symbol('IOptions'), - IStackTraceAnalyzer: Symbol('IStackTraceAnalyzer'), - IStorage: Symbol('IStorage') -}; -exports.ServiceIdentifiers = ServiceIdentifiers; - -/***/ }, -/* 16 */ +/* 14 */ /***/ function(module, exports) { "use strict"; @@ -1079,7 +1053,7 @@ exports.SourceMapMode = { }; /***/ }, -/* 17 */ +/* 15 */ /***/ function(module, exports) { "use strict"; @@ -1097,13 +1071,13 @@ var AbstractReplacer = function AbstractReplacer(customNodesStorage, options) { exports.AbstractReplacer = AbstractReplacer; /***/ }, -/* 18 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -var SourceMapMode_1 = __webpack_require__(16); +var SourceMapMode_1 = __webpack_require__(14); exports.NO_CUSTOM_NODES_PRESET = Object.freeze({ compact: true, controlFlowFlattening: false, @@ -1126,7 +1100,7 @@ exports.NO_CUSTOM_NODES_PRESET = Object.freeze({ }); /***/ }, -/* 19 */ +/* 17 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1142,10 +1116,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var SingleNodeCallControllerTemplate_1 = __webpack_require__(86); -var NoCustomNodesPreset_1 = __webpack_require__(18); +var SingleNodeCallControllerTemplate_1 = __webpack_require__(82); +var NoCustomNodesPreset_1 = __webpack_require__(16); var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(11); +var JavaScriptObfuscator_1 = __webpack_require__(10); var NodeAppender_1 = __webpack_require__(3); var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) { @@ -1196,7 +1170,7 @@ var NodeCallsControllerFunctionNode = function (_AbstractCustomNode_) { exports.NodeCallsControllerFunctionNode = NodeCallsControllerFunctionNode; /***/ }, -/* 20 */ +/* 18 */ /***/ function(module, exports) { "use strict"; @@ -1208,7 +1182,7 @@ exports.StringArrayEncoding = { }; /***/ }, -/* 21 */ +/* 19 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1222,9 +1196,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var StringArrayEncoding_1 = __webpack_require__(20); -var AbstractReplacer_1 = __webpack_require__(17); -var NumberLiteralReplacer_1 = __webpack_require__(25); +var StringArrayEncoding_1 = __webpack_require__(18); +var AbstractReplacer_1 = __webpack_require__(15); +var NumberLiteralReplacer_1 = __webpack_require__(23); var Utils_1 = __webpack_require__(0); var StringLiteralReplacer = function (_AbstractReplacer_1$A) { @@ -1290,7 +1264,7 @@ StringLiteralReplacer.rc4Keys = Utils_1.Utils.getRandomGenerator().n(function () exports.StringLiteralReplacer = StringLiteralReplacer; /***/ }, -/* 22 */ +/* 20 */ /***/ function(module, exports) { "use strict"; @@ -1331,7 +1305,7 @@ var ObfuscationResult = function () { exports.ObfuscationResult = ObfuscationResult; /***/ }, -/* 23 */ +/* 21 */ /***/ function(module, exports) { "use strict"; @@ -1395,7 +1369,7 @@ exports.JSFuck = { }; /***/ }, -/* 24 */ +/* 22 */ /***/ function(module, exports) { "use strict"; @@ -1433,7 +1407,7 @@ var AbstractNodeTransformersFactory = function () { exports.AbstractNodeTransformersFactory = AbstractNodeTransformersFactory; /***/ }, -/* 25 */ +/* 23 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1447,7 +1421,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var AbstractReplacer_1 = __webpack_require__(17); +var AbstractReplacer_1 = __webpack_require__(15); var Utils_1 = __webpack_require__(0); var NumberLiteralReplacer = function (_AbstractReplacer_1$A) { @@ -1476,86 +1450,13 @@ var NumberLiteralReplacer = function (_AbstractReplacer_1$A) { exports.NumberLiteralReplacer = NumberLiteralReplacer; /***/ }, -/* 26 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var inversify_1 = __webpack_require__(10); -var class_validator_1 = __webpack_require__(103); -var DefaultPreset_1 = __webpack_require__(27); -var OptionsNormalizer_1 = __webpack_require__(74); -var ValidationErrorsFormatter_1 = __webpack_require__(75); -var Options_1 = function Options(inputOptions) { - _classCallCheck(this, Options); - - Object.assign(this, DefaultPreset_1.DEFAULT_PRESET, inputOptions); - var errors = class_validator_1.validateSync(this, Options_1.validatorOptions); - if (errors.length) { - throw new ReferenceError("Validation failed. errors:\n" + ValidationErrorsFormatter_1.ValidationErrorsFormatter.format(errors)); - } - Object.assign(this, OptionsNormalizer_1.OptionsNormalizer.normalizeOptions(this)); -}; -var Options = Options_1; -Options.validatorOptions = { - validationError: { - target: false - } -}; -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "compact", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "controlFlowFlattening", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "debugProtection", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "debugProtectionInterval", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "disableConsoleOutput", void 0); -__decorate([class_validator_1.IsArray(), class_validator_1.ArrayUnique(), class_validator_1.IsString({ - each: true -}), __metadata('design:type', Array)], Options.prototype, "domainLock", void 0); -__decorate([class_validator_1.IsArray(), class_validator_1.ArrayUnique(), class_validator_1.IsString({ - each: true -}), __metadata('design:type', Array)], Options.prototype, "reservedNames", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "rotateStringArray", void 0); -__decorate([class_validator_1.IsNumber(), __metadata('design:type', Number)], Options.prototype, "seed", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "selfDefending", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "sourceMap", void 0); -__decorate([class_validator_1.IsString(), class_validator_1.ValidateIf(function (options) { - return Boolean(options.sourceMapBaseUrl); -}), class_validator_1.IsUrl({ - require_protocol: true, - require_valid_protocol: true -}), __metadata('design:type', String)], Options.prototype, "sourceMapBaseUrl", void 0); -__decorate([class_validator_1.IsString(), __metadata('design:type', String)], Options.prototype, "sourceMapFileName", void 0); -__decorate([class_validator_1.IsIn(['inline', 'separate']), __metadata('design:type', String)], Options.prototype, "sourceMapMode", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "stringArray", void 0); -__decorate([class_validator_1.IsIn([true, false, 'base64', 'rc4']), __metadata('design:type', Object)], Options.prototype, "stringArrayEncoding", void 0); -__decorate([class_validator_1.IsNumber(), class_validator_1.Min(0), class_validator_1.Max(1), __metadata('design:type', Number)], Options.prototype, "stringArrayThreshold", void 0); -__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "unicodeEscapeSequence", void 0); -Options = Options_1 = __decorate([inversify_1.injectable(), __metadata('design:paramtypes', [Object])], Options); -exports.Options = Options; - -/***/ }, -/* 27 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var SourceMapMode_1 = __webpack_require__(16); +var SourceMapMode_1 = __webpack_require__(14); exports.DEFAULT_PRESET = Object.freeze({ compact: true, controlFlowFlattening: false, @@ -1578,7 +1479,7 @@ exports.DEFAULT_PRESET = Object.freeze({ }); /***/ }, -/* 28 */ +/* 25 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1586,23 +1487,10 @@ exports.DEFAULT_PRESET = Object.freeze({ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var inversify_1 = __webpack_require__(10); var Utils_1 = __webpack_require__(0); + var MapStorage = function () { function MapStorage() { _classCallCheck(this, MapStorage); @@ -1646,41 +1534,35 @@ var MapStorage = function () { return MapStorage; }(); -MapStorage = __decorate([inversify_1.injectable(), __metadata('design:paramtypes', [])], MapStorage); + exports.MapStorage = MapStorage; /***/ }, -/* 29 */ +/* 26 */ /***/ function(module, exports) { module.exports = require("chance"); /***/ }, -/* 30 */ +/* 27 */ /***/ function(module, exports) { module.exports = require("esprima"); /***/ }, -/* 31 */ +/* 28 */ /***/ function(module, exports) { module.exports = require("path"); /***/ }, -/* 32 */ +/* 29 */ /***/ function(module, exports) { module.exports = require("babel-polyfill"); /***/ }, -/* 33 */ -/***/ function(module, exports) { - -module.exports = require("reflect-metadata"); - -/***/ }, -/* 34 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1690,26 +1572,27 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var InversifyContainerFacade_1 = __webpack_require__(39); -var ServiceIdentifiers_1 = __webpack_require__(15); -var esprima = __webpack_require__(30); -var escodegen = __webpack_require__(12); -var chance_1 = __webpack_require__(29); -var ObfuscationResult_1 = __webpack_require__(22); -var SourceMapCorrector_1 = __webpack_require__(36); +var esprima = __webpack_require__(27); +var escodegen = __webpack_require__(11); +var chance_1 = __webpack_require__(26); +var CustomNodesStorage_1 = __webpack_require__(78); +var NodeUtils_1 = __webpack_require__(8); +var ObfuscationEventEmitter_1 = __webpack_require__(53); +var ObfuscationResult_1 = __webpack_require__(20); +var Obfuscator_1 = __webpack_require__(31); +var SourceMapCorrector_1 = __webpack_require__(32); +var StackTraceAnalyzer_1 = __webpack_require__(72); var Utils_1 = __webpack_require__(0); var JavaScriptObfuscatorInternal = function () { - function JavaScriptObfuscatorInternal(inputOptions) { + function JavaScriptObfuscatorInternal(options) { _classCallCheck(this, JavaScriptObfuscatorInternal); - this.inversifyContainerFacade = new InversifyContainerFacade_1.InversifyContainerFacade(inputOptions); - this.obfuscator = this.inversifyContainerFacade.get(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscator); - this.options = this.inversifyContainerFacade.get(ServiceIdentifiers_1.ServiceIdentifiers.IOptions); + this.options = options; } _createClass(JavaScriptObfuscatorInternal, [{ - key: "generateCode", + key: 'generateCode', value: function generateCode(sourceCode, astTree) { var escodegenParams = Object.assign({}, JavaScriptObfuscatorInternal.escodegenParams); if (this.options.sourceMap) { @@ -1724,18 +1607,21 @@ var JavaScriptObfuscatorInternal = function () { return generatorOutput; } }, { - key: "getObfuscationResult", + key: 'getObfuscationResult', value: function getObfuscationResult(generatorOutput) { return new SourceMapCorrector_1.SourceMapCorrector(new ObfuscationResult_1.ObfuscationResult(generatorOutput.code, generatorOutput.map), this.options.sourceMapBaseUrl + this.options.sourceMapFileName, this.options.sourceMapMode).correct(); } }, { - key: "obfuscate", + key: 'obfuscate', value: function obfuscate(sourceCode) { if (this.options.seed !== 0) { Utils_1.Utils.setRandomGenerator(new chance_1.Chance(this.options.seed)); } var astTree = esprima.parse(sourceCode, JavaScriptObfuscatorInternal.esprimaParams); - var obfuscatedAstTree = this.obfuscator.obfuscateAstTree(astTree); + NodeUtils_1.NodeUtils.parentize(astTree); + var customNodesStorage = new CustomNodesStorage_1.CustomNodesStorage(this.options); + customNodesStorage.initialize(new StackTraceAnalyzer_1.StackTraceAnalyzer().analyze(astTree.body)); + var obfuscatedAstTree = new Obfuscator_1.Obfuscator(new ObfuscationEventEmitter_1.ObfuscationEventEmitter(), this.options).obfuscateAstTree(astTree, customNodesStorage); var generatorOutput = this.generateCode(sourceCode, obfuscatedAstTree); return this.getObfuscationResult(generatorOutput); } @@ -1754,7 +1640,7 @@ JavaScriptObfuscatorInternal.esprimaParams = { exports.JavaScriptObfuscatorInternal = JavaScriptObfuscatorInternal; /***/ }, -/* 35 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1762,70 +1648,46 @@ exports.JavaScriptObfuscatorInternal = JavaScriptObfuscatorInternal; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = undefined && undefined.__param || function (paramIndex, decorator) { - return function (target, key) { - decorator(target, key, paramIndex); - }; -}; -var inversify_1 = __webpack_require__(10); -var ServiceIdentifiers_1 = __webpack_require__(15); var estraverse = __webpack_require__(4); var ObfuscationEvents_1 = __webpack_require__(1); -var VisitorDirection_1 = __webpack_require__(57); -var NodeControlFlowTransformersFactory_1 = __webpack_require__(62); -var NodeObfuscatorsFactory_1 = __webpack_require__(72); +var VisitorDirection_1 = __webpack_require__(52); +var NodeControlFlowTransformersFactory_1 = __webpack_require__(57); +var NodeObfuscatorsFactory_1 = __webpack_require__(67); var Node_1 = __webpack_require__(2); -var NodeUtils_1 = __webpack_require__(8); + var Obfuscator = function () { - function Obfuscator(obfuscationEventEmitter, stackTraceAnalyzer, customNodesStorage, options) { + function Obfuscator(obfuscationEventEmitter, options) { _classCallCheck(this, Obfuscator); this.obfuscationEventEmitter = obfuscationEventEmitter; - this.stackTraceAnalyzer = stackTraceAnalyzer; - this.customNodesStorage = customNodesStorage; this.options = options; } _createClass(Obfuscator, [{ - key: "obfuscateAstTree", - value: function obfuscateAstTree(astTree) { + key: 'obfuscateAstTree', + value: function obfuscateAstTree(astTree, customNodesStorage) { var _this = this; if (Node_1.Node.isProgramNode(astTree) && !astTree.body.length) { return astTree; } - NodeUtils_1.NodeUtils.parentize(astTree); - this.customNodesStorage.initialize(this.stackTraceAnalyzer.analyze(astTree.body)); - this.customNodesStorage.getStorage().forEach(function (customNode) { + customNodesStorage.getStorage().forEach(function (customNode) { _this.obfuscationEventEmitter.once(customNode.getAppendEvent(), customNode.appendNode.bind(customNode)); }); this.obfuscationEventEmitter.emit(ObfuscationEvents_1.ObfuscationEvents.BeforeObfuscation, astTree); if (this.options.controlFlowFlattening) { - this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.leave, new NodeControlFlowTransformersFactory_1.NodeControlFlowTransformersFactory(this.customNodesStorage, this.options)); + this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.leave, new NodeControlFlowTransformersFactory_1.NodeControlFlowTransformersFactory(customNodesStorage, this.options)); } - this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.enter, new NodeObfuscatorsFactory_1.NodeObfuscatorsFactory(this.customNodesStorage, this.options)); + this.transformAstTree(astTree, VisitorDirection_1.VisitorDirection.enter, new NodeObfuscatorsFactory_1.NodeObfuscatorsFactory(customNodesStorage, this.options)); this.obfuscationEventEmitter.emit(ObfuscationEvents_1.ObfuscationEvents.AfterObfuscation, astTree); return astTree; } }, { - key: "transformAstTree", + key: 'transformAstTree', value: function transformAstTree(astTree, direction, nodeTransformersFactory) { estraverse.traverse(astTree, _defineProperty({}, direction, function (node, parentNode) { var nodeTransformers = nodeTransformersFactory.initializeNodeTransformers(node.type); @@ -1838,11 +1700,11 @@ var Obfuscator = function () { return Obfuscator; }(); -Obfuscator = __decorate([inversify_1.injectable(), __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter)), __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStackTraceAnalyzer)), __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStorage)), __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), __metadata('design:paramtypes', [Object, Object, Object, Object])], Obfuscator); + exports.Obfuscator = Obfuscator; /***/ }, -/* 36 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1852,8 +1714,8 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var SourceMapMode_1 = __webpack_require__(16); -var ObfuscationResult_1 = __webpack_require__(22); +var SourceMapMode_1 = __webpack_require__(14); +var ObfuscationResult_1 = __webpack_require__(20); var Utils_1 = __webpack_require__(0); var SourceMapCorrector = function () { @@ -1900,7 +1762,7 @@ var SourceMapCorrector = function () { exports.SourceMapCorrector = SourceMapCorrector; /***/ }, -/* 37 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -1910,9 +1772,9 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var fs = __webpack_require__(106); -var mkdirp = __webpack_require__(108); -var path = __webpack_require__(31); +var fs = __webpack_require__(102); +var mkdirp = __webpack_require__(104); +var path = __webpack_require__(28); var Utils_1 = __webpack_require__(0); var CLIUtils = function () { @@ -1992,7 +1854,7 @@ CLIUtils.encoding = 'utf8'; exports.CLIUtils = CLIUtils; /***/ }, -/* 38 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2002,13 +1864,13 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var commander = __webpack_require__(104); -var path = __webpack_require__(31); -var SourceMapMode_1 = __webpack_require__(16); -var StringArrayEncoding_1 = __webpack_require__(20); -var DefaultPreset_1 = __webpack_require__(27); -var CLIUtils_1 = __webpack_require__(37); -var JavaScriptObfuscator_1 = __webpack_require__(11); +var commander = __webpack_require__(100); +var path = __webpack_require__(28); +var SourceMapMode_1 = __webpack_require__(14); +var StringArrayEncoding_1 = __webpack_require__(18); +var DefaultPreset_1 = __webpack_require__(24); +var CLIUtils_1 = __webpack_require__(33); +var JavaScriptObfuscator_1 = __webpack_require__(10); var Utils_1 = __webpack_require__(0); var JavaScriptObfuscatorCLI = function () { @@ -2140,52 +2002,7 @@ var JavaScriptObfuscatorCLI = function () { exports.JavaScriptObfuscatorCLI = JavaScriptObfuscatorCLI; /***/ }, -/* 39 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var inversify_1 = __webpack_require__(10); -var ServiceIdentifiers_1 = __webpack_require__(15); -var CustomNodesStorage_1 = __webpack_require__(82); -var ObfuscationEventEmitter_1 = __webpack_require__(58); -var Obfuscator_1 = __webpack_require__(35); -var Options_1 = __webpack_require__(26); -var StackTraceAnalyzer_1 = __webpack_require__(76); - -var InversifyContainerFacade = function () { - function InversifyContainerFacade(options) { - _classCallCheck(this, InversifyContainerFacade); - - this.container = new inversify_1.Container(); - this.container.bind(ServiceIdentifiers_1.ServiceIdentifiers.IOptions).toDynamicValue(function () { - return new Options_1.Options(options); - }).inSingletonScope(); - this.container.bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscator).to(Obfuscator_1.Obfuscator); - this.container.bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter).to(ObfuscationEventEmitter_1.ObfuscationEventEmitter).inSingletonScope(); - this.container.bind(ServiceIdentifiers_1.ServiceIdentifiers.IStackTraceAnalyzer).to(StackTraceAnalyzer_1.StackTraceAnalyzer).inSingletonScope(); - this.container.bind(ServiceIdentifiers_1.ServiceIdentifiers.IStorage).to(CustomNodesStorage_1.CustomNodesStorage).inSingletonScope(); - } - - _createClass(InversifyContainerFacade, [{ - key: 'get', - value: function get(serviceIdentifier) { - return this.container.get(serviceIdentifier); - } - }]); - - return InversifyContainerFacade; -}(); - -exports.InversifyContainerFacade = InversifyContainerFacade; - -/***/ }, -/* 40 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2201,7 +2018,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(87); +var ConsoleOutputDisableExpressionTemplate_1 = __webpack_require__(83); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2242,7 +2059,7 @@ var ConsoleOutputDisableExpressionNode = function (_AbstractCustomNode_) { exports.ConsoleOutputDisableExpressionNode = ConsoleOutputDisableExpressionNode; /***/ }, -/* 41 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2256,9 +2073,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var ConsoleOutputDisableExpressionNode_1 = __webpack_require__(40); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(19); -var AbstractCustomNodesFactory_1 = __webpack_require__(13); +var ConsoleOutputDisableExpressionNode_1 = __webpack_require__(35); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); +var AbstractCustomNodesFactory_1 = __webpack_require__(12); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2289,7 +2106,7 @@ var ConsoleOutputCustomNodesFactory = function (_AbstractCustomNodesF) { exports.ConsoleOutputCustomNodesFactory = ConsoleOutputCustomNodesFactory; /***/ }, -/* 42 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2305,7 +2122,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var BinaryExpressionFunctionTemplate_1 = __webpack_require__(88); +var BinaryExpressionFunctionTemplate_1 = __webpack_require__(84); var AbstractCustomNode_1 = __webpack_require__(5); var Utils_1 = __webpack_require__(0); @@ -2341,7 +2158,7 @@ var BinaryExpressionFunctionNode = function (_AbstractCustomNode_) { exports.BinaryExpressionFunctionNode = BinaryExpressionFunctionNode; /***/ }, -/* 43 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2357,7 +2174,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var ControlFlowStorageCallTemplate_1 = __webpack_require__(89); +var ControlFlowStorageCallTemplate_1 = __webpack_require__(85); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); @@ -2400,7 +2217,7 @@ var ControlFlowStorageCallNode = function (_AbstractCustomNode_) { exports.ControlFlowStorageCallNode = ControlFlowStorageCallNode; /***/ }, -/* 44 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2416,7 +2233,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var ControlFlowStorageTemplate_1 = __webpack_require__(90); +var ControlFlowStorageTemplate_1 = __webpack_require__(86); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); @@ -2455,7 +2272,7 @@ var ControlFlowStorageNode = function (_AbstractCustomNode_) { exports.ControlFlowStorageNode = ControlFlowStorageNode; /***/ }, -/* 45 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2471,7 +2288,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(91); +var DebufProtectionFunctionCallTemplate_1 = __webpack_require__(87); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); @@ -2508,7 +2325,7 @@ var DebugProtectionFunctionCallNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionCallNode = DebugProtectionFunctionCallNode; /***/ }, -/* 46 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2524,7 +2341,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(92); +var DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(88); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); @@ -2561,7 +2378,7 @@ var DebugProtectionFunctionIntervalNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionIntervalNode = DebugProtectionFunctionIntervalNode; /***/ }, -/* 47 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2577,7 +2394,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var DebugProtectionFunctionTemplate_1 = __webpack_require__(93); +var DebugProtectionFunctionTemplate_1 = __webpack_require__(89); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2617,7 +2434,7 @@ var DebugProtectionFunctionNode = function (_AbstractCustomNode_) { exports.DebugProtectionFunctionNode = DebugProtectionFunctionNode; /***/ }, -/* 48 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2631,10 +2448,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var DebugProtectionFunctionCallNode_1 = __webpack_require__(45); -var DebugProtectionFunctionIntervalNode_1 = __webpack_require__(46); -var DebugProtectionFunctionNode_1 = __webpack_require__(47); -var AbstractCustomNodesFactory_1 = __webpack_require__(13); +var DebugProtectionFunctionCallNode_1 = __webpack_require__(40); +var DebugProtectionFunctionIntervalNode_1 = __webpack_require__(41); +var DebugProtectionFunctionNode_1 = __webpack_require__(42); +var AbstractCustomNodesFactory_1 = __webpack_require__(12); var Utils_1 = __webpack_require__(0); var DebugProtectionCustomNodesFactory = function (_AbstractCustomNodesF) { @@ -2667,7 +2484,7 @@ var DebugProtectionCustomNodesFactory = function (_AbstractCustomNodesF) { exports.DebugProtectionCustomNodesFactory = DebugProtectionCustomNodesFactory; /***/ }, -/* 49 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2685,7 +2502,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var DomainLockNodeTemplate_1 = __webpack_require__(94); +var DomainLockNodeTemplate_1 = __webpack_require__(90); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2733,7 +2550,7 @@ var DomainLockNode = function (_AbstractCustomNode_) { exports.DomainLockNode = DomainLockNode; /***/ }, -/* 50 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2747,9 +2564,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var DomainLockNode_1 = __webpack_require__(49); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(19); -var AbstractCustomNodesFactory_1 = __webpack_require__(13); +var DomainLockNode_1 = __webpack_require__(44); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); +var AbstractCustomNodesFactory_1 = __webpack_require__(12); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2780,7 +2597,7 @@ var DomainLockCustomNodesFactory = function (_AbstractCustomNodesF) { exports.DomainLockCustomNodesFactory = DomainLockCustomNodesFactory; /***/ }, -/* 51 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2796,11 +2613,11 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(18); -var SelfDefendingTemplate_1 = __webpack_require__(95); +var NoCustomNodesPreset_1 = __webpack_require__(16); +var SelfDefendingTemplate_1 = __webpack_require__(91); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); -var JavaScriptObfuscator_1 = __webpack_require__(11); +var JavaScriptObfuscator_1 = __webpack_require__(10); var Utils_1 = __webpack_require__(0); var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) { @@ -2841,7 +2658,7 @@ var SelfDefendingUnicodeNode = function (_AbstractCustomNode_) { exports.SelfDefendingUnicodeNode = SelfDefendingUnicodeNode; /***/ }, -/* 52 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2856,9 +2673,9 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ObfuscationEvents_1 = __webpack_require__(1); -var NodeCallsControllerFunctionNode_1 = __webpack_require__(19); -var SelfDefendingUnicodeNode_1 = __webpack_require__(51); -var AbstractCustomNodesFactory_1 = __webpack_require__(13); +var NodeCallsControllerFunctionNode_1 = __webpack_require__(17); +var SelfDefendingUnicodeNode_1 = __webpack_require__(46); +var AbstractCustomNodesFactory_1 = __webpack_require__(12); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -2892,7 +2709,7 @@ var SelfDefendingCustomNodesFactory = function (_AbstractCustomNodesF) { exports.SelfDefendingCustomNodesFactory = SelfDefendingCustomNodesFactory; /***/ }, -/* 53 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -2910,16 +2727,16 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var StringArrayEncoding_1 = __webpack_require__(20); -var NoCustomNodesPreset_1 = __webpack_require__(18); -var AtobTemplate_1 = __webpack_require__(84); -var Rc4Template_1 = __webpack_require__(85); -var SelfDefendingTemplate_1 = __webpack_require__(96); -var StringArrayBase64DecodeNodeTemplate_1 = __webpack_require__(97); -var StringArrayCallsWrapperTemplate_1 = __webpack_require__(98); -var StringArrayRC4DecodeNodeTemplate_1 = __webpack_require__(99); +var StringArrayEncoding_1 = __webpack_require__(18); +var NoCustomNodesPreset_1 = __webpack_require__(16); +var AtobTemplate_1 = __webpack_require__(80); +var Rc4Template_1 = __webpack_require__(81); +var SelfDefendingTemplate_1 = __webpack_require__(92); +var StringArrayBase64DecodeNodeTemplate_1 = __webpack_require__(93); +var StringArrayCallsWrapperTemplate_1 = __webpack_require__(94); +var StringArrayRC4DecodeNodeTemplate_1 = __webpack_require__(95); var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(11); +var JavaScriptObfuscator_1 = __webpack_require__(10); var NodeAppender_1 = __webpack_require__(3); var StringArrayCallsWrapper = function (_AbstractCustomNode_) { @@ -3005,7 +2822,7 @@ var StringArrayCallsWrapper = function (_AbstractCustomNode_) { exports.StringArrayCallsWrapper = StringArrayCallsWrapper; /***/ }, -/* 54 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3023,7 +2840,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var StringArrayTemplate_1 = __webpack_require__(100); +var StringArrayTemplate_1 = __webpack_require__(96); var AbstractCustomNode_1 = __webpack_require__(5); var NodeAppender_1 = __webpack_require__(3); @@ -3081,7 +2898,7 @@ StringArrayNode.ARRAY_RANDOM_LENGTH = 4; exports.StringArrayNode = StringArrayNode; /***/ }, -/* 55 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3097,11 +2914,11 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var format = __webpack_require__(7); var ObfuscationEvents_1 = __webpack_require__(1); -var NoCustomNodesPreset_1 = __webpack_require__(18); -var SelfDefendingTemplate_1 = __webpack_require__(101); -var StringArrayRotateFunctionTemplate_1 = __webpack_require__(102); +var NoCustomNodesPreset_1 = __webpack_require__(16); +var SelfDefendingTemplate_1 = __webpack_require__(97); +var StringArrayRotateFunctionTemplate_1 = __webpack_require__(98); var AbstractCustomNode_1 = __webpack_require__(5); -var JavaScriptObfuscator_1 = __webpack_require__(11); +var JavaScriptObfuscator_1 = __webpack_require__(10); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -3160,7 +2977,7 @@ var StringArrayRotateFunctionNode = function (_AbstractCustomNode_) { exports.StringArrayRotateFunctionNode = StringArrayRotateFunctionNode; /***/ }, -/* 56 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3175,11 +2992,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ObfuscationEvents_1 = __webpack_require__(1); -var StringArrayCallsWrapper_1 = __webpack_require__(53); -var StringArrayNode_1 = __webpack_require__(54); -var StringArrayRotateFunctionNode_1 = __webpack_require__(55); -var AbstractCustomNodesFactory_1 = __webpack_require__(13); -var StringArrayStorage_1 = __webpack_require__(83); +var StringArrayCallsWrapper_1 = __webpack_require__(48); +var StringArrayNode_1 = __webpack_require__(49); +var StringArrayRotateFunctionNode_1 = __webpack_require__(50); +var AbstractCustomNodesFactory_1 = __webpack_require__(12); +var StringArrayStorage_1 = __webpack_require__(79); var Utils_1 = __webpack_require__(0); var StringArrayCustomNodesFactory = function (_AbstractCustomNodesF) { @@ -3223,7 +3040,7 @@ var StringArrayCustomNodesFactory = function (_AbstractCustomNodesF) { exports.StringArrayCustomNodesFactory = StringArrayCustomNodesFactory; /***/ }, -/* 57 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3236,50 +3053,36 @@ exports.VisitorDirection = Utils_1.Utils.strEnumify({ }); /***/ }, -/* 58 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var inversify_1 = __webpack_require__(10); -var events_1 = __webpack_require__(105); -inversify_1.decorate(inversify_1.injectable(), events_1.EventEmitter); +var events_1 = __webpack_require__(101); + var ObfuscationEventEmitter = function (_events_1$EventEmitte) { - _inherits(ObfuscationEventEmitter, _events_1$EventEmitte); + _inherits(ObfuscationEventEmitter, _events_1$EventEmitte); - function ObfuscationEventEmitter() { - _classCallCheck(this, ObfuscationEventEmitter); + function ObfuscationEventEmitter() { + _classCallCheck(this, ObfuscationEventEmitter); - return _possibleConstructorReturn(this, (ObfuscationEventEmitter.__proto__ || Object.getPrototypeOf(ObfuscationEventEmitter)).apply(this, arguments)); - } + return _possibleConstructorReturn(this, (ObfuscationEventEmitter.__proto__ || Object.getPrototypeOf(ObfuscationEventEmitter)).apply(this, arguments)); + } - return ObfuscationEventEmitter; + return ObfuscationEventEmitter; }(events_1.EventEmitter); -ObfuscationEventEmitter = __decorate([inversify_1.injectable(), __metadata('design:paramtypes', [])], ObfuscationEventEmitter); + exports.ObfuscationEventEmitter = ObfuscationEventEmitter; /***/ }, -/* 59 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3296,9 +3099,9 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var BinaryExpressionControlFlowReplacer_1 = __webpack_require__(61); -var ControlFlowStorage_1 = __webpack_require__(81); -var ControlFlowStorageNode_1 = __webpack_require__(44); +var BinaryExpressionControlFlowReplacer_1 = __webpack_require__(56); +var ControlFlowStorage_1 = __webpack_require__(77); +var ControlFlowStorageNode_1 = __webpack_require__(39); var Node_1 = __webpack_require__(2); var NodeAppender_1 = __webpack_require__(3); var Utils_1 = __webpack_require__(0); @@ -3358,7 +3161,7 @@ FunctionControlFlowTransformer.controlFlowReplacers = new Map([[NodeType_1.NodeT exports.FunctionControlFlowTransformer = FunctionControlFlowTransformer; /***/ }, -/* 60 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3394,7 +3197,7 @@ var AbstractControlFlowReplacer = function () { exports.AbstractControlFlowReplacer = AbstractControlFlowReplacer; /***/ }, -/* 61 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3408,10 +3211,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(12); -var AbstractControlFlowReplacer_1 = __webpack_require__(60); -var BinaryExpressionFunctionNode_1 = __webpack_require__(42); -var ControlFlowStorageCallNode_1 = __webpack_require__(43); +var escodegen = __webpack_require__(11); +var AbstractControlFlowReplacer_1 = __webpack_require__(55); +var BinaryExpressionFunctionNode_1 = __webpack_require__(37); +var ControlFlowStorageCallNode_1 = __webpack_require__(38); var BinaryExpressionControlFlowReplacer = function (_AbstractControlFlowR) { _inherits(BinaryExpressionControlFlowReplacer, _AbstractControlFlowR); @@ -3444,7 +3247,7 @@ var BinaryExpressionControlFlowReplacer = function (_AbstractControlFlowR) { exports.BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer; /***/ }, -/* 62 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3457,8 +3260,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var NodeType_1 = __webpack_require__(6); -var FunctionControlFlowTransformer_1 = __webpack_require__(59); -var AbstractNodeTransformersFactory_1 = __webpack_require__(24); +var FunctionControlFlowTransformer_1 = __webpack_require__(54); +var AbstractNodeTransformersFactory_1 = __webpack_require__(22); var NodeControlFlowTransformersFactory = function (_AbstractNodeTransfor) { _inherits(NodeControlFlowTransformersFactory, _AbstractNodeTransfor); @@ -3478,7 +3281,7 @@ var NodeControlFlowTransformersFactory = function (_AbstractNodeTransfor) { exports.NodeControlFlowTransformersFactory = NodeControlFlowTransformersFactory; /***/ }, -/* 63 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3495,7 +3298,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(14); +var IdentifierReplacer_1 = __webpack_require__(13); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); @@ -3549,7 +3352,7 @@ var CatchClauseObfuscator = function (_AbstractNodeTransfor) { exports.CatchClauseObfuscator = CatchClauseObfuscator; /***/ }, -/* 64 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3566,7 +3369,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(14); +var IdentifierReplacer_1 = __webpack_require__(13); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); @@ -3624,7 +3427,7 @@ var FunctionDeclarationObfuscator = function (_AbstractNodeTransfor) { exports.FunctionDeclarationObfuscator = FunctionDeclarationObfuscator; /***/ }, -/* 65 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3641,7 +3444,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(14); +var IdentifierReplacer_1 = __webpack_require__(13); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); @@ -3705,7 +3508,7 @@ var FunctionObfuscator = function (_AbstractNodeTransfor) { exports.FunctionObfuscator = FunctionObfuscator; /***/ }, -/* 66 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3722,7 +3525,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(14); +var IdentifierReplacer_1 = __webpack_require__(13); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); @@ -3776,7 +3579,7 @@ var LabeledStatementObfuscator = function (_AbstractNodeTransfor) { exports.LabeledStatementObfuscator = LabeledStatementObfuscator; /***/ }, -/* 67 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3792,12 +3595,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(12); +var escodegen = __webpack_require__(11); var AbstractNodeTransformer_1 = __webpack_require__(9); -var BooleanLiteralReplacer_1 = __webpack_require__(73); +var BooleanLiteralReplacer_1 = __webpack_require__(68); var Node_1 = __webpack_require__(2); -var NumberLiteralReplacer_1 = __webpack_require__(25); -var StringLiteralReplacer_1 = __webpack_require__(21); +var NumberLiteralReplacer_1 = __webpack_require__(23); +var StringLiteralReplacer_1 = __webpack_require__(19); var LiteralObfuscator = function (_AbstractNodeTransfor) { _inherits(LiteralObfuscator, _AbstractNodeTransfor); @@ -3841,7 +3644,7 @@ var LiteralObfuscator = function (_AbstractNodeTransfor) { exports.LiteralObfuscator = LiteralObfuscator; /***/ }, -/* 68 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3855,12 +3658,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(12); +var escodegen = __webpack_require__(11); var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); var Node_1 = __webpack_require__(2); -var StringLiteralReplacer_1 = __webpack_require__(21); +var StringLiteralReplacer_1 = __webpack_require__(19); var MemberExpressionObfuscator = function (_AbstractNodeTransfor) { _inherits(MemberExpressionObfuscator, _AbstractNodeTransfor); @@ -3926,7 +3729,7 @@ var MemberExpressionObfuscator = function (_AbstractNodeTransfor) { exports.MemberExpressionObfuscator = MemberExpressionObfuscator; /***/ }, -/* 69 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3944,7 +3747,7 @@ var estraverse = __webpack_require__(4); var AbstractNodeTransformer_1 = __webpack_require__(9); var Node_1 = __webpack_require__(2); var Utils_1 = __webpack_require__(0); -var StringLiteralReplacer_1 = __webpack_require__(21); +var StringLiteralReplacer_1 = __webpack_require__(19); var MethodDefinitionObfuscator = function (_AbstractNodeTransfor) { _inherits(MethodDefinitionObfuscator, _AbstractNodeTransfor); @@ -3985,7 +3788,7 @@ MethodDefinitionObfuscator.ignoredNames = ['constructor']; exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator; /***/ }, -/* 70 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -3999,7 +3802,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var escodegen = __webpack_require__(12); +var escodegen = __webpack_require__(11); var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); @@ -4071,7 +3874,7 @@ var ObjectExpressionObfuscator = function (_AbstractNodeTransfor) { exports.ObjectExpressionObfuscator = ObjectExpressionObfuscator; /***/ }, -/* 71 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4088,7 +3891,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); var AbstractNodeTransformer_1 = __webpack_require__(9); -var IdentifierReplacer_1 = __webpack_require__(14); +var IdentifierReplacer_1 = __webpack_require__(13); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); @@ -4149,7 +3952,7 @@ var VariableDeclarationObfuscator = function (_AbstractNodeTransfor) { exports.VariableDeclarationObfuscator = VariableDeclarationObfuscator; /***/ }, -/* 72 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4162,16 +3965,16 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var NodeType_1 = __webpack_require__(6); -var CatchClauseObfuscator_1 = __webpack_require__(63); -var FunctionDeclarationObfuscator_1 = __webpack_require__(64); -var FunctionObfuscator_1 = __webpack_require__(65); -var LabeledStatementObfuscator_1 = __webpack_require__(66); -var LiteralObfuscator_1 = __webpack_require__(67); -var MemberExpressionObfuscator_1 = __webpack_require__(68); -var MethodDefinitionObfuscator_1 = __webpack_require__(69); -var ObjectExpressionObfuscator_1 = __webpack_require__(70); -var VariableDeclarationObfuscator_1 = __webpack_require__(71); -var AbstractNodeTransformersFactory_1 = __webpack_require__(24); +var CatchClauseObfuscator_1 = __webpack_require__(58); +var FunctionDeclarationObfuscator_1 = __webpack_require__(59); +var FunctionObfuscator_1 = __webpack_require__(60); +var LabeledStatementObfuscator_1 = __webpack_require__(61); +var LiteralObfuscator_1 = __webpack_require__(62); +var MemberExpressionObfuscator_1 = __webpack_require__(63); +var MethodDefinitionObfuscator_1 = __webpack_require__(64); +var ObjectExpressionObfuscator_1 = __webpack_require__(65); +var VariableDeclarationObfuscator_1 = __webpack_require__(66); +var AbstractNodeTransformersFactory_1 = __webpack_require__(22); var NodeObfuscatorsFactory = function (_AbstractNodeTransfor) { _inherits(NodeObfuscatorsFactory, _AbstractNodeTransfor); @@ -4191,7 +3994,7 @@ var NodeObfuscatorsFactory = function (_AbstractNodeTransfor) { exports.NodeObfuscatorsFactory = NodeObfuscatorsFactory; /***/ }, -/* 73 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4205,8 +4008,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var JSFuck_1 = __webpack_require__(23); -var AbstractReplacer_1 = __webpack_require__(17); +var JSFuck_1 = __webpack_require__(21); +var AbstractReplacer_1 = __webpack_require__(15); var BooleanLiteralReplacer = function (_AbstractReplacer_1$A) { _inherits(BooleanLiteralReplacer, _AbstractReplacer_1$A); @@ -4230,7 +4033,79 @@ var BooleanLiteralReplacer = function (_AbstractReplacer_1$A) { exports.BooleanLiteralReplacer = BooleanLiteralReplacer; /***/ }, -/* 74 */ +/* 69 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +"use strict"; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d; + if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { + if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + }return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = undefined && undefined.__metadata || function (k, v) { + if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var class_validator_1 = __webpack_require__(99); +var DefaultPreset_1 = __webpack_require__(24); +var OptionsNormalizer_1 = __webpack_require__(70); +var ValidationErrorsFormatter_1 = __webpack_require__(71); + +var Options = function Options(inputOptions) { + _classCallCheck(this, Options); + + Object.assign(this, DefaultPreset_1.DEFAULT_PRESET, inputOptions); + var errors = class_validator_1.validateSync(this, Options.validatorOptions); + if (errors.length) { + throw new ReferenceError("Validation failed. errors:\n" + ValidationErrorsFormatter_1.ValidationErrorsFormatter.format(errors)); + } + Object.assign(this, OptionsNormalizer_1.OptionsNormalizer.normalizeOptions(this)); +}; + +Options.validatorOptions = { + validationError: { + target: false + } +}; +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "compact", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "controlFlowFlattening", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "debugProtection", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "debugProtectionInterval", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "disableConsoleOutput", void 0); +__decorate([class_validator_1.IsArray(), class_validator_1.ArrayUnique(), class_validator_1.IsString({ + each: true +}), __metadata('design:type', Array)], Options.prototype, "domainLock", void 0); +__decorate([class_validator_1.IsArray(), class_validator_1.ArrayUnique(), class_validator_1.IsString({ + each: true +}), __metadata('design:type', Array)], Options.prototype, "reservedNames", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "rotateStringArray", void 0); +__decorate([class_validator_1.IsNumber(), __metadata('design:type', Number)], Options.prototype, "seed", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "selfDefending", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "sourceMap", void 0); +__decorate([class_validator_1.IsString(), class_validator_1.ValidateIf(function (options) { + return Boolean(options.sourceMapBaseUrl); +}), class_validator_1.IsUrl({ + require_protocol: true, + require_valid_protocol: true +}), __metadata('design:type', String)], Options.prototype, "sourceMapBaseUrl", void 0); +__decorate([class_validator_1.IsString(), __metadata('design:type', String)], Options.prototype, "sourceMapFileName", void 0); +__decorate([class_validator_1.IsIn(['inline', 'separate']), __metadata('design:type', String)], Options.prototype, "sourceMapMode", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "stringArray", void 0); +__decorate([class_validator_1.IsIn([true, false, 'base64', 'rc4']), __metadata('design:type', Object)], Options.prototype, "stringArrayEncoding", void 0); +__decorate([class_validator_1.IsNumber(), class_validator_1.Min(0), class_validator_1.Max(1), __metadata('design:type', Number)], Options.prototype, "stringArrayThreshold", void 0); +__decorate([class_validator_1.IsBoolean(), __metadata('design:type', Boolean)], Options.prototype, "unicodeEscapeSequence", void 0); +exports.Options = Options; + +/***/ }, +/* 70 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4397,7 +4272,7 @@ OptionsNormalizer.normalizerRules = [OptionsNormalizer.domainLockRule, OptionsNo exports.OptionsNormalizer = OptionsNormalizer; /***/ }, -/* 75 */ +/* 71 */ /***/ function(module, exports) { "use strict"; @@ -4464,7 +4339,7 @@ var ValidationErrorsFormatter = function () { exports.ValidationErrorsFormatter = ValidationErrorsFormatter; /***/ }, -/* 76 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4472,30 +4347,17 @@ exports.ValidationErrorsFormatter = ValidationErrorsFormatter; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var inversify_1 = __webpack_require__(10); var estraverse = __webpack_require__(4); var NodeType_1 = __webpack_require__(6); -var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(77); -var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(78); -var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(79); +var FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(73); +var FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(74); +var ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(75); var Node_1 = __webpack_require__(2); var NodeUtils_1 = __webpack_require__(8); -var StackTraceAnalyzer_1 = function () { + +var StackTraceAnalyzer = function () { function StackTraceAnalyzer() { _classCallCheck(this, StackTraceAnalyzer); @@ -4503,22 +4365,22 @@ var StackTraceAnalyzer_1 = function () { } _createClass(StackTraceAnalyzer, [{ - key: "analyze", + key: 'analyze', value: function analyze(blockScopeBody) { return this.analyzeRecursive(blockScopeBody); } }, { - key: "analyzeRecursive", + key: 'analyzeRecursive', value: function analyzeRecursive(blockScopeBody) { var _this = this; - var limitIndex = StackTraceAnalyzer_1.getLimitIndex(blockScopeBody.length); + var limitIndex = StackTraceAnalyzer.getLimitIndex(blockScopeBody.length); var stackTraceData = []; var _loop = function _loop(index, blockScopeBodyLength) { var rootNode = blockScopeBody[index]; if (index > limitIndex) { - return "break"; + return 'break'; } estraverse.traverse(rootNode, { enter: function enter(node) { @@ -4541,18 +4403,18 @@ var StackTraceAnalyzer_1 = function () { for (var index = 0, blockScopeBodyLength = blockScopeBody.length; index < blockScopeBodyLength; index++) { var _ret = _loop(index, blockScopeBodyLength); - if (_ret === "break") break; + if (_ret === 'break') break; } return stackTraceData; } }], [{ - key: "getLimitIndex", + key: 'getLimitIndex', value: function getLimitIndex(blockScopeBodyLength) { var lastIndex = blockScopeBodyLength - 1; - var limitThresholdActivationIndex = StackTraceAnalyzer_1.limitThresholdActivationLength - 1; + var limitThresholdActivationIndex = StackTraceAnalyzer.limitThresholdActivationLength - 1; var limitIndex = lastIndex; if (lastIndex > limitThresholdActivationIndex) { - limitIndex = Math.round(limitThresholdActivationIndex + lastIndex * StackTraceAnalyzer_1.limitThreshold); + limitIndex = Math.round(limitThresholdActivationIndex + lastIndex * StackTraceAnalyzer.limitThreshold); if (limitIndex > lastIndex) { limitIndex = lastIndex; } @@ -4563,14 +4425,13 @@ var StackTraceAnalyzer_1 = function () { return StackTraceAnalyzer; }(); -var StackTraceAnalyzer = StackTraceAnalyzer_1; + StackTraceAnalyzer.limitThresholdActivationLength = 25; StackTraceAnalyzer.limitThreshold = 0.002; -StackTraceAnalyzer = StackTraceAnalyzer_1 = __decorate([inversify_1.injectable(), __metadata('design:paramtypes', [])], StackTraceAnalyzer); exports.StackTraceAnalyzer = StackTraceAnalyzer; /***/ }, -/* 77 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4629,7 +4490,7 @@ var FunctionDeclarationCalleeDataExtractor = function () { exports.FunctionDeclarationCalleeDataExtractor = FunctionDeclarationCalleeDataExtractor; /***/ }, -/* 78 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4691,7 +4552,7 @@ var FunctionExpressionCalleeDataExtractor = function () { exports.FunctionExpressionCalleeDataExtractor = FunctionExpressionCalleeDataExtractor; /***/ }, -/* 79 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4823,7 +4684,7 @@ var ObjectExpressionCalleeDataExtractor = function () { exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor; /***/ }, -/* 80 */ +/* 76 */ /***/ function(module, exports) { "use strict"; @@ -4880,7 +4741,7 @@ var ArrayStorage = function () { exports.ArrayStorage = ArrayStorage; /***/ }, -/* 81 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4896,7 +4757,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var MapStorage_1 = __webpack_require__(28); +var MapStorage_1 = __webpack_require__(25); var ControlFlowStorage = function (_MapStorage_1$MapStor) { _inherits(ControlFlowStorage, _MapStorage_1$MapStor); @@ -4927,7 +4788,7 @@ var ControlFlowStorage = function (_MapStorage_1$MapStor) { exports.ControlFlowStorage = ControlFlowStorage; /***/ }, -/* 82 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -4935,8 +4796,6 @@ exports.ControlFlowStorage = ControlFlowStorage; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -4945,31 +4804,14 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { - if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - }return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = undefined && undefined.__metadata || function (k, v) { - if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = undefined && undefined.__param || function (paramIndex, decorator) { - return function (target, key) { - decorator(target, key, paramIndex); - }; -}; -var inversify_1 = __webpack_require__(10); -var ServiceIdentifiers_1 = __webpack_require__(15); -var ConsoleOutputCustomNodesFactory_1 = __webpack_require__(41); -var DebugProtectionCustomNodesFactory_1 = __webpack_require__(48); -var DomainLockCustomNodesFactory_1 = __webpack_require__(50); -var MapStorage_1 = __webpack_require__(28); -var SelfDefendingCustomNodesFactory_1 = __webpack_require__(52); -var StringArrayCustomNodesFactory_1 = __webpack_require__(56); -var CustomNodesStorage_1 = function (_MapStorage_1$MapStor) { +var ConsoleOutputCustomNodesFactory_1 = __webpack_require__(36); +var DebugProtectionCustomNodesFactory_1 = __webpack_require__(43); +var DomainLockCustomNodesFactory_1 = __webpack_require__(45); +var MapStorage_1 = __webpack_require__(25); +var SelfDefendingCustomNodesFactory_1 = __webpack_require__(47); +var StringArrayCustomNodesFactory_1 = __webpack_require__(51); + +var CustomNodesStorage = function (_MapStorage_1$MapStor) { _inherits(CustomNodesStorage, _MapStorage_1$MapStor); function CustomNodesStorage(options) { @@ -4982,12 +4824,12 @@ var CustomNodesStorage_1 = function (_MapStorage_1$MapStor) { } _createClass(CustomNodesStorage, [{ - key: "initialize", + key: 'initialize', value: function initialize(stackTraceData) { var _this2 = this; var customNodes = []; - CustomNodesStorage_1.customNodesFactories.forEach(function (customNodesFactoryConstructor) { + CustomNodesStorage.customNodesFactories.forEach(function (customNodesFactoryConstructor) { var customNodesFactory = new customNodesFactoryConstructor(_this2.options).initializeCustomNodes(stackTraceData); if (!customNodesFactory) { return; @@ -5000,13 +4842,12 @@ var CustomNodesStorage_1 = function (_MapStorage_1$MapStor) { return CustomNodesStorage; }(MapStorage_1.MapStorage); -var CustomNodesStorage = CustomNodesStorage_1; + CustomNodesStorage.customNodesFactories = [DomainLockCustomNodesFactory_1.DomainLockCustomNodesFactory, SelfDefendingCustomNodesFactory_1.SelfDefendingCustomNodesFactory, ConsoleOutputCustomNodesFactory_1.ConsoleOutputCustomNodesFactory, DebugProtectionCustomNodesFactory_1.DebugProtectionCustomNodesFactory, StringArrayCustomNodesFactory_1.StringArrayCustomNodesFactory]; -CustomNodesStorage = CustomNodesStorage_1 = __decorate([inversify_1.injectable(), __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), __metadata('design:paramtypes', [Object])], CustomNodesStorage); exports.CustomNodesStorage = CustomNodesStorage; /***/ }, -/* 83 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -5020,7 +4861,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var ArrayStorage_1 = __webpack_require__(80); +var ArrayStorage_1 = __webpack_require__(76); var Utils_1 = __webpack_require__(0); var StringArrayStorage = function (_ArrayStorage_1$Array) { @@ -5052,7 +4893,7 @@ var StringArrayStorage = function (_ArrayStorage_1$Array) { exports.StringArrayStorage = StringArrayStorage; /***/ }, -/* 84 */ +/* 80 */ /***/ function(module, exports) { "use strict"; @@ -5064,7 +4905,7 @@ function AtobTemplate() { exports.AtobTemplate = AtobTemplate; /***/ }, -/* 85 */ +/* 81 */ /***/ function(module, exports) { "use strict"; @@ -5076,7 +4917,7 @@ function Rc4Template() { exports.Rc4Template = Rc4Template; /***/ }, -/* 86 */ +/* 82 */ /***/ function(module, exports) { "use strict"; @@ -5088,7 +4929,7 @@ function SingleNodeCallControllerTemplate() { exports.SingleNodeCallControllerTemplate = SingleNodeCallControllerTemplate; /***/ }, -/* 87 */ +/* 83 */ /***/ function(module, exports) { "use strict"; @@ -5100,7 +4941,7 @@ function ConsoleOutputDisableExpressionTemplate() { exports.ConsoleOutputDisableExpressionTemplate = ConsoleOutputDisableExpressionTemplate; /***/ }, -/* 88 */ +/* 84 */ /***/ function(module, exports) { "use strict"; @@ -5112,7 +4953,7 @@ function BinaryExpressionFunctionTemplate() { exports.BinaryExpressionFunctionTemplate = BinaryExpressionFunctionTemplate; /***/ }, -/* 89 */ +/* 85 */ /***/ function(module, exports) { "use strict"; @@ -5124,7 +4965,7 @@ function ControlFlowStorageCallTemplate() { exports.ControlFlowStorageCallTemplate = ControlFlowStorageCallTemplate; /***/ }, -/* 90 */ +/* 86 */ /***/ function(module, exports) { "use strict"; @@ -5136,7 +4977,7 @@ function ControlFlowStorageTemplate() { exports.ControlFlowStorageTemplate = ControlFlowStorageTemplate; /***/ }, -/* 91 */ +/* 87 */ /***/ function(module, exports) { "use strict"; @@ -5148,7 +4989,7 @@ function DebugProtectionFunctionCallTemplate() { exports.DebugProtectionFunctionCallTemplate = DebugProtectionFunctionCallTemplate; /***/ }, -/* 92 */ +/* 88 */ /***/ function(module, exports) { "use strict"; @@ -5160,7 +5001,7 @@ function DebugProtectionFunctionIntervalTemplate() { exports.DebugProtectionFunctionIntervalTemplate = DebugProtectionFunctionIntervalTemplate; /***/ }, -/* 93 */ +/* 89 */ /***/ function(module, exports) { "use strict"; @@ -5172,7 +5013,7 @@ function DebugProtectionFunctionTemplate() { exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate; /***/ }, -/* 94 */ +/* 90 */ /***/ function(module, exports) { "use strict"; @@ -5184,7 +5025,7 @@ function DomainLockNodeTemplate() { exports.DomainLockNodeTemplate = DomainLockNodeTemplate; /***/ }, -/* 95 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -5197,7 +5038,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 96 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -5210,7 +5051,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 97 */ +/* 93 */ /***/ function(module, exports) { "use strict"; @@ -5222,7 +5063,7 @@ function StringArrayBase64DecodeNodeTemplate() { exports.StringArrayBase64DecodeNodeTemplate = StringArrayBase64DecodeNodeTemplate; /***/ }, -/* 98 */ +/* 94 */ /***/ function(module, exports) { "use strict"; @@ -5234,7 +5075,7 @@ function StringArrayCallsWrapperTemplate() { exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate; /***/ }, -/* 99 */ +/* 95 */ /***/ function(module, exports) { "use strict"; @@ -5246,7 +5087,7 @@ function StringArrayRc4DecodeNodeTemplate() { exports.StringArrayRc4DecodeNodeTemplate = StringArrayRc4DecodeNodeTemplate; /***/ }, -/* 100 */ +/* 96 */ /***/ function(module, exports) { "use strict"; @@ -5258,7 +5099,7 @@ function StringArrayTemplate() { exports.StringArrayTemplate = StringArrayTemplate; /***/ }, -/* 101 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -5271,7 +5112,7 @@ function SelfDefendingTemplate() { exports.SelfDefendingTemplate = SelfDefendingTemplate; /***/ }, -/* 102 */ +/* 98 */ /***/ function(module, exports) { "use strict"; @@ -5283,50 +5124,53 @@ function StringArrayRotateFunctionTemplate() { exports.StringArrayRotateFunctionTemplate = StringArrayRotateFunctionTemplate; /***/ }, -/* 103 */ +/* 99 */ /***/ function(module, exports) { module.exports = require("class-validator"); /***/ }, -/* 104 */ +/* 100 */ /***/ function(module, exports) { module.exports = require("commander"); /***/ }, -/* 105 */ +/* 101 */ /***/ function(module, exports) { module.exports = require("events"); /***/ }, -/* 106 */ +/* 102 */ /***/ function(module, exports) { module.exports = require("fs"); /***/ }, -/* 107 */ +/* 103 */ /***/ function(module, exports) { module.exports = require("is-equal"); /***/ }, -/* 108 */ +/* 104 */ /***/ function(module, exports) { module.exports = require("mkdirp"); /***/ }, -/* 109 */, -/* 110 */ +/* 105 */, +/* 106 */ /***/ function(module, exports, __webpack_require__) { "use strict"; "use strict"; -var JavaScriptObfuscator_1 = __webpack_require__(11); +var JavaScriptObfuscator_1 = __webpack_require__(10); +if (!global._babelPolyfill) { + __webpack_require__(29); +} module.exports = JavaScriptObfuscator_1.JavaScriptObfuscator; /***/ } diff --git a/package.json b/package.json index 04d6b799..5c272f1a 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "class-validator": "0.6.6", "commander": "2.9.0", "escodegen": "1.8.1", - "esprima": "3.1.1", + "esprima": "3.1.2", "estraverse": "4.2.0", "inversify": "^3.0.0-beta.2", "is-equal": "^1.5.3", @@ -45,7 +45,7 @@ "@types/joi": "9.0.33", "@types/mkdirp": "0.3.29", "@types/mocha": "2.2.33", - "@types/node": "6.0.49", + "@types/node": "6.0.51", "@types/sinon": "1.16.32", "@types/string-template": "^1.0.2", "awesome-typescript-loader": "^3.0.0-beta.9", @@ -55,10 +55,10 @@ "chai": "3.5.0", "coveralls": "2.11.15", "istanbul": "1.1.0-alpha.1", - "mocha": "3.1.2", + "mocha": "3.2.0", "sinon": "2.0.0-pre.3", "ts-node": "1.7.0", - "tslint": "4.0.1", + "tslint": "4.0.2", "typescript": "2.0.10", "webpack": "2.1.0-beta.27", "webpack-node-externals": "1.5.4" diff --git a/src/interfaces/IObfuscator.d.ts b/src/interfaces/IObfuscator.d.ts index b8f555b9..bd9fef1d 100644 --- a/src/interfaces/IObfuscator.d.ts +++ b/src/interfaces/IObfuscator.d.ts @@ -1,5 +1,8 @@ import * as ESTree from 'estree'; +import { ICustomNode } from './custom-nodes/ICustomNode'; +import { IStorage } from './IStorage'; + export interface IObfuscator { - obfuscateAstTree (astTree: ESTree.Program): ESTree.Program; + obfuscateAstTree (astTree: ESTree.Program, customNodesStorage: IStorage): ESTree.Program; } diff --git a/src/types/TSourceMapMode.ts b/src/types/TSourceMapMode.d.ts similarity index 100% rename from src/types/TSourceMapMode.ts rename to src/types/TSourceMapMode.d.ts diff --git a/src/types/TStringArrayEncoding.ts b/src/types/TStringArrayEncoding.d.ts similarity index 100% rename from src/types/TStringArrayEncoding.ts rename to src/types/TStringArrayEncoding.d.ts