vuejs/eslint-plugin-vue

Add TypeScript IntelliSense support with eslint-typegen

Closed this issue · 2 comments

Summary

Add eslint-typegen integration to provide TypeScript definitions and IntelliSense for ESLint rule configurations.

Motivation

  • Improve developer experience with TypeScript IntelliSense
  • Provide type safety for ESLint configuration
  • Reduce configuration errors through better tooling support

Dependencies

Requires ESLint v9 upgrade (#2756)

Benefits

  • Full TypeScript IntelliSense for all ESLint rules
  • Type safety prevents configuration errors

Thanks for looking into introducing eslint-typegen into eslint-plugin-vue!

However, I believe the ESLint upgrade will not be blocking.
ESLint v9 is required to generate types using eslint-typegen and for users to define types using eslint-typegen.
But I don't think we will force users to use ESLint v9 to publish types generated by eslint-typegen with eslint-plugin-vue.

That being said, I think it will be easier to introduce eslint-typegen after upgrading to ESLint v9. Because it is sometimes difficult to keep CI working with incompatible devDeps 😓

Indeed, we may not need to force users to upgrade to ESLint v9.
We’ve confirmed that converting eslint.config.js to ESM format (ES Modules syntax) lets it run without issues on the current version. 🤝

If that works for you, I’ll open a PR that changes eslint.config.js to the .mjs format and adds eslint-typegen. Please take a look!