Skip to content

Commit 68e6450

Browse files
fix: improve types for flat configs
1 parent e55596c commit 68e6450

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/flat.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ import stylistic from "#eslint-plugin-functional/configs/stylistic";
1717
import { rules } from "#eslint-plugin-functional/rules";
1818
import { __VERSION__ } from "#eslint-plugin-functional/utils/constants";
1919

20-
const functional = {
21-
meta: {
22-
name: "eslint-plugin-functional",
23-
version: __VERSION__,
24-
} as const,
20+
const meta = {
21+
name: "eslint-plugin-functional",
22+
version: __VERSION__,
23+
} as const;
24+
25+
const functional: FlatConfig.Plugin = {
26+
meta,
2527
rules,
26-
} satisfies Omit<FlatConfig.Plugin, "configs">;
28+
};
2729

2830
const configs = {
2931
all: { plugins: { functional }, rules: all },
@@ -54,7 +56,11 @@ const configs = {
5456
stylistic: { plugins: { functional }, rules: stylistic },
5557
} satisfies Record<string, FlatConfig.Config>;
5658

57-
export default {
58-
...functional,
59-
configs,
60-
} as const;
59+
// eslint-disable-next-line functional/immutable-data, functional/no-expression-statements
60+
functional.configs = configs;
61+
62+
export default functional as FlatConfig.Plugin & {
63+
meta: typeof meta;
64+
rules: typeof rules;
65+
configs: typeof configs;
66+
};

0 commit comments

Comments
 (0)