Skip to content

Change Request: Provide extendable interfaces for settings, rules in config #208

@nzakas

Description

@nzakas

Which packages would you like to change?

  • @eslint/compat
  • @eslint/config-array
  • @eslint/config-helpers
  • @eslint/core
  • @eslint/mcp
  • @eslint/migrate-config
  • @eslint/object-schema
  • @eslint/plugin-kit

What problem do you want to solve?

Right now, the settings and rules sections of a config don't have any useful type information. It would be helpful if plugins could register entries into these type definitions so that developers could get some type safety in their config file for these important sections.

What do you think is the correct solution?

Export some interfaces that are intended to be extended:

  • Change the RulesConfig type to an interface that we can encourage people to extend.
  • Change the SettingsConfig type to an interface that we can encourage people to extend.

Then, we would update LegacyConfig and Config in the eslint package to use these interfaces.

Participation

  • I am willing to submit a pull request for this change.

Additional comments

Related:

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions