UNPKG

@importantimport/eslint-config-ts

Version:

An ESLint Flat Config for !mportantImport.

77 lines (72 loc) 2.33 kB
// 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 };