浏览代码

Project structure reorganized

sanex3339 7 年之前
父节点
当前提交
22756b8b34
共有 46 个文件被更改,包括 162 次插入166 次删除
  1. 1 1
      package.json
  2. 2 2
      src/JavaScriptObfuscator.ts
  3. 1 1
      src/cli/sanitizers/SourceMapModeSanitizer.ts
  4. 4 4
      src/container/InversifyContainerFacade.ts
  5. 0 0
      src/enums/node-transformers/VisitorDirection.ts
  6. 0 0
      src/enums/node/NodeType.ts
  7. 0 0
      src/enums/source-map/SourceMapMode.ts
  8. 1 1
      src/interfaces/node-transformers/INodeTransformer.d.ts
  9. 1 1
      src/interfaces/node-transformers/ITransformersRunner.d.ts
  10. 0 0
      src/interfaces/node-transformers/IVisitor.d.ts
  11. 1 1
      src/interfaces/options/IOptions.d.ts
  12. 1 1
      src/interfaces/source-map/ISourceMapCorrector.d.ts
  13. 1 1
      src/node-transformers/AbstractNodeTransformer.ts
  14. 10 10
      src/node-transformers/TransformersRunner.ts
  15. 1 1
      src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts
  16. 2 2
      src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts
  17. 2 2
      src/node-transformers/converting-transformers/MemberExpressionTransformer.ts
  18. 2 2
      src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts
  19. 1 1
      src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts
  20. 1 1
      src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts
  21. 1 1
      src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts
  22. 2 2
      src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts
  23. 2 2
      src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts
  24. 1 1
      src/node-transformers/obfuscating-transformers/FunctionTransformer.ts
  25. 1 1
      src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts
  26. 1 1
      src/node-transformers/obfuscating-transformers/LiteralTransformer.ts
  27. 2 2
      src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts
  28. 2 2
      src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts
  29. 1 1
      src/node-transformers/preparing-transformers/NodeGuardTransformer.ts
  30. 1 1
      src/node-transformers/preparing-transformers/ParentizeTransformer.ts
  31. 1 1
      src/node/Node.ts
  32. 1 1
      src/node/NodeUtils.ts
  33. 1 1
      src/node/Nodes.ts
  34. 1 1
      src/options/Options.ts
  35. 1 1
      src/options/presets/Default.ts
  36. 1 1
      src/options/presets/NoCustomNodes.ts
  37. 7 7
      src/source-map/SourceMapCorrector.ts
  38. 0 0
      src/types/node-transformers/TVisitorDirection.d.ts
  39. 0 0
      src/types/node-transformers/TVisitorFunction.d.ts
  40. 0 0
      src/types/node-transformers/TVisitorResult.d.ts
  41. 0 0
      src/types/source-map/TSourceMapMode.d.ts
  42. 0 92
      test/functional-tests/javascript-obfuscator-internal/JavaScriptObfuscatorInternal.spec.ts
  43. 2 2
      test/index.spec.ts
  44. 94 0
      test/unit-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts
  45. 3 3
      test/unit-tests/source-map/SourceMapCorrector.spec.ts
  46. 4 10
      yarn.lock

+ 1 - 1
package.json

@@ -69,7 +69,7 @@
     "tslint-language-service": "^0.9.6",
     "tslint-language-service": "^0.9.6",
     "tslint-webpack-plugin": "1.0.0",
     "tslint-webpack-plugin": "1.0.0",
     "typescript": "2.5.2",
     "typescript": "2.5.2",
-    "webpack": "3.5.5",
+    "webpack": "3.5.6",
     "webpack-node-externals": "1.6.0"
     "webpack-node-externals": "1.6.0"
   },
   },
   "repository": {
   "repository": {

+ 2 - 2
src/JavaScriptObfuscator.ts

@@ -14,11 +14,11 @@ import { IObfuscationEventEmitter } from './interfaces/event-emitters/IObfuscati
 import { IObfuscationResult } from './interfaces/IObfuscationResult';
 import { IObfuscationResult } from './interfaces/IObfuscationResult';
 import { IOptions } from './interfaces/options/IOptions';
 import { IOptions } from './interfaces/options/IOptions';
 import { IRandomGenerator } from './interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from './interfaces/utils/IRandomGenerator';
-import { ISourceMapCorrector } from './interfaces/ISourceMapCorrector';
+import { ISourceMapCorrector } from './interfaces/source-map/ISourceMapCorrector';
 import { IStackTraceAnalyzer } from './interfaces/analyzers/stack-trace-analyzer/IStackTraceAnalyzer';
 import { IStackTraceAnalyzer } from './interfaces/analyzers/stack-trace-analyzer/IStackTraceAnalyzer';
 import { IStackTraceData } from './interfaces/analyzers/stack-trace-analyzer/IStackTraceData';
 import { IStackTraceData } from './interfaces/analyzers/stack-trace-analyzer/IStackTraceData';
 import { IStorage } from './interfaces/storages/IStorage';
 import { IStorage } from './interfaces/storages/IStorage';
-import { ITransformersRunner } from './interfaces/ITransformersRunner';
+import { ITransformersRunner } from './interfaces/node-transformers/ITransformersRunner';
 
 
 import { LoggingMessage } from './enums/logger/LoggingMessage';
 import { LoggingMessage } from './enums/logger/LoggingMessage';
 import { NodeTransformer } from './enums/container/node-transformers/NodeTransformer';
 import { NodeTransformer } from './enums/container/node-transformers/NodeTransformer';

+ 1 - 1
src/cli/sanitizers/SourceMapModeSanitizer.ts

@@ -1,6 +1,6 @@
 import { TCLISanitizer } from '../../types/cli/TCLISanitizer';
 import { TCLISanitizer } from '../../types/cli/TCLISanitizer';
 
 
-import { SourceMapMode } from '../../enums/SourceMapMode';
+import { SourceMapMode } from '../../enums/source-map/SourceMapMode';
 
 
 /**
 /**
  * @param {string} value
  * @param {string} value

+ 4 - 4
src/container/InversifyContainerFacade.ts

@@ -19,8 +19,8 @@ import { IObfuscationEventEmitter } from '../interfaces/event-emitters/IObfuscat
 import { IObfuscationResult } from '../interfaces/IObfuscationResult';
 import { IObfuscationResult } from '../interfaces/IObfuscationResult';
 import { IOptions } from '../interfaces/options/IOptions';
 import { IOptions } from '../interfaces/options/IOptions';
 import { ISourceCode } from '../interfaces/ISourceCode';
 import { ISourceCode } from '../interfaces/ISourceCode';
-import { ISourceMapCorrector } from '../interfaces/ISourceMapCorrector';
-import { ITransformersRunner } from '../interfaces/ITransformersRunner';
+import { ISourceMapCorrector } from '../interfaces/source-map/ISourceMapCorrector';
+import { ITransformersRunner } from '../interfaces/node-transformers/ITransformersRunner';
 
 
 import { JavaScriptObfuscator } from '../JavaScriptObfuscator';
 import { JavaScriptObfuscator } from '../JavaScriptObfuscator';
 import { Logger } from '../logger/Logger';
 import { Logger } from '../logger/Logger';
@@ -28,8 +28,8 @@ import { ObfuscationEventEmitter } from '../event-emitters/ObfuscationEventEmitt
 import { ObfuscationResult } from '../ObfuscationResult';
 import { ObfuscationResult } from '../ObfuscationResult';
 import { Options } from "../options/Options";
 import { Options } from "../options/Options";
 import { SourceCode } from '../SourceCode';
 import { SourceCode } from '../SourceCode';
-import { SourceMapCorrector } from '../SourceMapCorrector';
-import { TransformersRunner } from '../TransformersRunner';
+import { SourceMapCorrector } from '../source-map/SourceMapCorrector';
+import { TransformersRunner } from '../node-transformers/TransformersRunner';
 
 
 export class InversifyContainerFacade implements IInversifyContainerFacade {
 export class InversifyContainerFacade implements IInversifyContainerFacade {
     /**
     /**

+ 0 - 0
src/enums/VisitorDirection.ts → src/enums/node-transformers/VisitorDirection.ts


+ 0 - 0
src/enums/NodeType.ts → src/enums/node/NodeType.ts


+ 0 - 0
src/enums/SourceMapMode.ts → src/enums/source-map/SourceMapMode.ts


+ 1 - 1
src/interfaces/node-transformers/INodeTransformer.d.ts

@@ -1,7 +1,7 @@
 import * as estraverse from 'estraverse';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 import * as ESTree from 'estree';
 
 
-import { IVisitor } from '../IVisitor';
+import { IVisitor } from './IVisitor';
 
 
 export interface INodeTransformer {
 export interface INodeTransformer {
     /**
     /**

+ 1 - 1
src/interfaces/ITransformersRunner.d.ts → src/interfaces/node-transformers/ITransformersRunner.d.ts

@@ -1,6 +1,6 @@
 import * as ESTree from 'estree';
 import * as ESTree from 'estree';
 
 
-import { NodeTransformer } from '../enums/container/node-transformers/NodeTransformer';
+import { NodeTransformer } from '../../enums/container/node-transformers/NodeTransformer';
 
 
 export interface ITransformersRunner {
 export interface ITransformersRunner {
     /**
     /**

+ 0 - 0
src/interfaces/IVisitor.d.ts → src/interfaces/node-transformers/IVisitor.d.ts


+ 1 - 1
src/interfaces/options/IOptions.d.ts

@@ -1,4 +1,4 @@
-import { TSourceMapMode } from '../../types/TSourceMapMode';
+import { TSourceMapMode } from '../../types/source-map/TSourceMapMode';
 import { TStringArrayEncoding } from '../../types/options/TStringArrayEncoding';
 import { TStringArrayEncoding } from '../../types/options/TStringArrayEncoding';
 
 
 export interface IOptions {
 export interface IOptions {

+ 1 - 1
src/interfaces/ISourceMapCorrector.d.ts → src/interfaces/source-map/ISourceMapCorrector.d.ts

@@ -1,4 +1,4 @@
-import { IObfuscationResult } from './IObfuscationResult';
+import { IObfuscationResult } from '../IObfuscationResult';
 
 
 export interface ISourceMapCorrector {
 export interface ISourceMapCorrector {
     /**
     /**

+ 1 - 1
src/node-transformers/AbstractNodeTransformer.ts

@@ -8,7 +8,7 @@ import { IInitializable } from '../interfaces/IInitializable';
 import { INodeTransformer } from '../interfaces/node-transformers/INodeTransformer';
 import { INodeTransformer } from '../interfaces/node-transformers/INodeTransformer';
 import { IOptions } from '../interfaces/options/IOptions';
 import { IOptions } from '../interfaces/options/IOptions';
 import { IRandomGenerator } from '../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../interfaces/IVisitor';
+import { IVisitor } from '../interfaces/node-transformers/IVisitor';
 
 
 import { initializable } from '../decorators/Initializable';
 import { initializable } from '../decorators/Initializable';
 
 

+ 10 - 10
src/TransformersRunner.ts → src/node-transformers/TransformersRunner.ts

@@ -1,21 +1,21 @@
 import { injectable, inject } from 'inversify';
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from './container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../container/ServiceIdentifiers';
 
 
 import * as estraverse from 'estraverse';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 import * as ESTree from 'estree';
 
 
-import { TNodeTransformerFactory } from './types/container/node-transformers/TNodeTransformerFactory';
-import { TVisitorDirection } from './types/TVisitorDirection';
-import { TVisitorFunction } from './types/TVisitorFunction';
-import { TVisitorResult } from './types/TVisitorResult';
+import { TNodeTransformerFactory } from '../types/container/node-transformers/TNodeTransformerFactory';
+import { TVisitorDirection } from '../types/node-transformers/TVisitorDirection';
+import { TVisitorFunction } from '../types/node-transformers/TVisitorFunction';
+import { TVisitorResult } from '../types/node-transformers/TVisitorResult';
 
 
-import { ITransformersRunner } from './interfaces/ITransformersRunner';
-import { IVisitor } from './interfaces/IVisitor';
+import { ITransformersRunner } from '../interfaces/node-transformers/ITransformersRunner';
+import { IVisitor } from '../interfaces/node-transformers/IVisitor';
 
 
-import { NodeTransformer } from './enums/container/node-transformers/NodeTransformer';
-import { VisitorDirection } from './enums/VisitorDirection';
+import { NodeTransformer } from '../enums/container/node-transformers/NodeTransformer';
+import { VisitorDirection } from '../enums/node-transformers/VisitorDirection';
 
 
-import { Node } from './node/Node';
+import { Node } from '../node/Node';
 
 
 @injectable()
 @injectable()
 export class TransformersRunner implements ITransformersRunner {
 export class TransformersRunner implements ITransformersRunner {

+ 1 - 1
src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts

@@ -10,7 +10,7 @@ import { IArrayUtils } from '../../interfaces/utils/IArrayUtils';
 import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
 import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { ControlFlowCustomNode } from '../../enums/container/custom-nodes/ControlFlowCustomNode';
 import { ControlFlowCustomNode } from '../../enums/container/custom-nodes/ControlFlowCustomNode';
 
 

+ 2 - 2
src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts

@@ -13,10 +13,10 @@ import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IStorage } from '../../interfaces/storages/IStorage';
 import { IStorage } from '../../interfaces/storages/IStorage';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { ControlFlowCustomNode } from '../../enums/container/custom-nodes/ControlFlowCustomNode';
 import { ControlFlowCustomNode } from '../../enums/container/custom-nodes/ControlFlowCustomNode';
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 2 - 2
src/node-transformers/converting-transformers/MemberExpressionTransformer.ts

@@ -5,9 +5,9 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 2 - 2
src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts

@@ -5,9 +5,9 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 1 - 1
src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts

@@ -5,7 +5,7 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 1 - 1
src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts

@@ -6,7 +6,7 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 1 - 1
src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts

@@ -9,7 +9,7 @@ import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/nod
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 
 

+ 2 - 2
src/node-transformers/obfuscating-transformers/ClassDeclarationTransformer.ts

@@ -10,10 +10,10 @@ import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatemen
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 2 - 2
src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts

@@ -10,10 +10,10 @@ import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatemen
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 1 - 1
src/node-transformers/obfuscating-transformers/FunctionTransformer.ts

@@ -9,7 +9,7 @@ import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/nod
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 
 

+ 1 - 1
src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts

@@ -9,7 +9,7 @@ import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/nod
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 import { IdentifierObfuscatingReplacer } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacer';
 
 

+ 1 - 1
src/node-transformers/obfuscating-transformers/LiteralTransformer.ts

@@ -7,7 +7,7 @@ import { TLiteralObfuscatingReplacerFactory } from '../../types/container/node-t
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { LiteralObfuscatingReplacer } from '../../enums/container/node-transformers/LiteralObfuscatingReplacer';
 import { LiteralObfuscatingReplacer } from '../../enums/container/node-transformers/LiteralObfuscatingReplacer';
 
 

+ 2 - 2
src/node-transformers/obfuscating-transformers/ObjectExpressionTransformer.ts

@@ -5,9 +5,9 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 2 - 2
src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts

@@ -10,10 +10,10 @@ import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatemen
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
 import { IdentifierObfuscatingReplacer } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacer";
-import { NodeType } from '../../enums/NodeType';
+import { NodeType } from '../../enums/node/NodeType';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { Node } from '../../node/Node';

+ 1 - 1
src/node-transformers/preparing-transformers/NodeGuardTransformer.ts

@@ -5,7 +5,7 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { NodeGuard } from '../../enums/container/node-guards/NodeGuard';
 import { NodeGuard } from '../../enums/container/node-guards/NodeGuard';
 
 

+ 1 - 1
src/node-transformers/preparing-transformers/ParentizeTransformer.ts

@@ -5,7 +5,7 @@ import * as ESTree from 'estree';
 
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
-import { IVisitor } from '../../interfaces/IVisitor';
+import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 
 

+ 1 - 1
src/node/Node.ts

@@ -2,7 +2,7 @@ import * as ESTree from 'estree';
 
 
 import { TNodeWithBlockStatement } from '../types/node/TNodeWithBlockStatement';
 import { TNodeWithBlockStatement } from '../types/node/TNodeWithBlockStatement';
 
 
-import { NodeType } from '../enums/NodeType';
+import { NodeType } from '../enums/node/NodeType';
 
 
 export class Node {
 export class Node {
     /**
     /**

+ 1 - 1
src/node/NodeUtils.ts

@@ -6,7 +6,7 @@ import * as ESTree from 'estree';
 import { TNodeWithBlockStatement } from '../types/node/TNodeWithBlockStatement';
 import { TNodeWithBlockStatement } from '../types/node/TNodeWithBlockStatement';
 import { TStatement } from '../types/node/TStatement';
 import { TStatement } from '../types/node/TStatement';
 
 
-import { NodeType } from '../enums/NodeType';
+import { NodeType } from '../enums/node/NodeType';
 
 
 import { Node } from './Node';
 import { Node } from './Node';
 
 

+ 1 - 1
src/node/Nodes.ts

@@ -3,7 +3,7 @@ import * as ESTree from 'estree';
 
 
 import { TStatement } from '../types/node/TStatement';
 import { TStatement } from '../types/node/TStatement';
 
 
-import { NodeType } from '../enums/NodeType';
+import { NodeType } from '../enums/node/NodeType';
 
 
 export class Nodes {
 export class Nodes {
     /**
     /**

+ 1 - 1
src/options/Options.ts

@@ -20,7 +20,7 @@ import { TInputOptions } from '../types/options/TInputOptions';
 
 
 import { IOptions } from '../interfaces/options/IOptions';
 import { IOptions } from '../interfaces/options/IOptions';
 
 
-import { TSourceMapMode } from '../types/TSourceMapMode';
+import { TSourceMapMode } from '../types/source-map/TSourceMapMode';
 import { TStringArrayEncoding } from '../types/options/TStringArrayEncoding';
 import { TStringArrayEncoding } from '../types/options/TStringArrayEncoding';
 
 
 import { DEFAULT_PRESET } from './presets/Default';
 import { DEFAULT_PRESET } from './presets/Default';

+ 1 - 1
src/options/presets/Default.ts

@@ -1,6 +1,6 @@
 import { TInputOptions } from '../../types/options/TInputOptions';
 import { TInputOptions } from '../../types/options/TInputOptions';
 
 
-import { SourceMapMode } from '../../enums/SourceMapMode';
+import { SourceMapMode } from '../../enums/source-map/SourceMapMode';
 
 
 export const DEFAULT_PRESET: TInputOptions = Object.freeze({
 export const DEFAULT_PRESET: TInputOptions = Object.freeze({
     compact: true,
     compact: true,

+ 1 - 1
src/options/presets/NoCustomNodes.ts

@@ -1,6 +1,6 @@
 import { TInputOptions } from '../../types/options/TInputOptions';
 import { TInputOptions } from '../../types/options/TInputOptions';
 
 
-import { SourceMapMode } from '../../enums/SourceMapMode';
+import { SourceMapMode } from '../../enums/source-map/SourceMapMode';
 
 
 export const NO_CUSTOM_NODES_PRESET: TInputOptions = Object.freeze({
 export const NO_CUSTOM_NODES_PRESET: TInputOptions = Object.freeze({
     compact: true,
     compact: true,

+ 7 - 7
src/SourceMapCorrector.ts → src/source-map/SourceMapCorrector.ts

@@ -1,14 +1,14 @@
 import { injectable, inject } from 'inversify';
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from './container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../container/ServiceIdentifiers';
 
 
-import { TObfuscationResultFactory } from './types/container/TObfuscationResultFactory';
+import { TObfuscationResultFactory } from '../types/container/TObfuscationResultFactory';
 
 
-import { ICryptUtils } from './interfaces/utils/ICryptUtils';
-import { IObfuscationResult } from './interfaces/IObfuscationResult';
-import { IOptions } from './interfaces/options/IOptions';
-import { ISourceMapCorrector } from './interfaces/ISourceMapCorrector';
+import { ICryptUtils } from '../interfaces/utils/ICryptUtils';
+import { IObfuscationResult } from '../interfaces/IObfuscationResult';
+import { IOptions } from '../interfaces/options/IOptions';
+import { ISourceMapCorrector } from '../interfaces/source-map/ISourceMapCorrector';
 
 
-import { SourceMapMode } from './enums/SourceMapMode';
+import { SourceMapMode } from '../enums/source-map/SourceMapMode';
 
 
 @injectable()
 @injectable()
 export class SourceMapCorrector implements ISourceMapCorrector {
 export class SourceMapCorrector implements ISourceMapCorrector {

+ 0 - 0
src/types/TVisitorDirection.d.ts → src/types/node-transformers/TVisitorDirection.d.ts


+ 0 - 0
src/types/TVisitorFunction.d.ts → src/types/node-transformers/TVisitorFunction.d.ts


+ 0 - 0
src/types/TVisitorResult.d.ts → src/types/node-transformers/TVisitorResult.d.ts


+ 0 - 0
src/types/TSourceMapMode.d.ts → src/types/source-map/TSourceMapMode.d.ts


+ 0 - 92
test/functional-tests/javascript-obfuscator-internal/JavaScriptObfuscatorInternal.spec.ts

@@ -1,92 +0,0 @@
-import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers';
-
-import { assert } from 'chai';
-
-import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';
-import { IJavaScriptObfuscator } from '../../../src/interfaces/IJavaScriptObfsucator';
-import { IObfuscationResult } from '../../../src/interfaces/IObfuscationResult';
-
-import { NO_CUSTOM_NODES_PRESET } from '../../../src/options/presets/NoCustomNodes';
-
-import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';
-
-describe('JavaScriptObfuscatorInternal', () => {
-    describe(`setSourceMapUrl (url: string)`, () => {
-        const code: string = 'var test = 1;';
-        const sourceMapUrl: string = 'test.js.map';
-
-        let javaScriptObfuscator: IJavaScriptObfuscator;
-
-        describe('variant #1: default behaviour', () => {
-            const regExp: RegExp = new RegExp(`sourceMappingURL=${sourceMapUrl}`);
-
-            let obfuscatedCode: string,
-                sourceMapObject: any;
-
-            before(() => {
-                const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade();
-
-                inversifyContainerFacade.load(
-                    '',
-                    {
-                        ...NO_CUSTOM_NODES_PRESET,
-                        sourceMap: true,
-                        sourceMapFileName: sourceMapUrl
-                    }
-                );
-                javaScriptObfuscator = inversifyContainerFacade
-                    .get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
-
-                const obfuscationResult: IObfuscationResult = javaScriptObfuscator.obfuscate(code);
-
-                obfuscatedCode = obfuscationResult.getObfuscatedCode();
-                sourceMapObject = JSON.parse(obfuscationResult.getSourceMap());
-            });
-
-            it('should link obfuscated code with source map', () => {
-                assert.match(obfuscatedCode, regExp);
-            });
-
-            it('should return valid source map with `mappings` property', () => {
-                assert.isOk(sourceMapObject.mappings);
-            });
-        });
-
-        describe('variant #2: `sourceMapBaseUrl` is set', () => {
-            const sourceMapBaseUrl: string = 'http://localhost:9000';
-            const regExp: RegExp = new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`);
-
-            let obfuscatedCode: string,
-                sourceMapObject: any;
-
-            before(() => {
-                const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade();
-
-                inversifyContainerFacade.load(
-                    '',
-                    {
-                        ...NO_CUSTOM_NODES_PRESET,
-                        sourceMap: true,
-                        sourceMapBaseUrl: sourceMapBaseUrl,
-                        sourceMapFileName: sourceMapUrl
-                    }
-                );
-                javaScriptObfuscator = inversifyContainerFacade
-                    .get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
-
-                const obfuscationResult: IObfuscationResult = javaScriptObfuscator.obfuscate(code);
-
-                obfuscatedCode = obfuscationResult.getObfuscatedCode();
-                sourceMapObject = JSON.parse(obfuscationResult.getSourceMap());
-            });
-
-            it('should properly add base url to source map import inside obfuscated code', () => {
-                assert.match(obfuscatedCode, regExp);
-            });
-
-            it('should return valid source map with `mappings` property', () => {
-                assert.isOk(sourceMapObject.mappings);
-            });
-        });
-    });
-});

+ 2 - 2
test/index.spec.ts

@@ -12,13 +12,14 @@ import './unit-tests/cli/sanitizers/SourceMapModeSanitizer.spec';
 import './unit-tests/cli/sanitizers/StringArrayEncodingSanitizer.spec';
 import './unit-tests/cli/sanitizers/StringArrayEncodingSanitizer.spec';
 import './unit-tests/cli/utils/CLIUtils.spec';
 import './unit-tests/cli/utils/CLIUtils.spec';
 import './unit-tests/decorators/initializable/Initializable.spec';
 import './unit-tests/decorators/initializable/Initializable.spec';
+import './unit-tests/javascript-obfuscator/JavaScriptObfuscator.spec';
 import './unit-tests/logger/Logger.spec';
 import './unit-tests/logger/Logger.spec';
 import './unit-tests/node/node-appender/NodeAppender.spec';
 import './unit-tests/node/node-appender/NodeAppender.spec';
 import './unit-tests/node/node-utils/NodeUtils.spec';
 import './unit-tests/node/node-utils/NodeUtils.spec';
 import './unit-tests/obfuscation-result/ObfuscationResult.spec';
 import './unit-tests/obfuscation-result/ObfuscationResult.spec';
 import './unit-tests/options/OptionsNormalizer.spec';
 import './unit-tests/options/OptionsNormalizer.spec';
 import './unit-tests/options/ValidationErrorsFormatter.spec';
 import './unit-tests/options/ValidationErrorsFormatter.spec';
-import './unit-tests/source-map-corrector/SourceMapCorrector.spec';
+import './unit-tests/source-map/SourceMapCorrector.spec';
 import './unit-tests/storages/ArrayStorage.spec';
 import './unit-tests/storages/ArrayStorage.spec';
 import './unit-tests/storages/MapStorage.spec';
 import './unit-tests/storages/MapStorage.spec';
 import './unit-tests/utils/ArrayUtils.spec';
 import './unit-tests/utils/ArrayUtils.spec';
@@ -38,7 +39,6 @@ import './functional-tests/custom-nodes/string-array-nodes/StringArrayCallsWrapp
 import './functional-tests/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.spec';
 import './functional-tests/custom-nodes/string-array-nodes/StringArrayRotateFunctionNode.spec';
 import './functional-tests/custom-nodes/string-array-nodes/StringArrayNode.spec';
 import './functional-tests/custom-nodes/string-array-nodes/StringArrayNode.spec';
 import './functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec';
 import './functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec';
-import './functional-tests/javascript-obfuscator-internal/JavaScriptObfuscatorInternal.spec';
 import './functional-tests/node-guards/black-list-node-guard/BlackListNodeGuard.spec';
 import './functional-tests/node-guards/black-list-node-guard/BlackListNodeGuard.spec';
 import './functional-tests/node-transformers/control-flow-transformers/block-statement-control-flow-transformer/BlockStatementControlFlowTransformer.spec';
 import './functional-tests/node-transformers/control-flow-transformers/block-statement-control-flow-transformer/BlockStatementControlFlowTransformer.spec';
 import './functional-tests/node-transformers/control-flow-transformers/function-control-flow-transformer/FunctionControlFlowTransformer.spec';
 import './functional-tests/node-transformers/control-flow-transformers/function-control-flow-transformer/FunctionControlFlowTransformer.spec';

+ 94 - 0
test/unit-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts

@@ -0,0 +1,94 @@
+import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers';
+
+import { assert } from 'chai';
+
+import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';
+import { IJavaScriptObfuscator } from '../../../src/interfaces/IJavaScriptObfsucator';
+import { IObfuscationResult } from '../../../src/interfaces/IObfuscationResult';
+
+import { NO_CUSTOM_NODES_PRESET } from '../../../src/options/presets/NoCustomNodes';
+
+import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';
+
+describe('JavaScriptObfuscator', () => {
+    describe(`obfuscate (sourceCode: string): IObfuscationResult`, () => {
+        describe(`source map`, () => {
+            const code: string = 'var test = 1;';
+            const sourceMapUrl: string = 'test.js.map';
+
+            let javaScriptObfuscator: IJavaScriptObfuscator;
+
+            describe('variant #1: default behaviour', () => {
+                const regExp: RegExp = new RegExp(`sourceMappingURL=${sourceMapUrl}`);
+
+                let obfuscatedCode: string,
+                    sourceMapObject: any;
+
+                before(() => {
+                    const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade();
+
+                    inversifyContainerFacade.load(
+                        '',
+                        {
+                            ...NO_CUSTOM_NODES_PRESET,
+                            sourceMap: true,
+                            sourceMapFileName: sourceMapUrl
+                        }
+                    );
+                    javaScriptObfuscator = inversifyContainerFacade
+                        .get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
+
+                    const obfuscationResult: IObfuscationResult = javaScriptObfuscator.obfuscate(code);
+
+                    obfuscatedCode = obfuscationResult.getObfuscatedCode();
+                    sourceMapObject = JSON.parse(obfuscationResult.getSourceMap());
+                });
+
+                it('should link obfuscated code with source map', () => {
+                    assert.match(obfuscatedCode, regExp);
+                });
+
+                it('should return valid source map with `mappings` property', () => {
+                    assert.isOk(sourceMapObject.mappings);
+                });
+            });
+
+            describe('variant #2: `sourceMapBaseUrl` is set', () => {
+                const sourceMapBaseUrl: string = 'http://localhost:9000';
+                const regExp: RegExp = new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`);
+
+                let obfuscatedCode: string,
+                    sourceMapObject: any;
+
+                before(() => {
+                    const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade();
+
+                    inversifyContainerFacade.load(
+                        '',
+                        {
+                            ...NO_CUSTOM_NODES_PRESET,
+                            sourceMap: true,
+                            sourceMapBaseUrl: sourceMapBaseUrl,
+                            sourceMapFileName: sourceMapUrl
+                        }
+                    );
+                    javaScriptObfuscator = inversifyContainerFacade
+                        .get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
+
+                    const obfuscationResult: IObfuscationResult = javaScriptObfuscator.obfuscate(code);
+
+                    obfuscatedCode = obfuscationResult.getObfuscatedCode();
+                    sourceMapObject = JSON.parse(obfuscationResult.getSourceMap());
+                });
+
+                it('should properly add base url to source map import inside obfuscated code', () => {
+                    assert.match(obfuscatedCode, regExp);
+                });
+
+                it('should return valid source map with `mappings` property', () => {
+                    assert.isOk(sourceMapObject.mappings);
+                });
+            });
+        });
+    });
+});

+ 3 - 3
test/unit-tests/source-map-corrector/SourceMapCorrector.spec.ts → test/unit-tests/source-map/SourceMapCorrector.spec.ts

@@ -2,13 +2,13 @@ import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers';
 
 
 import { assert } from 'chai';
 import { assert } from 'chai';
 
 
-import { TSourceMapMode } from '../../../src/types/TSourceMapMode';
+import { TSourceMapMode } from '../../../src/types/source-map/TSourceMapMode';
 
 
 import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';
 import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';
 import { IObfuscationResult } from '../../../src/interfaces/IObfuscationResult';
 import { IObfuscationResult } from '../../../src/interfaces/IObfuscationResult';
-import { ISourceMapCorrector } from '../../../src/interfaces/ISourceMapCorrector';
+import { ISourceMapCorrector } from '../../../src/interfaces/source-map/ISourceMapCorrector';
 
 
-import { SourceMapMode } from '../../../src/enums/SourceMapMode';
+import { SourceMapMode } from '../../../src/enums/source-map/SourceMapMode';
 
 
 import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';
 import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';
 
 

+ 4 - 10
yarn.lock

@@ -3520,18 +3520,12 @@ source-map-resolve@^0.5.0:
     source-map-url "^0.4.0"
     source-map-url "^0.4.0"
     urix "^0.1.0"
     urix "^0.1.0"
 
 
[email protected]:
[email protected], source-map-support@^0.4.0, source-map-support@^0.4.15:
   version "0.4.17"
   version "0.4.17"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.17.tgz#6f2150553e6375375d0ccb3180502b78c18ba430"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.17.tgz#6f2150553e6375375d0ccb3180502b78c18ba430"
   dependencies:
   dependencies:
     source-map "^0.5.6"
     source-map "^0.5.6"
 
 
-source-map-support@^0.4.0, source-map-support@^0.4.15:
-  version "0.4.16"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8"
-  dependencies:
-    source-map "^0.5.6"
-
 source-map-url@^0.4.0:
 source-map-url@^0.4.0:
   version "0.4.0"
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
   resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -4038,9 +4032,9 @@ webpack-sources@^1.0.1:
     source-list-map "^2.0.0"
     source-list-map "^2.0.0"
     source-map "~0.5.3"
     source-map "~0.5.3"
 
 
[email protected].5:
-  version "3.5.5"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.5.tgz#3226f09fc8b3e435ff781e7af34f82b68b26996c"
[email protected].6:
+  version "3.5.6"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.6.tgz#a492fb6c1ed7f573816f90e00c8fbb5a20cc5c36"
   dependencies:
   dependencies:
     acorn "^5.0.0"
     acorn "^5.0.0"
     acorn-dynamic-import "^2.0.0"
     acorn-dynamic-import "^2.0.0"