Repository navigation
fix(generator): restore JSON helper compatibility on supported SDKs - #248
Draft
leoafarias wants to merge 1 commit into
Draft
leoafarias wants to merge 1 commit into
leoafarias wants to merge 1 commit into
Conversation
Bound source_helper below 1.4 to avoid ambiguous helper imports with json_serializable 6.14 on Dart 3.9 through 3.11. Keep modern JSON generator selection, SDK floors, coordinated versions, and release safeguards unchanged.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bound
source_helperto>=1.3.10 <1.4.0sojson_serializable6.14 compiles on the supported Dart 3.9–3.11 SDKs. Helper 1.4 exports names that conflict with that generator's local helpers. The upstream generator fix requires Dart 3.12.Keep SDK floors, every test/assertion, and coordinated package versions unchanged. Newer SDKs can still select
json_serializable6.15; this does not cap or downgrade that generator. Add Unreleased notes without editing published release sections. Release workflows stay unchanged. Published 1.7.0 remains immutable; normal coordinated release preparation is separate.This compatibility fix is separate from the test-startup optimization in #247.
Validation
dart run melos run analyze --no-selecton Dart 3.13.7 — passed.dart run melos run test --no-select— passed, including root, pure-Dart, full generator, and Flutter suites.dart run melos run test:gen --no-select— all 394 cases passed, no skips.git diff --check— passed.Four unchanged credential-gated Firebase live tests were skipped in the full workspace run. No skip condition, fixture, or assertion changed. Local Flutter's automatic analyzer-file migration was restored; it is not part of this PR.
Fresh CI and release preflight passed at exact head
60aa99f2180790c8ccf35fd050b99bbad68dbc2e. All nine observed jobs passed: full packages/Chrome, minimum Dart and Flutter, API compatibility, deterministic generation, publish dry-run, JSON Schema batch validation, and two managed security analyses. Final strict workspace analysis also passed after restoring the original analyzer configuration.Fresh independent final-diff review remains pending. Keep this PR as a draft until that review passes. No SDK-floor or failing-check exemption.
Compatibility
The helper bound is temporary. Consumers that separately require
source_helper1.4 cannot resolve until a compatible older-SDK upstream fix is available or maintainers separately revise supported SDKs. Revert this isolated manifest/changelog change if it causes a regression; the original older-SDK compiler failure would then remain.