eslint-plugin-node
eslint-plugin-node copied to clipboard
TypeScript import type and node/no-extraneous-import
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.
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).