Skip to content

chore: bump eslint to 10.3.0 and migrate to flat config#3150

Open
lahirumaramba wants to merge 6 commits into
v14from
lm-bump-eslint
Open

chore: bump eslint to 10.3.0 and migrate to flat config#3150
lahirumaramba wants to merge 6 commits into
v14from
lm-bump-eslint

Conversation

@lahirumaramba
Copy link
Copy Markdown
Member

@lahirumaramba lahirumaramba commented May 15, 2026

ESLint v10 completely removes support for legacy .eslintrc files, this upgrade transitions the linter setup to modern Flat Config (eslint.config.mjs).

Key changes:

  • Upgraded eslint from ^8.56.0 to 10.3.0.
  • Added Flat Config dependencies: typescript-eslint, @eslint/js, and globals.
  • Replaced legacy .eslintrc.js with eslint.config.mjs, maintaining rule parity, naming conventions, and ignore patterns.
  • Streamlined "lint:src" and "lint:test" scripts to remove deprecated --ext .ts CLI flags.
  • Resolved a new no-useless-assignment lint error caught by v10 in auth.spec.ts.
  • Auto-fixed 27 redundant inline eslint-disable comments across the codebase.

Verification

  • npm install completes successfully.
  • npm run lint runs cleanly with 0 errors and 0 warnings across the repository.
  • Unit tests (npm test) continue to pass successfully (6,238 tests passing cleanly).

@lahirumaramba lahirumaramba added release-note release:stage Stage a release candidate labels May 15, 2026
@lahirumaramba lahirumaramba changed the base branch from main to v14 May 15, 2026 20:38
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the project to ESLint 10 and the Flat Config system, updating devDependencies and removing obsolete inline lint-disable comments. Feedback identifies a discrepancy in Node.js engine requirements between the manifest and lockfile and suggests using a version range for the eslint dependency. Additionally, the reviewer points out potential regressions in linting coverage due to restricted file patterns and global ignores, recommends isolating test-specific globals, and notes leftover whitespace in the source files.

Comment thread package-lock.json
Comment thread package.json Outdated
Comment thread eslint.config.mjs
Comment thread eslint.config.mjs
Comment thread src/app/credential-internal.ts Outdated
@lahirumaramba lahirumaramba force-pushed the lm-bump-eslint branch 2 times, most recently from 0030ab7 to 492cf4d Compare May 15, 2026 20:49
@lahirumaramba
Copy link
Copy Markdown
Member Author

@gemini-code-assist review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the project to ESLint's flat configuration format, updates ESLint to version 10, and removes numerous inline lint suppression comments across the codebase. The review feedback identifies a significant breaking change in the minimum Node.js requirement (bumped to version 22), inconsistent version pinning for the ESLint dependency, and the improper inclusion of Mocha globals in the base configuration for production source files.

Comment thread package-lock.json
Comment thread package.json Outdated
Comment thread eslint.config.mjs Outdated
@lahirumaramba
Copy link
Copy Markdown
Member Author

@gemini-code-assist review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the project to ESLint v10 and the Flat Config system, replacing the legacy configuration with eslint.config.mjs. The changes include upgrading ESLint dependencies, bumping the minimum Node.js engine requirement, and removing numerous legacy ESLint suppression comments across the codebase. Feedback suggests lowering the Node.js engine requirement to >=20.19.0 to maintain compatibility with the current LTS version and removing redundant file patterns in the ESLint configuration that conflict with global ignore rules.

Comment thread package-lock.json
Comment thread eslint.config.mjs Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:stage Stage a release candidate release-note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant