Skip to content

chore(deps): Upgrade dependencies to their latest major versions - #214

Merged
bennycode merged 1 commit into
mainfrom
chore/upgrade-dependencies
Oct 1, 2026
Merged

bennycode merged 1 commit into
mainfrom
chore/upgrade-dependencies

Conversation

@bennycode

Copy link
Copy Markdown
Owner

Upgrades all dependencies to their latest versions, including these major updates:

  • @inquirer/prompts 7 → 8
  • ts-morph 27 → 28
  • typescript 5.9 → 6.0
  • eslint 8 → 10 and @tstv/eslint-config 3 → 4
  • vitest and @vitest/coverage-v8 3 → 5
  • @types/node 20 → 26

TypeScript stays on 6.0, not 7. TypeScript 7 is the native compiler, and its npm package no longer includes the JavaScript compiler API. typescript-eslint only supports TypeScript below 6.1, and ts-morph 28 bundles TypeScript 6.0 itself. TypeScript 7 can follow once the tooling supports it.

ESLint flat config. ESLint 10 dropped .eslintrc, so the config moves to eslint.config.mjs. Ignored paths use globalIgnores, because an ignores list next to files only applies to that one config object. The typescript-eslint override from #211 isn't needed anymore. @tstv/eslint-config 4 adds rules for block comments and sorted keys; the source files are autofixed for those, and nothing else changes in the code.

Node.js requirement. @inquirer/prompts 8 needs Node.js 20.17, 22.13 or 23.5+, so engines now says the same instead of >= 10.9. Users on older Node.js versions should treat this as a breaking change when it's released.

Smaller fixes that came up:

  • @inquirer/core is now a direct dependency. The CLI imports ExitPromptError from it but only got it indirectly through @inquirer/prompts.
  • Vitest only collects tests from src. Since Vitest 4, dist is no longer excluded by default, so the compiled tests ran a second time after a build.

Upgrades @inquirer/prompts 8, ts-morph 28, TypeScript 6, ESLint 10,
@tstv/eslint-config 4, Vitest 5 and @types/node 26, plus the latest
minor versions of the remaining packages.

TypeScript stays on 6.0. TypeScript 7 no longer ships the JavaScript
compiler API, typescript-eslint supports TypeScript below 6.1 only, and
ts-morph 28 bundles TypeScript 6.0.

ESLint 10 requires the flat config format, so .eslintrc.json moves to
eslint.config.mjs. The typescript-eslint override from #211 is no longer
needed. Source files are autofixed for the new block comment and key
sorting rules of @tstv/eslint-config 4.

@inquirer/prompts 8 requires Node.js 20.17 or newer, so "engines" now
states that. @inquirer/core is added as a direct dependency because the
CLI imports ExitPromptError from it. Vitest is limited to src, because
Vitest 4+ no longer excludes dist by default.
@bennycode
bennycode merged commit bbbf1f1 into main Oct 1, 2026
2 checks passed
@bennycode
bennycode deleted the chore/upgrade-dependencies branch October 1, 2026 13:57
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.

1 participant