JSDefender CLI の使用
JSDefender CLI は、PreEmptive Protection™ JSDefender™ エンジンに対するラッパーです。CLI は、JSDefender を実行可能ファイルとしてコマンド ラインから実行できるようにします。
CLI を使用するには、インストール セクションに記載されている手順に従って、@preemptive/jsdefender-cli
および @preemptive/jsdefender-core
パッケージをインストールする必要があります。
JSDefender CLI は、引数を指定しなくても実行できます。
jsdefender
この場合、JSDefender は暗黙の構成ファイル jsdefender.config.json
が存在するかどうか現在の作業ディレクトリを調べ、その構成ファイルに指定されているオプションを適用します。作業ディレクトリに構成ファイルが存在しない場合には、JSDefender はエラーになります。
単一ファイルの保護シナリオの場合は、JSDefender CLI を構成ファイルなしで使用できます。この場合、JSDefender は、2 つの必須引数である、入力される JavaScript ソース ファイルと出力される(保護される)ファイル名を探します。たとえば、次のように指示します。
jsdefender myJsBundle.js myProtectedScript.js
この場合も、JSDefender は暗黙の構成ファイル(jsdefender.config.json
)が存在するかどうか現在の作業ディレクトリを調べ、見つかったらその構成ファイルを適用します。見つからなかった場合は、既定の保護設定を使用します。
JSDefender では、構成ファイルとコマンド ライン引数の両方に入力を指定することはできません。
引数を 1 つ指定すると、その引数は構成ファイルとして扱われます。
複数の引数を指定すると、それらの引数は、同時に提供される入力ファイルと出力ファイル、および/または CLI フラグとなります。
また、JSDefender は、特定の保護設定が含まれた明示的な構成ファイルを使って実行することもできます。
jsdefender myJsBundle.js myProtectedScript.js -c myConfig.json
jsdefender myJsBundle.js myProtectedScript.js --config myConfig.json
-c
と --config
は同一です。
入力ファイル名などすべての保護設定を構成ファイルに入れた場合は、-c
や --config
オプションを省略して、構成ファイル名を唯一のコマンド ライン引数として使用することができます。
jsdefender myConfig.json
-c
または --config
を適用する必要があります。
構成ファイルを使用する代わりに、設定をコマンド ラインから適用することもできます。たとえば、次のコマンドではいずれも、JSDefender が文字列リテラルの抽出とエンコードを有効にして実行されます。
jsdefender myJsBundle.js myProtectedScript.js -e
jsdefender myJsBundle.js myProtectedScript.js --extstr
-e
と --extstr
は同一です。
これらのコマンド ライン オプションと構成ファイルを両方とも使用した場合は、構成ファイルから読み込まれた設定がコマンド ライン オプションで上書きされます。たとえば、次のコマンドでは、文字列リテラルの抽出が構成ファイルでは無効になっている場合でも有効になります。
jsdefender myJsBundle.js myProtectedScript.js -c myConfig.json --extstr
コマンド ラインには、設定を無効にできるオプションもあります。次の例では、-E
オプションと --extstroff
オプション(これらは同一です)を使って、文字列リテラルの抽出が構成ファイルでは有効になっている場合でも無効にされています。
jsdefender myJsBundle.js myProtectedScript.js -c myConfig.json -E
jsdefender myJsBundle.js myProtectedScript.js -c myConfig.json --extstroff
この場合、最終的な保護設定の組み合わせは、JSDefender により次のように決定されます。
- 最初の組み合わせは
myConfig.json
から読み取られます。 - コマンド ライン引数(
-E
など)により構成設定が上書きされます。