Failed dependency update
Package: typescript
From: 6.0.3 → To: 7.0.2
Error
Step 1 (pnpm update-outdated-deps, sub-step update-outdated-deps:fix-pkg-json) failed, and pnpm lint fails the same way. ESLint cannot even load its flat config:
Oops! Something went wrong! :(
ESLint: 9.39.2
TypeError: Cannot read properties of undefined (reading 'Cjs')
at node_modules/.pnpm/@typescript-eslint+typescript-estree@8.54.0_typescript@7.0.2/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js:59:14
at .../@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js:45:18
at .../typescript-eslint/dist/index.js:7:41
at eslint.config.ts:1:218
Root cause
TypeScript 7 removed/renamed the ts.ModuleKind.Cjs enum member that @typescript-eslint/typescript-estree reads at module load time.
The repository intentionally excludes typescript-eslint from automated updates (update-outdated-deps:update-versions runs pnpm update -r --latest !eslint !@eslint/js !typescript-eslint !useless-lib), so it stays pinned at 8.54.0, which is not TypeScript 7 aware.
Additionally, @workleap/eslint-configs@2.0.4 declares "typescript": "^6.0.3" as a peer dependency, so TypeScript 7 is out of range for the shared config chain regardless of the typescript-eslint pin.
What was tried
- Ran the update, which bumped
typescript to 7.0.2 in all 35 workspace package.json files.
- Confirmed the failure is a load-time crash inside
@typescript-eslint/typescript-estree, not a lint rule violation, so no source migration can resolve it.
- Bumping
typescript-eslint was not an option: it is on the update exclusion list, and @workleap/eslint-configs peer-requires typescript@^6.
- Reverted
typescript to 6.0.3 across all workspace packages; the remaining updates then validated successfully.
Unblocking this
TypeScript 7 likely needs to wait for @workleap/eslint-configs to widen its typescript peer range and for the pinned typescript-eslint version to gain TypeScript 7 support. Note that pnpm typecheck already runs tsgo (@typescript/native-preview), so type checking is unaffected by this pin — only the ESLint chain is.
Workflow run
https://github.com/workleap/wl-squide/actions/runs/30370554419
Failed dependency update
Package:
typescriptFrom:
6.0.3→ To:7.0.2Error
Step 1 (
pnpm update-outdated-deps, sub-stepupdate-outdated-deps:fix-pkg-json) failed, andpnpm lintfails the same way. ESLint cannot even load its flat config:Root cause
TypeScript 7 removed/renamed the
ts.ModuleKind.Cjsenum member that@typescript-eslint/typescript-estreereads at module load time.The repository intentionally excludes
typescript-eslintfrom automated updates (update-outdated-deps:update-versionsrunspnpm update -r --latest !eslint !@eslint/js !typescript-eslint !useless-lib), so it stays pinned at8.54.0, which is not TypeScript 7 aware.Additionally,
@workleap/eslint-configs@2.0.4declares"typescript": "^6.0.3"as a peer dependency, so TypeScript 7 is out of range for the shared config chain regardless of thetypescript-eslintpin.What was tried
typescriptto7.0.2in all 35 workspacepackage.jsonfiles.@typescript-eslint/typescript-estree, not a lint rule violation, so no source migration can resolve it.typescript-eslintwas not an option: it is on the update exclusion list, and@workleap/eslint-configspeer-requirestypescript@^6.typescriptto6.0.3across all workspace packages; the remaining updates then validated successfully.Unblocking this
TypeScript 7 likely needs to wait for
@workleap/eslint-configsto widen itstypescriptpeer range and for the pinnedtypescript-eslintversion to gain TypeScript 7 support. Note thatpnpm typecheckalready runstsgo(@typescript/native-preview), so type checking is unaffected by this pin — only the ESLint chain is.Workflow run
https://github.com/workleap/wl-squide/actions/runs/30370554419