Как локализовать Module not found после обновления Next.js, если path aliases исчезают только в сборке --webpack: контроль lockfile, bundler, TypeScript CLI и value import без массовой правки импортов.
Зафиксируйте ошибку и фактические версии
Сохраните первую строку Module not found, один неразрешённый alias, версию Next.js, Node, package manager и пакет, в который реально разрешается typescript по lockfile. Не публикуйте закрытые имена модулей; воспроизведите на нейтральном alias и небольшом value import в отдельной ветке или копии. Отметьте точную команду build и наличие флага --webpack. Ошибка type checker и ошибка bundler resolution могут выглядеть рядом, но относятся к разным этапам. Не меняйте tsconfig, package alias и bundler одновременно: сначала нужен снимок исходной комбинации.
Сравните два bundler на одной копии
Документация Next.js указывает, что Turbopack является bundler по умолчанию, а --webpack явно выбирает Webpack. Запустите одну и ту же минимальную сборку с текущей командой и с альтернативным bundler, если проект не использует несовместимые настройки. Сравните только статус resolution данного alias и первую ошибку; успешная альтернативная сборка не является основанием менять production pipeline. Если обе сборки падают одинаково, bundler не разделяет симптом. Если ошибка остаётся только с --webpack, это полезная граница для issue, но не доказательство причины внутри Webpack.
Проверьте TypeScript CLI как отдельную переменную
Официальная страница TypeScript для Next.js объясняет, что TypeScript 7 пока не предоставляет JavaScript compiler API и для него предусмотрена настройка experimental.useTypeScriptCli. Запишите, используется ли обычный пакет typescript или alias на будущую ветку, и какое значение CLI-настройки фактически действует. Не переключайте production-зависимость ради теста; соберите маленькую копию lockfile и проверьте одну комбинацию по внутренней политике проекта. Различие между type-only и value import тоже фиксируйте отдельно: удаляемый тип не проходит тот же путь bundler resolution, что исполняемый импорт.
Остановитесь до массовой переписи алиасов
Не заменяйте все aliases относительными путями и не добавляйте custom webpack config, пока минимальная матрица не показывает нужный слой. В пакет для Next.js включите укороченный tsconfig с одним paths, package manifest без токенов registry, lockfile-фрагмент версии, две команды build и результаты bundler × TypeScript. Закрытые названия пакетов и внутренние пути замените нейтральными. Если временная сборка возможна только на другой версии, оформите это как подтверждённый контроль в отдельной ветке, а не как универсальный rollback. Issue свежий и может быть переоценён разработчиками, поэтому сохраняйте точную комбинацию.
Материал подготовлен редакцией VOne с применением ИИ для build-матрицы; роли TypeScript CLI и --webpack сверены по Next.js Docs, конкретная комбинация issue не обобщена.
Источники и проверка
- Next.js Docs — TypeScript проверено 2026-08-10
- Next.js Docs — Turbopack проверено 2026-08-10
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.