Skip to content

Commit

Permalink
Reverted TaggedTemplateLiteral obfuscation. javascript-obfuscator#716
Browse files Browse the repository at this point in the history
  • Loading branch information
sanex3339 committed Aug 18, 2020
1 parent 6990f0c commit ca03000
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 41 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
---
Expand Down
14 changes: 7 additions & 7 deletions dist/index.browser.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.cli.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -66,45 +66,18 @@ 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);
}

/**
* @param {ESTree.TemplateLiteral} templateLiteralNode
* @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[] = [];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -162,7 +162,7 @@ describe('TemplateLiteralTransformer', () => {

assert.match(
obfuscatedCode,
/tag`\${'foo\\x20' *\+ *\(0x1 *\+ *0x1\) *\+ *'\\x20bar'}`;/
/tag`foo *\${0x1 *\+ *0x1} *bar`;/
);
});
});
Expand Down

0 comments on commit ca03000

Please sign in to comment.