Skip to content

build(deps): migrate to melos 8 and pub workspaces - #22

Merged
Tuanpluss02 merged 2 commits into
mainfrom
chore/melos-8-migration
Oct 28, 2026
Merged

Tuanpluss02 merged 2 commits into
mainfrom
chore/melos-8-migration

Conversation

@Tuanpluss02

Copy link
Copy Markdown
Owner

What

Melos 7 removed melos.yaml; this migrates the monorepo to Melos 8 + pub workspaces.

  • Workspace config and scripts moved from melos.yaml into the root pubspec.yaml (workspace: + melos:), melos.yaml deleted
  • All 7 members declare resolution: workspace
  • interceptly_mcp dev dependency lints ^4.0.0 -> ^6.0.0 so the shared resolution can solve flutter_lints ^6.0.0
  • CI/release/publish workflows pin melos 8.10.0 (previously unpinned latest)
  • Docs updated: no more melos.yaml / generated pubspec_overrides.yaml references

Why

CI installed latest while the repo declared melos: ^6.0.0 and devs ran 6.3.3 — three sources of truth for the tool that decides release versions and changelogs. Matching version banners also let us drop the legacy melos.yaml path.

Verification

  • flutter pub get at root resolves the whole workspace + example
  • melos bootstrap -> single workspace pub get, 7 packages
  • melos run check -> format, analyze, 904 tests pass
  • melos version dry-run produces the same version table as Melos 6
  • dart pub publish --dry-run on interceptly_dio passes (resolution: workspace is not leaked to pub.dev)

Notes

  • Dependency resolution is now unified across all packages, so conflicting constraints fail pub get for the whole repo. Only one conflict existed (lints in mcp).
  • Should land after the pending release on main, which still runs the legacy melos.yaml path.
  • A follow-up can add --smart-dependents to the release command so adapters stop cascading when interceptly: ^X.Y.Z already allows the new core version.

Melos 7 removed melos.yaml, so the workspace config and scripts now live in
the root pubspec.yaml and members resolve through a single pub workspace.

- move scripts and command.version/publish config from melos.yaml into the
  root pubspec melos: section
- declare workspace: for all 7 packages and resolution: workspace in each
- bump interceptly_mcp's lints dev dependency to ^6.0.0 so the shared
  resolution can solve flutter_lints ^6.0.0 alongside it
- pin melos 8.10.0 in the ci, release and publish workflows
- drop docs references to melos.yaml and generated pubspec_overrides.yaml
@Tuanpluss02 Tuanpluss02 changed the title build(melos): migrate to melos 8 and pub workspaces build(deps): migrate to melos 8 and pub workspaces Oct 28, 2026
@Tuanpluss02
Tuanpluss02 merged commit fc89710 into main Oct 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant