Kaynağa Gözat

CLI class: added input file extension check

sanex3339 9 yıl önce
ebeveyn
işleme
ca7c576041
2 değiştirilmiş dosya ile 15 ekleme ve 0 silme
  1. 4 0
      dist/index.js
  2. 11 0
      src/cli/JavaScriptObfuscatorCLI.ts

+ 4 - 0
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;

+ 11 - 0
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;
     }