Enabling typescript-eslint typed linting
Ingramz opened this issue · comments
Describe the feature
Currently, @nuxt/eslint
only enables rules of non-typechecked configs (recommended
/ strict
) from typescript-eslint
. In addition to these, typescript-eslint
also provides advanced rules that depend on TypeScript's type checking API-s which are available via recommended-type-checked
and strict-type-checked
configs (see https://typescript-eslint.io/getting-started/typed-linting and https://typescript-eslint.io/rules/?=typeInformation).
There are some performance concerns when it comes to naively enabling these configs, namely specifying project
or projectService
in parserOptions
, a prerequisite, can slow down linting speed of a medium sized project from few seconds to several minutes. It is uncertain at the moment whether these slowdowns are unique to this project, Vue or caused by something else.
I think the main question I have is whether @nuxt/eslint
would be willing to adopt these configs by default provided that the linting performance bottlenecks are identified. If they deem unsolvable to a satisfactory level, could optionally opting into them made easier for cases such as a CI step, where we can typically afford to spend more time?
Additional information
- Would you be willing to help implement this feature?
- Could this feature be implemented as a module?
Final checks
- Read the contribution guide.
- Check existing discussions and issues.