Skip to content

chore: consolidate dependency bumps (March 2026)#265

Merged
digaomatias merged 4 commits intomainfrom
chore/dependency-bumps-2026-03-30
Mar 30, 2026
Merged

chore: consolidate dependency bumps (March 2026)#265
digaomatias merged 4 commits intomainfrom
chore/dependency-bumps-2026-03-30

Conversation

@digaomatias
Copy link
Copy Markdown
Owner

@digaomatias digaomatias commented Mar 29, 2026

Summary

Consolidates 13 Dependabot PRs into a single update.

Backend (.NET):

  • Serilog.Extensions.Hosting 9.0.0 → 10.0.0
  • Sentry.AspNetCore 6.1.0 → 6.2.0
  • Npgsql.EntityFrameworkCore.PostgreSQL 10.0.0 → 10.0.1
  • Microsoft.SemanticKernel 1.73.0 → 1.74.0
  • Microsoft.Extensions.Logging.Abstractions 10.0.2 → 10.0.5
  • Microsoft.EntityFrameworkCore.Design 10.0.0 → 10.0.5
  • coverlet.collector 8.0.0 → 8.0.1

Frontend (npm):

  • next 16.2.0 → 16.2.1
  • eslint-config-next 16.2.0 → 16.2.1
  • lucide-react 0.577.0 → 1.0.1
  • typescript 5.8.3 → 6.0.2 (added ignoreDeprecations: "6.0" to tsconfig.json for baseUrl deprecation)
  • vitest 4.1.0 → 4.1.1
  • @vitest/ui 4.1.0 → 4.1.1

Skipped:

  • eslint 9.x → 10.x: Incompatible with eslint-config-next ecosystem (eslint-plugin-react, eslint-plugin-import, eslint-plugin-jsx-a11y only support up to eslint 9)

Verification

  • dotnet build passes
  • npm run build passes
  • npx tsc --noEmit passes
  • ✅ ESLint runs without errors (16 pre-existing warnings)

Closes #201 #202 #203 #204 #205 #206 #207 #208 #209 #210 #211 #212 #214 #216

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Accessibility

    • Improved accessibility support for the AI preview feature in the transaction reconciliation interface.
  • Chores

    • Updated frontend dependencies, including Next.js, reactive UI libraries, and development tooling to latest compatible versions.
    • Updated backend dependencies across application service layers for improved stability and new capabilities.
    • Updated build and version control configuration to better manage development artifacts.

Backend (.NET):
- Serilog.Extensions.Hosting 9.0.0 → 10.0.0
- Sentry.AspNetCore 6.1.0 → 6.2.0
- Npgsql.EntityFrameworkCore.PostgreSQL 10.0.0 → 10.0.1
- Microsoft.SemanticKernel 1.73.0 → 1.74.0
- Microsoft.Extensions.Logging.Abstractions 10.0.2 → 10.0.5
- Microsoft.EntityFrameworkCore.Design 10.0.0 → 10.0.5 (Infrastructure + WebAPI)
- coverlet.collector 8.0.0 → 8.0.1

Frontend (npm):
- next 16.2.0 → 16.2.1
- eslint-config-next 16.2.0 → 16.2.1
- lucide-react 0.577.0 → 1.0.1
- typescript 5.8.3 → 6.0.2 (added ignoreDeprecations for baseUrl)
- vitest 4.1.0 → 4.1.1
- @vitest/ui 4.1.0 → 4.1.1

Skipped: eslint 9.x → 10.x (incompatible with eslint-config-next ecosystem)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 561187c2-9fcb-4efb-af3c-592c4f9e394c

📥 Commits

Reviewing files that changed from the base of the PR and between d8fd43a and 201fe4a.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • frontend/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/package.json

📝 Walkthrough

Walkthrough

Dependencies are updated across the frontend (Next.js, lucide-react major version bump to 1.0.1, TypeScript, and ESLint reorganization) and backend (.NET projects). Development-only packages are moved to devDependencies. An accessibility label is added to a component, and .gitignore is updated to exclude TypeScript build metadata.

Changes

Cohort / File(s) Summary
Frontend Dependencies
frontend/package.json
Bumped next to 16.2.1, major version upgrade of lucide-react to 1.0.1, moved eslint and eslint-config-next to devDependencies, promoted typescript to devDependencies (5.9.3), and bumped vitest and @vitest/ui to 4.1.1.
Backend NuGet Packages
src/Core/MyMascada.Application/MyMascada.Application.csproj, src/Infrastructure/MyMascada.Infrastructure/MyMascada.Infrastructure.csproj, src/WebAPI/MyMascada.WebAPI/MyMascada.WebAPI.csproj, tests/MyMascada.Tests.Unit/MyMascada.Tests.Unit.csproj
Updated package versions: Logging.Abstractions (10.0.5), SemanticKernel (1.74.0), Serilog.Extensions.Hosting (10.0.0), EntityFrameworkCore packages (10.0.5/10.0.1), Sentry.AspNetCore (6.2.0), and coverlet.collector (8.0.1).
Build Configuration
.gitignore
Added *.tsbuildinfo pattern to exclude TypeScript incremental build metadata.
Component Accessibility
frontend/src/components/reconciliation/draggable-transaction-card.tsx
Added explicit aria-label attribute to preview AI action button.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • #189: Updates frontend tooling and dependency configuration in package.json alongside ESLint setup reorganization.
  • #198: Modifies the same component file (draggable-transaction-card.tsx) for related enhancements.

Suggested reviewers

  • morpheus-oc

Poem

🐰 Hops through the code with glee,
Dependencies dance, versions all free,
Lucide's at one-oh, TypeScript in view,
Accessibility labels for users brand new,
Build files excluded, the project's so neat!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: consolidate dependency bumps (March 2026)' accurately summarizes the main change—consolidating multiple dependency updates into a single PR.
Linked Issues check ✅ Passed The PR addresses #201 (lucide-react bump) with verified build pass, moved TypeScript workaround, added aria-label for accessibility, and resolved 13 dependency updates across backend/frontend per objectives.
Out of Scope Changes check ✅ Passed All changes directly align with dependency consolidation objective; .gitignore update (tsbuildinfo) and aria-label addition address necessary blockers identified during review.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/dependency-bumps-2026-03-30

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates various dependencies across the frontend and backend. In the frontend, Next.js, Lucide React, and Vitest were updated, while ESLint was adjusted to version 9.39.4. TypeScript was moved to devDependencies and upgraded to 6.0.2, necessitating an update to tsconfig.json. The backend projects saw version bumps for several Microsoft, Npgsql, Serilog, and Sentry packages. I have no feedback to provide.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
src/Infrastructure/MyMascada.Infrastructure/MyMascada.Infrastructure.csproj (1)

20-20: Align Serilog package versions across projects.

Mixed major versions detected: Serilog.Extensions.Hosting (10.0.0) and Serilog.Extensions.Logging (10.0.0) in Infrastructure and Application, while WebAPI references Serilog.AspNetCore (9.0.0). Verify this version matrix is intentional and supported, or align to a single compatible major line.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Infrastructure/MyMascada.Infrastructure/MyMascada.Infrastructure.csproj`
at line 20, The project has mixed Serilog major versions:
Serilog.Extensions.Hosting and Serilog.Extensions.Logging are at 10.0.0 while
Serilog.AspNetCore is at 9.0.0; pick a single major line and make them
consistent across projects (e.g., update Serilog.AspNetCore to 10.0.0 or
downgrade the .Extensions packages to 9.x) by editing the package references for
Serilog.Extensions.Hosting, Serilog.Extensions.Logging, and Serilog.AspNetCore
(and any other Serilog packages) so all use the same major version, then restore
and run the solution to verify compatibility.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/package.json`:
- Around line 34-35: Move the two packages "eslint" and "eslint-config-next" out
of the package.json "dependencies" section and add them under "devDependencies"
instead; update the package.json so those entries are removed from dependencies
and placed in devDependencies (keeping the same versions) since they are only
used for development (see eslint.config.mjs) and not needed at runtime.
- Around line 62-63: The package.json currently pins "typescript": "^6.0.2"
which is unsupported by Next.js 16.2.1; either change the dependency to a
supported 5.x range (e.g., "typescript": "^5.2.0" or similar) so the project
uses an officially supported TypeScript version, or add clear documentation
(such as in README or docs) calling out the deliberate use of TS 6.0 with the
rationale and risks and removing/adjusting the "ignoreDeprecations": "6.0"
workaround; update the package.json "typescript" entry and any CI/tooling
configs that validate TypeScript version, or add the documentation file/section
that explicitly records this accepted risk.
- Line 37: The icon-only preview button inside the DraggableTransactionCard
component (the button with onClick that calls onPreview and contains
<SparklesIcon />) must include an explicit aria-label to remain accessible with
lucide-react v1; add aria-label={t('previewAiDescription')} to that button (in
addition to or instead of the title attribute) so screen readers announce the
button purpose.

---

Nitpick comments:
In `@src/Infrastructure/MyMascada.Infrastructure/MyMascada.Infrastructure.csproj`:
- Line 20: The project has mixed Serilog major versions:
Serilog.Extensions.Hosting and Serilog.Extensions.Logging are at 10.0.0 while
Serilog.AspNetCore is at 9.0.0; pick a single major line and make them
consistent across projects (e.g., update Serilog.AspNetCore to 10.0.0 or
downgrade the .Extensions packages to 9.x) by editing the package references for
Serilog.Extensions.Hosting, Serilog.Extensions.Logging, and Serilog.AspNetCore
(and any other Serilog packages) so all use the same major version, then restore
and run the solution to verify compatibility.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0abd9585-4476-4547-9254-aa2a0971fff3

📥 Commits

Reviewing files that changed from the base of the PR and between 0130808 and e8bcba6.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (7)
  • frontend/package.json
  • frontend/tsconfig.json
  • frontend/tsconfig.tsbuildinfo
  • src/Core/MyMascada.Application/MyMascada.Application.csproj
  • src/Infrastructure/MyMascada.Infrastructure/MyMascada.Infrastructure.csproj
  • src/WebAPI/MyMascada.WebAPI/MyMascada.WebAPI.csproj
  • tests/MyMascada.Tests.Unit/MyMascada.Tests.Unit.csproj

Comment thread frontend/package.json Outdated
Comment thread frontend/package.json
Comment thread frontend/package.json Outdated
@digaomatias
Copy link
Copy Markdown
Owner Author

🤖 Review Verdict: CHANGES_REQUESTED (self-review — cannot formally request changes on own PR)

🔴 Build artifact committed

frontend/tsconfig.tsbuildinfo — This is a TypeScript incremental build cache file and should not be committed. Add it to .gitignore and remove it from this PR.

🟡 Observations (non-blocking but worth noting)

  1. eslint 10 → 9 downgrade — Intentional? Presumably eslint-config-next@16.2.1 doesn't support eslint 10 yet. If so, makes sense, but worth a comment in the PR description.

  2. TypeScript 5.8 → 6.0 (major) — CodeRabbit flagged that Next.js 16.2.1 doesn't officially support TS 6.0. The ignoreDeprecations: "6.0" in tsconfig.json is the correct workaround. SWC/Turbopack handles compilation so this likely works fine in practice, but it's an unsupported combo. Acceptable risk if CI passes.

  3. lucide-react 0.x → 1.0.1 (major) — v1 removes brand icons (Github, Figma, etc.) and defaults aria-hidden=true. CodeRabbit flagged an icon-only button in draggable-transaction-card.tsx that may need aria-label. Worth a quick grep to confirm no removed icons are in use.

  4. eslint + eslint-config-next in dependencies instead of devDependencies — These are dev-only tools. Not a blocker for this PR since they were already there before, but a good follow-up.

  5. Backend bumps look clean — EF Core, Npgsql, Serilog, Sentry, SemanticKernel all standard minor/patch bumps. Serilog.Extensions.Hosting 9→10 is a major but typically non-breaking for this package.

Verdict

Remove the tsconfig.tsbuildinfo file (build artifact) and it's good to merge. Everything else is fine or pre-existing.

@digaomatias
Copy link
Copy Markdown
Owner Author

Fixed review feedback:

  1. Removed frontend/tsconfig.tsbuildinfo — build artifact deleted and *.tsbuildinfo added to .gitignore
  2. Moved eslint + eslint-config-next to devDependencies — these are dev-only linting tools, not runtime deps
  3. Added aria-label to SparklesIcon button (draggable-transaction-card.tsx) — lucide-react v1 defaults aria-hidden=true, so icon-only buttons need explicit labels for accessibility

Skipped (intentionally not changed):

  • Serilog version alignment (nitpick) — Serilog.AspNetCore 9.x vs Serilog.Extensions.Hosting 10.x: these are compatible as they share the same core Serilog dependency. Can align in a follow-up if desired.
  • TypeScript 6.0 + Next.js 16.2.1 — accepted risk, CI passes, ignoreDeprecations set correctly.

@digaomatias
Copy link
Copy Markdown
Owner Author

/fix we have conflicts here to fix.

@digaomatias
Copy link
Copy Markdown
Owner Author

Fixed: Resolved merge conflicts with main.

Conflict resolution strategy — took the highest version of each package:

  • Application.csproj: kept our Logging.Abstractions 10.0.5 + SemanticKernel 1.74.0, added main's Riok.Mapperly 4.3.1
  • Infrastructure.csproj: took main's Identity.EFCore 10.0.5, Scriban 7.0.3, Sinks.Console 6.1.1; kept our Serilog.Extensions.Hosting 10.0.0
  • WebAPI.csproj: kept our Npgsql 10.0.1 + Sentry 6.2.0; took main's Serilog.AspNetCore 10.0.0
  • package.json: kept eslint in devDependencies (our fix), resolved overlapping eslint entries from main
  • package-lock.json: regenerated from resolved package.json
  • tsconfig.tsbuildinfo: kept deleted (our fix)

Build verified: 0 errors ✅

@digaomatias
Copy link
Copy Markdown
Owner Author

CI fix: Downgraded TypeScript 6.0.2 → 5.9.3

Root cause: npm install on CI (without --legacy-peer-deps) fails because next-intl@4.8.3 requires typescript@^5.0.0 and @typescript-eslint/*@8.57.1 requires typescript@>=4.8.4 <6.0.0. TS 6.0 is outside both ranges.

Fix:

  • Reverted typescript to ^5.9.3 (latest 5.x) in devDependencies
  • Removed ignoreDeprecations: "6.0" from tsconfig.json (only needed for TS 6.0)
  • Regenerated package-lock.json (clean install, no peer dep warnings)

@digaomatias
Copy link
Copy Markdown
Owner Author

🤖 Review Verdict: APPROVE (cycle 3 — self-review, cannot formally approve)

All previous feedback addressed and CI failure resolved:

  • tsconfig.tsbuildinfo removed + gitignored
  • ✅ eslint moved to devDependencies
  • ✅ TypeScript 6.0 → 5.9.3 (fixes next-intl + typescript-eslint peer dep conflicts on CI)
  • aria-label added for lucide-react v1 accessibility
  • ✅ Backend bumps clean (EF Core, Npgsql, Serilog, Sentry, SemanticKernel)
  • ✅ No build artifacts or unrelated changes

Ready to merge once CI passes. ✅

@digaomatias digaomatias merged commit 8f98e93 into main Mar 30, 2026
6 checks passed
digaomatias pushed a commit that referenced this pull request Apr 2, 2026
Backend (NuGet):
- xunit 2.6.2/2.4.2 → 2.9.3 (#278)
- System.IdentityModel.Tokens.Jwt 8.3.0 → 8.17.0 (#277)
- Swashbuckle.AspNetCore 10.1.0 → 10.1.7 (#276)
- Stripe.net 50.4.0 → 51.0.0 (#275)
- Serilog.Sinks.Async 2.0.0 → 2.1.0 (#274)
- Sentry.AspNetCore 6.2.0 → 6.3.0 (#273)
- Scriban 7.0.3 → 7.0.6 (#272)
- Npgsql 9.0.4 → 10.0.2 (#271)

Frontend (npm):
- recharts 3.8.0 → 3.8.1 (#270)
- @sentry/nextjs 10.43.0 → 10.46.0 (#269)
- typescript 5.9.3 → 6.0.2 (#204)

Already incorporated in prior consolidation (#265):
- Npgsql.EntityFrameworkCore.PostgreSQL 10.0.0 → 10.0.1 (#212)
- Microsoft.Extensions.Logging.Abstractions 10.0.3 → 10.0.5 (#210)
- vitest 4.1.0 → 4.1.1 (#206)
- eslint-config-next 16.2.0 → 16.2.1 (#202)

Excluded (incompatible):
- eslint 9.39.4 → 10.1.0 (#205): eslint-plugin-react in
  eslint-config-next uses APIs removed in ESLint 10

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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