فهرست منبع

Refactoring, option rename on `forceTransformStrings`

sanex 4 سال پیش
والد
کامیت
9301f6aa63
31فایلهای تغییر یافته به همراه169 افزوده شده و 107 حذف شده
  1. 1 1
      CHANGELOG.md
  2. 4 4
      README.md
  3. 0 0
      dist/index.browser.js
  4. 0 0
      dist/index.cli.js
  5. 0 0
      dist/index.js
  6. 2 2
      src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts
  7. 1 1
      src/cli/JavaScriptObfuscatorCLI.ts
  8. 3 3
      src/container/modules/node-transformers/PreparingTransformersModule.ts
  9. 1 1
      src/declarations/ESTree.d.ts
  10. 1 1
      src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts
  11. 3 3
      src/enums/node/ObfuscatingGuardResult.ts
  12. 1 1
      src/interfaces/options/IOptions.ts
  13. 7 17
      src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts
  14. 2 2
      src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts
  15. 2 2
      src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts
  16. 10 10
      src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts
  17. 3 3
      src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts
  18. 2 2
      src/node/NodeMetadata.ts
  19. 1 1
      src/options/Options.ts
  20. 1 1
      src/options/presets/Default.ts
  21. 1 1
      src/options/presets/NoCustomNodes.ts
  22. 5 5
      test/functional-tests/node-transformers/finalizing-transformers/escape-sequence-transformer/EscapeSequenceTransformer.spec.ts
  23. 0 0
      test/functional-tests/node-transformers/finalizing-transformers/escape-sequence-transformer/fixtures/force-transform-strings-option.js
  24. 69 0
      test/functional-tests/node-transformers/preparing-transformers/obfuscating-guards/force-transform-string-obfuscating-guard/ForceTransformStringObfuscatingGuard.spec.ts
  25. 2 0
      test/functional-tests/node-transformers/preparing-transformers/obfuscating-guards/force-transform-string-obfuscating-guard/fixtures/base-behaviour.js
  26. 23 23
      test/functional-tests/node-transformers/string-array-transformers/string-array-transformer/StringArrayTransformer.spec.ts
  27. 0 0
      test/functional-tests/node-transformers/string-array-transformers/string-array-transformer/fixtures/force-transform-strings-option.js
  28. 1 0
      test/index.spec.ts
  29. 3 3
      test/unit-tests/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.spec.ts
  30. 17 17
      test/unit-tests/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.spec.ts
  31. 3 3
      test/unit-tests/node/node-metadata/NodeMetadata.spec.ts

+ 1 - 1
CHANGELOG.md

@@ -2,7 +2,7 @@ Change Log
 
 
 v2.4.0
 v2.4.0
 ---
 ---
-* **New option:** `forceTransformedStrings` allows force transform strings even if by `stringArrayThreshold` (or possible other thresholds in the future) they shouldn't be transformed. Implemented https://github.com/javascript-obfuscator/javascript-obfuscator/issues/657
+* **New option:** `forceTransformStrings` allows force transform strings even if by `stringArrayThreshold` (or possible other thresholds in the future) they shouldn't be transformed. Implemented https://github.com/javascript-obfuscator/javascript-obfuscator/issues/657
 
 
 v2.3.1
 v2.3.1
 ---
 ---

+ 4 - 4
README.md

@@ -339,7 +339,7 @@ Following options are available for the JS Obfuscator:
     debugProtectionInterval: false,
     debugProtectionInterval: false,
     disableConsoleOutput: false,
     disableConsoleOutput: false,
     domainLock: [],
     domainLock: [],
-    forceTransformedStrings: [],
+    forceTransformStrings: [],
     identifierNamesGenerator: 'hexadecimal',
     identifierNamesGenerator: 'hexadecimal',
     identifiersDictionary: [],
     identifiersDictionary: [],
     identifiersPrefix: '',
     identifiersPrefix: '',
@@ -392,7 +392,7 @@ Following options are available for the JS Obfuscator:
     --disable-console-output <boolean>
     --disable-console-output <boolean>
     --domain-lock '<list>' (comma separated)
     --domain-lock '<list>' (comma separated)
     --exclude '<list>' (comma separated)
     --exclude '<list>' (comma separated)
-    --force-transformed-strings '<list>' (comma separated)
+    --force-transform-strings '<list>' (comma separated)
     --identifier-names-generator <string> [dictionary, hexadecimal, mangled, mangled-shuffled]
     --identifier-names-generator <string> [dictionary, hexadecimal, mangled, mangled-shuffled]
     --identifiers-dictionary '<list>' (comma separated)
     --identifiers-dictionary '<list>' (comma separated)
     --identifiers-prefix <string>
     --identifiers-prefix <string>
@@ -658,7 +658,7 @@ Type: `string[]` Default: `[]`
 
 
 A file names or globs which indicates files to exclude from obfuscation. 
 A file names or globs which indicates files to exclude from obfuscation. 
 
 
-### `forceTransformedStrings`
+### `forceTransformStrings`
 Type: `string[]` Default: `[]`
 Type: `string[]` Default: `[]`
 
 
 Enables force transformation of string literals, which being matched by passed RegExp patterns.
 Enables force transformation of string literals, which being matched by passed RegExp patterns.
@@ -668,7 +668,7 @@ Enables force transformation of string literals, which being matched by passed R
 Example:
 Example:
 ```ts
 ```ts
 	{
 	{
-		forceTransformedStrings: [
+		forceTransformStrings: [
 			'some-important-value',
 			'some-important-value',
 			'some-string_\d'
 			'some-string_\d'
 		]
 		]

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.browser.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.cli.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.js


+ 2 - 2
src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts

@@ -122,9 +122,9 @@ export class StringArrayStorageAnalyzer implements IStringArrayStorageAnalyzer {
      * @returns {boolean}
      * @returns {boolean}
      */
      */
     private shouldAddValueToStringArray (literalNode: ESTree.Literal & {value: string}): boolean {
     private shouldAddValueToStringArray (literalNode: ESTree.Literal & {value: string}): boolean {
-        const isForceObfuscatedNode: boolean = NodeMetadata.isForceObfuscatedNode(literalNode);
+        const isForceTransformNode: boolean = NodeMetadata.isForceTransformNode(literalNode);
 
 
-        if (isForceObfuscatedNode) {
+        if (isForceTransformNode) {
             return true;
             return true;
         }
         }
 
 

+ 1 - 1
src/cli/JavaScriptObfuscatorCLI.ts

@@ -231,7 +231,7 @@ export class JavaScriptObfuscatorCLI implements IInitializable {
                 ArraySanitizer
                 ArraySanitizer
             )
             )
             .option(
             .option(
-                '--force-transformed-strings <list> (comma separated, without whitespaces)',
+                '--force-transform-strings <list> (comma separated, without whitespaces)',
                 'Enables force transformation of string literals, which being matched by passed RegExp patterns (comma separated)',
                 'Enables force transformation of string literals, which being matched by passed RegExp patterns (comma separated)',
                 ArraySanitizer
                 ArraySanitizer
             )
             )

+ 3 - 3
src/container/modules/node-transformers/PreparingTransformersModule.ts

@@ -12,7 +12,7 @@ import { BlackListObfuscatingGuard } from '../../../node-transformers/preparing-
 import { ConditionalCommentObfuscatingGuard } from '../../../node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard';
 import { ConditionalCommentObfuscatingGuard } from '../../../node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard';
 import { CustomCodeHelpersTransformer } from '../../../node-transformers/preparing-transformers/CustomCodeHelpersTransformer';
 import { CustomCodeHelpersTransformer } from '../../../node-transformers/preparing-transformers/CustomCodeHelpersTransformer';
 import { EvalCallExpressionTransformer } from '../../../node-transformers/preparing-transformers/EvalCallExpressionTransformer';
 import { EvalCallExpressionTransformer } from '../../../node-transformers/preparing-transformers/EvalCallExpressionTransformer';
-import { ForceTransformedStringObfuscatingGuard } from '../../../node-transformers/preparing-transformers/obfuscating-guards/ForceTransformedStringObfuscatingGuard';
+import { ForceTransformStringObfuscatingGuard } from '../../../node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard';
 import { MetadataTransformer } from '../../../node-transformers/preparing-transformers/MetadataTransformer';
 import { MetadataTransformer } from '../../../node-transformers/preparing-transformers/MetadataTransformer';
 import { ObfuscatingGuardsTransformer } from '../../../node-transformers/preparing-transformers/ObfuscatingGuardsTransformer';
 import { ObfuscatingGuardsTransformer } from '../../../node-transformers/preparing-transformers/ObfuscatingGuardsTransformer';
 import { ParentificationTransformer } from '../../../node-transformers/preparing-transformers/ParentificationTransformer';
 import { ParentificationTransformer } from '../../../node-transformers/preparing-transformers/ParentificationTransformer';
@@ -57,9 +57,9 @@ export const preparingTransformersModule: interfaces.ContainerModule = new Conta
         .whenTargetNamed(ObfuscatingGuard.ConditionalCommentObfuscatingGuard);
         .whenTargetNamed(ObfuscatingGuard.ConditionalCommentObfuscatingGuard);
 
 
     bind<IObfuscatingGuard>(ServiceIdentifiers.INodeGuard)
     bind<IObfuscatingGuard>(ServiceIdentifiers.INodeGuard)
-        .to(ForceTransformedStringObfuscatingGuard)
+        .to(ForceTransformStringObfuscatingGuard)
         .inSingletonScope()
         .inSingletonScope()
-        .whenTargetNamed(ObfuscatingGuard.ForceTransformedStringObfuscatingGuard);
+        .whenTargetNamed(ObfuscatingGuard.ForceTransformStringObfuscatingGuard);
 
 
     bind<IObfuscatingGuard>(ServiceIdentifiers.INodeGuard)
     bind<IObfuscatingGuard>(ServiceIdentifiers.INodeGuard)
         .to(ReservedStringObfuscatingGuard)
         .to(ReservedStringObfuscatingGuard)

+ 1 - 1
src/declarations/ESTree.d.ts

@@ -6,7 +6,7 @@ import * as eslintScope from 'eslint-scope';
 
 
 declare module 'estree' {
 declare module 'estree' {
     export interface BaseNodeMetadata {
     export interface BaseNodeMetadata {
-        forceObfuscatedNode?: boolean;
+        forceTransformNode?: boolean;
         ignoredNode?: boolean;
         ignoredNode?: boolean;
     }
     }
 
 

+ 1 - 1
src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts

@@ -1,6 +1,6 @@
 export enum ObfuscatingGuard {
 export enum ObfuscatingGuard {
     BlackListObfuscatingGuard = 'BlackListObfuscatingGuard',
     BlackListObfuscatingGuard = 'BlackListObfuscatingGuard',
     ConditionalCommentObfuscatingGuard = 'ConditionalCommentObfuscatingGuard',
     ConditionalCommentObfuscatingGuard = 'ConditionalCommentObfuscatingGuard',
-    ForceTransformedStringObfuscatingGuard = 'ForceTransformedStringObfuscatingGuard',
+    ForceTransformStringObfuscatingGuard = 'ForceTransformStringObfuscatingGuard',
     ReservedStringObfuscatingGuard = 'ReservedStringObfuscatingGuard'
     ReservedStringObfuscatingGuard = 'ReservedStringObfuscatingGuard'
 }
 }

+ 3 - 3
src/enums/node/ObfuscatingGuardResult.ts

@@ -1,5 +1,5 @@
 export enum ObfuscatingGuardResult {
 export enum ObfuscatingGuardResult {
-    ForceObfuscated = 'ForceObfuscated',
-    Ignored = 'Ignored',
-    Obfuscated = 'Obfuscated'
+    ForceTransform = 'ForceTransform',
+    Ignore = 'Ignore',
+    Obfuscate = 'Obfuscate'
 }
 }

+ 1 - 1
src/interfaces/options/IOptions.ts

@@ -18,7 +18,7 @@ export interface IOptions {
     readonly debugProtectionInterval: boolean;
     readonly debugProtectionInterval: boolean;
     readonly disableConsoleOutput: boolean;
     readonly disableConsoleOutput: boolean;
     readonly domainLock: string[];
     readonly domainLock: string[];
-    readonly forceTransformedStrings: string[];
+    readonly forceTransformStrings: string[];
     readonly identifierNamesGenerator: TypeFromEnum<typeof IdentifierNamesGenerator>;
     readonly identifierNamesGenerator: TypeFromEnum<typeof IdentifierNamesGenerator>;
     readonly identifiersDictionary: string[];
     readonly identifiersDictionary: string[];
     readonly identifiersPrefix: string;
     readonly identifiersPrefix: string;

+ 7 - 17
src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts

@@ -30,7 +30,7 @@ export class ObfuscatingGuardsTransformer extends AbstractNodeTransformer {
     private static readonly obfuscatingGuardsList: ObfuscatingGuard[] = [
     private static readonly obfuscatingGuardsList: ObfuscatingGuard[] = [
         ObfuscatingGuard.BlackListObfuscatingGuard,
         ObfuscatingGuard.BlackListObfuscatingGuard,
         ObfuscatingGuard.ConditionalCommentObfuscatingGuard,
         ObfuscatingGuard.ConditionalCommentObfuscatingGuard,
-        ObfuscatingGuard.ForceTransformedStringObfuscatingGuard,
+        ObfuscatingGuard.ForceTransformStringObfuscatingGuard,
         ObfuscatingGuard.ReservedStringObfuscatingGuard
         ObfuscatingGuard.ReservedStringObfuscatingGuard
     ];
     ];
 
 
@@ -99,24 +99,14 @@ export class ObfuscatingGuardsTransformer extends AbstractNodeTransformer {
      * @param {ObfuscatingGuardResult[]} obfuscatingGuardResults
      * @param {ObfuscatingGuardResult[]} obfuscatingGuardResults
      */
      */
     private setNodeMetadata (node: ESTree.Node, obfuscatingGuardResults: ObfuscatingGuardResult[]): void {
     private setNodeMetadata (node: ESTree.Node, obfuscatingGuardResults: ObfuscatingGuardResult[]): void {
-        let ignoredNode: boolean = false;
-        let forceObfuscatedNode: boolean = false;
-
-        for (const obfuscatingGuardResult of obfuscatingGuardResults) {
-            if (obfuscatingGuardResult === ObfuscatingGuardResult.Ignored) {
-                ignoredNode = true;
-                forceObfuscatedNode = false;
-                break;
-            }
-
-            if (obfuscatingGuardResult === ObfuscatingGuardResult.ForceObfuscated) {
-                forceObfuscatedNode = true;
-            }
-        }
+        const forceTransformNode: boolean = obfuscatingGuardResults
+            .some((obfuscatingGuardResult: ObfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult.ForceTransform);
+        const ignoredNode: boolean = !forceTransformNode && obfuscatingGuardResults
+            .some((obfuscatingGuardResult: ObfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult.Ignore);
 
 
         NodeMetadata.set(node, {
         NodeMetadata.set(node, {
-            ignoredNode: ignoredNode && !NodeGuards.isProgramNode(node),
-            forceObfuscatedNode: forceObfuscatedNode && !NodeGuards.isProgramNode(node)
+            forceTransformNode: forceTransformNode && !NodeGuards.isProgramNode(node),
+            ignoredNode: ignoredNode && !NodeGuards.isProgramNode(node)
         });
         });
     }
     }
 }
 }

+ 2 - 2
src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts

@@ -33,10 +33,10 @@ export class BlackListObfuscatingGuard implements IObfuscatingGuard {
     public check (node: ESTree.Node): ObfuscatingGuardResult {
     public check (node: ESTree.Node): ObfuscatingGuardResult {
         for (let i: number = 0; i < this.blackListGuardsLength; i++) {
         for (let i: number = 0; i < this.blackListGuardsLength; i++) {
             if (BlackListObfuscatingGuard.blackListGuards[i](node)) {
             if (BlackListObfuscatingGuard.blackListGuards[i](node)) {
-                return ObfuscatingGuardResult.Ignored;
+                return ObfuscatingGuardResult.Ignore;
             }
             }
         }
         }
 
 
-        return ObfuscatingGuardResult.Obfuscated;
+        return ObfuscatingGuardResult.Obfuscate;
     }
     }
 }
 }

+ 2 - 2
src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts

@@ -48,8 +48,8 @@ export class ConditionalCommentObfuscatingGuard implements IObfuscatingGuard {
         }
         }
 
 
         return this.obfuscationAllowed
         return this.obfuscationAllowed
-            ? ObfuscatingGuardResult.Obfuscated
-            : ObfuscatingGuardResult.Ignored;
+            ? ObfuscatingGuardResult.Obfuscate
+            : ObfuscatingGuardResult.Ignore;
     }
     }
 
 
     /**
     /**

+ 10 - 10
src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformedStringObfuscatingGuard.ts → src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts

@@ -12,7 +12,7 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 import { NodeGuards } from '../../../node/NodeGuards';
 import { NodeGuards } from '../../../node/NodeGuards';
 
 
 @injectable()
 @injectable()
-export class ForceTransformedStringObfuscatingGuard implements IObfuscatingGuard {
+export class ForceTransformStringObfuscatingGuard implements IObfuscatingGuard {
     /**
     /**
      * @type {IOptions}
      * @type {IOptions}
      */
      */
@@ -33,26 +33,26 @@ export class ForceTransformedStringObfuscatingGuard implements IObfuscatingGuard
      */
      */
     public check (node: ESTree.Node): ObfuscatingGuardResult {
     public check (node: ESTree.Node): ObfuscatingGuardResult {
         if (
         if (
-            this.options.forceTransformedStrings.length
+            this.options.forceTransformStrings.length
             && NodeGuards.isLiteralNode(node)
             && NodeGuards.isLiteralNode(node)
             && typeof node.value === 'string'
             && typeof node.value === 'string'
         ) {
         ) {
-            return !this.isForceTransformedString(node.value)
-                ? ObfuscatingGuardResult.Obfuscated
-                : ObfuscatingGuardResult.ForceObfuscated;
+            return !this.isForceTransformString(node.value)
+                ? ObfuscatingGuardResult.Obfuscate
+                : ObfuscatingGuardResult.ForceTransform;
         }
         }
 
 
-        return ObfuscatingGuardResult.Obfuscated;
+        return ObfuscatingGuardResult.Obfuscate;
     }
     }
 
 
     /**
     /**
      * @param {string} value
      * @param {string} value
      * @returns {boolean}
      * @returns {boolean}
      */
      */
-    private isForceTransformedString (value: string): boolean {
-        return this.options.forceTransformedStrings
-            .some((forceTransformedString: string) => {
-                return new RegExp(forceTransformedString, 'g').exec(value) !== null;
+    private isForceTransformString (value: string): boolean {
+        return this.options.forceTransformStrings
+            .some((forceTransformString: string) => {
+                return new RegExp(forceTransformString, 'g').exec(value) !== null;
             });
             });
     }
     }
 }
 }

+ 3 - 3
src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts

@@ -38,11 +38,11 @@ export class ReservedStringObfuscatingGuard implements IObfuscatingGuard {
             && typeof node.value === 'string'
             && typeof node.value === 'string'
         ) {
         ) {
             return !this.isReservedString(node.value)
             return !this.isReservedString(node.value)
-                ? ObfuscatingGuardResult.Obfuscated
-                : ObfuscatingGuardResult.Ignored;
+                ? ObfuscatingGuardResult.Obfuscate
+                : ObfuscatingGuardResult.Ignore;
         }
         }
 
 
-        return ObfuscatingGuardResult.Obfuscated;
+        return ObfuscatingGuardResult.Obfuscate;
     }
     }
 
 
     /**
     /**

+ 2 - 2
src/node/NodeMetadata.ts

@@ -24,8 +24,8 @@ export class NodeMetadata {
      * @param {Node} node
      * @param {Node} node
      * @returns {boolean}
      * @returns {boolean}
      */
      */
