Skip to content

Commit de8579a

Browse files
author
sanex3339
committed
0.18.6 version
1 parent 10e69bf commit de8579a

File tree

9 files changed

+47
-28
lines changed

9 files changed

+47
-28
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Change Log
22
===
3+
v0.18.6
4+
---
5+
* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/355
6+
37
v0.18.5
48
---
59
* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/321

dist/index.browser.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.cli.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "javascript-obfuscator",
3-
"version": "0.18.5",
3+
"version": "0.18.6",
44
"description": "JavaScript obfuscator",
55
"keywords": [
66
"obfuscator",
@@ -113,6 +113,10 @@
113113
"author": {
114114
"name": "Timofey Kachalov"
115115
},
116+
"contributors": [
117+
"Timofey Kachalov (https://github.com/sanex3339)",
118+
"Zamotkin (https://github.com/zamotkin)"
119+
],
116120
"license": "BSD-2-Clause",
117121
"collective": {
118122
"type": "opencollective",

src/interfaces/generators/identifier-names-generators/IIdentifierNamesGenerator.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,8 @@ export interface IIdentifierNamesGenerator {
1717
*/
1818
isValidIdentifierName (identifierName: string): boolean;
1919

20+
/**
21+
* @param {string} name
22+
*/
2023
preserveName (name: string): void;
2124
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,8 @@ export interface IIdentifierObfuscatingReplacer extends IObfuscatingReplacer <ES
1717
*/
1818
storeLocalName (nodeValue: string, lexicalScopeNode: TNodeWithLexicalScope): void;
1919

20-
preserveName (name: any): void;
20+
/**
21+
* @param {string} name
22+
*/
23+
preserveName (name: string): void;
2124
}

src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import { inject, injectable, } from 'inversify';
2-
import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
32
import * as ESTree from 'estree';
3+
44
import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
5+
56
import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/obfuscating-replacers/IIdentifierObfuscatingReplacer';
67
import { IOptions } from '../../interfaces/options/IOptions';
78
import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator';
89
import { IVisitor } from '../../interfaces/node-transformers/IVisitor';
910
import { IdentifierObfuscatingReplacer } from "../../enums/node-transformers/obfuscating-transformers/obfuscating-replacers/IdentifierObfuscatingReplacer";
11+
12+
import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
1013
import { TransformationStage } from '../../enums/node-transformers/TransformationStage';
14+
1115
import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
1216
import { NodeGuards } from '../../node/NodeGuards';
1317

@@ -48,13 +52,14 @@ export class VariablePreserveTransformer extends AbstractNodeTransformer {
4852
case TransformationStage.Preparing:
4953
return {
5054
enter: (node: ESTree.Node, parentNode: ESTree.Node | null) => {
51-
if (parentNode &&
52-
NodeGuards.isIdentifierNode(node) &&
53-
(
54-
NodeGuards.parentNodeIsPropertyNode(node, parentNode) ||
55-
NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode) ||
56-
NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode) ||
57-
NodeGuards.isLabelIdentifierNode(node, parentNode)
55+
if (
56+
NodeGuards.isIdentifierNode(node)
57+
&& parentNode
58+
&& (
59+
NodeGuards.parentNodeIsPropertyNode(node, parentNode)
60+
|| NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode)
61+
|| NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode)
62+
|| NodeGuards.isLabelIdentifierNode(node, parentNode)
5863
)
5964
) {
6065
return this.transformNode(node, parentNode);

src/node/NodeGuards.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,9 @@ export class NodeGuards {
300300
* @returns {boolean}
301301
*/
302302
public static parentNodeIsPropertyNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
303-
return NodeGuards.isPropertyNode(parentNode) &&
304-
!parentNode.computed &&
305-
parentNode.key === node;
303+
return NodeGuards.isPropertyNode(parentNode)
304+
&& !parentNode.computed
305+
&& parentNode.key === node;
306306
}
307307

308308
/**
@@ -312,9 +312,9 @@ export class NodeGuards {
312312
*/
313313
public static parentNodeIsMemberExpressionNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
314314
return (
315-
NodeGuards.isMemberExpressionNode(parentNode) &&
316-
!parentNode.computed &&
317-
parentNode.property === node
315+
NodeGuards.isMemberExpressionNode(parentNode)
316+
&& !parentNode.computed
317+
&& parentNode.property === node
318318
);
319319
}
320320

@@ -324,8 +324,8 @@ export class NodeGuards {
324324
* @returns {boolean}
325325
*/
326326
public static parentNodeIsMethodDefinitionNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
327-
return NodeGuards.isMethodDefinitionNode(parentNode) &&
328-
!parentNode.computed;
327+
return NodeGuards.isMethodDefinitionNode(parentNode)
328+
&& !parentNode.computed;
329329
}
330330

331331
/**
@@ -334,11 +334,11 @@ export class NodeGuards {
334334
* @returns {boolean}
335335
*/
336336
public static isReplaceableIdentifierNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier {
337-
return NodeGuards.isIdentifierNode(node) &&
338-
!NodeGuards.parentNodeIsPropertyNode(node, parentNode) &&
339-
!NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode) &&
340-
!NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode) &&
341-
!NodeGuards.isLabelIdentifierNode(node, parentNode);
337+
return NodeGuards.isIdentifierNode(node)
338+
&& !NodeGuards.parentNodeIsPropertyNode(node, parentNode)
339+
&& !NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode)
340+
&& !NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode)
341+
&& !NodeGuards.isLabelIdentifierNode(node, parentNode);
342342
}
343343

344344
/**

0 commit comments

Comments
 (0)