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

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

Results for commit 365e001. ± Comparison against base commit 1cc5862.

♻️ 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 added 2 commits July 3, 2026 16:36
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 0ce2a66 to 365e001 Compare July 3, 2026 15:36
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