Repository navigation
Долг: мажоры, ждущие upstream — vitest 5, TypeScript 7, Node 26 (+@types/node), @mux/mux-node → @mux/ts #289
Copy link
Copy link
Open
Labels
by:agent-claudeIssue завёл рабочий агентIssue завёл рабочий агентdomain:webNext.js: страницы, UI, серверные экшены, API-роутыNext.js: страницы, UI, серверные экшены, API-роутыp3Когда дойдут рукиКогда дойдут рукиtype:debtТехдолг, рефакторинг, чисткаТехдолг, рефакторинг, чистка
Description
Остаток #157 (мажоры из недельной группы Dependabot #150/#218), вынесенный отдельно, чтобы #157 закрылся вместе с @mux/mux-node 15. Всё ниже упирается во внешнее условие — пока его нет, делать нечего; каждый пункт — отдельный PR, когда сигнал загорится.
Проверено 2026-09-25.
1. vitest 5 (+ @vitest/coverage-v8 5, @vitest/browser-playwright 5)
- Сейчас: vitest 4.1.11; последний — 5.0.2.
- Блокер:
@storybook/addon-vitest@10.6.0объявляет peervitest ^3 || ^4,@vitest/browser-playwright ^4. На vitest 5 плагин Storybook не выставляет viewport историям — все голдены Lab приходят шириной 414 px вместо 960 (разбор — Dependabot #218: мажоры vitest 5 / coverage-v8 5 / @types/node 26 сломали голдены — разделить группу, минорные влить #220 и комментарий «Часть 4» в Долг: мажорные обновления — TypeScript 7, ESLint 10, @types/node 26, @mux/mux-node 15 #157). - Сигнал разблокировки: релиз
@storybook/addon-vitestс peervitest ^5:
npm view @storybook/addon-vitest@latest peerDependencies.vitest - Когда загорится: одним PR тройка vitest + addon-vitest;
pnpm test:coverage; breaking changes 5.0 на unit-проекте (clear mocks by default #10613, pretty-format в диффах #9609, coverage globs #9818 — может сдвинуть рэтчет); голдены обновлять только при той же раскладке (ширина снова 414 — стоп). Снятьvitestи@vitest/*изignoreв.github/dependabot.yml.
2. TypeScript 7
- Сейчас: 6.0.3 (последний JS-релиз); последний — 7.0.2.
- Блокер: TS 7 не экспортирует JS compiler API;
typescript-eslint(подeslint-config-next) падает при загрузке.typescript-eslint@8.70.1объявляет peertypescript >=4.8.4 <6.1.0. - Сигнал разблокировки: peer
typescript-eslintдопускает>=7(ожидается после стабилизации API в TS 7.1):
npm view typescript-eslint@latest peerDependencies.typescript - Когда загорится: бамп
typescript,pnpm lint+pnpm typecheck; снятьtypescriptизignore; закрыть строку вdocs/registry.md(«TypeScript stays on 6.0.3»). Мобильныйtypescriptне трогать — он ходит с Expo SDK.
3. Node 26 + @types/node 26 + .nvmrc 26
- Сейчас: рантайм Vercel — 24.x на обоих проектах (
matio,matio-staging,vercel project inspect),.nvmrc= 24 (его читают все workflow),@types/node^24.13.6 (последний 24.x).@types/node26 не взят в Долг: мажорные обновления — TypeScript 7, ESLint 10, @types/node 26, @mux/mux-node 15 #157 намеренно: типы описывают рантайм, 26-е типы пустили бы в код API, которых нет на Node 24 в проде. - Блокер: Node 26 — ещё «Current»; Active LTS по расписанию nodejs/Release — 2026-10-28. Целевая среда Vercel — LTS.
- Сигнал разблокировки: Node 26 стал LTS и Vercel предлагает
26.xв настройках проекта (Project Settings → Build and Deployment → Node.js Version). - Когда загорится: одним PR и одним окном — переключить Node.js Version на обоих проектах Vercel (действие в панели, владелец/основная сессия),
.nvmrc→ 26,@types/node→ ^26, снять@types/nodeизignore; прогнать стенд до релиза.
4. @mux/mux-node → @mux/ts
- Сейчас:
@mux/mux-node15.3.0 (после Долг: мажорные обновления — TypeScript 7, ESLint 10, @types/node 26, @mux/mux-node 15 #157). С v15 SDK переименован в@mux/ts;@mux/mux-nodeпубликуется тем же артефактом той же версии только для v15 (MIGRATION.md muxinc/mux-ts: «the alias is expected to stop after v15»). - Риск: после выхода v16 Dependabot под старым именем ничего не предложит — обновления Mux SDK молча прекратятся.
- Сигнал разблокировки: первый релиз
@mux/ts16.x (npm view @mux/ts@latest version) — или раньше, по решению владельца (это смена имени пакета вpackage.json, формально «новая зависимость»). - Когда загорится:
@mux/mux-node→@mux/tsвpackage.json, импорты вlib/mux.tsиscripts/backfill-mux-policy.ts, доки (docs/services.md,docs/gotchas.md→ «Mux SDK 14+»); если это сразу v16 — прочитать его changelog и повторить проверку Долг: мажорные обновления — TypeScript 7, ESLint 10, @types/node 26, @mux/mux-node 15 #157 (тест подписи вебхукаapp/api/webhooks/mux/signature.test.ts+ одна тестовая загрузка по «ок» владельца).
GDPR: не применимо (зависимости, данных не трогает).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
by:agent-claudeIssue завёл рабочий агентIssue завёл рабочий агентdomain:webNext.js: страницы, UI, серверные экшены, API-роутыNext.js: страницы, UI, серверные экшены, API-роутыp3Когда дойдут рукиКогда дойдут рукиtype:debtТехдолг, рефакторинг, чисткаТехдолг, рефакторинг, чистка
Activity
chore(deps): @mux/mux-node 15, @types/node остаётся на 24 под рантайм…
efymd9 commentedon Oct 9, 2026
Пункт 1 (vitest 5) — сделан в PR #430 (Closes #424): vitest,
@vitest/coverage-v8и@vitest/browser-playwright→ 5.0.3 под@storybook/addon-vitest10.6.1 (peervitest ^5),vitest/@vitest/*сняты изignoreв.github/dependabot.yml, строка реестра «vitest stays on 4» закрыта. Голдены Lab на vitest 5 снимаются 1:1 в viewport 1200 px (не 414 — плагин viewport выставляет); разбор и проверка ширины — в теле PR. Остаются пункты 2–4 (TypeScript 7, Node 26,@mux/ts).chore: vitest 5 — ядро, coverage-v8 и browser-playwright 5.0.3 под ad…
efymd9 commentedon Oct 9, 2026
Новый факт к пункту @mux/mux-node → @mux/ts (найден при #434 / PR #437): muxinc/mux-ts в 15.6.0 перестал публиковать алиас — 15.5.0 последний релиз
@mux/mux-node, пакет помечен deprecated на npm (коммит muxinc/mux-ts@8a8af54, MIGRATION.md: «@mux/mux-nodereceived the same artifact at the same version through 15.5.0, which is its final release… Rename the dependency to@mux/tsto keep receiving releases»). То есть обновления SDK встали уже на 15.5.0, а не «после v15»:@mux/ts15.6.x уже вышел (Robotstrack_name), до нас он не дойдёт. Строкуdocs/registry.md(«at the latest when @mux/ts 16.x appears») иdocs/gotchas.md(«no @mux/mux-node 16») стоит поправить вместе с переименованием — в #437 не трогал (реестр — горячая точка, переименование ждёт «да» владельца).