Skip to content

feat(ack)!: unify annotations and support primary constructors - #184

Closed
leoafarias wants to merge 5 commits into
mainfrom
leoafarias/ack-annotations-in-ack
Closed

leoafarias wants to merge 5 commits into
mainfrom
leoafarias/ack-annotations-in-ack

Conversation

@leoafarias

@leoafarias leoafarias commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Superseded by #224 (release/2.0). Annotations in ack, unified @Schemable, and primary-constructor support are already included in the consolidated implementation; 2.0 also replaces the older compatibility and code-generation paths. Further release fixes are in the stack ending at #239. This PR is retained for historical context.


Summary

Ack models can use @Schemable() with Dart primary constructors. The generator infers nested schemas from field types and generates JSON helpers, typed copyWith, descriptions, and value equality.

  • Move annotations and generator support markers into package:ack. Keep ack_annotations as compatibility re-exports.
  • Make @Schemable() canonical and deprecate @AckInfer() and @AckModel(). Remove the unreleased private redirecting-factory implementation. Ordinary generative constructors remain supported.
  • Upgrade to Analyzer 13.3 and dart_style 3.1.13. Fix the generated JSON marker and required capture-map decoding. Regenerate the examples.

Requirements

ack_generator now requires Dart 3.13. Core ack keeps its Dart 3.9 minimum. The repository pins Flutter 3.47.5 / Dart 3.13.4. CI checks the runtime and generator SDK minimums separately.

This PR remains stacked on leoafarias/ack-annotation-dx.

Validation

  • Workspace dart analyze --fatal-infos, formatting, and git diff --check passed.
  • Core runtime: 1,311 tests passed. Root tooling: 61 tests passed.
  • Generator: 345 tests passed in the full run. Three stale fixtures were corrected; all four tests in the focused rerun passed.
  • Real primary-constructor builds cover nested schemas, descriptions, constraints, defaults, JSON conversion, typed copyWith, and captured properties.
  • The guide example and committed examples build, analyze, and regenerate deterministically.

@leoafarias leoafarias changed the title feat(ack): move annotations into the ack package feat(ack)!: unify annotations and support primary constructors Oct 1, 2026
@leoafarias
leoafarias added this pull request to stack #187 October 1, 2026 19:49
@leoafarias
leoafarias removed this pull request from stack #187 October 1, 2026 19:52
@leoafarias
leoafarias changed the base branch from leoafarias/ack-annotation-dx to main October 1, 2026 19:52
@leoafarias leoafarias added the 2.0 Planned for Ack 2.0 label Oct 1, 2026
@leoafarias leoafarias added the superseded Replaced by consolidated work in another pull request or release branch. label Oct 26, 2026
@leoafarias leoafarias closed this Oct 26, 2026
@leoafarias
leoafarias deleted the leoafarias/ack-annotations-in-ack branch October 26, 2026 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.0 Planned for Ack 2.0 superseded Replaced by consolidated work in another pull request or release branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant