Prismaのshcema.prismaをルールに沿って修正するprisma-schema-fixerを公開しました

Prismaのshcema.prismaをルールに沿って修正するprisma-schema-fixerをnpmパッケージとして公開しました。

どんなものか簡単に言うと、、

  • model、enum、fieldの名前をルール(PascalCase/camelCase/sanake_case、単数/複数形など)に沿った形に統一
  • @@map も同様に

といったものです。(詳しくはREADMEにて)

そうです、prisma-case-formatと同じようなものです。

prisma-case-formatを使っていて、prisma-case-formatに欲しい機能があってIssueをあげたり、依存ライブラリを更新するPull Requestを投げたりしてきたのですが、活動が1年くらい止まったままで動きがなさそうだったので、ならば自分でということで作りました。
最初はforkして作ろうと思ったのですが、今の形に機能として付け加えるのが厳しそうだったので、一から作り直した次第です。

prisma-case-format より良い点として下記の点があります。

  • 設定がJavaScriptで書ける
    • 型があるので間違えに気が付きやすいです。(ESLintのeslint.config.jsと同じような感覚で)
  • コードを書くことで柔軟な変換ができる
    • 自分が欲しかったものとして、enumの@@mapで接頭辞を付けるというものがあり、これはfunc: (value) => `enum_${value}` みたいなルールを書くことで実現できるようになっています。

まだいくつか欲しい機能があるので、今後も引き続き改善予定です!