Support of output directory paths with a dot symbol

This commit is contained in:
sanex3339
2020-02-22 00:51:20 +03:00
parent 18160e36ae
commit 28b2422c7e
8 changed files with 88 additions and 28 deletions
+8 -1
View File
@@ -28,6 +28,13 @@ import { Utils } from '../utils/Utils';
import { LoggingPrefix } from '../enums/logger/LoggingPrefix';
export class JavaScriptObfuscatorCLI implements IInitializable {
/**
* @type {string[]}
*/
public static readonly availableInputExtensions: string[] = [
'.js'
];
/**
* @type {BufferEncoding}
*/
@@ -36,7 +43,7 @@ export class JavaScriptObfuscatorCLI implements IInitializable {
/**
* @type {string}
*/
public static obfuscatedFilePrefix: string = '-obfuscated';
public static readonly obfuscatedFilePrefix: string = '-obfuscated';
/**
* @type {string}
+5 -1
View File
@@ -51,8 +51,12 @@ export class ObfuscatedCodeWriter {
}
const rawInputPathStats: fs.Stats = fs.lstatSync(this.inputPath);
const outputPathExtName: string = path.extname(normalizedRawOutputPath);
const isDirectoryRawInputPath: boolean = rawInputPathStats.isDirectory();
const isDirectoryRawOutputPath: boolean = path.extname(normalizedRawOutputPath) === '';
const isDirectoryRawOutputPath: boolean = !JavaScriptObfuscatorCLI
.availableInputExtensions
.includes(outputPathExtName);
if (isDirectoryRawInputPath) {
if (isDirectoryRawOutputPath) {
+2 -9
View File
@@ -9,13 +9,6 @@ import { IFileData } from '../../interfaces/cli/IFileData';
import { JavaScriptObfuscatorCLI } from '../JavaScriptObfuscatorCLI';
export class SourceCodeReader {
/**
* @type {string[]}
*/
public static readonly availableInputExtensions: string[] = [
'.js'
];
/**
* @type {string}
*/
@@ -96,7 +89,7 @@ export class SourceCodeReader {
* @returns {boolean}
*/
private static isValidFile (filePath: string, excludePatterns: string[] = []): boolean {
return SourceCodeReader.availableInputExtensions.includes(path.extname(filePath))
return JavaScriptObfuscatorCLI.availableInputExtensions.includes(path.extname(filePath))
&& !filePath.includes(JavaScriptObfuscatorCLI.obfuscatedFilePrefix)
&& !SourceCodeReader.isExcludedPath(filePath, excludePatterns);
}
@@ -130,7 +123,7 @@ export class SourceCodeReader {
return this.readDirectoryRecursive(this.inputPath);
}
const availableFilePaths: string = SourceCodeReader
const availableFilePaths: string = JavaScriptObfuscatorCLI
.availableInputExtensions
.map((extension: string) => `\`${extension}\``)
.join(', ');