【YAMLフォーマッター】yamlfmt使ってみる

スポンサーリンク

はじめに

YAML のフォーマッターである yamlfmt について紹介していきます。

yamlfmt とは

yamlfmtとは、YAML のフォーマッターのコマンドラインツール/ライブラリとなっています。

yamlfmtを使って、新しい YAML のフォーマッターを作成したりも可能です。

GitHub - google/yamlfmt: An extensible command line tool or library to format yaml files.
Anextensiblecommandlinetoolorlibrarytoformatyamlfiles.-GitHub-google/yamlfmt:Anextensiblecommandlinetoolorlibrarytoformatyamlfiles.

リポジトリは Google のものですが、まだ公式にサポートされているわけではなさそうです。(2023/08 現在)

インストール

下記コマンドでインストールできます。

go install github.com/google/yamlfmt/cmd/yamlfmt@latest

基本的な使い方

下記のようにファイルを指定して、実行することができます。

yamlfmt [file path]

下記で、カレントディレクトリから再起的にyamlymlのファイルをフォーマットできます。

yamlfmt .

設定

設定ファイルは、下記の優先順位で適用されます。

  1. --confオプションで指定したファイル
  2. カレントディレクトリの.yamlfmtファイル
  3. $HOME/.config/yamlfmtなどの config ディレクトリ内の.yamlfmtファイル
https://github.com/google/yamlfmt/blob/main/docs/config-file.md

設定ファイルは下記のようになります。

formatter:
  indentless_arrays: true

indentless_arraysは、Kubernetes のマニフェストなどでみられる配列のインデントの有無を選択できます。

VSCode の拡張

VSCode でyamlfmtが使える拡張については、下記の issue で言及されていますが、有志の方が作ったyamlfmtの拡張があるみたいです。

VS Code extension · Issue #129 · google/yamlfmt
Hi,IcreatedaVSCodeextensionwrappingyamlfmt:MaybeyoucouldmentionitinyourREADME.Ifyouhaveideasforadjusting...
yamlfmt - Visual Studio Marketplace
ExtensionforVisualStudioCode-Formatyamlfileswith

ちなみに、下記の Kubernetes の YAML フォーマッターはyamlfmtを使っているそうです。

Kubernetes YAML Formatter - Visual Studio Marketplace
ExtensionforVisualStudioCode-AbetterYAMLformatterforDevOpslikeKubernetes,Ansible,CI/CD,etc.

参考

タイトルとURLをコピーしました