⬆️(dependencies) upgrade Next.js 15 to 16, upgrade python dependencies#338
⬆️(dependencies) upgrade Next.js 15 to 16, upgrade python dependencies#338
Conversation
WalkthroughUpgrade frontend stack (Next.js 15 → 16, React → 19.2.4), move SVG and micromark aliasing from custom Webpack to Turbopack, adjust TypeScript JSX mode, remove obsolete deps and types, and bump several backend Python dependency pins. Changes
Sequence Diagram(s)(omitted) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
src/frontend/apps/conversations/package.json (2)
81-81: Consider pinning TypeScript version explicitly.Using
"typescript": "*"relies entirely on the workspace resolution (5.8.3from rootpackage.json). While this works due to Yarn workspaces, it's less explicit and could cause confusion if someone installs dependencies in this package directly.♻️ Suggested change
- "typescript": "*" + "typescript": "5.8.3"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/frontend/apps/conversations/package.json` at line 81, The dependency entry '"typescript": "*"' is too loose—replace it with an explicit version or a workspace-aware spec to avoid ambiguity; update the package.json dependency for TypeScript (the line with "typescript": "*") to either the concrete version used in the workspace (e.g., "5.8.3") or a workspace protocol like "workspace:^5.8.3" so this package resolves deterministically when installed directly.
83-86: Redundant resolutions block.These resolutions duplicate what's already defined in the root
src/frontend/package.json(lines 30-31). Yarn workspaces will use the root resolutions, making this block unnecessary.♻️ Consider removing duplicate resolutions
- }, - "resolutions": { - "@types/react": "19.2.14", - "@types/react-dom": "19.2.3" } }If kept for explicitness, ensure versions stay synchronized with the root
package.json.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/frontend/apps/conversations/package.json` around lines 83 - 86, The package's redundant "resolutions" block duplicates versions already set in the monorepo root and should be removed from src/frontend/apps/conversations/package.json; locate the "resolutions" object (containing "@types/react" and "@types/react-dom") and delete it, or if you must keep it for clarity, update its entries to exactly match the root package.json versions and add a comment explaining why it's duplicated to avoid drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@src/frontend/apps/conversations/package.json`:
- Line 81: The dependency entry '"typescript": "*"' is too loose—replace it with
an explicit version or a workspace-aware spec to avoid ambiguity; update the
package.json dependency for TypeScript (the line with "typescript": "*") to
either the concrete version used in the workspace (e.g., "5.8.3") or a workspace
protocol like "workspace:^5.8.3" so this package resolves deterministically when
installed directly.
- Around line 83-86: The package's redundant "resolutions" block duplicates
versions already set in the monorepo root and should be removed from
src/frontend/apps/conversations/package.json; locate the "resolutions" object
(containing "@types/react" and "@types/react-dom") and delete it, or if you must
keep it for clarity, update its entries to exactly match the root package.json
versions and add a comment explaining why it's duplicated to avoid drift.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 733dd27c-458a-4679-bb9d-14d40a77281b
⛔ Files ignored due to path filters (1)
src/frontend/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (8)
CHANGELOG.mdsrc/frontend/apps/conversations/next-env.d.tssrc/frontend/apps/conversations/next.config.jssrc/frontend/apps/conversations/package.jsonsrc/frontend/apps/conversations/tsconfig.jsonsrc/frontend/apps/e2e/package.jsonsrc/frontend/apps/e2e/type/convert-stream.d.tssrc/frontend/package.json
💤 Files with no reviewable changes (1)
- src/frontend/apps/e2e/type/convert-stream.d.ts
80df2dc to
cd64eaa
Compare
cd64eaa to
2e73cff
Compare
2e73cff to
8b33512
Compare
Signed-off-by: Laurent Paoletti <lp@providenz.fr>
8b33512 to
9e37f71
Compare
|



Purpose
Fix depencies security issues
cf #339
Proposal
Upgrade Next.js from 15 to 16 (thanks to @next/codemod@canary) and update Python dependencies.
Frontend
next.config.js migrated from webpack to turbopack
micromark-extension-mathaliasturbopack.rules(SVG via@svgr/webpack) andturbopack.resolveAliasworkbox-webpack-pluginandwebpackdev dependenciestsconfig.json
jsxchanged from"preserve"to"react-jsx"(expected by turbopack)Cleanup
convert-stream,pdf-parse,@types/pdf-parse)src/frontend/apps/e2e/type/convert-stream.d.tscross-env,node-fetch,sassdev dependenciescf. #339
Notes about turbopack (according to turbopack)
Turbopack is now the default bundler in Next.js 16
faster dev server startup (written in rust)
Faster HMR
Lower memory usage
Simpler config
Removed dev dependencies
Production builds still use the same ouput format
Existing loaders still work (Turbopack has a webpack compatibility layer)
No impact on runtime behavior or app performance - the gains are purely in build speed and DX
Backend (Python)
Summary by CodeRabbit
Changed
Chores
Tests