Skip to content

Conversation

@kireevmp
Copy link
Contributor

@kireevmp kireevmp commented Dec 31, 2025

This PR is a complete rewrite of the plugin in TypeScript with type safety and modern tooling. This also adds native support (flat config) for ESLint v9.

Changes

Core

  • Migrated the entire codebase from JavaScript to TypeScript
  • Now uses tsdown for bundling code and providing public type definitions (package passes publint & attw)
  • 18 out of 19 rules reimplemented from the ground up using modern @typescript-eslint APIs
  • Updated supported NodeJS versions to ^20.9.0 || >=21.1.0

Documentation

  • Upgraded documentation to VitePress v2
  • Implemented dynamic routes for rules (markdown is now colocated with rule implementation)

Testing

  • Replaced Jest with Vitest v4
  • Migrated all test examples into test files
  • Switched to @typescript-eslint/rule-tester for all rule tests

Rule Changes

  • prefer-sample-over-forward-with-mapping: removed in favor of existing no-forward rule
  • no-forward: promoted from future to recommended
  • no-guard: promoted from future to recommended

Related Issues

@kireevmp kireevmp self-assigned this Dec 31, 2025
@netlify
Copy link

netlify bot commented Dec 31, 2025

Deploy Preview for eslint-plugin failed. Why did it fail? →

Name Link
🔨 Latest commit 39a64e1
🔍 Latest deploy log https://app.netlify.com/projects/eslint-plugin/deploys/695d7115f940cb0008375dfd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants