Skip to content

chore: migrate from TSLint to ESLint#6313

Draft
Pyatakov wants to merge 2 commits into
developfrom
chore/migrate-tslint-to-eslint
Draft

chore: migrate from TSLint to ESLint#6313
Pyatakov wants to merge 2 commits into
developfrom
chore/migrate-tslint-to-eslint

Conversation

@Pyatakov

Copy link
Copy Markdown
Contributor

Description

  • Replace end-of-life TSLint with ESLint 10, using a single flat config at the repo root (eslint.config.mjs).
  • Port the TSLint ruleset to ESLint so coverage stays equivalent (single quotes, eqeqeq, curly, no-bitwise, no-shadow, unused variables, kebab-case filenames, and more). Formatting is enforced through @stylistic rather than Prettier, so no mass reformat is needed.
  • Remove both tslint.json files, the tslint/tslint-config-standard dependencies, and the per-package lint scripts; add root lint and lint:fix scripts.
  • Replace the per-package CI lint loop with a single yarn lint step.
  • Record existing violations in eslint-suppressions.json so the build passes on current code while failing on any newly introduced violation.
  • Temporarily ignore packages that were never enforced in CI, along with test files, so they can be cleaned up and re-enabled incrementally (tracked with TODO(eslint-migration) markers).

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Test Results

 32 files  ±0   64 suites  ±0   4m 2s ⏱️ -17s
 35 tests ±0   33 ✅ ±0  0 💤 ±0  2 ❌ ±0 
165 runs  ±0  163 ✅ ±0  0 💤 ±0  2 ❌ ±0 

For more details on these failures, see this check.

Results for commit 6b2374f. ± Comparison against base commit 1bf07ac.

♻️ This comment has been updated with latest results.

Pyatakov added 2 commits June 30, 2026 22:49
Replace end-of-life TSLint with ESLint 10 using a single flat config at
the repo root (eslint.config.mjs). Rules are ported from tslint.json to
keep coverage equivalent (quotes, eqeqeq, curly, no-bitwise, no-shadow,
unused vars, kebab-case filenames, etc.); formatting is handled by
@Stylistic rather than Prettier.

- Remove tslint.json files, tslint dependencies, and per-package lint
  scripts; add root lint and lint:fix scripts.
- Replace the per-package CI lint loop with a single yarn lint step.
- Ignore packages not previously enforced in CI and test files, to be
  cleaned up and re-enabled incrementally.

Signed-off-by: Alex Piatakov <alex.piatakov@swirldslabs.com>
- Apply ESLint auto-fixes in the enabled packages (quotes, dot notation,
  object shorthand).
- Baseline the remaining violations in eslint-suppressions.json so the
  build passes on current code while failing on any new violation.

Signed-off-by: Alex Piatakov <alex.piatakov@swirldslabs.com>
@Pyatakov Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from 97ce3bc to 6b2374f Compare June 30, 2026 21:50
@Pyatakov Pyatakov self-assigned this Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant