Skip to content

chore: Migrate to Melos 8 with a pub workspace and add the Flame release workflows - #55

Merged
spydon merged 4 commits into
mainfrom
chore/migrate-melos-workspace
Sep 23, 2026
Merged

spydon merged 4 commits into
mainfrom
chore/migrate-melos-workspace

Conversation

@spydon

@spydon spydon commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Description

Migrates the monorepo to the latest Melos (8.x) on top of a pub workspace and sets up the same
tooling and automation as the flame repository.

Melos and pub workspace

  • The root pubspec.yaml is now a pub workspace that lists all packages, and the Melos
    configuration lives in its melos section, so melos.yaml is gone.
  • Every package declares resolution: workspace and the SDK constraints are aligned to
    Dart >=3.13.0 / Flutter >=3.47.0, which is what the workspace resolution requires
    (very_good_analysis 11 needs Dart 3.13).
  • The scripts mirror flame's: format-check, lint:all, test:select, coverage, upgrade,
    markdown-check / markdown-fix, plus editor-run / editor-build for the editor app.
  • Per package pubspec.lock files, IDE files and the leftover .github directory inside
    mini_sprite_editor are removed and ignored through the same .gitignore as flame.

Workflows

  • cicd.yml: format, analyze on the lowest supported Flutter version, analyze on latest stable,
    markdown lint and tests, replacing the seven per package workflows.
  • release-prepare.yml, release-tag.yml and release-publish.yml: the flame release flow.
    Prepare release runs melos version and opens a release PR, merging it tags the packages and
    triggers the publish workflow, which publishes to pub.dev with OIDC and creates GitHub releases.
  • title-validation.yml and spell_checker.yml with a cspell configuration and dictionaries.
  • gh-pages.yml now uses bluefireteam/flutter-gh-pages to deploy the editor.

Repository files

  • Adds CONTRIBUTING.md, FUNDING.yml, the flame pull request template and the markdownlint
    configuration.
  • Runs dart format on all packages with the current formatter, fixes the markdown lint findings
    in the READMEs, and fixes the typos that cspell found (including the toogleGrid and
    newPropery localization keys in the editor).
  • Applies dart fix for the lints that very_good_analysis 11 enables on Dart 3.13, which
    rewrites constructors to the new const new(...) syntax in mini_sprite, flutter_mini_sprite
    and mini_treasure_quest. Say so if you would rather disable unnecessary_type_name_in_constructor
    instead.

Locally, melos bootstrap, melos run format-check, melos exec -- dart analyze --fatal-infos .,
melos run test:select --no-select, markdownlint and both cspell scripts all pass.

Notes for the maintainers

  • Publishing needs the packages on pub.dev to have automated publishing from GitHub Actions
    enabled for this repository, with the release-publish.yml workflow and the pkg-v* tag
    pattern.
  • The gh-pages workflow now also runs on every push to main, like in flame. Drop the push
    trigger if the editor should only be deployed manually.

Checklist

  • I have followed the Contributor Guide when preparing my PR.
  • [-] I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation and added dartdoc comments with ///.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

@spydon
spydon merged commit 65eec16 into main Sep 23, 2026
6 checks passed
@erickzanardo
erickzanardo deleted the chore/migrate-melos-workspace branch September 23, 2026 19:15
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.

2 participants