浏览代码

`ecmaVersion` constant

sanex3339 5 年之前
父节点
当前提交
c050ebca38

文件差异内容过多而无法显示
+ 0 - 0
dist/index.browser.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.cli.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.js


+ 3 - 1
src/JavaScriptObfuscator.ts

@@ -19,6 +19,8 @@ import { LoggingMessage } from './enums/logger/LoggingMessage';
 import { NodeTransformer } from './enums/node-transformers/NodeTransformer';
 import { NodeTransformer } from './enums/node-transformers/NodeTransformer';
 import { TransformationStage } from './enums/node-transformers/TransformationStage';
 import { TransformationStage } from './enums/node-transformers/TransformationStage';
 
 
+import { ecmaVersion } from './constants/EcmaVersion';
+
 import { ASTParserFacade } from './ASTParserFacade';
 import { ASTParserFacade } from './ASTParserFacade';
 import { NodeGuards } from './node/NodeGuards';
 import { NodeGuards } from './node/NodeGuards';
 
 
@@ -28,10 +30,10 @@ export class JavaScriptObfuscator implements IJavaScriptObfuscator {
      * @type {Options}
      * @type {Options}
      */
      */
     private static readonly parseOptions: acorn.Options = {
     private static readonly parseOptions: acorn.Options = {
+        ecmaVersion,
         allowHashBang: true,
         allowHashBang: true,
         allowImportExportEverywhere: true,
         allowImportExportEverywhere: true,
         allowReturnOutsideFunction: true,
         allowReturnOutsideFunction: true,
-        ecmaVersion: 10,
         locations: true,
         locations: true,
         ranges: true
         ranges: true
     };
     };

+ 3 - 1
src/analyzers/scope-analyzer/ScopeAnalyzer.ts

@@ -10,6 +10,8 @@ import { IScopeAnalyzer } from '../../interfaces/analyzers/scope-analyzer/IScope
 
 
 import { ObfuscationTarget } from '../../enums/ObfuscationTarget';
 import { ObfuscationTarget } from '../../enums/ObfuscationTarget';
 
 
+import { ecmaVersion } from '../../constants/EcmaVersion';
+
 import { NodeGuards } from '../../node/NodeGuards';
 import { NodeGuards } from '../../node/NodeGuards';
 
 
 @injectable()
 @injectable()
@@ -18,7 +20,7 @@ export class ScopeAnalyzer implements IScopeAnalyzer {
      * @type {eslintScope.AnalysisOptions}
      * @type {eslintScope.AnalysisOptions}
      */
      */
     private static readonly eslintScopeOptions: eslintScope.AnalysisOptions = {
     private static readonly eslintScopeOptions: eslintScope.AnalysisOptions = {
-        ecmaVersion: 10,
+        ecmaVersion,
         optimistic: true
         optimistic: true
     };
     };
 
 

+ 3 - 0
src/constants/EcmaVersion.ts

@@ -0,0 +1,3 @@
+import * as acorn from 'acorn';
+
+export const ecmaVersion: acorn.Options['ecmaVersion'] = 11;

+ 3 - 1
src/node/NodeUtils.ts

@@ -2,6 +2,8 @@ import * as escodegen from 'escodegen';
 import * as estraverse from 'estraverse';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 import * as ESTree from 'estree';
 
 
+import { ecmaVersion } from '../constants/EcmaVersion';
+
 import { ASTParserFacade } from '../ASTParserFacade';
 import { ASTParserFacade } from '../ASTParserFacade';
 import { NodeGuards } from './NodeGuards';
 import { NodeGuards } from './NodeGuards';
 import { NodeMetadata } from './NodeMetadata';
 import { NodeMetadata } from './NodeMetadata';
@@ -34,7 +36,7 @@ export class NodeUtils {
      */
      */
     public static convertCodeToStructure (code: string): ESTree.Statement[] {
     public static convertCodeToStructure (code: string): ESTree.Statement[] {
         const structure: ESTree.Program = ASTParserFacade.parse(code, {
         const structure: ESTree.Program = ASTParserFacade.parse(code, {
-            ecmaVersion: 10,
+            ecmaVersion,
             sourceType: 'script'
             sourceType: 'script'
         });
         });
 
 

部分文件因为文件数量过多而无法显示