-    public static isForceObfuscatedNode (node: ESTree.Node): boolean {
-        return NodeMetadata.get(node, 'forceObfuscatedNode') === true;
+    public static isForceTransformNode (node: ESTree.Node): boolean {
+        return NodeMetadata.get(node, 'forceTransformNode') === true;
     }
     }
 
 
     /**
     /**

+ 1 - 1
src/options/Options.ts

@@ -136,7 +136,7 @@ export class Options implements IOptions {
     @IsString({
     @IsString({
         each: true
         each: true
     })
     })
-    public readonly forceTransformedStrings!: string[];
+    public readonly forceTransformStrings!: string[];
 
 
     /**
     /**
      * @type {IdentifierNamesGenerator}
      * @type {IdentifierNamesGenerator}

+ 1 - 1
src/options/presets/Default.ts

@@ -19,7 +19,7 @@ export const DEFAULT_PRESET: TInputOptions = Object.freeze({
     disableConsoleOutput: false,
     disableConsoleOutput: false,
     domainLock: [],
     domainLock: [],
     exclude: [],
     exclude: [],
-    forceTransformedStrings: [],
+    forceTransformStrings: [],
     identifierNamesGenerator: IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,
     identifierNamesGenerator: IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,
     identifiersPrefix: '',
     identifiersPrefix: '',
     identifiersDictionary: [],
     identifiersDictionary: [],

+ 1 - 1
src/options/presets/NoCustomNodes.ts

@@ -17,7 +17,7 @@ export const NO_ADDITIONAL_NODES_PRESET: TInputOptions = Object.freeze({
     disableConsoleOutput: false,
     disableConsoleOutput: false,
     domainLock: [],
     domainLock: [],
     exclude: [],
     exclude: [],
-    forceTransformedStrings: [],
+    forceTransformStrings: [],
     identifierNamesGenerator: IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,
     identifierNamesGenerator: IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,
     identifiersPrefix: '',
     identifiersPrefix: '',
     identifiersDictionary: [],
     identifiersDictionary: [],

+ 5 - 5
test/functional-tests/node-transformers/finalizing-transformers/escape-sequence-transformer/EscapeSequenceTransformer.spec.ts

@@ -136,30 +136,30 @@ describe('EscapeSequenceTransformer', function () {
         });
         });
     });
     });
 
 
-    describe('Variant #5: `forceTransformedStrings` option is enabled', () => {
+    describe('Variant #5: `forceTransformStrings` option is enabled', () => {
         const stringLiteralRegExp1: RegExp = /const foo *= *'foo';/;
         const stringLiteralRegExp1: RegExp = /const foo *= *'foo';/;
         const stringLiteralRegExp2: RegExp = /const bar *= *'bar';/;
         const stringLiteralRegExp2: RegExp = /const bar *= *'bar';/;
 
 
         let obfuscatedCode: string;
         let obfuscatedCode: string;
 
 
         before(() => {
         before(() => {
-            const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+            const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
             obfuscatedCode = JavaScriptObfuscator.obfuscate(
             obfuscatedCode = JavaScriptObfuscator.obfuscate(
                 code,
                 code,
                 {
                 {
                     ...NO_ADDITIONAL_NODES_PRESET,
                     ...NO_ADDITIONAL_NODES_PRESET,
-                    forceTransformedStrings: ['bar'],
+                    forceTransformStrings: ['bar'],
                     unicodeEscapeSequence: false
                     unicodeEscapeSequence: false
                 }
                 }
             ).getObfuscatedCode();
             ).getObfuscatedCode();
         });
         });
 
 
-        it('match #1: should not encode force transformed string with unicode escape sequence', () => {
+        it('match #1: should not encode force transform string with unicode escape sequence', () => {
             assert.match(obfuscatedCode, stringLiteralRegExp1);
             assert.match(obfuscatedCode, stringLiteralRegExp1);
         });
         });
 
 
-        it('match #2: should not encode force transformed string with unicode escape sequence', () => {
+        it('match #2: should not encode force transform string with unicode escape sequence', () => {
             assert.match(obfuscatedCode, stringLiteralRegExp2);
             assert.match(obfuscatedCode, stringLiteralRegExp2);
         });
         });
     });
     });

+ 0 - 0
test/functional-tests/node-transformers/finalizing-transformers/escape-sequence-transformer/fixtures/force-transformed-strings-option.js → test/functional-tests/node-transformers/finalizing-transformers/escape-sequence-transformer/fixtures/force-transform-strings-option.js


+ 69 - 0
test/functional-tests/node-transformers/preparing-transformers/obfuscating-guards/force-transform-string-obfuscating-guard/ForceTransformStringObfuscatingGuard.spec.ts

@@ -0,0 +1,69 @@
+import { assert } from 'chai';
+
+import { JavaScriptObfuscator } from '../../../../../../src/JavaScriptObfuscatorFacade';
+
+import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../../src/options/presets/NoCustomNodes';
+
+import { IdentifierNamesGenerator } from '../../../../../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
+
+import { readFileAsString } from '../../../../../helpers/readFileAsString';
+
+describe('ForceTransformStringObfuscatingGuard', () => {
+    describe('check', () => {
+        describe('`forceTransformStrings` option is enabled', () => {
+            const obfuscatingGuardRegExp: RegExp = new RegExp(
+                'var foo *= *\'foo\';' +
+                'var bar *= *b\\(\'0x0\'\\);'
+            );
+
+            let obfuscatedCode: string;
+
+            beforeEach(() => {
+                const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');
+
+                obfuscatedCode = JavaScriptObfuscator.obfuscate(
+                    code,
+                    {
+                        ...NO_ADDITIONAL_NODES_PRESET,
+                        forceTransformStrings: ['bar'],
+                        identifierNamesGenerator: IdentifierNamesGenerator.MangledIdentifierNamesGenerator,
+                        stringArray: true,
+                        stringArrayThreshold: 0
+                    }
+                ).getObfuscatedCode();
+            });
+
+            it('match #1: should obfuscate force transform strings', () => {
+                assert.match(obfuscatedCode, obfuscatingGuardRegExp);
+            });
+        });
+
+        describe('`forceTransformStrings` option is disabled', () => {
+            const obfuscatingGuardRegExp: RegExp = new RegExp(
+                'var foo *= *\'foo\';' +
+                'var bar *= *\'bar\';'
+            );
+
+            let obfuscatedCode: string;
+
+            beforeEach(() => {
+                const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');
+
+                obfuscatedCode = JavaScriptObfuscator.obfuscate(
+                    code,
+                    {
+                        ...NO_ADDITIONAL_NODES_PRESET,
+                        forceTransformStrings: [],
+                        identifierNamesGenerator: IdentifierNamesGenerator.MangledIdentifierNamesGenerator,
+                        stringArray: true,
+                        stringArrayThreshold: 0
+                    }
+                ).getObfuscatedCode();
+            });
+
+            it('match #1: shouldn\'t obfuscate strings', () => {
+                assert.match(obfuscatedCode, obfuscatingGuardRegExp);
+            });
+        });
+    });
+});

+ 2 - 0
test/functional-tests/node-transformers/preparing-transformers/obfuscating-guards/force-transform-string-obfuscating-guard/fixtures/base-behaviour.js

@@ -0,0 +1,2 @@
+var foo = 'foo';
+var bar = 'bar';

+ 23 - 23
test/functional-tests/node-transformers/string-array-transformers/string-array-transformer/StringArrayTransformer.spec.ts

@@ -566,22 +566,22 @@ describe('StringArrayTransformer', function () {
         });
         });
     });
     });
 
 
-    describe('Variant #13: `forceTransformedStrings` option is enabled', () => {
-        describe('Variant #1: base `forceTransformedStrings` values', () => {
-            describe('Variant #1: single force transformed string value', () => {
+    describe('Variant #13: `forceTransformStrings` option is enabled', () => {
+        describe('Variant #1: base `forceTransformStrings` values', () => {
+            describe('Variant #1: single force transform string value', () => {
                 const stringLiteralRegExp1: RegExp = /const foo *= *'foo';/;
                 const stringLiteralRegExp1: RegExp = /const foo *= *'foo';/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x0'\);/;
 
 
                 let obfuscatedCode: string;
                 let obfuscatedCode: string;
 
 
                 before(() => {
                 before(() => {
-                    const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+                    const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                         code,
                         code,
                         {
                         {
                             ...NO_ADDITIONAL_NODES_PRESET,
                             ...NO_ADDITIONAL_NODES_PRESET,
-                            forceTransformedStrings: ['bar'],
+                            forceTransformStrings: ['bar'],
                             stringArray: true,
                             stringArray: true,
                             stringArrayThreshold: 0
                             stringArrayThreshold: 0
                         }
                         }
@@ -592,56 +592,56 @@ describe('StringArrayTransformer', function () {
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                 });
                 });
 
 
-                it('match #2: should transform force transformed string', () => {
+                it('match #2: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                 });
                 });
             });
             });
 
 
-            describe('Variant #2: two force transformed string values', () => {
+            describe('Variant #2: two force transform string values', () => {
                 const stringLiteralRegExp1: RegExp = /const foo *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp1: RegExp = /const foo *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x1'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x1'\);/;
 
 
                 let obfuscatedCode: string;
                 let obfuscatedCode: string;
 
 
                 before(() => {
                 before(() => {
-                    const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+                    const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                         code,
                         code,
                         {
                         {
                             ...NO_ADDITIONAL_NODES_PRESET,
                             ...NO_ADDITIONAL_NODES_PRESET,
-                            forceTransformedStrings: ['foo', 'bar'],
+                            forceTransformStrings: ['foo', 'bar'],
                             stringArray: true,
                             stringArray: true,
                             stringArrayThreshold: 0
                             stringArrayThreshold: 0
                         }
                         }
                     ).getObfuscatedCode();
                     ).getObfuscatedCode();
                 });
                 });
 
 
-                it('match #1: should transform force transformed string', () => {
+                it('match #1: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                 });
                 });
 
 
-                it('match #2: should transform force transformed string', () => {
+                it('match #2: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                 });
                 });
             });
             });
         });
         });
 
 
-        describe('Variant #2: RegExp `forceTransformedStrings` values', () => {
-            describe('Variant #1: single force transformed string value', () => {
+        describe('Variant #2: RegExp `forceTransformStrings` values', () => {
+            describe('Variant #1: single force transform string value', () => {
                 const stringLiteralRegExp1: RegExp = /const foo *= *'foo'/;
                 const stringLiteralRegExp1: RegExp = /const foo *= *'foo'/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x0'\);/;
 
 
                 let obfuscatedCode: string;
                 let obfuscatedCode: string;
 
 
                 before(() => {
                 before(() => {
-                    const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+                    const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                         code,
                         code,
                         {
                         {
                             ...NO_ADDITIONAL_NODES_PRESET,
                             ...NO_ADDITIONAL_NODES_PRESET,
-                            forceTransformedStrings: ['ar$'],
+                            forceTransformStrings: ['ar$'],
                             stringArray: true,
                             stringArray: true,
                             stringArrayThreshold: 0
                             stringArrayThreshold: 0
                         }
                         }
@@ -652,36 +652,36 @@ describe('StringArrayTransformer', function () {
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                 });
                 });
 
 
-                it('match #2: should transform force transformed string', () => {
+                it('match #2: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                 });
                 });
             });
             });
 
 
-            describe('Variant #2: two force transformed string values', () => {
+            describe('Variant #2: two force transform string values', () => {
                 const stringLiteralRegExp1: RegExp = /const foo *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp1: RegExp = /const foo *= *_0x([a-f0-9]){4}\('0x0'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x1'\);/;
                 const stringLiteralRegExp2: RegExp = /const bar *= *_0x([a-f0-9]){4}\('0x1'\);/;
 
 
                 let obfuscatedCode: string;
                 let obfuscatedCode: string;
 
 
                 before(() => {
                 before(() => {
-                    const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+                    const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                         code,
                         code,
                         {
                         {
                             ...NO_ADDITIONAL_NODES_PRESET,
                             ...NO_ADDITIONAL_NODES_PRESET,
-                            forceTransformedStrings: ['^fo', '.ar'],
+                            forceTransformStrings: ['^fo', '.ar'],
                             stringArray: true,
                             stringArray: true,
                             stringArrayThreshold: 1
                             stringArrayThreshold: 1
                         }
                         }
                     ).getObfuscatedCode();
                     ).getObfuscatedCode();
                 });
                 });
 
 
-                it('match #1: should transform force transformed string', () => {
+                it('match #1: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                     assert.match(obfuscatedCode, stringLiteralRegExp1);
                 });
                 });
 
 
-                it('match #2: should transform force transformed string', () => {
+                it('match #2: should transform force transform string', () => {
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                     assert.match(obfuscatedCode, stringLiteralRegExp2);
                 });
                 });
             });
             });
@@ -695,13 +695,13 @@ describe('StringArrayTransformer', function () {
                 let obfuscatedCode: string;
                 let obfuscatedCode: string;
 
 
                 before(() => {
                 before(() => {
-                    const code: string = readFileAsString(__dirname + '/fixtures/force-transformed-strings-option.js');
+                    const code: string = readFileAsString(__dirname + '/fixtures/force-transform-strings-option.js');
 
 
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                     obfuscatedCode = JavaScriptObfuscator.obfuscate(
                         code,
                         code,
                         {
                         {
                             ...NO_ADDITIONAL_NODES_PRESET,
                             ...NO_ADDITIONAL_NODES_PRESET,
-                            forceTransformedStrings: ['foo', 'bar'],
+                            forceTransformStrings: ['foo', 'bar'],
                             stringArray: false,
                             stringArray: false,
                             stringArrayThreshold: 0
                             stringArrayThreshold: 0
                         }
                         }

+ 0 - 0
test/functional-tests/node-transformers/string-array-transformers/string-array-transformer/fixtures/force-transformed-strings-option.js → test/functional-tests/node-transformers/string-array-transformers/string-array-transformer/fixtures/force-transform-strings-option.js


+ 1 - 0
test/index.spec.ts

@@ -100,6 +100,7 @@ import './functional-tests/node-transformers/initializing-transformers/comments-
 import './functional-tests/node-transformers/preparing-transformers/eval-call-expression-transformer/EvalCallExpressionTransformer.spec';
 import './functional-tests/node-transformers/preparing-transformers/eval-call-expression-transformer/EvalCallExpressionTransformer.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/black-list-obfuscating-guard/BlackListObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/black-list-obfuscating-guard/BlackListObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/conditional-comment-obfuscating-guard/ConditionalCommentObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/conditional-comment-obfuscating-guard/ConditionalCommentObfuscatingGuard.spec';
+import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/force-transform-string-obfuscating-guard/ForceTransformStringObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/reserved-string-obfuscating-guard/ReservedStringObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/reserved-string-obfuscating-guard/ReservedStringObfuscatingGuard.spec';
 import './functional-tests/node-transformers/preparing-transformers/variable-preserve-transformer/VariablePreserveTransformer.spec';
 import './functional-tests/node-transformers/preparing-transformers/variable-preserve-transformer/VariablePreserveTransformer.spec';
 import './functional-tests/node-transformers/rename-identifiers-transformers/identifier-replacer/IdentifierReplacer.spec';
 import './functional-tests/node-transformers/rename-identifiers-transformers/identifier-replacer/IdentifierReplacer.spec';

+ 3 - 3
test/unit-tests/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.spec.ts

@@ -254,11 +254,11 @@ describe('StringArrayStorageAnalyzer', () => {
             });
             });
         });
         });
 
 
-        describe('Analyzes of the AST tree with force obfuscated string literal nodes', () => {
+        describe('Analyzes of the AST tree with force transform string literal nodes', () => {
             describe('Variant #1: Force obfuscate string when threshold is `0`', () => {
             describe('Variant #1: Force obfuscate string when threshold is `0`', () => {
                 const literalNode1: ESTree.Literal = NodeFactory.literalNode('foo');
                 const literalNode1: ESTree.Literal = NodeFactory.literalNode('foo');
                 const literalNode2: ESTree.Literal = NodeFactory.literalNode('bar');
                 const literalNode2: ESTree.Literal = NodeFactory.literalNode('bar');
-                NodeMetadata.set(literalNode2, {forceObfuscatedNode: true});
+                NodeMetadata.set(literalNode2, {forceTransformNode: true});
 
 
                 const expectedStringArrayStorageItemData1: undefined = undefined;
                 const expectedStringArrayStorageItemData1: undefined = undefined;
                 const expectedStringArrayStorageItemData2: IStringArrayStorageItemData = {
                 const expectedStringArrayStorageItemData2: IStringArrayStorageItemData = {
@@ -299,7 +299,7 @@ describe('StringArrayStorageAnalyzer', () => {
             describe('Variant #2: Force obfuscate string when string value shorter than allowed length', () => {
             describe('Variant #2: Force obfuscate string when string value shorter than allowed length', () => {
                 const literalNode1: ESTree.Literal = NodeFactory.literalNode('a');
                 const literalNode1: ESTree.Literal = NodeFactory.literalNode('a');
                 const literalNode2: ESTree.Literal = NodeFactory.literalNode('b');
                 const literalNode2: ESTree.Literal = NodeFactory.literalNode('b');
-                NodeMetadata.set(literalNode2, {forceObfuscatedNode: true});
+                NodeMetadata.set(literalNode2, {forceTransformNode: true});
 
 
                 const expectedStringArrayStorageItemData1: undefined = undefined;
                 const expectedStringArrayStorageItemData1: undefined = undefined;
                 const expectedStringArrayStorageItemData2: IStringArrayStorageItemData = {
                 const expectedStringArrayStorageItemData2: IStringArrayStorageItemData = {

+ 17 - 17
test/unit-tests/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.spec.ts

@@ -17,8 +17,8 @@ import { NodeUtils } from '../../../../src/node/NodeUtils';
 
 
 describe('ObfuscatingGuardsTransformer', () => {
 describe('ObfuscatingGuardsTransformer', () => {
     describe('transformNode', () => {
     describe('transformNode', () => {
-        const forceObfuscatedString: string = 'important string';
-        const ignoredAndForceObfuscatedString: string = 'important ignored string';
+        const forceTransformString: string = 'important string';
+        const ignoredAndForceTransformString: string = 'important ignored string';
 
 
         let inversifyContainerFacade: IInversifyContainerFacade,
         let inversifyContainerFacade: IInversifyContainerFacade,
             obfuscatingGuardsTransformer: INodeTransformer;
             obfuscatingGuardsTransformer: INodeTransformer;
@@ -26,12 +26,12 @@ describe('ObfuscatingGuardsTransformer', () => {
         before(() => {
         before(() => {
             inversifyContainerFacade = new InversifyContainerFacade();
             inversifyContainerFacade = new InversifyContainerFacade();
             inversifyContainerFacade.load('', '', {
             inversifyContainerFacade.load('', '', {
-                forceTransformedStrings: [
-                    forceObfuscatedString,
-                    ignoredAndForceObfuscatedString
+                forceTransformStrings: [
+                    forceTransformString,
+                    ignoredAndForceTransformString
                 ],
                 ],
                 reservedStrings: [
                 reservedStrings: [
-                    ignoredAndForceObfuscatedString
+                    ignoredAndForceTransformString
                 ]
                 ]
             });
             });
 
 
@@ -50,7 +50,7 @@ describe('ObfuscatingGuardsTransformer', () => {
                 identifier.parentNode = identifier;
                 identifier.parentNode = identifier;
 
 
                 NodeMetadata.set(expectedResult, {
                 NodeMetadata.set(expectedResult, {
-                    forceObfuscatedNode: false,
+                    forceTransformNode: false,
                     ignoredNode: false
                     ignoredNode: false
                 });
                 });
 
 
@@ -78,7 +78,7 @@ describe('ObfuscatingGuardsTransformer', () => {
 
 
                 expectedResult.parentNode = expectedResult;
                 expectedResult.parentNode = expectedResult;
                 NodeMetadata.set(expectedResult, {
                 NodeMetadata.set(expectedResult, {
-                    forceObfuscatedNode: false,
+                    forceTransformNode: false,
                     ignoredNode: true
                     ignoredNode: true
                 });
                 });
 
 
@@ -91,8 +91,8 @@ describe('ObfuscatingGuardsTransformer', () => {
             });
             });
         });
         });
 
 
-        describe('Variant #3: force obfuscated node', () => {
-            const literalNode: ESTree.Literal =  NodeFactory.literalNode(forceObfuscatedString);
+        describe('Variant #3: force transform node', () => {
+            const literalNode: ESTree.Literal =  NodeFactory.literalNode(forceTransformString);
 
 
             const expectedResult: ESTree.Literal = NodeUtils.clone(literalNode);
             const expectedResult: ESTree.Literal = NodeUtils.clone(literalNode);
 
 
@@ -103,7 +103,7 @@ describe('ObfuscatingGuardsTransformer', () => {
 
 
                 expectedResult.parentNode = expectedResult;
                 expectedResult.parentNode = expectedResult;
                 NodeMetadata.set(expectedResult, {
                 NodeMetadata.set(expectedResult, {
-                    forceObfuscatedNode: true,
+                    forceTransformNode: true,
                     ignoredNode: false
                     ignoredNode: false
                 });
                 });
 
 
@@ -111,13 +111,13 @@ describe('ObfuscatingGuardsTransformer', () => {
                     .transformNode(literalNode, literalNode);
                     .transformNode(literalNode, literalNode);
             });
             });
 
 
-            it('should add `forceObfuscatedNode` property with `true` value to given node', () => {
+            it('should add `forceTransformNode` property with `true` value to given node', () => {
                 assert.deepEqual(result, expectedResult);
                 assert.deepEqual(result, expectedResult);
             });
             });
         });
         });
 
 
-        describe('Variant #4: ignored node and force obfuscated node', () => {
-            const literalNode: ESTree.Literal = NodeFactory.literalNode(ignoredAndForceObfuscatedString);
+        describe('Variant #4: ignored node and force transform node', () => {
+            const literalNode: ESTree.Literal = NodeFactory.literalNode(ignoredAndForceTransformString);
 
 
             const expectedResult: ESTree.Literal = NodeUtils.clone(literalNode);
             const expectedResult: ESTree.Literal = NodeUtils.clone(literalNode);
 
 
@@ -128,15 +128,15 @@ describe('ObfuscatingGuardsTransformer', () => {
 
 
                 expectedResult.parentNode = expectedResult;
                 expectedResult.parentNode = expectedResult;
                 NodeMetadata.set(expectedResult, {
                 NodeMetadata.set(expectedResult, {
-                    forceObfuscatedNode: false,
-                    ignoredNode: true
+                    forceTransformNode: true,
+                    ignoredNode: false
                 });
                 });
 
 
                 result = <ESTree.Literal>obfuscatingGuardsTransformer
                 result = <ESTree.Literal>obfuscatingGuardsTransformer
                     .transformNode(literalNode, literalNode);
                     .transformNode(literalNode, literalNode);
             });
             });
 
 
-            it('should add `ignoredNode` property with `true` value to given node', () => {
+            it('should add correct metadata to given node', () => {
                 assert.deepEqual(result, expectedResult);
                 assert.deepEqual(result, expectedResult);
             });
             });
         });
         });

+ 3 - 3
test/unit-tests/node/node-metadata/NodeMetadata.spec.ts

@@ -47,7 +47,7 @@ describe('NodeMetadata', () => {
         });
         });
     });
     });
 
 
-    describe('isForceObfuscatedNode', () => {
+    describe('isForceTransformNode', () => {
         const expectedValue: boolean = true;
         const expectedValue: boolean = true;
 
 
         let node: ESTree.Identifier,
         let node: ESTree.Identifier,
@@ -56,8 +56,8 @@ describe('NodeMetadata', () => {
         before(() => {
         before(() => {
             node = NodeFactory.identifierNode('foo');
             node = NodeFactory.identifierNode('foo');
             node.metadata = {};
             node.metadata = {};
-            node.metadata.forceObfuscatedNode = true;
-            value = NodeMetadata.isForceObfuscatedNode(node);
+            node.metadata.forceTransformNode = true;
+            value = NodeMetadata.isForceTransformNode(node);
         });
         });
 
 
         it('should return metadata value', () => {
         it('should return metadata value', () => {

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است