0.12.2 release

This commit is contained in:
sanex3339
2017-11-10 01:41:07 +03:00
parent 5267bfe8c4
commit e1964b2ee2
10 changed files with 117 additions and 43 deletions
+2 -2
View File
@@ -82,9 +82,9 @@ export class CLIUtils {
/**
* @param {string} outputPath
* @param {any} data
* @param {string} data
*/
public static writeFile (outputPath: string, data: any): void {
public static writeFile (outputPath: string, data: string): void {
mkdirp.sync(path.dirname(outputPath));
fs.writeFileSync(outputPath, data, {
@@ -109,14 +109,41 @@ export class FunctionTransformer extends AbstractNodeTransformer {
});
}
/**
* @param {Property[]} properties
* @param {Set<string>} ignoredIdentifierNamesSet
*/
private addIdentifiersToIgnoredIdentifierNamesSet (
properties: ESTree.Property[],
ignoredIdentifierNamesSet: Set<string>
): void {
properties.forEach((property: ESTree.Property) => {
if (!NodeGuards.isIdentifierNode(property.key)) {
return;
}
ignoredIdentifierNamesSet.add(property.key.name);
});
}
/**
* @param {Function} functionNode
* @param {number} nodeIdentifier
*/
private replaceFunctionParams (functionNode: ESTree.Function, nodeIdentifier: number): void {
const ignoredIdentifierNamesSet: Set<string> = new Set();
const replaceVisitor: estraverse.Visitor = {
enter: (node: ESTree.Node, parentNode: ESTree.Node | null): any => {
if (parentNode && NodeGuards.isReplaceableIdentifierNode(node, parentNode)) {
if (NodeGuards.isObjectPatternNode(node)) {
this.addIdentifiersToIgnoredIdentifierNamesSet(node.properties, ignoredIdentifierNamesSet);
}
if (
parentNode &&
NodeGuards.isReplaceableIdentifierNode(node, parentNode) &&
!ignoredIdentifierNamesSet.has(node.name)
) {
const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
const newIdentifierName: string = newIdentifier.name;
+3 -1
View File
@@ -221,7 +221,9 @@ export class NodeGuards {
parentNode.property === node
);
return !parentNodeIsPropertyNode && !parentNodeIsMemberExpressionNode && !NodeGuards.isLabelIdentifierNode(node, parentNode);
return !parentNodeIsPropertyNode &&
!parentNodeIsMemberExpressionNode &&
!NodeGuards.isLabelIdentifierNode(node, parentNode);
}
/**