@coderwyd/eslint-config
Version:
Donny's ESLint config
31 lines • 1.46 kB
text/typescript
import { Awaitable, ConfigNames, OptionsConfig, OptionsFiles, OptionsOverrides, TypedFlatConfigItem } from "@antfu/eslint-config";
import { Linter } from "eslint";
import { FlatConfigComposer } from "eslint-flat-config-utils";
//#region src/types.d.ts
type Matchers = [name: string, configurations: {
match: "objectKeys" | "objectValues" | "strings";
pathPattern?: string;
}[]][];
interface OptionsTailwindcss {
settings?: {
entryPoint?: string | undefined;
tailwindConfig?: string | undefined;
tsconfig?: string | undefined;
detectComponentClasses?: boolean | undefined;
rootFontSize?: number | undefined;
messageStyle?: "visual" | "compact" | "raw" | undefined;
attributes?: Array<string | Matchers> | undefined;
callees?: Array<string | Matchers> | undefined;
variables?: Array<string | Matchers> | undefined;
tags?: Array<string | Matchers> | undefined;
};
}
interface OptionsAddons {
tailwindcss?: boolean | (OptionsOverrides & OptionsFiles & OptionsTailwindcss);
}
type Options = OptionsConfig & Omit<TypedFlatConfigItem, "files" | "ignores"> & OptionsAddons;
//#endregion
//#region src/index.d.ts
declare function defineConfig(options?: Options, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any, any> | Linter.Config[]>[]): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
//#endregion
export { type Options, type OptionsTailwindcss, defineConfig };