kei615ykhm / logic-loom-nextjs14

LogicLoom is a memo app for engineers created as personal developers. There are no release plans. We will proceed with development while learning practical usage of Next.js, TypeScript, TailwindCSS, Vercel, and Supabase.
0 stars 0 forks source link

ESLint、Prettier、tsconfigルール設定等の環境調整 #17

Closed kei615ykhm closed 1 month ago

kei615ykhm commented 1 month ago

バリデーションライブラリzodを導入し、型安全なコーディングを行うための下準備としてESLintPrettiertsconfigルール設定等の環境調整を行いました。

関連Issue

11

現在の依存関係

追加/変更ファイル

my-project/
│
├── src/
├── .eslintrc.json        # ESLintの設定ファイル
├── .prettierrc           # Prettierの設定ファイル
├── .eslintignore         # ESLintの除外ファイル
├── .prettierignore       # Prettierの除外ファイル
├── package.json          # プロジェクトの依存関係
└── tsconfig.json         # TypeScriptの設定ファイル

各設定ファイルの説明

全体としては、eslint-config-nexteslint-plugin-prettierの設定により、両方のツールが競合しないような動作とTypeScriptの型安全なルールの調節を行いました。

.eslintrc.json

初期の環境設定として追加しているeslint-config-nextをベースにPrettierとの競合を防ぐ設定を行いました。eslint-config-prettiereslint-plugin-prettierを追加し、Prettierとの連携を円滑にする意図があります。

.prettierrc

VSCodeの拡張機能と連携し、コードを保存した際に自動フォーマットするように設定を行いました。

.eslintignoreと.prettierignore

フォーマットや静的解析からnode_modulesbuildディレクトリを除外するように定義しました。こちらの設定は今後の開発で随時変更する予定です。

vscode/settings.json

VSCodeで保存時に自動フォーマットを適用するための設定ファイルを定義しました。

TypeScriptのルール定義

tsconfig.json

既存ルールを土台として、これまでに学習した中で学んだ範囲で想像可能なものを追加しました。

注意点

現在、/src/components/memos/MemoForm.tsxuseStateの警告(@typescript-eslint/no-unused-vars)が発生していますが、将来的に使用予定であるため、現時点では修正を行いません。

TODOコメントで意図を明示しています。

参考文献

no-unused-vars