Switched esprima on espree. Obfuscation of export declarations

This commit is contained in:
sanex3339
2018-03-25 20:32:08 +03:00
parent 6f480a6f6f
commit 3ea05aa0e1
50 changed files with 1054 additions and 712 deletions
+16
View File
@@ -96,6 +96,14 @@ export class NodeGuards {
return node.type === NodeType.ContinueStatement;
}
/**
* @param {Node} node
* @returns {boolean}
*/
public static isExportNamedDeclarationNode (node: ESTree.Node): node is ESTree.ExportNamedDeclaration {
return node.type === NodeType.ExportNamedDeclaration;
}
/**
* @param {Node} node
* @returns {boolean}
@@ -136,6 +144,14 @@ export class NodeGuards {
return node.type === NodeType.IfStatement;
}
/**
* @param {Node} node
* @returns {boolean}
*/
public static isImportDeclarationNode (node: ESTree.Node): node is ESTree.ImportDeclaration {
return node.type === NodeType.ImportDeclaration;
}
/**
* @param {Node} node
* @param {Node} parentNode
+2 -2
View File
@@ -1,5 +1,5 @@
import * as escodegen from 'escodegen-wallaby';
import * as esprima from 'esprima';
import * as espree from 'espree';
import * as estraverse from 'estraverse';
import * as ESTree from 'estree';
@@ -44,7 +44,7 @@ export class NodeUtils {
* @returns {Statement[]}
*/
public static convertCodeToStructure (code: string): ESTree.Statement[] {
let structure: ESTree.Program = esprima.parseScript(code);
let structure: ESTree.Program = espree.parse(code, { sourceType: 'script' });
structure = NodeUtils.addXVerbatimPropertyToLiterals(structure);
structure = NodeUtils.parentize(structure);