cypress-io / eslint-plugin-cypress

An ESLint plugin for projects that use Cypress
MIT License
703 stars 89 forks source link

Export Typescript types declaration #232

Open Kapcash opened 3 hours ago

Kapcash commented 3 hours ago

This plugin, when imported from a .ts file, throws types error because it doesn't declare any types.

I think it would be a good enhancement to declare at single a single types.d.ts in the package to export types, without converting the whole source code to Typescript. This way, Typescript users can seamlessly import the package without having to declare themselves the types :)

You can even export declaration types from .js files! https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html

Kapcash commented 3 hours ago

Here is my own, primitive, declaration file for this package:

packages.d.ts
declare module 'eslint-plugin-cypress/flat' {
  import type { ESLint } from 'eslint';
  const plugin: ESLint.Plugin;

  export default plugin;
};