Skip to content
This repository was archived by the owner on Feb 16, 2026. It is now read-only.

BOT: Dart Dependency Updater#416

Closed
jpeiffer wants to merge 1 commit into
mainfrom
dart_update_1762223379043
Closed

BOT: Dart Dependency Updater#416
jpeiffer wants to merge 1 commit into
mainfrom
dart_update_1762223379043

Conversation

@jpeiffer

@jpeiffer jpeiffer commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

PR created automatically

dependencies:

  • build: 2.4.2 --> 4.0.2
  • code_builder: 4.10.1 --> 4.11.0
  • json_theme: 9.0.0+1 --> 9.0.3
  • source_gen: 2.0.0 --> 4.0.2

Error!!!

Resolving dependencies in `/home/runner/work/json_dynamic_widget/json_dynamic_widget`...


Because source_gen >=4.0.1 depends on analyzer ^8.1.1 and json_dynamic_widget_codegen depends on analyzer >=6.2.0 <7.4.0, source_gen >=4.0.1 is forbidden.
So, because json_dynamic_widget_codegen depends on source_gen ^4.0.2, version solving failed.

dependencies:

  • json_schema: 5.2.1 --> 5.2.2
  • json_theme: 9.0.0+1 --> 9.0.3

dev_dependencies:

  • build_runner: 2.4.15 --> 2.10.1

Error!!!

Resolving dependencies in `/home/runner/work/json_dynamic_widget/json_dynamic_widget`...


Because json_dynamic_widget depends on build_runner ^2.10.1 which depends on analyzer ^8.0.0, analyzer ^8.0.0 is required.
So, because json_dynamic_widget_codegen depends on analyzer >=6.2.0 <7.4.0, version solving failed.
Failed to update packages.

dependencies:

  • dotted_border: 2.1.0 --> 3.1.0
  • flutter_svg: 2.1.0 --> 2.2.1
  • json_theme: 9.0.0+1 --> 9.0.3

dev_dependencies:

  • build_runner: 2.4.15 --> 2.10.1
  • icons_launcher: 3.0.1 --> 3.0.3

Error!!!

Resolving dependencies in `/home/runner/work/json_dynamic_widget/json_dynamic_widget`...


Because json_dynamic_widget depends on build_runner ^2.10.1 which depends on analyzer ^8.0.0, analyzer ^8.0.0 is required.
So, because json_dynamic_widget_codegen depends on analyzer >=6.2.0 <7.4.0, version solving failed.
Failed to update packages.

Summary by CodeRabbit

  • Chores
    • Released pre-release versions (codegen 3.0.0+1 and json_dynamic_widget 10.0.2+1) with automated dependency updates.
    • Updated package dependencies to newer compatible versions for improved stability and compatibility.
    • Applied standardization improvements across configuration files.

@coderabbitai

coderabbitai Bot commented Nov 4, 2025

Copy link
Copy Markdown

Walkthrough

Updates CHANGELOG entries for multiple packages with automation note dated November 4, 2025. Version bumps applied (3.0.0+1, 10.0.2+1, 1.0.0+91). Normalizes YAML quoting conventions to double quotes and updates minor dependency versions across packages.

Changes

Cohort / File(s) Summary
Changelog entries
packages/codegen/CHANGELOG.md, packages/json_dynamic_widget/CHANGELOG.md
Added new pre-release entries dated November 4, 2025 with "Automated dependency updates" note. Codegen: version 3.0.0+1; JSON Dynamic Widget: version 10.0.2+1.
Codegen package configuration
packages/codegen/pubspec.yaml
Bumped version to 3.0.0+1. Normalized string quoting to double quotes throughout. Updated dependency versions (analyzer, build, code_builder, json_theme, source_gen, etc.). Added workspace resolution field.
JSON Dynamic Widget package configuration
packages/json_dynamic_widget/pubspec.yaml
Normalized string quoting to double quotes. Minor version updates to dependency constraints. No functional or API changes.
JSON Dynamic Widget example configuration
packages/json_dynamic_widget/example/pubspec.yaml
Bumped version to 1.0.0+91. Normalized string quoting throughout. Updated several dependencies (dotted_border to ^3.1.0, flutter_svg to ^2.2.1, json_theme to ^9.0.3, build_runner to ^2.10.1). Updated path references to use double quotes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Changes are primarily formatting-focused (quote normalization across YAML files)
  • Repetitive pattern consistent across all files (single-to-double quote conversion)
  • Changelog entries are straightforward additions
  • Minor version bumps in dependencies follow standard patterns and require basic verification

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'BOT: Dart Dependency Updater' clearly and specifically describes the main purpose of the automated pull request—updating Dart dependencies.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dart_update_1762223379043

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/json_dynamic_widget/CHANGELOG.md (1)

