Skip to content

🚀 Feature: Compatibility layer for ESLint plugins #17

@JoshuaKGoldberg

Description

@JoshuaKGoldberg

👋 again! This and https://github.com/Quramy/typescript-eslint-language-service are two really exciting avenues of being able to run ideally much faster typed linting as a part of the TypeScript language service. Ideally we'd be able to run all of a project's linting through this one - including existing ESLint plugins.

One issue that plagued TSLint back in the day was that it didn't support ESLint plugins natively. Everything had to be rewritten from ESTree to TypeScript's AST format.

Would you be interested in some kind of compatibility layer that lets folks natively use ESLint rules and plugins in TSSLint?

Vaguely guessing at an initial API design:

import { defineConfig, eslintPluginCompat } from '@tsslint/config';
import example from 'eslint-plugin-example';

export default defineConfig({
	rules: {
		// ...
		eslintPluginCompat(example.recommended),
	},
});

It looks like ./packages/eslint already has a convertRule that does a lot of this work - so maybe this is already planned? 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions