Prettier 2.3 が出たようです
https://prettier.io/blog/2021/05/09/2.3.0.html
相変わらずメジャーアップデートでもないのに これまでのフォーマット済みコードに差分が出るような変更ありです
フォーマッタの都合で余計な差分を出してほしくないですし そもそも変更が改善とは限らないんですよね (以前あった条件演算子のインデントとか)
今回の変更は軽く見た感じだとどっちでもいい部分が多くそこまで困るほどではなさそうですけど
アップデートの影響を受けたくないから結構古いバージョンで使い続けてるところもありますが 古いバージョンのままにしておくと新構文の対応やソースコードが壊れるような重要なバグの修正があったときに これらも受け取れずリスクもあります
構文対応やバグ修正はフォーマットルールとは別に管理して どのバージョンのフォーマットルールを使うかを選択できるようになればまだマシなんですけどね
Prettier は 長く議論が続いていて未だに確定せず意見が分かれるところでも頑なにオプションを導入しませんし
それでいて オブジェクトリテラルでは改行の有無は元のコードを尊重すると言ってるのに 配列リテラルやメソッドチェーンなどの他のところでは改行の有無を保持しないと矛盾もあります
Prettier のニュースを見かけるたびに他に良さそうなフォーマッタが出てないのかと思うほどです
以前から期待の dprint ですが まだ開発中としてバージョン管理下で出力を確認したほうが良いと書かれてる状態です
コミットは頻繁にあるようで 以前からスター数も 2 ~ 3 倍に増えてます
以前は npm からインストールできましたが今では deprecated で インストールスクリプトを使う方法に変わってました
あと JavaScript フォーマッタは TypeScript フォーマッタに統合されて構文的には TypeScript コンパイラがサポートしているものが使えるようです
そんなまだ安定してなさそうな状態ですが deno のデフォルトフォーマッタとして使われてました
それくらい使われてるツールならそろそろ移行先として使い始めようかな