Skip to content

fix: закрепить @types/node совместимой версией#640

Merged
veged merged 1 commit into
masterfrom
pin-types-node
Jul 12, 2026
Merged

fix: закрепить @types/node совместимой версией#640
veged merged 1 commit into
masterfrom
pin-types-node

Conversation

@veged

@veged veged commented Jul 12, 2026

Copy link
Copy Markdown
Member

CI job unit красный на каждом прогоне с февраля 2026, включая master: шаг build падает в @bem-react/pack с парс-ошибками вида node_modules/@types/node/ffi.d.ts(94,21): error TS1139.

Причина. @types/node нигде не запинен и приходит транзитивно (в pack — через @types/fs-extra с диапазоном *). Корневой .npmrc содержит package-lock=false, поэтому вложенные лок-файлы игнорируются и ставится последний @types/node (сейчас 26.x). Его ffi.d.ts использует const type parameters — синтаксис TypeScript 5.0+, который typescript@4.9.4 проекта не парсит.

Что сделано. В packages/pack/package.json добавлен devDependency @types/node: 18.19.130 — последняя версия линейки 18.x (совпадает с Node 18 из CI). Эмпирически проверено с tsc 4.9.4: линейки 18.x и 20.x парсятся чисто, 22.x/24.x/26.x — ломаются. В корне @types/node уже стабильно резолвится в 20.5.1 (точный пин внутри @commitlint/load), поэтому корневой package.json не трогали.

Проверка. Локально на Node 18.20.2 (как в CI, setup-node@v3 с node-version 18): до фикса npm i && npm run build воспроизводит те же ошибки ffi.d.ts; после фикса npm run build — 5 пакетов собираются успешно, CI=true npm run unit — 6 suites, 75 тестов, все зелёные.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

PR фиксит падение сборки в CI/локально из‑за того, что @types/node приходил транзитивно в слишком новой версии (с синтаксисом, не парсящимся typescript@4.9.4). Решение — явно закрепить совместимую версию @types/node в пакете @bem-react/pack, где и возникает ошибка.

Changes:

  • Добавлен явный devDependency на @types/node@18.19.130 в packages/pack, чтобы исключить подтягивание несовестимых версий @types/node через транзитивные зависимости.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@veged veged merged commit dbb106f into master Jul 12, 2026
3 checks passed
@veged veged deleted the pin-types-node branch July 12, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants