From ca7c576041016ab6277d75b11017926514ef8a50 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Sat, 25 Jun 2016 20:16:33 +0300 Subject: [PATCH] CLI class: added input file extension check --- dist/index.js | 4 ++++ src/cli/JavaScriptObfuscatorCLI.ts | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/dist/index.js b/dist/index.js index cc378429..316fa0f2 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1127,6 +1127,9 @@ var JavaScriptObfuscatorCLI = function () { if (!JavaScriptObfuscatorCLI.isFilePath(inputPath)) { throw new ReferenceError('First argument must be a valid file path'); } + if (JavaScriptObfuscatorCLI.availableInputExtensions.indexOf(path.extname(inputPath)) === -1) { + throw new ReferenceError('Input file must have .js extension'); + } return inputPath; } }, { @@ -1192,6 +1195,7 @@ var JavaScriptObfuscatorCLI = function () { return JavaScriptObfuscatorCLI; }(); +JavaScriptObfuscatorCLI.availableInputExtensions = ['.js']; JavaScriptObfuscatorCLI.encoding = 'utf8'; JavaScriptObfuscatorCLI.packageName = 'javascript-obfuscator'; exports.JavaScriptObfuscatorCLI = JavaScriptObfuscatorCLI; diff --git a/src/cli/JavaScriptObfuscatorCLI.ts b/src/cli/JavaScriptObfuscatorCLI.ts index 8b2518de..e96eab1e 100644 --- a/src/cli/JavaScriptObfuscatorCLI.ts +++ b/src/cli/JavaScriptObfuscatorCLI.ts @@ -11,6 +11,13 @@ import { DEFAULT_PRESET } from "../preset-options/DefaultPreset"; import { JavaScriptObfuscator } from "../JavaScriptObfuscator"; export class JavaScriptObfuscatorCLI { + /** + * @type {string[]} + */ + private static availableInputExtensions: string[] = [ + '.js' + ]; + /** * @type {BufferEncoding} */ @@ -153,6 +160,10 @@ export class JavaScriptObfuscatorCLI { throw new ReferenceError(`First argument must be a valid file path`); } + if (JavaScriptObfuscatorCLI.availableInputExtensions.indexOf(path.extname(inputPath)) === -1) { + throw new ReferenceError(`Input file must have .js extension`); + } + return inputPath; }