Дотянули до последнего: 14-я ветка осталась без секьюрити-патчей, надо прыгать на 16. Пугает не React 19.2, а сборка: в 16-м Turbopack по умолчанию и для dev, и для build, а у нас в next.config живёт кастомный webpack-кусок — svgr, плагин Sentry, воркер-лоадер и пачка алиасов.
Вопросы к переехавшим:
1) svgr и веб-воркеры на turbopack-правилах — работает или костыли?
2) насколько стабильны прод-билды? Проект ~120 страниц, App Router наполовину, остальное ещё Pages.
3) middleware переименовали в proxy — codemod это сам разруливает или руками?
Важная вводная: хостимся сами на VPS в Timeweb, standalone-вывод, докер. Vercel-специфичные советы не подойдут.
Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
Рейтинг: 34.2% · 2 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- sleepypanic
- Сообщения: 71
- Зарегистрирован: 11 май 2026, 01:26
✔ Лучший ответ сформирован автоматически — Kireeich
@RedisNinja, Переезжали в феврале примерно с такого же стека, делюсь чеклистом. Главное — не прыгайте 14 → 16 одним коммитом. Сначала 15.5: там включены деприкейшен-варнинги под 16, и вы спокойно вычистите всё по списку, пока проект работает. Потом npx @next/codemod@canary upgrade latest — он переименует middleware в proxy, поправит импорты и подскажет, что не смог сам. У нас руками пришлось трог…
- RedisNinja
- Сообщения: 61
- Зарегистрирован: 15 май 2026, 01:22
Re: Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
По пунктам: svgr заводится через turbopack.rules с тем же @svgr/webpack в роли лоадера, пять строк конфига. Воркеры вообще выкиньте из конфига — new Worker(new URL('./worker.ts', import.meta.url)) поддерживается из коробки. Алиасы — resolveAlias. Дольше всего у нас прожил Sentry: обновляйтесь сразу на 10-ю мажорку @sentry/nextjs, там нормальная поддержка turbopack-билдов с сорсмапами, на девятой были танцы.
Re: Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
✔ Лучший ответ — сформирован автоматически
@RedisNinja, Переезжали в феврале примерно с такого же стека, делюсь чеклистом.
Главное — не прыгайте 14 → 16 одним коммитом. Сначала 15.5: там включены деприкейшен-варнинги под 16, и вы спокойно вычистите всё по списку, пока проект работает. Потом npx @next/codemod@canary upgrade latest — он переименует middleware в proxy, поправит импорты и подскажет, что не смог сам. У нас руками пришлось трогать только edge-логику с гео-заголовками.
Дальше по мелочи: next lint выпилили совсем — переходите на eslint напрямую или сразу на biome, конфиг переносится за вечер. runtime config мёртв окончательно, всё в env. Для standalone в докере проверьте, что output file tracing захватил нативные биндинги sharp — у нас на alpine-образе картинки молча отвалились.
И самое важное для самохостинга: ISR-кэш вынесите в кастомный cacheHandler на Redis. Если крутите больше одного инстанса, без этого кэш страниц разъезжается между подами, и пользователи видят разные версии.
По срокам: 90 страниц, три чистых дня на переезд плюс два на отлов ошибок гидрации после React 19.2. Награда: холодный старт dev-сервера 24 сек → 3, HMR практически мгновенный. Команда фронтов простила всё.
Главное — не прыгайте 14 → 16 одним коммитом. Сначала 15.5: там включены деприкейшен-варнинги под 16, и вы спокойно вычистите всё по списку, пока проект работает. Потом npx @next/codemod@canary upgrade latest — он переименует middleware в proxy, поправит импорты и подскажет, что не смог сам. У нас руками пришлось трогать только edge-логику с гео-заголовками.
Дальше по мелочи: next lint выпилили совсем — переходите на eslint напрямую или сразу на biome, конфиг переносится за вечер. runtime config мёртв окончательно, всё в env. Для standalone в докере проверьте, что output file tracing захватил нативные биндинги sharp — у нас на alpine-образе картинки молча отвалились.
И самое важное для самохостинга: ISR-кэш вынесите в кастомный cacheHandler на Redis. Если крутите больше одного инстанса, без этого кэш страниц разъезжается между подами, и пользователи видят разные версии.
По срокам: 90 страниц, три чистых дня на переезд плюс два на отлов ошибок гидрации после React 19.2. Награда: холодный старт dev-сервера 24 сек → 3, HMR практически мгновенный. Команда фронтов простила всё.
Re: Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
Внесу дёгтя: прод-билды на turbopack нам не зашли. На гитлаб-раннере с 8 гигами стабильно ловили OOM на версии 16.0, билд жрал память как не в себя на этапе оптимизации чанков. Откатились флагом next build --webpack и живём спокойно. Говорят, на 16.1 поправили, но осадочек остался — дефолтом в мажорной версии такое выкатывать рановато было.
- TerraformSmith
- Сообщения: 9
- Зарегистрирован: 17 май 2026, 06:39
Re: Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
@sleepypanic, Подтверждаю, что поправили: на 16.1.4 полёт нормальный, утечку на больших проектах закрыли где-то в 16.1.1. Заодно включите экспериментальный файловый кэш turbopack — у нас повторный прод-билд на CI упал с 11 минут до 4. И учтите: флаг --webpack уже помечен deprecated, в 17-м обещают выпилить. Отсидеться на старом сборщике не получится, так что лучше переезжать сейчас, пока спокойно.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Текущий работодатель сделал контроффер +40%, уже хотел уходить — а теперь думаю
19 ответов · 6599 просмотров
-
- Cursor опять переписал тарифы — теперь лимит 1 запрос в минуту, это вообще законно?
21 ответов · 848 просмотров
-
-
-
- Сделал MVP за 3 недели с Cursor + Claude — стоит ли вообще нанимать разработчиков теперь?
9 ответов · 21 просмотров
-
- Переехали с AWS на Hetzner — сэкономили 85%, но теперь жалеем о нескольких вещах
9 ответов · 21 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 2 гостя