feat: add npm workspaces root config and align dependency versions (#1169, #1170) - #1226
Merged
Ejirowebfi merged 1 commit intoJul 31, 2026
Conversation
…aroldwonder#1169, Haroldwonder#1170) Issue Haroldwonder#1169 - Root workspace configuration - Add root package.json declaring npm workspaces for all 7 packages: backend, api, frontend, sdk, sdk/react-native, mobile, examples - Hoist shared dev dependencies to root: typescript ^5.8.3, eslint ^8.57.0, @typescript-eslint/{eslint-plugin,parser} ^8.0.0, vitest ^3.1.1, syncpack ^13, rimraf ^6 - Add root scripts: build, test, lint, typecheck, clean, syncpack:check/fix - Replace file:../sdk reference in backend with workspace:* protocol - Delete redundant per-package lockfiles (backend/package-lock.json, backend/pnpm-lock.yaml, api/package-lock.json, frontend/package-lock.json, sdk/package-lock.json, examples/package-lock.json); root package-lock.json is now the single source of truth - Update .gitignore to explicitly ignore per-package lockfiles going forward - Rewrite backend, frontend, and api Dockerfiles to copy all workspace package.json manifests, then run npm ci --workspace=X from root so Docker layer caching works with the single root lockfile - Update all 16 CI workflows: remove cache-dependency-path pointing to per-package lockfiles; move npm ci to run at the repo root; keep working-directory: <pkg> only for build/test/lint steps Issue Haroldwonder#1170 - Dependency version drift - Align @stellar/stellar-sdk on ^14.5.0 across backend, frontend, sdk, sdk/react-native (peer >=14.0.0), and examples (was ^12 in backend/ examples and ^13 in sdk — a major-version gap that caused transaction serialisation differences between services) - Align typescript on ^5.8.3 across all workspaces (was ^5.3.3 in backend, ^6.0.3 in api/frontend/sdk, ~5.8.3 in mobile, ^5.4.0 in react-native-sdk) - Align eslint on ^8.57.0 (was ^8.56.0 in backend and api) - Align @typescript-eslint/eslint-plugin and @typescript-eslint/parser on ^8.0.0 (was v7 in backend/api vs v8 in frontend; plugin was missing from frontend entirely) - Align vitest on ^3.1.1 (sdk had ^4.1.8) - Add typecheck script to backend, api, frontend, and sdk package.json - Add lint and typecheck scripts to frontend package.json (were missing) - Add .syncpackrc.json with sameRange version-group policies for @stellar/stellar-sdk, typescript, eslint, @typescript-eslint, vitest, and vite - Add .github/workflows/dependency-drift.yml: runs syncpack list-mismatches on every PR that touches any package.json; fails the job if drift is detected, preventing regressions
|
@darcszn is attempting to deploy a commit to the Harold's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@darcszn Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Ejirowebfi
pushed a commit
that referenced
this pull request
Jul 31, 2026
Contract: - resolve_dispute paid out the full remittance amount regardless of anything already sent by confirm_partial_payout, which drained other remittances' escrow (caught by the escrow-solvency property test). It now settles only the escrow still held, pays the agent the part of their net entitlement not yet disbursed, and accumulates the retained platform fee. It also honours the fee quoted at creation rather than re-pricing. CI (#1226 moved the repo to npm workspaces and deleted every per-package lockfile, leaving the workflows pointing at files that no longer exist): - setup-node composite action installs at the repo root - 29 npm ci steps pinned to the root working directory - 31 cache-dependency-path entries repointed at the root lockfile - 4 npm audit steps converted to root-scoped -w <pkg> form - dependabot npm entries collapsed to a single workspace-root entry Also includes in-progress repairs to the backend, api, sdk and mobile workspaces. Those are NOT yet verified — their typecheck and test suites had not been run to completion when this was committed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #1169 - Root workspace configuration
Issue #1170 - Dependency version drift
closes #1169
closes #1170