javascript-obfuscator 5.4.3 → 5.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "javascript-obfuscator",
3
- "version": "5.4.3",
3
+ "version": "5.4.4",
4
4
  "description": "JavaScript obfuscator",
5
5
  "keywords": [
6
6
  "obfuscator",
@@ -6,10 +6,12 @@ export declare class ScopeAnalyzer implements IScopeAnalyzer {
6
6
  private static readonly sourceTypes;
7
7
  private static readonly emptyRangeValue;
8
8
  private scopeManager;
9
+ private sanitizedScopeManager;
9
10
  private static attachMissingRanges;
10
11
  private static isRootNode;
11
12
  analyze(astTree: ESTree.Node): void;
12
13
  acquireScope(node: ESTree.Node): eslintScope.Scope;
14
+ isAnalyzed(node: ESTree.Node): boolean;
13
15
  private fixAnnexBFunctionHoisting;
14
16
  private linkThroughReferences;
15
17
  private sanitizeScopes;
@@ -4,4 +4,5 @@ import { IAnalyzer } from '../IAnalyzer';
4
4
  export interface IScopeAnalyzer extends IAnalyzer<[ESTree.Node], void> {
5
5
  analyze(astTree: ESTree.Node): void;
6
6
  acquireScope(node: ESTree.Node): eslintScope.Scope;
7
+ isAnalyzed(node: ESTree.Node): boolean;
7
8
  }
@@ -3,6 +3,6 @@ import { TScopeIdentifiersTraverserCallback } from '../../types/node/TScopeIdent
3
3
  import { IScopeIdentifiersTraverserCallbackData } from './IScopeIdentifiersTraverserCallbackData';
4
4
  import { IScopeThroughIdentifiersTraverserCallbackData } from './IScopeThroughIdentifiersTraverserCallbackData';
5
5
  export interface IScopeIdentifiersTraverser {
6
- traverseScopeIdentifiers(programNode: ESTree.Program, parentNode: ESTree.Node | null, callback: TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>): void;
7
- traverseScopeThroughIdentifiers(node: ESTree.Node, parentNode: ESTree.Node | null, callback: TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>): void;
6
+ traverseScopeIdentifiers(programNode: ESTree.Program, callback: TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>, analyzeScope?: boolean): void;
7
+ traverseScopeThroughIdentifiers(node: ESTree.Node, callback: TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>, analyzeScope?: boolean): void;
8
8
  }
@@ -5,6 +5,7 @@ import { IVisitor } from './IVisitor';
5
5
  import { NodeTransformer } from '../../enums/node-transformers/NodeTransformer';
6
6
  import { NodeTransformationStage } from '../../enums/node-transformers/NodeTransformationStage';
7
7
  export interface INodeTransformer extends ITransformer<NodeTransformer> {
8
+ runOnProgramNodeOnly?: boolean;
8
9
  getVisitor(nodeTransformationStage: NodeTransformationStage): IVisitor | null;
9
10
  prepareNode?(node: ESTree.Node, parentNode: ESTree.Node | null): void;
10
11
  restoreNode?(node: ESTree.Node, parentNode: ESTree.Node | null): void;
@@ -9,8 +9,9 @@ export declare class ScopeIdentifiersTraverser implements IScopeIdentifiersTrave
9
9
  private static readonly globalScopeNames;
10
10
  private readonly scopeAnalyzer;
11
11
  constructor(scopeAnalyzer: IScopeAnalyzer);
12
- traverseScopeIdentifiers(programNode: ESTree.Program, parentNode: ESTree.Node | null, callback: TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>): void;
13
- traverseScopeThroughIdentifiers(programNode: ESTree.Program, parentNode: ESTree.Node | null, callback: TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>): void;
12
+ traverseScopeIdentifiers(programNode: ESTree.Program, callback: TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>, analyzeScope?: boolean): void;
13
+ traverseScopeThroughIdentifiers(programNode: ESTree.Program, callback: TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>, analyzeScope?: boolean): void;
14
14
  private traverseScopeIdentifiersRecursive;
15
15
  private traverseScopeThroughIdentifiersRecursive;
16
+ private acquireGlobalScope;
16
17
  }
@@ -8,6 +8,7 @@ import { NodeTransformer } from '../enums/node-transformers/NodeTransformer';
8
8
  import { NodeTransformationStage } from '../enums/node-transformers/NodeTransformationStage';
9
9
  export declare abstract class AbstractNodeTransformer implements INodeTransformer {
10
10
  readonly runAfter: NodeTransformer[] | undefined;
11
+ readonly runOnProgramNodeOnly: boolean | undefined;
11
12
  protected readonly options: IOptions;
12
13
  protected readonly randomGenerator: IRandomGenerator;
13
14
  constructor(randomGenerator: IRandomGenerator, options: IOptions);
@@ -10,6 +10,9 @@ export declare class NodeTransformersRunner implements INodeTransformersRunner {
10
10
  private readonly nodeTransformerNamesGroupsBuilder;
11
11
  constructor(nodeTransformerFactory: TNodeTransformerFactory, nodeTransformerNamesGroupsBuilder: ITransformerNamesGroupsBuilder<NodeTransformer, INodeTransformer>);
12
12
  transform<T extends ESTree.Node = ESTree.Program>(astTree: T, nodeTransformerNames: NodeTransformer[], nodeTransformationStage: NodeTransformationStage): T;
13
+ private buildVisitorsData;
14
+ private canRunOnProgramNodeOnly;
15
+ private runOnProgramNodeOnly;
13
16
  private buildNormalizedNodeTransformers;
14
17
  private mergeVisitorsForDirection;
15
18
  }
@@ -11,7 +11,7 @@ export declare class DeadCodeInjectionIdentifiersTransformer extends AbstractNod
11
11
  private readonly scopeIdentifiersTraverser;
12
12
  constructor(identifierReplacer: IIdentifierReplacer, randomGenerator: IRandomGenerator, options: IOptions, scopeIdentifiersTraverser: IScopeIdentifiersTraverser);
13
13
  getVisitor(nodeTransformationStage: NodeTransformationStage): IVisitor | null;
14
- transformNode(programNode: ESTree.Program, parentNode: ESTree.Node): ESTree.Node;
14
+ transformNode(programNode: ESTree.Program): ESTree.Node;
15
15
  private transformScopeThroughIdentifiers;
16
16
  private storeIdentifierName;
17
17
  private replaceIdentifierName;
@@ -9,12 +9,14 @@ import { NodeTransformationStage } from '../../enums/node-transformers/NodeTrans
9
9
  import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
10
10
  export declare class VariablePreserveTransformer extends AbstractNodeTransformer {
11
11
  readonly runAfter: NodeTransformer[];
12
+ readonly runOnProgramNodeOnly: boolean;
12
13
  private readonly identifierReplacer;
13
14
  private readonly scopeIdentifiersTraverser;
14
15
  constructor(identifierReplacer: IIdentifierReplacer, randomGenerator: IRandomGenerator, options: IOptions, scopeIdentifiersTraverser: IScopeIdentifiersTraverser);
15
16
  getVisitor(nodeTransformationStage: NodeTransformationStage): IVisitor | null;
16
- transformNode(programNode: ESTree.Program, parentNode: ESTree.Node): ESTree.Node;
17
+ transformNode(programNode: ESTree.Program): ESTree.Node;
17
18
  private preserveScopeVariableIdentifiers;
18
19
  private preserveIdentifierNameForRootLexicalScope;
19
20
  private preserveIdentifierNameForLexicalScope;
21
+ private shouldPreserveConvertingStageIdentifiers;
20
22
  }
@@ -5,14 +5,17 @@ import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
5
5
  import { IScopeIdentifiersTraverser } from '../../interfaces/node/IScopeIdentifiersTraverser';
6
6
  import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
7
7
  import { NodeTransformationStage } from '../../enums/node-transformers/NodeTransformationStage';
8
+ import { NodeTransformer } from '../../enums/node-transformers/NodeTransformer';
8
9
  import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
9
10
  export declare class ScopeIdentifiersTransformer extends AbstractNodeTransformer {
11
+ readonly runAfter: NodeTransformer[];
12
+ readonly runOnProgramNodeOnly: boolean;
10
13
  private readonly identifierReplacer;
11
14
  private readonly lexicalScopesWithObjectPatternWithoutDeclarationMap;
12
15
  private readonly scopeIdentifiersTraverser;
13
16
  constructor(identifierReplacer: IIdentifierReplacer, randomGenerator: IRandomGenerator, options: IOptions, scopeIdentifiersTraverser: IScopeIdentifiersTraverser);
14
17
  getVisitor(nodeTransformationStage: NodeTransformationStage): IVisitor | null;
15
- transformNode(programNode: ESTree.Program, parentNode: ESTree.Node): ESTree.Node;
18
+ transformNode(programNode: ESTree.Program): ESTree.Node;
16
19
  private transformScopeVariableIdentifiers;
17
20
  private storeIdentifierName;
18
21
  private replaceIdentifierName;
@@ -7,13 +7,16 @@ import { IScopeIdentifiersTraverser } from '../../interfaces/node/IScopeIdentifi
7
7
  import { IThroughIdentifierReplacer } from '../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IThroughIdentifierReplacer';
8
8
  import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
9
9
  import { NodeTransformationStage } from '../../enums/node-transformers/NodeTransformationStage';
10
+ import { NodeTransformer } from '../../enums/node-transformers/NodeTransformer';
10
11
  import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
11
12
  export declare class ScopeThroughIdentifiersTransformer extends AbstractNodeTransformer {
13
+ readonly runAfter: NodeTransformer[];
14
+ readonly runOnProgramNodeOnly: boolean;
12
15
  protected readonly scopeIdentifiersTraverser: IScopeIdentifiersTraverser;
13
16
  protected readonly throughIdentifierReplacer: IThroughIdentifierReplacer;
14
17
  constructor(throughIdentifierReplacer: IThroughIdentifierReplacer, scopeIdentifiersTraverser: IScopeIdentifiersTraverser, randomGenerator: IRandomGenerator, options: IOptions);
15
18
  getVisitor(nodeTransformationStage: NodeTransformationStage): IVisitor | null;
16
- transformNode(programNode: ESTree.Program, parentNode: ESTree.Node): ESTree.Node;
19
+ transformNode(programNode: ESTree.Program): ESTree.Node;
17
20
  protected transformScopeThroughIdentifiers(reference: eslintScope.Reference, lexicalScopeNode: TNodeWithLexicalScope): void;
18
21
  protected replaceIdentifierName(reference: eslintScope.Reference): void;
19
22
  }