コマンドラインインターフェイス
使い方
$ markuplint target.html
$ markuplint target.html target2.html
$ markuplint "**/*.html"
CLIはターゲットとなるHTMLファイルを可変長引数として受け取ります。また、glob形式も受け付けます。
成功した場合は終了コード0を返します。また、1つ以上の問題があった場合は1を返します。
オプション
| 正規形オプション | 省略形オプション | 引数 | デフォルト値 | 解説 |
|---|---|---|---|---|
--config | -c | ファイルパス | なし | 設定ファイルのパス |
--fix | なし | なし | false | ルールが対応していれば対象ファイルを修正します |
--format | -f | JSON、Simple、GitHubもしくはStandard | Standard | 出力形式 |
--no-search-config | なし | なし | false | 設定ファイルを自動で検索しません |
--ignore-ext | なし | なし | false | 拡張子の種類に関わらず受け取ったファイルを評価します |
--no-import-preset-rules | なし | なし | false | 組み込みルールを利用しません |
--locale | なし | 言語コード(例:ja) | OS設定による | メッセージの言語 |
--no-color | なし | なし | false | 出力をカラーリングしません |
--problem-only | -p | なし | false | 違反結果のみ出力します |
--allow-warnings | なし | なし | false | warningではステータスコード0を返します |
--no-allow-empty-input | なし | なし | false | ファイルが見つからなかった場合にステータスコード1を返します |
--show-config | none | 値なし, details | 値なし | 対象ファイルの適用された設定を出力します |
--verbose | なし | なし | false | 詳細な情報も同時に出力します |
--include-node-modules | なし | なし | false | node_moduleディレクトリ内のファイルを含めて評価します |
--severity-parse-error | なし | error、warningもしくはoff | error | パースエラーの深刻度レベルを指定します |
--max-count | なし | 数値 | 0 | 表示する違反数を制限します。0は制限なしを意味します |
--max-warnings | なし | 数値 | -1 | 警告数の上限を設定します。-1は制限なしを意味します |
--progressive-output | なし | なし | false | 各ファイルの処理完了後に即座に結果を出力します |
Particular run
--help
ヘルプを出力します。(省略形オプション: -h)
--version
バージョンを出力します。(省略形オプション: -v)
--init
初期化をします。設定ファイルをつくり、モジュールをインストールします。
$ npx markuplint --init
質問に対話的に答えることで、必要なモジュールをインストールします。
--max-count
出力に表示される違反数を制限します。制限に達すると、残りのファイルはスキップされ、出力で「skipped」としてマークされます。このオプションは特に、多くの違反がある既存プロジェクトにMarkuplintを導入する際に、圧倒的な出力を管理し、パフォーマンスを向上させるのに役立ちます。
# 最初の10件の違反のみを表示
$ markuplint "**/*.html" --max-count=10
# 最初の違反のみを表示
$ markuplint index.html --max-count=1
# 制限なし(デフォルトの動作)
$ markuplint index.html --max-count=0
主な機能:
- パフォーマンス最適化: 制限に達した時点でルール実行を停止し、大規模プロジェクトでのパフォーマンスを向上
- 段階的導入: 管理可能な数の問題に集中することで段階的な改善を可能に
- 情報表示: 違反が切り詰められた場合に情報メッセージを表示(標準形式のみ)
- 形式互換性: すべての出力形式(
--format=json、--format=simpleなど)でシームレスに動作 - 修正互換性:
--fixと併用する場合、完全な修正を保証するため制限は無視される
段階的改善の使用例:
- 現在の違反数を確認:
markuplint "**/*.html" | wc -lで現在の違反数をカウント - 制限を設定: CIで
markuplint "**/*.html" --max-count=50を実行 - 徐々に違反を修正し、制限値を減らしていく
- すべての違反が修正されたら最終的に制限を削除
注意: 制限によりスキップされたファイルは、出力で「skipped」としてマークされ、どのファイルが処理されなかったかが明確にわかります。
--max-warnings
警告数の上限を設定します。警告数が指定した上限を超えた場合、Markuplintは非ゼロの終了コードで終了します。このオプションは既存プロジェクトでのMarkuplintの段階的導入に特に有用です。
# 警告を10個まで許可
$ markuplint "**/*.html" --max-warnings=10
# 警告を許可しない(厳密モード)
$ markuplint index.html --max-warnings=0
# 制限なし(デフォルトの動作)
$ markuplint index.html --max-warnings=-1
主な機能:
- 段階的導入: 警告の閾値を設定することで段階的な改善を可能に
- ファイル横断集計: 処理されるすべてのファイルの警告数をカウント
- CI統合: 継続的統合での警告制限設定に最適
- エラー優先: 警告制限に関係なく、エラーは常に非ゼロ終了コードを引き起こします
段階的改善の使用例:
- 現在の警告を確認:
markuplint "**/*.html" --allow-warningsですべての警告を確認 - 初期制限を設定: CIで
markuplint "**/*.html" --max-warnings=50を設定 - 徐々に警告を減らし、制限値を下げていく
- 最終的に
--max-warnings=0で警告ゼロを達成
--progressive-output
すべてのファイルの処理完了を待つ代わりに、各ファイルの処理完了後に即座に結果を出力します。このオプションは、大量のファイルを処理する際にリアルタイムフィードバックを提供し、CLIがフリーズしているように見えることを防ぐことで、ユーザーエクスペリエンスを向上させます。
# 各ファイルの処理完了後に即座に結果を出力
$ markuplint "**/*.html" --progressive-output
# 従来の一括出力(デフォルトの動作)
$ markuplint "**/*.html"
主な機能:
- リアルタイムフィードバック: 各ファイルの処理完了と同時に結果を確認
- UX向上: 大量ファイル処理中のCLIフリーズ感を防止
- 後方互換性: 既存の動作を維持するためデフォルトは
false - JSON形式例外: JSON出力はこの設定に関係なく常に一括モードを使用
- パフォーマンス: パフォーマンスへの影響はなく、出力タイミングのみ変更
使用場面:
- 大量のファイル(数百〜数千)を処理する場合
- 即座のフィードバックが価値のある対話的開発ワークフロー
- リアルタイムで進捗を確認したいCI/CDパイプライン
- 大規模プロジェクトでの特定ファイルの問題デバッグ
注意: このオプションはMarkuplintの次回メジャーバージョンでデフォルトがtrueに変更されます。