Closed nzakas closed 3 weeks ago
I think this could be useful also to simplify the implementation of certain language-agnostic functionality that I've seen re-invented in different plugins (for processors in particular, but there should be more use cases). For utilities not strictly related to languages, a package name like @eslint/plugin
or @eslint/plugin-kit
should fit well. Opinions @eslint/eslint-team?
@eslint/plugin-kit
(to disambiguate with ESLint plugins and make it a more generic plugin helper package rather than a language plugin package?)
@eslint/plugin-kit
sounds good to me for the above reasons 👍
Okay! I'll get started on this.
Which packages would you like to change?
@eslint/compat
@eslint/config-array
@eslint/core
@eslint/migrate-config
@eslint/object-schema
What problem do you want to solve?
Now that I've worked on a couple of language plugins, it's clear that there's some duplication of logic that each language could have. For instance:
SourceCode
implementationVisitTraversalStep
andCallTraversalStep
What do you think is the correct solution?
Rather than forcing everyone to write their own versions of this logic, it would be helpful to create a package that contains common utilities for language development.
Maybe
@eslint/language
? Or@eslint/plugin
or@eslint/plugin-kit
(to disambiguate with ESLint plugins and make it a more generic plugin helper package rather than a language plugin package?)Participation
Additional comments
No response