当リポジトリ は、UFO society のホームページ及びコンテンツ管理アプリ、WebAPIを含むリポジトリです。
Yarn Workspace を使って monorepo 環境を構築しました。
packages 配下にそれぞれ以下のようにして管理しています。
- homepage: 公式ホームページ用のソースコード
- admin: コンテンツ管理アプリ用のソースコード
- api: WebAPI用のソースコード
- tsconfig: 各ディレクトリのtypescriptで使用するtsconfigを共通化している
- eslint-config: 各ディレクトリで使用する eslint の設定を client , server で分けた上で共通化している
- node 16.14.X
- yarn 3.6.X
- firebase 7.2.X
- クライアントが2つ (homepage, admin) 存在しており、どちらも Typescript + React (vite) で書いているので、共通化できるところは共通化することによって、使用ライブラリのバージョン管理などの保守を楽にしたい
- クライントもサーバーも TypeScript で書いてあり、使用する型をすべてのディレクトリで共通化したい
- サーバーの swagger から生成した型情報をクライアントでも使いたい