[ONB-1618] Migrar ESLint a flat config sobre ESLint 10 - #105
Merged
Conversation
The legacy .eslintrc.js pinned ESLint 7, typescript-eslint 4 and airbnb-base, none of which support current ESLint or TypeScript releases. Replace it with eslint.config.mjs built on @eslint/js, typescript-eslint 8 and eslint-plugin-import-x, and drop airbnb-base in favour of the recommended presets plus the few rules the codebase actually relies on (import ordering, no-console, tsdoc syntax). Type-aware promise rules are enabled via projectService since the SDK is async-heavy. preserve-caught-error stays off because Error.cause is unavailable on the supported Node 10 runtime. Unused-parameter and spec-only console usage are now handled at the config level (args: 'none', a src/spec override) instead of per-file eslint-disable comments, and the directives that no longer apply under the new preset set are removed so that reportUnusedDisableDirectives can be enforced as an error.
The path filter listed .eslintrc.json, which never existed, so a config-only change did not run the lint job. Point it at the new flat config file.
daleal
reviewed
Sep 7, 2026
| ], | ||
| languageOptions: { | ||
| parserOptions: { | ||
| projectService: true, |
Member
There was a problem hiding this comment.
Creo que esto va a hacer que se carguen las reglas type-aware, que hacen que el linter sea mucho más lento :hide-the-pain-gary:
Contributor
Author
There was a problem hiding this comment.
según el clanker esto estaba en el archivo antiguo también, y se necesite para algunas reglas (no-floating-promises, no-misused-promises, await-thenable y switch-exhaustiveness-check). En el dashboard tenemos apagadas las reglas que necesitan eso, podemos hacer eso mismo aquí. El repo igual es más chico, la diferencia es proporcionalmente grande, pero igual corre como en 2 segundos en mi máquina
Removes projectService and the four rules that required it (await-thenable, no-floating-promises, no-misused-promises, switch-exhaustiveness-check), per review. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
Author
|
@daleal borré las reglas que nos obligaban a tener esa cosita |
daleal
approved these changes
Sep 8, 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.
Description
El setup de lint estaba pegado en ESLint 7 +
airbnb-base+ typescript-eslint 4, que ya no soportan las versiones actuales de ESLint ni TypeScript.eslint.config.mjscon@eslint/js,typescript-eslint8 yeslint-plugin-import-x; se elimina.eslintrc.jsprojectServiceconsoleen specs se resuelven desde la config, no coneslint-disablepor archivoreportUnusedDisableDirectivescomo errorlint:fixRequirements
None.
Additional changes
linters.ymlahora se gatilla con cambios eneslint.config.mjs(antes apuntaba a un.eslintrc.jsoninexistente)Tests
build,testylinten verdeCreated with Claude Code
/fast-trackcommand