@importantimport/eslint-config-ts
Version:
An ESLint Flat Config for !mportantImport.
77 lines (72 loc) • 2.33 kB
JavaScript
// src/configs/ts/index.ts
import { GLOB_TS, GLOB_TSX } from "@importantimport/eslint-config/utils/glob";
import { pluginAntfu } from "@importantimport/eslint-config/utils/plugins";
// src/utils/plugins.ts
import { default as default2 } from "@stylistic/eslint-plugin-ts";
import { default as default3 } from "@typescript-eslint/eslint-plugin";
import * as parserTypeScript from "@typescript-eslint/parser";
import { default as default4 } from "eslint-plugin-tsdoc";
// src/configs/ts/dts.ts
import { GLOB_DTS } from "@importantimport/eslint-config/utils/glob";
var dts = () => ({
files: [GLOB_DTS],
rules: {
"eslint-comments/no-unlimited-disable": "off",
"import/no-duplicates": "off",
"unused-imports/no-unused-vars": "off"
}
});
// src/configs/ts/index.ts
var ts = (options) => [
{
files: [GLOB_TS, GLOB_TSX],
languageOptions: {
// @ts-expect-error parser types error
parser: parserTypeScript,
parserOptions: {
project: options?.project,
sourceType: "module"
}
},
plugins: {
"@stylistic/ts": default2,
// @ts-expect-error plugin types error
"@typescript-eslint": default3,
antfu: pluginAntfu,
tsdoc: default4
},
// @ts-expect-error plugin types error
rules: {
...default3.configs["eslint-recommended"].overrides[0].rules,
...options?.project ? [
// @ts-expect-error plugin types error
...default3.configs.strict.rules,
...default3.configs["recommended-requiring-type-checking"].rules
] : [],
/**
* perfectionist
* {@link https://github.com/azat-io/eslint-plugin-perfectionist#%EF%B8%8F-troubleshooting}
*/
"@typescript-eslint/adjacent-overload-signatures": "off",
/**
* unused-imports
* {@link https://github.com/sweepline/eslint-plugin-unused-imports#usage}
*/
"@typescript-eslint/no-unused-vars": "off",
/**
* perfectionist
* {@link https://github.com/azat-io/eslint-plugin-perfectionist#%EF%B8%8F-troubleshooting}
*/
"@typescript-eslint/sort-type-constituents": "off",
"antfu/no-const-enum": "error",
"tsdoc/syntax": "warn"
}
},
dts()
];
// src/index.ts
var src_default = ts();
export {
ts as createConfig,
src_default as default
};