Skip to content

[improve] formatter + commit hookの導入 #408

@Yuma-Satake

Description

@Yuma-Satake

背景

現在リポジトリにはlinterは設定されているものの、formatterが設定されておらず、CodignAgentの生成ズレによってファイルによってフォーマットが異なる結果となっている。
これにより、RPレビューの際に不要なdiffが発生している。

やりたいこと

formatter(ex: Biome/Prettier)とコミット前にformatを強制するためのcommit hook(ex: husky/lefthook)を導入し、リポジトリ全体でスタイルを統一する

懸念点

ある程度リポジトリが既に大きいため、このタイミングからformatterを入れることにより、大きな差分が発生し、コンフリクトを乱発し開発の妨げとなる可能性
→可能な限り既存に多いスタイルをベースにして、差分を減らす

使用ライブラリ

formatter

選択肢としては、Biome/Prettier/Oxfmtがあるが、以下を踏まえBiomeを採用する

  • Prettier:対応ファイル形式は多いが、taktリポジトリではBiomeでカバーできるものが多く、その上遅いため見送り
  • Biome:リポジトリ内のファイル形式に対応しており、現状のTS開発環境で最も一般的かつ動作も高速な点
  • Oxfmt:Biomeより高速だが、まだ安定版ではないため、導入見送り

Biomeの機能のうち、import orderとformatの機能のみを使用する。

commit hook

選択肢としては、lefthook/huskyがあるが、より高速に動作するlefthookを採用する。
lefthookの動作としては、commit時のformatのみを行う。
(push前のテストや型チェックなどは開発速度を落としかねないため、CI上で行う)

主要変更箇所

  • biome.json
  • .vscode/settings.json
  • package.json
  • lefthook.yml
  • README.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions