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)
  • 19 out of 20 rules reimplemented from the ground up using modern @typescript-eslint APIs
  • Updated supported NodeJS versions to ^20.9.0 || >=21.1.0 (matches ESLint)
  • Supports ESLint ^8.57.0 || ^9.0.0 (flat & legacy configs)
  • Bonus: 1 brand new rule no-domain-unit-creators

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


Related Issues

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

netlify bot commented Dec 31, 2025

Deploy Preview for eslint-plugin ready!

Name Link
🔨 Latest commit b07c23b
🔍 Latest deploy log https://app.netlify.com/projects/eslint-plugin/deploys/6964f1d1179a7a0008210891
😎 Deploy Preview https://deploy-preview-177--eslint-plugin.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kireevmp kireevmp marked this pull request as ready for review January 9, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment