Open
Description
Assuming we force extensions "always"
, I get the following results:
import type Foo from "foo"; // No errors reported.
import type { Bar } from "bar"; // No errors reported.
import Foo from "foo"; // Errors reported.
import { type Bar } from "bar"; // Errors reported.
This is not ideal, since I mostly deal with .d.mts
files in the project where this occurs. And typescript enforces import type
on any .d.ts
and .d.mts
files.
This is the .eslintrc.cjs
of the project:
module.exports = {
env: {
es6: true,
},
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
],
parser: "@typescript-eslint/parser",
parserOptions: {
project: "./tsconfig.eslint.json",
sourceType: "module",
},
plugins: ["@typescript-eslint", "eslint-plugin-tsdoc", "import"],
rules: {
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-namespace": ["error", { allowDeclarations: true }],
"@typescript-eslint/no-unsafe-declaration-merging": "off", // TODO: reenable in V10
"import/extensions": ["error", "always"],
"tsdoc/syntax": "warn",
},
settings: {
"import/parsers": {
"@typescript-eslint/parser": [".mts", ".ts"],
},
"import/resolver": {
typescript: {
alwaysTryTypes: true,
},
},
},
};