「bulletproof-react」で使われているライブラリ全部まとめ

自分用メモ。
Reactプロジェクトのお手本で有名な [bulletproof-react](https://github.com/alan2207/bulletproof-react) の、package.jsonで指定されているライブラリの説明を全部まとめてみた。

https://zenn.dev/meijin/articles/bulletproof-react-is-best-architecture

https://github.com/alan2207/bulletproof-react/blob/master/package.json

# dependencies
| ライブラリ名 | 説明 |
| - | - |
| [@craco/craco](https://www.npmjs.com/package/@craco/craco) |Create React App の設定をカスタマイズするためのツール |
| [@headlessui/react](https://www.npmjs.com/package/@headlessui/react) |アクセシビリティに優れた UI コンポーネントを提供するためのライブラリ |
| [@heroicons/react](https://www.npmjs.com/package/@heroicons/react) |Heroicons SVG アイコンの React コンポーネントを提供するライブラリ |
| [@hookform/resolvers](https://www.npmjs.com/package/@hookform/resolvers) |React Hook Form のバリデーション用のライブラリ |
| [@tailwindcss/typography](https://www.npmjs.com/package/@tailwindcss/typography) |Tailwind CSS のテキストスタイルに適用できるテキストスタイルを追加するライブラリ |
| [@testing-library/jest-dom](https://www.npmjs.com/package/@testing-library/jest-dom) |Jest と一緒に使用するための DOM のアサーションユーティリティ |
| [@testing-library/react](https://www.npmjs.com/package/@testing-library/react) |React のテストを容易にするためのユーティリティ |
| [@testing-library/user-event](https://www.npmjs.com/package/@testing-library/user-event) |ユーザーアクションをシミュレートするためのユーティリティ |
| [@types/jest](https://www.npmjs.com/package/@types/jest) |Jest の TypeScript 定義ファイル |
| [@types/node](https://www.npmjs.com/package/@types/node) |Node.js の TypeScript 定義ファイル |
| [@types/react](https://www.npmjs.com/package/@types/react) |React の TypeScript 定義ファイル |
| [@types/react-dom](https://www.npmjs.com/package/@types/react-dom) |React DOM の TypeScript 定義ファイル |
| [axios](https://www.npmjs.com/package/axios) |HTTP クライアントライブラリ |
| [clsx](https://www.npmjs.com/package/clsx) |CSS クラス名を動的に生成するためのユーティリティライブラリ |
| [dayjs](https://www.npmjs.com/package/dayjs) |日付処理用ライブラリ |
| [dompurify](https://www.npmjs.com/package/dompurify) |セキュリティ上の問題を回避するための HTML エスケープツール |
| [history](https://www.npmjs.com/package/history) |ブラウザ履歴を操作するためのライブラリ |
| [intersection-observer](https://www.npmjs.com/package/intersection-observer) |IntersectionObserver API を使用して要素がビューポート内に表示されたかどうかを検出するためのライブラリ |
| [jsonwebtoken](https://www.npmjs.com/package/jsonwebtoken) |JSON Web トークンを生成し、検証するためのライブラリ |
| [lodash](https://www.npmjs.com/package/lodash) |汎用ユーティリティ関数のコレクション |
| [marked](https://www.npmjs.com/package/marked) |Markdown を HTML に変換するためのライブラリ |
| [nanoid](https://www.npmjs.com/package/nanoid) |URL 安全なランダムな文字列を生成するためのライブラリ |
| [react](https://www.npmjs.com/package/react) |React ライブラリ |
| [react-dom](https://www.npmjs.com/package/react-dom) | React の仮想 DOM の実装。Web ブラウザ上で React コンポーネントを表示するために必要 |
| [react-error-boundary](https://www.npmjs.com/package/react-error-boundary) | React コンポーネント内でエラーが発生した場合にエラーをキャッチして、エラーが発生したコンポーネントを置き換えるためのコンポーネントを提供するライブラリ |
| [react-helmet-async](https://www.npmjs.com/package/react-helmet-async) | React アプリケーションの head 要素を動的に変更するためのライブラリ |
| [react-hook-form](https://www.npmjs.com/package/react-hook-form) | React アプリケーションでフォームを簡単に扱うためのライブラリ |
| [react-query](https://www.npmjs.com/package/react-query) | React アプリケーションでデータ取得のためのライブラリ。キャッシュや再試行、並列リクエストなどがサポートされている |
| [react-query-auth](https://www.npmjs.com/package/react-query-auth) | react-query を用いた認証機能を簡単に追加するためのライブラリ |
| [react-router-dom](https://www.npmjs.com/package/react-router-dom) | React アプリケーションでルーティングを扱うためのライブラリ |
| [react-scripts](https://www.npmjs.com/package/react-scripts) | Create React App によって生成されたプロジェクトをビルド、開発するためのスクリプト |
| [type-fest](https://www.npmjs.com/package/type-fest) | TypeScript のための型定義を提供するライブラリ |
| [typescript](https://www.npmjs.com/package/typescript) | TypeScript のコンパイラ。TypeScript で書かれたコードを JavaScript コードに変換するために必要 |
| [web-vitals](https://www.npmjs.com/package/web-vitals) | Google が提供する Web ページのパフォーマンス指標を計測するためのライブラリ |
| [zod](https://www.npmjs.com/package/zod) | TypeScript で安全にバリデーションを行うためのライブラリ |
| [zustand](https://www.npmjs.com/package/zustand) | React アプリケーションで状態管理を行うためのライブラリ。Redux よりもシンプルな API を提供している |

# devDependencies
| ライブラリ名 | 説明 |
| - | - |
| [@mswjs/data](https://www.npmjs.com/package/@mswjs/data) | モックサーバーを作成するためのライブラリ |
| [@storybook/addon-actions](https://www.npmjs.com/package/@storybook/addon-actions) | Storybookで、UIコンポーネントの操作をログに出力するアドオン |
| [@storybook/addon-essentials](https://www.npmjs.com/package/@storybook/addon-essentials) | Storybookで、Storybookの開発を助ける便利なアドオンをまとめたパッケージ |
| [@storybook/addon-links](https://www.npmjs.com/package/@storybook/addon-links) | Storybookで、異なるStorybook間のリンクを作成するアドオン |
| [@storybook/node-logger](https://www.npmjs.com/package/@storybook/node-logger) | Storybookで、コンソールにログを出力するためのライブラリ |
| [@storybook/preset-create-react-app](https://www.npmjs.com/package/@storybook/preset-create-react-app) | Storybookで、Create React Appで作成したアプリケーションをStorybookで表示するためのプリセット |
| [@storybook/react](https://www.npmjs.com/package/@storybook/react) | React用のStorybook。ReactアプリケーションのUIコンポーネントを作成し、テスト、文書化するためのツール |
| [@testing-library/cypress](https://www.npmjs.com/package/@testing-library/cypress) | Cypressで@testing-library/reactのメソッドを使用できるようにするアダプタ |
| [@testing-library/react-hooks](https://www.npmjs.com/package/@testing-library/react-hooks) | React Hooksのテストユーティリティを提供するライブラリ |
| [@types/dompurify](https://www.npmjs.com/package/@types/dompurify) | dompurifyの型定義 |
| [@types/faker](https://www.npmjs.com/package/@types/faker) | fakerの型定義 |
| [@types/jsonwebtoken](https://www.npmjs.com/package/@types/jsonwebtoken) | jsonwebtokenの型定義 |
| [@types/lodash](https://www.npmjs.com/package/@types/lodash) | lodashの型定義 |
| [@types/marked](https://www.npmjs.com/package/@types/marked) | markedの型定義 |
| [@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) | ESLint用TypeScriptプラグイン。TypeScriptの文法に関するESLintルールを提供 |
| [@typescript-eslint/parser](https://www.npmjs.com/package/@typescript-eslint/parser) | ESLint用TypeScriptパーサー。TypeScriptの文法を理解し、ESLintに理解させるために使用 |
| [autoprefixer](https://www.npmjs.com/package/autoprefixer) | CSSプレフィックスを自動的に追加するためのPostCSSプラグイン |
| [cross-env](https://www.npmjs.com/package/cross-env) | 環境変数を設定するためのライブラリ |
| [cypress](https://www.npmjs.com/package/cypress) | Cypressの実行に必要なライブラリ |
| [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier) | PrettierとESLintを併用するための設定 |
| [eslint-import-resolver-typescript](https://www.npmjs.com/package/eslint-import-resolver-typescript) | TypeScript用のESLintインポートリゾルバー |
| [eslint-plugin-cypress](https://www.npmjs.com/package/eslint-plugin-cypress) | Cypressのテストコードにおいて、コード品質を担保するためのESLintプラグイン |
| [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import) | インポート文に対して静的解析を行い、パスの解決や依存関係に関するエラーや警告を提供するESLintプラグイン |
| [eslint-plugin-jest-dom](https://www.npmjs.com/package/eslint-plugin-jest-dom) | JestのDOMマッチャーをLintに取り入れ、スペルミスや誤った使用法に関する警告を提供するESLintプラグイン |
| [eslint-plugin-jsx-a11y](https://www.npmjs.com/package/eslint-plugin-jsx-a11y) | JSXのaccessibility関連のルールを提供するESLintプラグイン |
| [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier) | PrettierのフォーマットルールとESLintのルールを自動的に統合するESLintプラグイン |
| [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) | React関連のルールを提供するESLintプラグイン |
| [eslint-plugin-react-hooks](https://www.npmjs.com/package/eslint-plugin-react-hooks) | React Hooksの使用に関するルールを提供するESLintプラグイン |
| [eslint-plugin-testing-library](https://www.npmjs.com/package/eslint-plugin-testing-library) | Testing Libraryの使用に関するルールを提供するESLintプラグイン |
| [faker](https://www.npmjs.com/package/faker) | テスト用のダミーデータを生成するためのJavaScriptライブラリ |
| [husky](https://www.npmjs.com/package/husky) | Gitのフックを簡単に設定するためのツール |
| [is-ci](https://www.npmjs.com/package/is-ci) | CI環境であるかどうかを判定するためのJavaScriptライブラリ |
| [is-ci-cli](https://www.npmjs.com/package/is-ci-cli) | CI環境であるかどうかを判定するためのCLIツール |
| [lint-staged](https://www.npmjs.com/package/lint-staged) | ステージングエリアにある変更にだけESLintを実行するためのツール |
| [msw](https://www.npmjs.com/package/msw) | APIモックを提供するためのJavaScriptライブラリ |
| [npm-run-all](https://www.npmjs.com/package/npm-run-all) | npmスクリプトを並列または直列に実行するためのツール |
| [plop](https://www.npmjs.com/package/plop) | コードジェネレータを作成するためのツール |
| [postcss](https://www.npmjs.com/package/postcss) | CSSプリプロセッサの一種で、CSSの自動プリフィックスを付与するなどの処理が可能 |
| [prettier](https://www.npmjs.com/package/prettier) | コードのフォーマットを自動化するためのJavaScriptライブラリ |
| [react-test-renderer](https://www.npmjs.com/package/react-test-renderer) | ReactコンポーネントをテストするためのJavaScriptライブラリ |
| [serve](https://www.npmjs.com/package/serve) | 開発中の静的なWebサイトを簡単にローカルサーバーで配信するためのツール |
| [start-server-and-test](https://www.npmjs.com/package/start-server-and-test) | Node.jsアプリを起動し、終了したらテストを実行するためのツール |
| [tailwindcss](https://www.npmjs.com/package/tailwindcss) | CSSフレームワークで、クラスベースのスタイリングを提供するためのJavaScriptライブラリ |
| [tsconfig-paths-webpack-plugin](https://www.npmjs.com/package/tsconfig-paths-webpack-plugin) | TypeScriptでパスのエイリアスを扱うためのWebpackプラグイン |

おしまい！