Skip to content

chore: upgrade ESLint to v10 with flat config#201

Merged
dhensby merged 1 commit intotediousjs:masterfrom
dhensby:chore/eslint-v9
Apr 14, 2026
Merged

chore: upgrade ESLint to v10 with flat config#201
dhensby merged 1 commit intotediousjs:masterfrom
dhensby:chore/eslint-v9

Conversation

@dhensby
Copy link
Copy Markdown
Collaborator

@dhensby dhensby commented Apr 14, 2026

Summary

Upgrade from ESLint v8 (EOL) to ESLint v10 and migrate from the legacy .eslintrc.json config format to the flat config (eslint.config.mjs).

Changes

  • ESLint v8 → v10: Major version upgrade
  • @typescript-eslint/parser + @typescript-eslint/eslint-plugintypescript-eslint: Replaced the two separate packages with the unified typescript-eslint package
  • .eslintrc.jsoneslint.config.mjs: Migrated to flat config using tseslint.config() helper
  • .eslintignoreignores property: Moved ignore patterns into the flat config
  • package.json lint script: Removed --config flag (flat config is auto-detected)
  • misc/generate-docs.ts: Fixed trailing comma errors and a no-useless-assignment error caught by the new ESLint version

All existing lint rules are preserved: comma-dangle, no-shadow, semi, and @typescript-eslint/no-explicit-any off in test files.

Migrate from ESLint v8 with legacy .eslintrc.json to ESLint v10 with
flat config (eslint.config.mjs).

- Replace eslint v8 with v10, @typescript-eslint/parser and
  @typescript-eslint/eslint-plugin with the unified typescript-eslint
  package
- Convert .eslintrc.json to eslint.config.mjs using tseslint.config()
- Move .eslintignore entries into the flat config ignores property
- Remove --config flag from lint script (flat config is auto-detected)
- Fix lint errors caught by new rules (trailing commas in
  generate-docs.ts, useless assignment)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dhensby dhensby merged commit 1ffb3e3 into tediousjs:master Apr 14, 2026
16 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 3.1.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant