build(renderer): upgrade next to latest stable#207
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ebf708aaf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| defaultProps: { | ||
| ...StyledInput.defaultProps, | ||
| as: 'textarea', |
There was a problem hiding this comment.
Replace function defaultProps after React 19 upgrade
With the React 19 upgrade, React no longer applies defaultProps to function components (upgrade guide). Textarea is a styled function wrapper, so these defaults are ignored: the project reply form's <Textarea rows={6} /> no longer receives as: 'textarea' and renders as a single-line input. Move these defaults into props or the styled wrapper instead of relying on .defaultProps.
Useful? React with 👍 / 👎.
| "express": "^4.17.1", | ||
| "graphql": "^16.3.0", | ||
| "next": "12.1.0", | ||
| "next": "16.2.9", |
There was a problem hiding this comment.
Force webpack for renderer dev under Next 16
In the renderer dev path, this upgrade makes Next 16 use Turbopack by default; the Next 16 notes say apps with custom webpack setups should run next dev --webpack/next build --webpack. This repo still relies on the NormalModuleReplacementPlugin in next.config.js to resolve local .js imports to TS sources (for example src/pages/_app.tsx imports ../providers/index.js, while only index.ts exists), but the bundled renderer dev command still invokes next dev src without --webpack, so local development fails resolving those imports after this version bump.
Useful? React with 👍 / 👎.
| "react": "19.2.7" | ||
| }, | ||
| "devDependencies": { | ||
| "@ui/icons": "0.1.1", |
There was a problem hiding this comment.
Upgrade rc-select for React 19
After this package starts providing React 19, keeping rc-select@9.2.2 leaves every <Select> on the old rc-trigger/rc-animate stack (see yarn.lock, where rc-select pulls rc-trigger@2.6.5); that stack relies on ReactDOM.findDOMNode, which React 19 removed. Opening the project reply or worksheet select dropdowns under React 19 can therefore throw findDOMNode is not a function instead of showing options, so the select dependency chain needs a React-19-compatible version before bumping React here.
Useful? React with 👍 / 👎.
Таска
Как проверять
Основной сценарий
yarn 1.1.92-atls.Действие: выполнить штатные Raijin-команды
yarn workspace @site/renderer-entrypoint renderer build,yarn workspace @identity/renderer-entrypoint renderer build,yarn workspace @email/renderer-entrypoint renderer build.Ожидаемый результат: все три renderer build завершаются успешно, допускаются предупреждения совместимости старого кода.
Дополнительный сценарий
Действие: выполнить
yarn install --immutable.Ожидаемый результат: установка завершается успешно без изменения lock/PnP-файлов, допускаются существующие peer warnings legacy stack.
Пруфы
yarn --versionraw requestmise exec node@24 -- yarn --versionyarn --versionraw responseyarn install --immutableraw requestmise exec node@24 -- yarn install --immutableyarn install --immutableraw response➤ YN0000: · Yarn 1.1.92-atls ➤ YN0000: · Done with warnings in 3s 375msyarn workspace @site/renderer-entrypoint renderer buildraw requestmise exec node@24 -- yarn workspace @site/renderer-entrypoint renderer buildyarn workspace @site/renderer-entrypoint renderer buildraw response➤ YN0000: │ ▲ Next.js 16.2.9 (webpack) ➤ YN0000: │ Route (pages) ➤ YN0000: │ ┌ ƒ / ➤ YN0000: │ ├ /_app ➤ YN0000: │ ├ ƒ /404 ➤ YN0000: │ ├ ƒ /projects ➤ YN0000: │ ├ ƒ /projects/[id] ➤ YN0000: │ ├ ƒ /specialists ➤ YN0000: │ └ ƒ /specialists/[id] ➤ YN0000: Done in 1m 19syarn workspace @identity/renderer-entrypoint renderer buildraw requestmise exec node@24 -- yarn workspace @identity/renderer-entrypoint renderer buildyarn workspace @identity/renderer-entrypoint renderer buildraw response➤ YN0000: │ ▲ Next.js 16.2.9 (webpack) ➤ YN0000: │ Route (pages) ➤ YN0000: │ ┌ ƒ / ➤ YN0000: │ ├ /_app ➤ YN0000: │ ├ ƒ /auth/login ➤ YN0000: │ ├ ƒ /auth/registration ➤ YN0000: │ ├ ƒ /auth/settings ➤ YN0000: │ └ ƒ /profile/settings ➤ YN0000: Done in 37s 83msyarn workspace @email/renderer-entrypoint renderer buildraw requestmise exec node@24 -- yarn workspace @email/renderer-entrypoint renderer buildyarn workspace @email/renderer-entrypoint renderer buildraw response➤ YN0000: │ ▲ Next.js 16.2.9 (webpack) ➤ YN0000: │ Route (pages) ➤ YN0000: │ ┌ /_app ➤ YN0000: │ ├ ƒ /404 ➤ YN0000: │ ├ ƒ /email-verification ➤ YN0000: │ └ ƒ /reset-password ➤ YN0000: Done in 43s 835ms