このリポジトリはMaterial UIを用いたReact環境のテンプレートです。
環境はnpm run dev
でポート5173に立ち上がります。
ビルドされたコードが欲しい場合はnpm run build
を行なってください。dist
に生成されます。
storybookを用いたい場合はnpm run storybook
を行なってください。.nvmrc
で指定したバージョンではNODE_OPTIONS=--openssl-legacy-provider
をnpm run storybook
の前に配置して行なってください。
testを行いたい場合はnpm run test
を行なってください。storybook内で行うテストはこのコマンドでは行われません。
コミットごとにhuskyが走って、変更があったファイルにprettierとeslintが走ります。無視したい場合は.husky
配下を弄るか、git commit --no-verify
で無視して実行してください(無視させるのはお勧めしません)。
axiosを用いて行なっています。axiosは詳細に設定を行うことが多いため、src/lib/axios
でラップしたものを利用するようにします。また、これらの依存関係をなるべく減らしたいため、src/api
でのみ使用します。
非同期な状態はSWRで、同期的な状態はrecoilで管理しています。これらを使用する際はsrc/globalStates
に記述して、外部からの使用する際はsrc/globalStates
から行います。これによってrecoilやswrのロジックの隠蔽を行うことができます。recoilのkeyはsrc/globalStates
は以下のrecoilKeys
に保存しています。
react-hook-formとzodを用いて行います。大きなルールは現段階では用意していないです。
React Routerを用いています。src/routes
でルーティングを行います。
storybookでcomponentsの動作確認や、chromaticを用いてUI Testsなどを行います。
storybookを使用する際にapiのmockが必要となってきます。これらはmswによって行います。