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>
56 lines
2.6 KiB
YAML
56 lines
2.6 KiB
YAML
# 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
|
|
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:
|
|
- 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.
|
|
leancode_lint: ^27.0.0
|
|
|
|
dependency_overrides:
|
|
# The offline sync package's shared part from our fork: v0.0.10 with seven
|
|
# changes. Byte payloads compared as bytes: v0.0.10 compares them byte by byte
|
|
# through a UUID parse that throws for each byte, so a sync touching a few thousand
|
|
# cards kept the server busy for minutes, answering nobody, while its client timed
|
|
# out and sent everything again (2026-10-12). onInboundMerge, called only when
|
|
# changes from the remote peer were merged: onMergeSuccess fires for a space this
|
|
# device only pushed to, so every repository read everything again after each
|
|
# save's sync (2026-10-17). A local delete, and a merge only inserting new rows
|
|
# or only deleting rows, skip the foreign key projection pass when they can't
|
|
# change it: the pass loaded nearly every synced row, 8 s for one delete and 9.5 s
|
|
# for each rating another device made, in a library of 8,000 cards (2026-10-17).
|
|
# Such a merge writes its new rows up to 1,000 to a statement: a first push of
|
|
# that library took the server 35 s, now 5 (2026-10-17). And projections are
|
|
# rebuilt once after the synced tables changed, not on every session and merge
|
|
# (upstream #150). Pinned to a signed commit of the fork's branch
|
|
# halkyon/batch-inserts (on halkyon/fast-merge-deletes, on halkyon/fast-merges,
|
|
# on halkyon/fast-deletes, on halkyon/inbound-merges, on halkyon/byte-payloads);
|
|
# drop each change once a release of the package has it.
|
|
serverpod_offline_sync:
|
|
git:
|
|
url: https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git
|
|
path: packages/serverpod_offline_sync
|
|
ref: 949a6645e08af27bb61c96d7ddc2b6d145fed554
|