瀏覽代碼

Reverted `TaggedTemplateLiteral` obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/716

sanex 4 年之前
父節點
當前提交
ca030004e8

+ 1 - 0
CHANGELOG.md

@@ -3,6 +3,7 @@ Change Log
 v1.11.0
 ---
 * Improved rename of `deadCodeInjection` dead code identifiers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/708
+* **Reverted** `TaggedTemplateLiteral` obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/716
 
 v1.10.2
 ---

文件差異過大導致無法顯示
+ 0 - 0
dist/index.browser.js


文件差異過大導致無法顯示
+ 0 - 0
dist/index.cli.js


文件差異過大導致無法顯示
+ 0 - 0
dist/index.js


+ 3 - 30
src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts

@@ -66,37 +66,10 @@ export class TemplateLiteralTransformer extends AbstractNodeTransformer {
      */
     public transformNode (templateLiteralNode: ESTree.TemplateLiteral, parentNode: ESTree.Node): ESTree.Node {
         if (NodeGuards.isTaggedTemplateExpressionNode(parentNode)) {
-            return this.transformTaggedTemplateLiteralNodeNode(templateLiteralNode, parentNode);
-        } else {
-            return this.transformTemplateLiteralNodeNode(templateLiteralNode, parentNode);
+            return templateLiteralNode;
         }
-    }
 
-    /**
-     * @param {ESTree.TemplateLiteral} templateLiteralNode
-     * @param {ESTree.Node} parentNode
-     * @returns {ESTree.Node}
-     */
-    private transformTaggedTemplateLiteralNodeNode (templateLiteralNode: ESTree.TemplateLiteral, parentNode: ESTree.Node): ESTree.Node {
-        return NodeFactory.templateLiteral(
-            [this.transformTemplateLiteralNodeNode(templateLiteralNode, parentNode)],
-            [
-                NodeFactory.templateElement(
-                    {
-                        raw: '',
-                        cooked: ''
-                    },
-                    false
-                ),
-                NodeFactory.templateElement(
-                    {
-                        raw: '',
-                        cooked: ''
-                    },
-                    true
-                )
-            ]
-        );
+        return this.transformTemplateLiteralNode(templateLiteralNode, parentNode);
     }
 
     /**
@@ -104,7 +77,7 @@ export class TemplateLiteralTransformer extends AbstractNodeTransformer {
      * @param {ESTree.Node} parentNode
      * @returns {ESTree.Expression}
      */
-    private transformTemplateLiteralNodeNode (templateLiteralNode: ESTree.TemplateLiteral, parentNode: ESTree.Node): ESTree.Expression {
+    private transformTemplateLiteralNode (templateLiteralNode: ESTree.TemplateLiteral, parentNode: ESTree.Node): ESTree.Expression {
         const templateLiteralExpressions: ESTree.Expression[] = templateLiteralNode.expressions;
 
         let nodes: ESTree.Expression[] = [];

+ 2 - 2
test/functional-tests/node-transformers/converting-transformers/template-literal-transformer/TemplateLiteralTransformer.spec.ts

@@ -149,7 +149,7 @@ describe('TemplateLiteralTransformer', () => {
     });
 
     describe('Variant #6: tagged template literal', () => {
-        it('shouldn transform es6 tagged template literal to es5', () => {
+        it('shouldn\'t transform es6 tagged template literal to es5', () => {
             const code: string = readFileAsString(__dirname + '/fixtures/tagged-template-literal.js');
 
             obfuscatedCode = JavaScriptObfuscator.obfuscate(
@@ -162,7 +162,7 @@ describe('TemplateLiteralTransformer', () => {
 
             assert.match(
                 obfuscatedCode,
-                /tag`\${'foo\\x20' *\+ *\(0x1 *\+ *0x1\) *\+ *'\\x20bar'}`;/
+                /tag`foo *\${0x1 *\+ *0x1} *bar`;/
             );
         });
     });

部分文件因文件數量過多而無法顯示