Skip to content

Commit

Permalink
feat: support overrides for stylistic
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Dec 25, 2023
1 parent 0c1c8db commit a2d9b18
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
9 changes: 7 additions & 2 deletions src/configs/stylistic.ts
@@ -1,5 +1,5 @@
import { interopDefault } from '../utils'
import type { FlatConfigItem, StylisticConfig } from '../types'
import type { FlatConfigItem, OptionsOverrides, StylisticConfig } from '../types'
import { pluginAntfu } from '../plugins'

export const StylisticConfigDefaults: StylisticConfig = {
Expand All @@ -9,10 +9,13 @@ export const StylisticConfigDefaults: StylisticConfig = {
semi: false,
}

export async function stylistic(options: StylisticConfig = {}): Promise<FlatConfigItem[]> {
export async function stylistic(
options: StylisticConfig & OptionsOverrides = {},
): Promise<FlatConfigItem[]> {
const {
indent,
jsx,
overrides = {},
quotes,
semi,
} = {
Expand Down Expand Up @@ -46,6 +49,8 @@ export async function stylistic(options: StylisticConfig = {}): Promise<FlatConf
'antfu/top-level-function': 'error',

'curly': ['error', 'multi-or-nest', 'consistent'],

...overrides,
},
},
]
Expand Down
8 changes: 6 additions & 2 deletions src/factory.ts
Expand Up @@ -119,8 +119,12 @@ export async function antfu(
}))
}

if (stylisticOptions)
configs.push(stylistic(stylisticOptions))
if (stylisticOptions) {
configs.push(stylistic({
...stylisticOptions,
overrides: overrides.stylistic,
}))
}

if (options.test ?? true) {
configs.push(test({
Expand Down
1 change: 1 addition & 0 deletions src/types.ts
Expand Up @@ -338,6 +338,7 @@ export interface OptionsConfig extends OptionsComponentExts {
* Provide overrides for rules for each integration.
*/
overrides?: {
stylistic?: FlatConfigItem['rules']
javascript?: FlatConfigItem['rules']
typescript?: FlatConfigItem['rules']
test?: FlatConfigItem['rules']
Expand Down

0 comments on commit a2d9b18

Please sign in to comment.