build: one workspace for every app and the packages they share

The root pubspec lists Learn's, Todo's and the shared packages, which
the apps now take by path instead of pinned commits of halkyon_shared:
one resolution, one lockfile. Learn's versions stay as they were; Todo
moves to Serverpod 4.0.4 and Dart 3.13 with the rest (its generated code
unchanged), drops google_fonts, which it never used, and a template
line Dart 3.13 refuses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-19 20:14:07 +02:00
commit 9643412be9
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1,3 +1,5 @@
# The Halkyon project: every app and the packages they share, one pub workspace.
#
# `_` is the conventional name of a pub workspace's root, which is never published or
# imported, so the naming lint doesn't apply to it.
name: _ # ignore: package_names
@ -6,11 +8,23 @@ publish_to: none
environment:
sdk: '^3.13.0'
# Every package of every Halkyon app and the packages they share (ADR 0015): one
# resolution, one lockfile, one version of each dependency across the apps.
workspace:
- halkyon_learn_client
- halkyon_learn_server
- halkyon_learn_flutter
- halkyon_learn_curator
- apps/learn/halkyon_learn_client
- apps/learn/halkyon_learn_server
- apps/learn/halkyon_learn_flutter
- apps/learn/halkyon_learn_curator
- apps/todo/halkyon_todo_client
- apps/todo/halkyon_todo_server
- apps/todo/halkyon_todo_flutter
- packages/halkyon_app
- packages/halkyon_base_client
- packages/halkyon_base_server
- packages/halkyon_core
- packages/halkyon_interop
- packages/halkyon_ui
- packages/halkyon_ui/example
dev_dependencies:
# Referenced by analysis_options.yaml in this directory.