Skip to content

Commit 14d2607

Browse files
committed
feat: support prettierConfigs with internal default options
1 parent 8f08fb5 commit 14d2607

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/configs/formatters.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export async function formatters(
5353
options.prettierOptions || {},
5454
)
5555

56-
const prettierXmlOptions = {
56+
const prettierXmlOptions: VendoredPrettierOptions = {
5757
xmlQuoteAttributes: 'double',
5858
xmlSelfClosingSpace: true,
5959
xmlSortAttributesByKey: false,
@@ -289,5 +289,15 @@ export async function formatters(
289289
})
290290
}
291291

292+
if (options.prettierConfigs) {
293+
const prettierConfigs = options.prettierConfigs({
294+
defaultOptions: prettierOptions,
295+
defaultXmlOptions: prettierXmlOptions,
296+
})
297+
prettierConfigs.forEach((item) => {
298+
configs.push(item)
299+
})
300+
}
301+
292302
return configs
293303
}

src/types.ts

+10
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ export type OptionsTypescript =
5050
(OptionsTypeScriptWithTypes & OptionsOverrides)
5151
| (OptionsTypeScriptParserOptions & OptionsOverrides)
5252

53+
export interface PrettierConfigsOptions {
54+
defaultOptions: VendoredPrettierOptions
55+
defaultXmlOptions: VendoredPrettierOptions
56+
}
57+
5358
export interface OptionsFormatters {
5459
/**
5560
* Enable formatting support for CSS, Less, Sass, and SCSS.
@@ -93,6 +98,11 @@ export interface OptionsFormatters {
9398
*/
9499
prettierOptions?: VendoredPrettierOptions
95100

101+
/**
102+
* Custom configs let you have different configuration for certain file extensions and specific files.
103+
*/
104+
prettierConfigs?: (options: PrettierConfigsOptions) => TypedFlatConfigItem[]
105+
96106
/**
97107
* Custom options for dprint.
98108
*

0 commit comments

Comments
 (0)