mysticatea / eslint-plugin-node

Additional ESLint's rules for Node.js
MIT License
960 stars 170 forks source link

TypeScript import type and node/no-extraneous-import #324

Open Toilal opened 2 years ago

Toilal commented 2 years ago

It seems node/no-extraneous-import should not report when using TypeScript import type ....

import type is used for compilation only, so there's no risk at all to hit runtime errors because of unavailable dependency.

fasttime commented 2 years ago

Note that if you are shipping a package with .d.ts type definition files, then imported types may be necessary for your type declarations to work. This is why many packages with native type definition files have dependencies (not devDependencies) on other type-only packages. For example, Jest has a runtime dependency on @types/node (link). So ultimately, type definition files can only be omitted as dependencies if they are used exclusively in sources that are transpiled (and not included in the build).