Skip to content

chore: migrate from TSLint to ESLint - #6318

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

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

Conversation

@Pyatakov

@Pyatakov Pyatakov commented Jul 1, 2026

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.

@Pyatakov
Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from 6b2374f to c07e50f Compare July 3, 2026 12:43
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Test Results

 32 files  ±0   64 suites  ±0   6m 4s ⏱️ +5s
 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 8fab39f. ± Comparison against base commit c23abbd.

♻️ This comment has been updated with latest results.

@Pyatakov
Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from c07e50f to 0ce2a66 Compare July 3, 2026 12:53
@Pyatakov Pyatakov self-assigned this Jul 3, 2026
@Pyatakov
Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from 0ce2a66 to 365e001 Compare July 3, 2026 15:36
@Pyatakov
Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from 365e001 to 3cab285 Compare July 15, 2026 21:41
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>
@Pyatakov
Pyatakov force-pushed the chore/migrate-tslint-to-eslint branch from 3cab285 to 70f5c9e Compare July 15, 2026 21:48
- 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 70f5c9e to 8fab39f Compare July 15, 2026 21:49
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