Skip to content

feat(mix_generator): emit styler field metadata - #1028

Merged
leoafarias merged 3 commits into
mainfrom
leoafarias/guangzhou
Aug 17, 2026
Merged

feat(mix_generator): emit styler field metadata#1028
leoafarias merged 3 commits into
mainfrom
leoafarias/guangzhou

Conversation

@leoafarias

@leoafarias leoafarias commented Aug 17, 2026

Copy link
Copy Markdown
Member

Related issue

Related to #1026.

Description

Expose a generated, runtime-safe inventory of Styler source fields so protocol
adapters and tooling can validate complete field coverage without maintaining a
second handwritten field manifest.

The capability lives in mix, while source discovery remains in
mix_generator; consumers do not acquire a runtime dependency on the
generator.

Changes

  • Add the StylerFieldMetadata capability to mix.
  • Emit const $stylerFieldNames metadata for generated Styler classes and
    legacy @MixableStyler mixins.
  • Reserve metadata member names and report source-located generator errors for
    collisions.
  • Keep handwritten GridBoxStyler aligned with the generated contract.
  • Centralize the inherited animation, modifier, and variants field names
    across generated metadata, props, and legacy extraction.
  • Derive the generated metadata getter from its reserved source name so both
    validation and emission share one spelling.
  • Update generated Mix and Mix Chart output, package versions, changelogs, and
    conformance coverage.

Review Checklist

  • Testing: melos run gen:build and melos run ci pass.
  • Breaking Changes: No. The metadata interface is additive.
  • Documentation Updates: Public Dartdoc and package changelogs are updated.
  • Website Updates: Not required for generator/runtime metadata.

Additional Information (optional)

melos run analyze:dart passes across all packages. The repository-wide DCM
stage continues to report the existing unrelated findings in untouched
mix_annotations (1) and mix_generator (12) files.

@leoafarias
leoafarias merged commit 4ea917d into main Aug 17, 2026
6 of 8 checks passed
@leoafarias
leoafarias deleted the leoafarias/guangzhou branch August 17, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant