nuxt / eslint

Collection of ESLint-related packages for Nuxt

Home Page:https://eslint.nuxt.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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