1- import type { FlatConfig } from "@typescript-eslint/utils/ts- eslint" ;
1+ import type { ESLint , Linter } from "eslint" ;
22
33import all from "#/configs/all" ;
44import currying from "#/configs/currying" ;
@@ -22,28 +22,28 @@ const meta = {
2222 version : __VERSION__ as string ,
2323} as const ;
2424
25- const functional = {
25+ const functional : ESLint . Plugin = {
2626 meta,
2727 rules,
28- } satisfies FlatConfig . Plugin ;
28+ } as unknown as ESLint . Plugin ;
2929
3030const plugins = { functional } as const ;
3131
3232const configs : Readonly < {
33- all : FlatConfig . Config ;
34- lite : FlatConfig . Config ;
35- recommended : FlatConfig . Config ;
36- strict : FlatConfig . Config ;
37- off : FlatConfig . Config ;
38- disableTypeChecked : FlatConfig . Config ;
39- externalVanillaRecommended : FlatConfig . Config ;
40- externalTypeScriptRecommended : FlatConfig . Config ;
41- currying : FlatConfig . Config ;
42- noExceptions : FlatConfig . Config ;
43- noMutations : FlatConfig . Config ;
44- noOtherParadigms : FlatConfig . Config ;
45- noStatements : FlatConfig . Config ;
46- stylistic : FlatConfig . Config ;
33+ all : Linter . Config ;
34+ lite : Linter . Config ;
35+ recommended : Linter . Config ;
36+ strict : Linter . Config ;
37+ off : Linter . Config ;
38+ disableTypeChecked : Linter . Config ;
39+ externalVanillaRecommended : Linter . Config ;
40+ externalTypeScriptRecommended : Linter . Config ;
41+ currying : Linter . Config ;
42+ noExceptions : Linter . Config ;
43+ noMutations : Linter . Config ;
44+ noOtherParadigms : Linter . Config ;
45+ noStatements : Linter . Config ;
46+ stylistic : Linter . Config ;
4747} > = {
4848 all : { plugins, rules : all } ,
4949 lite : { plugins, rules : lite } ,
@@ -71,9 +71,16 @@ const configs: Readonly<{
7171 } ,
7272 noStatements : { plugins, rules : noStatements } ,
7373 stylistic : { plugins, rules : stylistic } ,
74- } satisfies Record < string , FlatConfig . Config > ;
74+ } satisfies Record <
75+ string ,
76+ Linter . Config & {
77+ extends ?: Array < string | Linter . Config | InfiniteArray < Linter . Config > > ;
78+ }
79+ > ;
7580
76- type EslintPluginFunctional = FlatConfig . Plugin & {
81+ type InfiniteArray < T > = T | Array < InfiniteArray < T > > ;
82+
83+ type EslintPluginFunctional = typeof functional & {
7784 meta : typeof meta ;
7885 rules : typeof rules ;
7986 configs : typeof configs ;
0 commit comments