Releases: su-its/core
v3.0.1
What's Changed
- fix: Supabase Transaction pool mode 対応のため DB ドライバを postgres-js に切り替え by @KinjiKawaguchi in #146
Full Changelog: v3.0.0...v3.0.1
v3.0.0
Breaking Changes
-
MemberId/EventId/ExhibitIdをBranded Typeに変更 (#92)
- 各IDがプリミティブな
stringからBranded Typeに変更。型安全性が向上し、異なるID型の混同をコンパイル時に検出可能に。
- 各IDがプリミティブな
-
SharedKernel StudentIdの実装 (#87)
- 学籍番号を型付きの値オブジェクトとして定義。フォーマットバリデーション付き。
-
室員集約の再設計 (#94)
- Member集約をActiveMember/UnconfirmedMember/FormerMemberに再設計し、状態遷移を型で表現。
-
大学組織構造の型をランタイム定義から導出する設計に変更 (#111)
- 学部・学科等の組織構造を定数定義からTypeScript型を導出する方式に変更し、型とランタイム値のDRY違反を解消。
-
公開APIにファサード層を追加 (#109, #97, #89)
MemberService等のファサード層を追加し、プリミティブ型での入力に対応。利用者はドメインオブジェクトを直接構築する必要がなくなった。
Features
ドメインモデル
-
Shared Kernel に Affiliation(所属) を追加 (#81)
- 学部・研究科・所属情報を型安全に表現するShared Kernel値オブジェクトを追加。
-
Affiliationの型表現をDiscriminated Unionに変更 (#102)
- クラスベースからDiscriminated Unionに変更し、パターンマッチングが容易に。
-
ドメイン定数を追加し型をランタイム定義から導出 (#112)
- 学部・学科・コース等の定数を定義し、型をランタイム値から自動導出。
-
PC相談室カルテ集約のドメインモデルを追加 (#82)
- 相談記録(Karte)のドメインモデルを新規追加。ConsultedAt型による日時精度表現、NonEmptyString等のバリデーション付き値オブジェクトを含む。
-
カルテ集約のドメインモデル・アプリケーション層・インフラ層を追加 (#103)
- カルテのユースケース(作成・訂正・閲覧)、Drizzleリポジトリ実装、カテゴリ管理を追加。
-
ドメインイベントの監査ログ永続化 (#106)
- ドメインイベント発行時に監査ログとしてDBに永続化する仕組みを追加。
-
例外クラスに構造化コンテキストとエラーコードを追加 (#125)
- 全例外に
code,category,context,hint,causeプロパティを追加。プログラムからエラー種別を判別可能に(例:e.code === "MEMBER_NOT_FOUND")。
- 全例外に
-
connectDiscordAccountのnickNameを省略可能に (#130)
discordNickNameをoptionalに変更。Link時点でニックネーム未設定のケースに対応。
-
listMembersWithDiscordAccountsをMemberServiceに追加 (#135)
- 全メンバーとDiscordアカウント情報を結合取得するファサードメソッドを追加。
-
getMemberWithDiscordAccountsをMemberServiceに追加 (#140)
- MemberId指定で単一メンバーのDiscordアカウント情報を取得するファサードメソッドを追加。
インフラ・ビルド
-
ビルドツールチェーンをVite+に移行 (#107)
- tsupからVite+(tsc)ベースのビルドに移行。
-
ビルド出力をunbundleモードに切り替え (#122)
- Tree Shakingを有効化するためunbundleモードに変更。
-
package.jsonにsideEffects: falseを追加 (#134)
- バンドラーのTree Shaking最適化を有効化。
Refactoring
-
値オブジェクトを所属する集約ディレクトリに移動 (#80)
- 型別ではなくドメイン別のディレクトリ構成に変更。
-
公開APIバレル経由のimportに統一 (#117)
- 内部モジュールへの直接importを廃止し、公開バレル経由に統一。
Bug Fixes
CI/CD
-
CI/CDワークフローの再構成 (#88)
- Reusable Workflow + Composite Actionに再構成。
-
Drizzleスキーマと生成ファイルの同期チェックをCIに追加 (#115)
-
prereleaseバージョンのpublish時に--tagを自動付与 (#132)
3.0.0-rc.1→--tag rcのように自動判定。
Maintenance
v3.0.0-rc.4
What's Changed
- chore: Prismaマイグレーションテーブルを削除 by @KinjiKawaguchi in #144
Full Changelog: v3.0.0-rc.3...v3.0.0-rc.4
v3.0.0-rc.3
What's Changed
- chore: 間接依存パッケージを最新バージョンに更新 by @KinjiKawaguchi in #139
- feat: getMemberWithDiscordAccounts を MemberService に追加 by @KinjiKawaguchi in #140
Full Changelog: v3.0.0-rc.2...v3.0.0-rc.3
v3.0.0-rc.2
What's Changed
- chore: package.json に sideEffects: false を追加 by @KinjiKawaguchi in #134
- feat: listMembersWithDiscordAccounts を MemberService に追加 by @KinjiKawaguchi in #135
Full Changelog: v3.0.0-rc.1...v3.0.0-rc.2
v3.0.0-rc.1
What's Changed
- feat: 例外クラスに構造化コンテキストとエラーコードを追加 by @KinjiKawaguchi in #125
- feat: connectDiscordAccount の nickName を省略可能にする by @KinjiKawaguchi in #130
- ci: prerelease バージョンの publish 時に --tag を自動付与するように修正 by @KinjiKawaguchi in #132
- ci: Trusted Publishing に移行し NPM_TOKEN を廃止
Full Changelog: v3.0.0-rc.0...v3.0.0-rc.1
v3.0.0-rc.0
Breaking Changes
- feat!: 公開APIにファサード層を追加 (#109) — 消費者がプリミティブ値で操作可能なファサードを新設、旧API
(createXxxUseCases) を deprecated に - feat!: 室員集約の再設計 (#94)
- feat!: MemberId/EventId/ExhibitIdをBranded Typeに変更 (#92)
- feat!: SharedKernel StudentIdの実装 (#87)
- refactor!: 大学組織構造の型をランタイム定義から導出する設計に変更 (#111)
Features
- feat: カルテ集約のドメインモデル・アプリケーション層・インフラ層を追加 (#103)
- feat: ドメインイベントの監査ログ永続化 (#106)
- feat: ドメイン定数を追加し型をランタイム定義から導出 (#112)
- feat: PC相談室カルテ集約のドメインモデルを追加 (#82)
- feat: Shared Kernel に Affiliation(所属) を追加 (#81)
Refactoring
- refactor: Affiliationの型表現をDiscriminated Unionに変更 (#102)
- refactor: 公開APIバレル経由のimportに統一 (#117)
- refactor: 値オブジェクトを所属する集約ディレクトリに移動 (#80)
Fixes
- fix: #116マージで巻き戻されたバレルimportを再適用 (#120)
- fix(ci): drizzle-checkジョブを復元 (#121)
- fix: Event.removeExhibitMemberIdの未実装を修正 (#85)
Build / CI / Chore
- chore: ビルドツールチェーンをVite+に移行 (#107)
- chore: ビルド出力をunbundleモードに切り替え (#122)
- chore: 依存パッケージを最新バージョンに更新 (#108)
- chore: vitestによるテスト基盤を導入 (#83)
- ci: CI/CDワークフローの再構成 (#88)
- ci: Drizzleスキーマと生成ファイルの同期チェックをCIに追加 (#115)
- build(deps): bump rollup from 4.57.1 to 4.60.0 (#116)
New Contributors
- @dependabot[bot] made their first contribution in #116
Full Changelog: https://github.com/su-its/core/commits/v3.0.0-rc.0
v2.1.2
What's Changed
- fix: 型定義ファイル内のパスエイリアスを相対パスに変換 by @KinjiKawaguchi in #78
Full Changelog: v2.1.1...v2.1.2
v2.1.1
What's Changed
- refactor: migrate from Prisma to Drizzle ORM by @KinjiKawaguchi in #62
- refactor: Node.js Subpath Importsでモジュール境界を明確化 by @KinjiKawaguchi in #63
- fix: imports のパスを src から dist に修正 by @KinjiKawaguchi in #68
- build: tsup でビルドシステム刷新(ESM/CJS両対応) by @KinjiKawaguchi in #69
- fix: npmに戻す by @KinjiKawaguchi in #70
- style: Biomeによるlint修正 by @KinjiKawaguchi in #72
- ci: ビルド・型チェック・Lintワークフロー追加 by @KinjiKawaguchi in #71
- chore: remove obsolete Prisma migration files by @KinjiKawaguchi in #75
Full Changelog: v2.1.0...v2.1.1