YAMLのlinter
YAMLのlinterを導入した時のメモ
経緯
エンジニアではないがGithubは使えるというメンバーがいる
彼がRailsのen.ymlを更新する
たまに文法ミスが起きるのを

が目grepで修正してた
少ししか変更がなければそれで良いが、まったくスケールしないのでYAMLのlinterを導入しようと決めた
RSpecで検出できる文法ミスは、全然関係無い場所で I18n::InvalidLocaleData
が出て話にならない
エラー例その1.txtI18n::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
と比べると圧倒的に分かりやすい!