chore(lint): migrate ESLint to flat config and fix violations - #693
Merged
Merged
Conversation
ESLint v9+ dropped support for .eslintrc. Lint has been broken since the April 2024 bump to ESLint v9. This migrates to the flat config format (eslint.config.mjs) and fixes violations that were hidden. - Replace .eslintrc with eslint.config.mjs (flat config) - Replace eslint-plugin-node (incompatible with ESLint v9+) with eslint-plugin-n, the maintained fork with flat config support - Bump eslint minimum to ^10.10.0 - Fix no-use-before-define in src/commands/api/rename.js - Fix max-len violations in src, test/resources, and test/support - Auto-fix quote style, semicolons, and spacing across src and test Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
kopernic-pl
requested review from
KrzysztofNocen,
OlekNadolice,
klaudynamizgalska,
micryc and
tomek-tursa-sb
as code owners
September 15, 2026 13:56
The project used husky v9 but still had the old v4-style config in package.json. Husky v5+ dropped that format, so the pre-push hook (lint + test) was silently never executed. This adds the .husky/pre-push script and a prepare script to initialize husky on npm install. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tomek-tursa-sb
approved these changes
Sep 15, 2026
micryc
approved these changes
Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.eslintrcformat to the new flat config (eslint.config.mjs), required since ESLint v9+eslint-plugin-node(incompatible with ESLint v9+) witheslint-plugin-n, the actively maintained fork with native flat config support^10.10.0no-use-before-defineinrename.js,max-lenviolations, and auto-fixable style issues (quotes, semicolons, spacing) acrosssrc/andtest/Note: Lint has been broken since April 2024 when ESLint was bumped from v8 to v9 without migrating the config.
Test plan
npm run lintexits clean with no errorsnpm test— 430 passing, 0 failing🤖 Generated with Claude Code