Skip to content

fix(passkeys): declare the meta dependency required by Pigeon generated code - #313

Merged
spydon merged 2 commits into
mainfrom
fix/pigeon-meta-dependency
Sep 14, 2026
Merged

spydon merged 2 commits into
mainfrom
fix/pigeon-meta-dependency

Conversation

@spydon

@spydon spydon commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The Publish Packages runs for passkeys_android 2.14.0, passkeys_darwin 0.4.4+4, passkeys_doctor 1.6.1 and passkeys_windows 0.1.4+3 (triggered by #312) all failed with the same pub.dev validation error:

* line 13, column 1 of lib/messages.g.dart: This package does not have meta in the `dependencies` section of `pubspec.yaml`.
ERROR: Sorry, your package is missing a requirement and can't be published yet.

Since the Pigeon 26.3.4 regeneration in #306, every generated messages.g.dart imports package:meta/meta.dart, but none of the four packages declared meta as a dependency. The workspace resolved it transitively through Flutter, so analysis and tests passed, and only pub publish validation caught it.

Changes

  • Add meta: ^1.16.0 to the dependencies of the four packages that contain Pigeon generated code. dart pub publish --dry-run now passes validation for all four.
  • Drop the build numbers from the package versions. passkeys_darwin 0.4.4+4 and passkeys_windows 0.1.4+3 were never published, so they become 0.4.4 and 0.1.4, the matching changelog headings are renamed, and the passkeys constraints follow. Melos only keeps incrementing the build number when one is present, so future bumps stay plain semver.
  • Require Melos ^8.7.0 (the latest release) in the workspace. melos-action already activates the latest Melos in the release workflows, so this aligns local runs with CI.

Follow-up

The tags for the four failed versions point at a commit without this fix, so they cannot be republished as-is. After merging, run Prepare Release again. A local simulation of melos version on this branch bumps passkeys_android to 2.14.1, passkeys_darwin to 0.4.5, passkeys_doctor to 1.6.2, passkeys_windows to 0.1.5, and passkeys to 2.23.1 with matching constraints, followed by corbado_auth and corbado_auth_firebase. Until that release is out, the already published passkeys 2.23.0 and corbado_auth 3.8.4 are unresolvable on pub.dev because they depend on platform package versions that were never published.

…ed code

Pigeon 26.3.4 imports package:meta in the generated messages.g.dart files,
so pub.dev rejected the passkeys_android, passkeys_darwin, passkeys_windows
and passkeys_doctor publishes with:

  This package does not have meta in the dependencies section of pubspec.yaml
passkeys_darwin 0.4.4+4 and passkeys_windows 0.1.4+3 were never published,
so they become 0.4.4 and 0.1.4 and the passkeys constraints follow. The
workspace now requires the latest Melos, which is what melos-action already
activates in the release workflows.
@spydon
spydon merged commit e1f1261 into main Sep 14, 2026
12 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