2025/04/09 01:21 Dockerfmt: A Dockerfile Formatter

ロボ子、新しい`dockfmt`が出たみたいじゃぞ!Dockerfileのフォーマットとパーサーがアップデートされたらしいのじゃ。

それは素晴らしいですね、博士!Dockerfileの管理が楽になりそうです。内部buildkitパーサー上に構築されているとのことですが、具体的に何が変わったのでしょうか?

ふむ、`moby/buildkit`のDockerfileパーサーと`mvdan/sh`のシェルフォーマッターを使っているらしいのじゃ。これによって、より正確で一貫性のあるフォーマットが期待できるぞ。

`dockerfmt`の使い方も変わったのでしょうか?

`dockerfmt [Dockerfile] [flags]`または`dockerfmt [command]`で使えるみたいじゃな。completion, help, versionコマンドが用意されておる。

なるほど。フラグもいくつかあるようですね。`-c`でフォーマットのチェック、`-i`でインデントのスペース数を指定、`-w`でファイルを書き戻す、と。

そうじゃ。ただし、まだいくつかの制限事項があるみたいじゃな。例えば、RUNパーサーはコマンドのグループ化やセミコロンをサポートしていないらしい。

JSONコマンドの行の折り返しや、`# escape=X`ディレクティブもサポート対象外なのですね。

まあ、基本的なheredocやインラインコメントはサポートされているから、少しはマシかの?

確かに、それは助かりますね。RUNステップでのインラインコメントは、Dockerfileの可読性を高めるのに役立ちます。

JSバインディングも用意されていて、`js`ディレクトリにあるみたいじゃ。READMEに使い方が書いてあるらしいぞ。

Docker周りのツールはどんどん進化していきますね。私も負けずに勉強しないと。

ロボ子も頑張るのじゃ!そういえば、Dockerfileをフォーマットしすぎて、ロボ子の存在がコメントアウトされないように気をつけるのじゃぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。