chore(lint): adopt eslint-config-codex 2.x - #674
Open
Reversean wants to merge 2 commits into
Open
Conversation
Reversean
marked this pull request as draft
August 3, 2026 07:56
1.x checks indentation with ESLint's base `indent` rule, which cannot see TypeScript syntax. Indentation inside TS constructs was therefore never checked at all. 2.x uses @stylistic/indent, which reads it. 2.x ships flat config only, so .eslintrc.js becomes eslint.config.mjs, and eslint and typescript move up to satisfy it. tsconfig drops baseUrl on the way, since TypeScript 7 removes it. eslint-plugin-n rules are disabled where they resolve imports as Node does and report existing .ts files as missing. Applying the fixes is left for a separate commit; src/ is untouched.
Reversean
force-pushed
the
chore/eslint-indent
branch
from
August 3, 2026 10:18
ec7e6fb to
92eda13
Compare
Contributor
|
Thanks for adding a description — the PR is now marked as Ready for Review. |
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.
eslint-config-codex1.x carries one indentation rule — ESLint's baseindent,which cannot see TypeScript syntax. Indentation inside TS constructs was never
checked, which is how a four-space class body in
src/integrations/vercel-aisurvived unnoticed. 2.x replaces it with
@stylistic/indent.What this drags along
2.x ships flat config only, so
.eslintrc.jsbecomeseslint.config.mjs, andeslintandtypescriptmove up to the highest versions the new constraintsallow.
tsconfig.jsondropsbaseUrl, which TypeScript 7 removes;pathsgainsthe leading
./it then requires.tsc --noEmitis clean andyarn buildpasses on TypeScript 6.Three
eslint-plugin-nrules are disabled by hand: one resolves imports the wayNode does and reports existing
.tsfiles as missing, two demandrequire('process')over the global. Together they accounted for 361 of 366n/*reports.No fixes are applied
src/is untouched — this PR only swaps the configuration, so the reformattingdiff can be reviewed separately. Running the linter today gives:
jsdoc/*@typescript-eslint/*@stylistic/indent— the rule this started overThat gap is the thing to decide on. Adopting the org config surfaces a large
amount of pre-existing debt that has nothing to do with indentation, and CI
turns red until it is dealt with. Splitting it — autofix first, then the rest by
rule family — is the obvious follow-up, but it is real work, not a formality.