generated at
YAMLのlinter

YAMLのlinterを導入した時のメモ

経緯
エンジニアではないがGithubは使えるというメンバーがいる
彼がRailsのen.ymlを更新する
たまに文法ミスが起きるのをakixが目grepで修正してた
少ししか変更がなければそれで良いが、まったくスケールしないのでYAMLのlinterを導入しようと決めた
RSpecで検出できる文法ミスは、全然関係無い場所で I18n::InvalidLocaleData が出て話にならない
エラー例その1.txt
I18n::InvalidLocaleData: can not load translations from ~/my-rails/config/locales/ja.yml: #<Psych::SyntaxError: (~/my-rails/config/locales/ja.yml): did not find expected key while parsing a block mapping at line 3 column 3>
↑3行目でエラーが起きてるっぽいけど、実際は1,200行目とかだったりする

候補
RSpecと同じエラー出力で終わるので今回は×
RSpecと同じエラー出力で終わるので今回は×
関係ある場所でエラーが出る!!!!最高!!!!

rasshofer/yaml-lintの出力例
エラー例その2.txt
$ yarn run yamllint ./config/locales/*.yml yarn run v1.6.0 $ ~/my-rails/node_modules/.bin/yamllint ./config/locales/en.yml ./config/locales/ja.yml ✖ YAML Lint failed for ~/my-rails/config/locales/ja.yml ✖ can not read a block mapping entry; a multiline key may not be an implicit key at line 1427, column 7: edit: 編集 ^ error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
↑1427行目の edit: 編集 でエラーが起きてるのが分かる
↓実際のファイルはこんな感じ
実装.yml
# (前略) back: 戻る invalid_value: 'I don't know.' edit: 編集
エラー例その1 と比べると圧倒的に分かりやすい!