Skip to content

Commit f18d740

Browse files
authored
fix(eslint-plugin): update types for Linter compatibility (#5147)
1 parent 062bfdb commit f18d740

File tree

4 files changed

+50
-30
lines changed

4 files changed

+50
-30
lines changed

packages-integrations/eslint-plugin/fixtures/eslint.config.js

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// import { defineConfig } from 'eslint/config'
2+
// import unocss from '../src'
3+
//
4+
// export default defineConfig([
5+
// unocss.configs.flat,
6+
// {
7+
// rules: {
8+
// 'unocss/blocklist': 'error',
9+
// },
10+
// },
11+
// ])
12+
13+
import antfu from '@antfu/eslint-config'
14+
import unocss from '../src'
15+
16+
export default antfu(
17+
{
18+
unocss: false,
19+
svelte: false,
20+
},
21+
unocss.configs.flat,
22+
{
23+
rules: {
24+
'unocss/blocklist': 'error',
25+
},
26+
},
27+
)

packages-integrations/eslint-plugin/src/types.ts

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,38 @@
1-
import type {
2-
ClassicConfig,
3-
FlatConfig,
4-
LooseRuleDefinition,
5-
SharedConfig,
6-
} from '@typescript-eslint/utils/ts-eslint'
1+
import type { LooseRuleDefinition } from '@typescript-eslint/utils/ts-eslint'
2+
import type { Linter } from 'eslint'
73

8-
type UnoCSSEslintRuleEntry = SharedConfig.RuleLevel
4+
type UnocssEnforceClassCompile = [] | [{
5+
prefix?: string
6+
enableFix?: boolean
7+
}]
8+
9+
type UnocssOrder = [] | [{
10+
unoFunctions?: string[]
11+
unoVariables?: string[]
12+
}]
913

1014
export interface UnoCSSEslintPlugin {
1115
rules: Record<string, LooseRuleDefinition>
1216
}
1317

14-
export interface UnoCSSEslintFlatConfig extends FlatConfig.Config {
18+
export interface UnoCSSEslintFlatConfig extends Linter.Config {
1519
plugins: {
16-
unocss: UnoCSSEslintPlugin
20+
unocss: any
1721
}
1822
rules: {
19-
readonly 'unocss/order': UnoCSSEslintRuleEntry
20-
readonly 'unocss/order-attributify': UnoCSSEslintRuleEntry
23+
readonly 'unocss/order': Linter.RuleEntry<UnocssOrder>
24+
readonly 'unocss/order-attributify': Linter.RuleEntry<[]>
25+
readonly 'unocss/blocklist'?: Linter.RuleEntry<[]>
26+
readonly 'unocss/enforce-class-compile'?: Linter.RuleEntry<UnocssEnforceClassCompile>
2127
}
2228
}
2329

24-
export interface UnoCSSEslintRecommendedConfig extends ClassicConfig.Config {
30+
export interface UnoCSSEslintRecommendedConfig extends Linter.LegacyConfig {
2531
rules: {
26-
readonly '@unocss/order': UnoCSSEslintRuleEntry
27-
readonly '@unocss/order-attributify': UnoCSSEslintRuleEntry
32+
readonly '@unocss/order': Linter.RuleEntry<UnocssOrder>
33+
readonly '@unocss/order-attributify': Linter.RuleEntry<[]>
34+
readonly '@unocss/blocklist'?: Linter.RuleEntry<[]>
35+
readonly '@unocss/enforce-class-compile'?: Linter.RuleEntry<UnocssEnforceClassCompile>
2836
}
2937
}
3038

packages-integrations/eslint-plugin/tsdown.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export default defineConfig([
2020
deps: {
2121
neverBundle: [
2222
'@typescript-eslint/types',
23+
'eslint',
2324
],
2425
},
2526
alias: aliasVirtual,

0 commit comments

Comments
 (0)