LightFile NextLightFile Next

コマンドラインオプション

すべてのコマンドラインオプションのリファレンス

このドキュメントでは、lightfile-shotで使用できるすべてのコマンドラインオプションを詳しく説明します。

コマンド構文

lightfile-shot [ソース] [出力先] [オプション]

引数

ソース(第1引数)

処理対象のディレクトリまたはファイル。

# ディレクトリを指定
lightfile-shot /path/to/images

# ファイルを指定
lightfile-shot /path/to/image.jpg

# 省略時はカレントディレクトリ
lightfile-shot

出力先(第2引数、オプション)

複製モードで使用する出力先ディレクトリまたはファイル。

# ディレクトリからディレクトリへ
lightfile-shot /path/to/source /path/to/destination

# ファイルからファイルへ
lightfile-shot /path/to/source.jpg /path/to/optimized.jpg

基本オプション

--dry-run, -n

実際の処理を行わず、どのファイルが処理されるかをプレビューします。

lightfile-shot /path/to/images --dry-run
lightfile-shot /path/to/images -n

--help, -h

ヘルプメッセージを表示します。

lightfile-shot --help
lightfile-shot -h

--version

バージョン情報を表示します。

lightfile-shot --version

ライセンスオプション

--license-token <トークン>, -l <トークン>

ライセンストークンを指定します。

lightfile-shot /path/to/images --license-token "your-token-here"
lightfile-shot /path/to/images -l "your-token-here"

優先順位:

  1. コマンドラインオプション --license-token
  2. 環境変数 LF_TOKEN
  3. ファイル ~/.lightfile-next/token

最適化オプション

--quality <レベル>

全体の品質レベルを設定します(JPEG・PNG両方に適用)。

lightfile-shot /path/to/images --quality low
lightfile-shot /path/to/images --quality medium  # デフォルト
lightfile-shot /path/to/images --quality high

品質レベル: low | medium | high

--jpeg-quality <レベル>

JPEG画像の品質レベルを個別に設定します。

lightfile-shot /path/to/images --jpeg-quality low
lightfile-shot /path/to/images --jpeg-quality medium
lightfile-shot /path/to/images --jpeg-quality high

--png-quality <レベル>

PNG画像の品質レベルを個別に設定します。

lightfile-shot /path/to/images --png-quality low
lightfile-shot /path/to/images --png-quality medium
lightfile-shot /path/to/images --png-quality high

ファイルフィルタオプション

--min-size <サイズ>

処理対象の最小ファイルサイズを指定します。

lightfile-shot /path/to/images --min-size 10kb
lightfile-shot /path/to/images --min-size 1mb

デフォルト: 5kb

サイズ単位: b, B, kb, KB, k, K, mb, MB, m, M, gb, GB, g, G

--max-size <サイズ>

処理対象の最大ファイルサイズを指定します。

lightfile-shot /path/to/images --max-size 5mb
lightfile-shot /path/to/images --max-size 10mb

デフォルト: 10mb

--ext <拡張子リスト>

処理対象の拡張子をカンマ区切りで指定します。

# JPEGのみ
lightfile-shot /path/to/images --ext .jpg,.jpeg

# PNGのみ
lightfile-shot /path/to/images --ext .png

# JPEG・PNG両方
lightfile-shot /path/to/images --ext .jpg,.jpeg,.jfif,.png

デフォルト: .jpg,.jpeg,.jfif,.png

--include <パターン>

対象に含めるglobパターンを指定します(複数指定可)。

# uploadsディレクトリ内のJPEG
lightfile-shot /var/www --include "uploads/**/*.jpg"

# 複数パターン
lightfile-shot /var/www \
  --include "uploads/**/*.jpg" \
  --include "media/**/*.png"

--exclude <パターン>

対象から除外するglobパターンを指定します(複数指定可)。

# tmpディレクトリを除外
lightfile-shot /var/www --exclude "**/tmp/**"

# 複数パターン
lightfile-shot /var/www \
  --exclude "**/tmp/**" \
  --exclude "**/.git/**" \
  --exclude "**/node_modules/**"

並列処理オプション

--concurrency <数>, -j <数>

並列処理するファイル数を指定します。

lightfile-shot /path/to/images --concurrency 4
lightfile-shot /path/to/images -j 4

デフォルト: 1(並列処理なし)

推奨値: CPUコア数と同じ、または少し少なめ

ログ出力オプション

--log-level <レベル>

ログの出力レベルを設定します。

lightfile-shot /path/to/images --log-level debug
lightfile-shot /path/to/images --log-level info   # デフォルト
lightfile-shot /path/to/images --log-level warn
lightfile-shot /path/to/images --log-level error

ログレベル: debug | info | warn | error

または環境変数で指定:

export LOG_LEVEL=debug
lightfile-shot /path/to/images

--verbose, -v

内部処理の詳細ログを出力します。

lightfile-shot /path/to/images --verbose
lightfile-shot /path/to/images -v

--quiet, -q

コンソール出力を完全に無効化します。

lightfile-shot /path/to/images --quiet
lightfile-shot /path/to/images -q

効果:

  • CLIからのログは一切表示されない(エラーも含む)
  • 結果確認には終了コード、--journal、ログリダイレクトなどを利用

用途:

  • バックグラウンド実行時
  • cron/タスクスケジューラでの実行時
  • 完全にサイレントなバッチ実行が必要な場合

ジャーナル機能オプション

--journal <ファイルパス>

処理結果を詳細にNDJSON形式で記録します。

lightfile-shot /path/to/images --journal /path/to/result.ndjson

オプションの組み合わせ例

例1: 安全な初回実行(ドライラン)

lightfile-shot /path/to/images \
  --dry-run \
  --verbose \
  --min-size 10kb \
  --max-size 5mb

例2: 高品質・並列処理

lightfile-shot /path/to/images \
  --quality high \
  --concurrency 4 \
  --journal result.ndjson

例3: 特定ディレクトリのみ処理

lightfile-shot /var/www \
  --include "uploads/**/*.jpg" \
  --include "media/**/*.png" \
  --exclude "**/thumbnails/**" \
  --min-size 100kb \
  --quality medium \
  --concurrency 4 \
  --verbose

例4: 複製モードで安全に処理

lightfile-shot /path/to/original /path/to/optimized \
  --quality high \
  --concurrency 4 \
  --journal optimization.ndjson \
  --verbose

例5: バックグラウンド実行

lightfile-shot /path/to/images \
  --quality medium \
  --concurrency 4 \
  --journal /var/log/lightfile-shot.ndjson \
  --quiet \
  --log-level error