388-388: Remove git merge conflict marker.

Line 388 contains a residual git merge artifact (>>>>>>> fabcc57c...) that should not be committed. Remove this line entirely.

->>>>>>> fabcc57c6772a1015dbb260dc2cb5a28bfade292:CHANGELOG.md
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e7d7336 and e37c2b0.

📒 Files selected for processing (5)
  • packages/codegen/CHANGELOG.md (1 hunks)
  • packages/codegen/pubspec.yaml (1 hunks)
  • packages/json_dynamic_widget/CHANGELOG.md (1 hunks)
  • packages/json_dynamic_widget/example/pubspec.yaml (2 hunks)
  • packages/json_dynamic_widget/pubspec.yaml (1 hunks)
🧰 Additional context used
🪛 GitHub Actions: Pull Request Checker
packages/json_dynamic_widget/pubspec.yaml

[error] 1-1: Dependency resolution failed: json_dynamic_widget_codegen requires analyzer < 7.4.0, while build_runner ^2.10.1 requires analyzer ^8.0.0. Version solving failed. Failed to update packages. Command: 'dart pub get'.

packages/codegen/pubspec.yaml

[error] 1-1: Dependency resolution failed: json_dynamic_widget_codegen requires analyzer < 7.4.0, while build_runner ^2.10.1 requires analyzer ^8.0.0. Version solving failed. Failed to update packages. Command: 'dart pub get'.

packages/json_dynamic_widget/example/pubspec.yaml

[error] 1-1: Dependency resolution failed: json_dynamic_widget_codegen requires analyzer < 7.4.0, while build_runner ^2.10.1 requires analyzer ^8.0.0. Version solving failed. Failed to update packages. Command: 'dart pub get'.

🔇 Additional comments (5)
packages/json_dynamic_widget/CHANGELOG.md (1)

1-3: Changelog entry is properly formatted.

The new pre-release entry follows the established format with correct date and message. Consistent with similar automated-update entries in the history.

packages/codegen/CHANGELOG.md (1)

1-3: Changelog entry format is correct.

The pre-release entry for version 3.0.0+1 follows conventions and aligns with the automated update pattern.

packages/json_dynamic_widget/pubspec.yaml (1)

4-4: Version bump is appropriate for pre-release.

Incrementing to 10.0.2+1 is the correct semver approach for an automated dependency update.

packages/json_dynamic_widget/example/pubspec.yaml (2)

4-4: Version bump is appropriate.

The increment to 1.0.0+91 for the example app is reasonable for dependency updates.


13-13: Individual dependency updates are reasonable, but PR is blocked upstream.

The updates to dotted_border: ^3.1.0, flutter_svg: ^2.2.1, and icons_launcher: ^3.0.3 are individually sound. However, this file transitively depends on the blocker constraint through json_dynamic_widgetjson_dynamic_widget_codegen. The PR cannot proceed until the analyzer constraint issue is resolved in packages/codegen/pubspec.yaml.

Also applies to: 17-17, 30-31

template_expressions: '^3.3.1+2'
yaml_writer: '^2.1.0'
yaon: '^1.1.4+10'
analyzer: ">=6.2.0 <7.4.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Analyzer constraint blocks dependency resolution (critical blocker).

The constraint analyzer: ">=6.2.0 <7.4.0" prevents the proposed updates to build (^4.0.2), code_builder (^4.11.0), and especially source_gen (^4.0.2). According to the PR objectives, source_gen >=4.0.1 depends on analyzer ^8.1.1, which is incompatible with the upper bound <7.4.0.

The changelog (line 15 in CHANGELOG.md) explains this was a deliberate decision to work around Dart deprecations, but it now blocks modern dependency updates.

To resolve:

  1. Option A (Recommended): If your code is compatible with analyzer ^8.x, update the constraint to analyzer: "^8.1.1" or ">=8.0.0". Review the code for any uses of deprecated analyzer APIs.
  2. Option B: Revert the dependency upgrades to versions compatible with analyzer <7.4.0 (e.g., source_gen ^2.0.0, build ^2.4.2).
  3. Option C: Pin to a specific analyzer version that satisfies both constraints (unlikely to exist).

Before proceeding, verify that your codebase is compatible with analyzer ^8.x:


🏁 Script executed:

#!/bin/bash
# Search for any uses of deprecated analyzer APIs or direct analyzer imports
rg -n "from 'package:analyzer" packages/codegen/lib/ || echo "Checking for analyzer usage..."
rg -n "analyzer\." packages/codegen/lib/ -A 2 -B 2 --type dart

Length of output: 30


I need to gather more information about the dependency resolution. The lack of direct analyzer usage doesn't invalidate the constraint issue—analyzer is likely a transitive dependency. Let me verify the actual dependency structure and the source_gen requirements.


Also, let me search for the latest information on source_gen and analyzer compatibility:




🏁 Script executed:

#!/bin/bash
# Check the full pubspec.yaml content to see all dependencies and their constraints
cat packages/codegen/pubspec.yaml | grep -A 50 "dependencies:"

Length of output: 1273


🏁 Script executed:

#!/bin/bash
# Look for pubspec.lock or similar lock files
find packages/codegen -name "pubspec.lock" -o -name ".flutter" -type d

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Search for any analyzer version references or dependency declarations in comments
rg -n "analyzer|source_gen|code_builder" packages/codegen/pubspec.yaml -B 1 -A 1

Length of output: 318


🏁 Script executed:

#!/bin/bash
# Check if there are analysis options or other analyzer configuration files
find packages/codegen -name "analysis_options.yaml" -o -name ".dart_tool" -type d

Length of output: 38


🌐 Web query:

source_gen 4.0.2 analyzer dependency requirements

💡 Result:

source_gen 4.0.2 requires package:analyzer >=8.1.1 <9.0.0. [1][2]

Sources:

  • source_gen changelog (4.0.1 entry). [1]
  • source_gen package page. [2]

Analyzer constraint blocks dependency resolution (critical blocker).

The constraint analyzer: ">=6.2.0 <7.4.0" is incompatible with source_gen: "^4.0.2". source_gen 4.0.2 requires analyzer >=8.1.1 <9.0.0, which falls outside the upper bound of <7.4.0.

No direct analyzer imports were found in the codebase, suggesting analyzer is a transitive dependency. This is promising for compatibility with analyzer ^8.x, but still requires your verification.

To resolve:

  1. Option A (Recommended): Update the constraint to analyzer: "^8.1.1" and verify your code works with analyzer 8.x.
  2. Option B: Revert the dependency upgrades to versions compatible with analyzer <7.4.0 (e.g., source_gen ^2.0.0).
  3. Option C: Pin to a specific analyzer version satisfying both constraints (unlikely to exist).
🤖 Prompt for AI Agents
In packages/codegen/pubspec.yaml around line 16, the pinned analyzer range
">=6.2.0 <7.4.0" conflicts with source_gen ^4.0.2 (which requires analyzer
>=8.1.1 <9.0.0); update the analyzer constraint to "analyzer: ^8.1.1"
(recommended), run pub get, then run project tests and dart analyze to verify no
breakages; if upgrading causes issues instead revert the source_gen upgrade to a
version compatible with <7.4.0 (or choose the alternate option your team
prefers) and ensure CI passes.

dev_dependencies:
build_runner: '^2.4.15'
flutter_lints: '^6.0.0'
build_runner: "^2.10.1"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Dependency resolution fails due to analyzer constraint conflict.

The update to build_runner: ^2.10.1 is incompatible with json_dynamic_widget_codegen: ^3.0.0, which constrains analyzer to >=6.2.0 <7.4.0. However, build_runner ^2.10.1 requires analyzer ^8.0.0, creating an unsolvable constraint conflict. Pipeline validation confirms: "Dependency resolution failed: json_dynamic_widget_codegen requires analyzer < 7.4.0, while build_runner ^2.10.1 requires analyzer ^8.0.0."

This is a blocker that prevents the entire PR from proceeding.

Root cause: The analyzer constraint in packages/codegen/pubspec.yaml (line 16) must be updated to support newer versions of build_runner and source_gen, or build_runner must remain on an older constraint-compatible version.

Recommendation: Before proceeding with this PR, either:

  1. Update the analyzer constraint in packages/codegen/pubspec.yaml to allow analyzer ^8.0.0 (if compatible with your code), or
  2. Revert build_runner to a version compatible with analyzer <7.4.0 (e.g., ^2.4.15)

I'll verify the dependency conflict claim by examining the actual pubspec.yaml files and checking the build_runner version requirements.


🏁 Script executed:

#!/bin/bash
# Examine the pubspec.yaml files referenced in the review
echo "=== packages/json_dynamic_widget/pubspec.yaml (around line 35) ==="
cat packages/json_dynamic_widget/pubspec.yaml | sed -n '30,40p'

echo -e "\n=== packages/codegen/pubspec.yaml (around line 16) ==="
cat packages/codegen/pubspec.yaml | sed -n '1,30p'

Length of output: 997


🌐 Web query:

build_runner 2.10.1 analyzer dependency requirements

💡 Result:

build_runner 2.10.1 requires analyzer 8.x — the 2.10.0/2.10.x changelog notes it "Require analyzer 8.0.0". [1]

Source: build_runner changelog (pub.dev). [1]


🌐 Web query:

source_gen 4.0.2 build_runner 2.10.1 compatibility

💡 Result:

Short answer: incompatible.

Why: source_gen 4.x requires package:build >=3.0.0 (source_gen 4.0.1+ specified Allow build: '>=3.0.0 <5.0.0'). [1] build_runner 2.10.1 is a 2.x build_runner which targets the package:build 2.x ecosystem, so it will not satisfy source_gen's build >=3 constraint. [2]

Options: upgrade your build_runner/build tooling to versions that support build >=3 (or downgrade source_gen to a 3.x release compatible with build 2.x). [1][2]

Sources:

  • source_gen changelog (4.0.1/4.0.2 notes). [1]
  • build_runner package / changelog (2.10.1 / 2.x series). [2]

Dependency resolution fails: build_runner ^2.10.1 is incompatible with json_dynamic_widget_codegen ^3.0.0.

Two unresolvable conflicts exist:

  1. Analyzer versions: build_runner ^2.10.1 requires analyzer ^8.0.0, but codegen constrains analyzer >=6.2.0 <7.4.0.
  2. Build ecosystem: source_gen ^4.0.2 requires build >=3.0.0, but build_runner 2.10.1 targets the build 2.x ecosystem.

Either update the analyzer constraint in packages/codegen/pubspec.yaml to allow analyzer ^8.0.0 and source_gen 4.x (if compatible with your code), or downgrade build_runner to a version compatible with the build 2.x ecosystem (e.g., ^2.4.15) and use source_gen 3.x.

🤖 Prompt for AI Agents
In packages/json_dynamic_widget/pubspec.yaml around line 35, build_runner is set
to ^2.10.1 which conflicts with json_dynamic_widget_codegen's analyzer and build
ecosystem constraints; fix by either (A) downgrading build_runner to a 2.x
compatible release (e.g., ^2.4.15) so it stays in the build 2.x ecosystem and
matches source_gen 3.x, or (B) update packages/codegen/pubspec.yaml to relax the
analyzer constraint to allow ^8.0.0 and bump source_gen to a 4.x compatible
version (ensuring codegen compiles against analyzer ^8 and source_gen 4 APIs);
apply one of these two changes and run pub get to verify dependency resolution.

@jpeiffer jpeiffer closed this Nov 9, 2025
@jpeiffer jpeiffer deleted the dart_update_1762223379043 branch November 9, 2025 19:18
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant