mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
Support of output directory paths with a dot symbol
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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(', ');
|
||||
|
||||
Reference in New Issue
Block a user