浏览代码

0.18.6 version

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

+ 4 - 0
CHANGELOG.md

@@ -1,5 +1,9 @@
 Change Log
 ===
+v0.18.6
+---
+* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/355
+
 v0.18.5
 ---
 * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/321

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


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


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


+ 5 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "javascript-obfuscator",
-  "version": "0.18.5",
+  "version": "0.18.6",
   "description": "JavaScript obfuscator",
   "keywords": [
     "obfuscator",
@@ -113,6 +113,10 @@
   "author": {
     "name": "Timofey Kachalov"
   },
+  "contributors": [
+    "Timofey Kachalov (https://github.com/sanex3339)",
+    "Zamotkin (https://github.com/zamotkin)"
+  ],
   "license": "BSD-2-Clause",
   "collective": {
     "type": "opencollective",

+ 3 - 0
src/interfaces/generators/identifier-names-generators/IIdentifierNamesGenerator.d.ts

@@ -17,5 +17,8 @@ export interface IIdentifierNamesGenerator {
      */
     isValidIdentifierName (identifierName: string): boolean;
 
+    /**
+     * @param {string} name
+     */
     preserveName (name: string): void;
 }

+ 4 - 1
src/interfaces/node-transformers/obfuscating-transformers/obfuscating-replacers/IIdentifierObfuscatingReplacer.d.ts

@@ -17,5 +17,8 @@ export interface IIdentifierObfuscatingReplacer extends IObfuscatingReplacer <ES
      */
     storeLocalName (nodeValue: string, lexicalScopeNode: TNodeWithLexicalScope): void;
 
-    preserveName (name: any): void;
+    /**
+     * @param {string} name
+     */
+    preserveName (name: string): void;
 }

+ 13 - 8
src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts

@@ -1,13 +1,17 @@
 import { inject, injectable, } from 'inversify';
-import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as ESTree from 'estree';
+
 import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
+
 import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/obfuscating-replacers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
 import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
 import { IdentifierObfuscatingReplacer } from "../../enums/node-transformers/obfuscating-transformers/obfuscating-replacers/IdentifierObfuscatingReplacer";
+
+import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import { TransformationStage } from '../../enums/node-transformers/TransformationStage';
+
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { NodeGuards } from '../../node/NodeGuards';
 
@@ -48,13 +52,14 @@ export class VariablePreserveTransformer extends AbstractNodeTransformer {
             case TransformationStage.Preparing:
                 return {
                     enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => {
-                        if (parentNode &&
-                            NodeGuards.isIdentifierNode(node) &&
-                            (
-                                NodeGuards.parentNodeIsPropertyNode(node, parentNode) ||
-                                NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode) ||
-                                NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode) ||
-                                NodeGuards.isLabelIdentifierNode(node, parentNode)
+                        if (
+                            NodeGuards.isIdentifierNode(node)
+                            && parentNode
+                            && (
+                                NodeGuards.parentNodeIsPropertyNode(node, parentNode)
+                                || NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode)
+                                || NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode)
+                                || NodeGuards.isLabelIdentifierNode(node, parentNode)
                             )
                         ) {
                             return this.transformNode(node, parentNode);

+ 13 - 13
src/node/NodeGuards.ts

@@ -300,9 +300,9 @@ export class NodeGuards {
      * @returns {boolean}
      */
     public static parentNodeIsPropertyNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
-        return NodeGuards.isPropertyNode(parentNode) &&
-            !parentNode.computed &&
-            parentNode.key === node;
+        return NodeGuards.isPropertyNode(parentNode)
+            && !parentNode.computed
+            && parentNode.key === node;
     }
 
     /**
@@ -312,9 +312,9 @@ export class NodeGuards {
      */
     public static parentNodeIsMemberExpressionNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
         return (
-            NodeGuards.isMemberExpressionNode(parentNode) &&
-            !parentNode.computed &&
-            parentNode.property === node
+            NodeGuards.isMemberExpressionNode(parentNode)
+            && !parentNode.computed
+            && parentNode.property === node
         );
     }
 
@@ -324,8 +324,8 @@ export class NodeGuards {
      * @returns {boolean}
      */
     public static parentNodeIsMethodDefinitionNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
-        return NodeGuards.isMethodDefinitionNode(parentNode) &&
-            !parentNode.computed;
+        return NodeGuards.isMethodDefinitionNode(parentNode)
+            && !parentNode.computed;
     }
 
     /**
@@ -334,11 +334,11 @@ export class NodeGuards {
      * @returns {boolean}
      */
     public static isReplaceableIdentifierNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
-        return NodeGuards.isIdentifierNode(node) &&
-            !NodeGuards.parentNodeIsPropertyNode(node, parentNode) &&
-            !NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode) &&
-            !NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode) &&
-            !NodeGuards.isLabelIdentifierNode(node, parentNode);
+        return NodeGuards.isIdentifierNode(node)
+            && !NodeGuards.parentNodeIsPropertyNode(node, parentNode)
+            && !NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode)
+            && !NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode)
+            && !NodeGuards.isLabelIdentifierNode(node, parentNode);
     }
 
     /**

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