feat: Implement the sync protocol (#54)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Marcelo Mendonça Soares 2026-05-29 01:54:23 -03:00 • committed by GitHub
commit f85239c3a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -14,20 +14,54 @@ workspace:
dev_dependencies:
melos: ^7.5.1
serverpod_cli: 3.5.0-beta.6
serverpod_cli: 3.5.0-beta.9
dependency_overrides:
serverpod: 3.5.0-beta.6
serverpod_cli: 3.5.0-beta.6
serverpod_client: 3.5.0-beta.6
serverpod_database: 3.5.0-beta.6
serverpod_shared: 3.5.0-beta.6
serverpod_serialization: 3.5.0-beta.6
serverpod_test: 3.5.0-beta.6
# git:
# url: https://github.com/marcelomendoncasoares/serverpod.git
# path: packages/serverpod_test
# ref: testing
serverpod:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod
ref: fix-dynamic-generate-watch
serverpod_cli:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: tools/serverpod_cli
ref: fix-dynamic-generate-watch
serverpod_client:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_client
ref: fix-dynamic-generate-watch
serverpod_database:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_database
ref: fix-dynamic-generate-watch
serverpod_embedded_postgres:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_embedded_postgres
ref: fix-dynamic-generate-watch
serverpod_shared:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_shared
ref: fix-dynamic-generate-watch
serverpod_serialization:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_serialization
ref: fix-dynamic-generate-watch
serverpod_service_client:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_service_client
ref: fix-dynamic-generate-watch
serverpod_test:
git:
url: https://github.com/marcelomendoncasoares/serverpod.git
path: packages/serverpod_test
ref: fix-dynamic-generate-watch
melos:
packages:
@ -46,20 +80,26 @@ melos:
exec: dart analyze . --fatal-infos --fatal-warnings
generate:
# Must run the module first, or the test project won't have the tables.
# Runs generate twice on the server package due to a bug in the generator.
run: |
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli generate
{
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli generate ||
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli generate
} &&
melos exec --scope="serverpod_offline_sync_test_server" -- dart run serverpod_cli generate
create-migration:
# If the module does not run first, the test project will see no module tables.
run: |
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli create-migration --force
run: >-
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli create-migration --force &&
melos exec --scope="serverpod_offline_sync_test_server" -- dart run serverpod_cli create-migration --force
upgrade:
exec: dart pub upgrade
downgrade:
exec: dart pub downgrade
test:
run: dart test packages/ test/ --coverage=coverage --reporter=failures-only
run: |
dart test packages/ --reporter=failures-only
melos exec --scope="serverpod_offline_sync_test_server" -- dart test test/ --reporter=failures-only --concurrency=1
reset:
exec: rm -f test.db*
publish-check: