From 68e6450e39f75165d63d01487f7b61929f994dc1 Mon Sep 17 00:00:00 2001 From: Rebecca Stevens Date: Mon, 1 Apr 2024 14:31:58 +1300 Subject: [PATCH] fix: improve types for flat configs --- src/flat.ts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/flat.ts b/src/flat.ts index 3ec7ba694..b83911651 100644 --- a/src/flat.ts +++ b/src/flat.ts @@ -17,13 +17,15 @@ import stylistic from "#eslint-plugin-functional/configs/stylistic"; import { rules } from "#eslint-plugin-functional/rules"; import { __VERSION__ } from "#eslint-plugin-functional/utils/constants"; -const functional = { - meta: { - name: "eslint-plugin-functional", - version: __VERSION__, - } as const, +const meta = { + name: "eslint-plugin-functional", + version: __VERSION__, +} as const; + +const functional: FlatConfig.Plugin = { + meta, rules, -} satisfies Omit; +}; const configs = { all: { plugins: { functional }, rules: all }, @@ -54,7 +56,11 @@ const configs = { stylistic: { plugins: { functional }, rules: stylistic }, } satisfies Record; -export default { - ...functional, - configs, -} as const; +// eslint-disable-next-line functional/immutable-data, functional/no-expression-statements +functional.configs = configs; + +export default functional as FlatConfig.Plugin & { + meta: typeof meta; + rules: typeof rules; + configs: typeof configs; +};