Identifiers prefix generation for CLI directory obfuscation

This commit is contained in:
sanex3339
2018-01-24 16:33:27 +03:00
parent 19ff4cfb1e
commit 799cc219d3
6 changed files with 125 additions and 27 deletions
+23 -3
View File
@@ -44,6 +44,11 @@ export class JavaScriptObfuscatorCLI implements IInitializable {
*/
public static obfuscatedFilePrefix: string = '-obfuscated';
/**
* @type {string}
*/
private static readonly baseIdentifiersPrefix: string = 'a';
/**
* @type {string[]}
*/
@@ -353,8 +358,11 @@ export class JavaScriptObfuscatorCLI implements IInitializable {
const outputCodePath: string = outputPath
? path.join(outputPath, filePath)
: CLIUtils.getOutputCodePath(filePath);
const baseIdentifiersPrefix: string = this.inputCLIOptions.identifiersPrefix
|| JavaScriptObfuscatorCLI.baseIdentifiersPrefix;
const identifiersPrefix: string = `${baseIdentifiersPrefix}${index}`;
this.processSourceCode(content, outputCodePath);
this.processSourceCode(content, outputCodePath, identifiersPrefix);
});
}
}
@@ -362,9 +370,21 @@ export class JavaScriptObfuscatorCLI implements IInitializable {
/**
* @param {string} sourceCode
* @param {string} outputCodePath
* @param {string | null} identifiersPrefix
*/
private processSourceCode (sourceCode: string, outputCodePath: string): void {
const options: TInputOptions = this.buildOptions();
private processSourceCode (
sourceCode: string,
outputCodePath: string,
identifiersPrefix: string | null = null
): void {
let options: TInputOptions = this.buildOptions();
if (identifiersPrefix !== null) {
options = {
...options,
identifiersPrefix
};
}
if (options.sourceMap) {
JavaScriptObfuscatorCLI.processSourceCodeWithSourceMap(sourceCode, outputCodePath, options);