prettier-config-nick2bad4u 1.0.13 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,7 +20,7 @@ The package is ESM-first and exports the config from `preset.mjs`.
20
20
 
21
21
  ```json
22
22
  {
23
- "prettier": "prettier-config-nick2bad4u"
23
+ "prettier": "prettier-config-nick2bad4u"
24
24
  }
25
25
  ```
26
26
 
@@ -46,8 +46,8 @@ export default config;
46
46
  import prettierConfig from "prettier-config-nick2bad4u";
47
47
 
48
48
  export default {
49
- ...prettierConfig,
50
- printWidth: 100,
49
+ ...prettierConfig,
50
+ printWidth: 100,
51
51
  };
52
52
  ```
53
53
 
@@ -62,8 +62,8 @@ without duplicating override internals.
62
62
  import { createConfig } from "prettier-config-nick2bad4u";
63
63
 
64
64
  export default createConfig({
65
- extensionlessJsonFiles: ["**/.my-json-rc"],
66
- extensionlessIniFiles: ["**/.my-ini-rc"],
65
+ extensionlessJsonFiles: ["**/.my-json-rc"],
66
+ extensionlessIniFiles: ["**/.my-ini-rc"],
67
67
  });
68
68
  ```
69
69
 
@@ -73,10 +73,10 @@ export default createConfig({
73
73
  import { createConfig } from "prettier-config-nick2bad4u";
74
74
 
75
75
  export default createConfig({
76
- extensionlessJsonFiles: ["**/.custom-json-rc"],
77
- extensionlessIniFiles: ["**/.custom-ini-rc"],
78
- replaceDefaultExtensionlessJsonFiles: true,
79
- replaceDefaultExtensionlessIniFiles: true,
76
+ extensionlessJsonFiles: ["**/.custom-json-rc"],
77
+ extensionlessIniFiles: ["**/.custom-ini-rc"],
78
+ replaceDefaultExtensionlessJsonFiles: true,
79
+ replaceDefaultExtensionlessIniFiles: true,
80
80
  });
81
81
  ```
82
82
 
@@ -84,21 +84,18 @@ export default createConfig({
84
84
 
85
85
  ```js
86
86
  import {
87
- createConfig,
88
- defaultExtensionlessIniFiles,
89
- defaultExtensionlessJsonFiles,
90
- extensionlessIniOptions,
91
- extensionlessJsonOptions,
87
+ createConfig,
88
+ defaultExtensionlessIniFiles,
89
+ defaultExtensionlessJsonFiles,
90
+ extensionlessIniOptions,
91
+ extensionlessJsonOptions,
92
92
  } from "prettier-config-nick2bad4u";
93
93
 
94
- const myJsonFiles = [
95
- ...defaultExtensionlessJsonFiles,
96
- "**/.my-extra-json-rc",
97
- ];
94
+ const myJsonFiles = [...defaultExtensionlessJsonFiles, "**/.my-extra-json-rc"];
98
95
 
99
96
  export default createConfig({
100
- extensionlessJsonFiles: myJsonFiles,
101
- replaceDefaultExtensionlessJsonFiles: true,
97
+ extensionlessJsonFiles: myJsonFiles,
98
+ replaceDefaultExtensionlessJsonFiles: true,
102
99
  });
103
100
 
104
101
  // You can also spread option presets if you build your own override blocks:
@@ -120,15 +117,15 @@ same plugin/options behavior from a base override and only change a small delta
120
117
  import { createConfig } from "prettier-config-nick2bad4u";
121
118
 
122
119
  export default createConfig({
123
- inheritedOverrides: [
124
- {
125
- inheritFrom: "*.ts",
126
- files: "src/shared-config.ts",
127
- options: {
128
- printWidth: 140,
129
- },
130
- },
131
- ],
120
+ inheritedOverrides: [
121
+ {
122
+ inheritFrom: "*.ts",
123
+ files: "src/shared-config.ts",
124
+ options: {
125
+ printWidth: 140,
126
+ },
127
+ },
128
+ ],
132
129
  });
133
130
  ```
134
131
 
@@ -142,29 +139,29 @@ package.
142
139
 
143
140
  ```js
144
141
  import prettierConfig, {
145
- jsonOverrideOptions,
146
- typescriptOverrideOptions,
142
+ jsonOverrideOptions,
143
+ typescriptOverrideOptions,
147
144
  } from "prettier-config-nick2bad4u";
148
145
 
149
146
  export default {
150
- ...prettierConfig,
151
- overrides: [
152
- ...(prettierConfig.overrides ?? []),
153
- {
154
- files: "src/shared-config.ts",
155
- options: {
156
- ...typescriptOverrideOptions,
157
- printWidth: 140,
158
- },
159
- },
160
- {
161
- files: "config/custom.json",
162
- options: {
163
- ...jsonOverrideOptions,
164
- printWidth: 120,
165
- },
166
- },
167
- ],
147
+ ...prettierConfig,
148
+ overrides: [
149
+ ...(prettierConfig.overrides ?? []),
150
+ {
151
+ files: "src/shared-config.ts",
152
+ options: {
153
+ ...typescriptOverrideOptions,
154
+ printWidth: 140,
155
+ },
156
+ },
157
+ {
158
+ files: "config/custom.json",
159
+ options: {
160
+ ...jsonOverrideOptions,
161
+ printWidth: 120,
162
+ },
163
+ },
164
+ ],
168
165
  };
169
166
  ```
170
167
 
@@ -177,6 +174,7 @@ Available named override option presets:
177
174
  - `userJavaScriptOverrideOptions`
178
175
  - `markdownOverrideOptions`
179
176
  - `mdxOverrideOptions`
177
+ - `yamlOverrideOptions`
180
178
  - `tomlOverrideOptions`
181
179
  - `xmlOverrideOptions`
182
180
  - `phpOverrideOptions`
@@ -199,41 +197,41 @@ is explicitly present, so there is nothing implicit to break.
199
197
  import prettierConfig from "prettier-config-nick2bad4u";
200
198
 
201
199
  export default {
202
- ...prettierConfig,
203
- overrides: [
204
- ...(prettierConfig.overrides ?? []),
205
- {
206
- files: "src/shared-config.ts",
207
- options: {
208
- endOfLine: "lf",
209
- jsdocBracketSpacing: false,
210
- jsdocCapitalizeDescription: true,
211
- jsdocCommentLineStrategy: "keep",
212
- jsdocDescriptionTag: false,
213
- jsdocDescriptionWithDot: false,
214
- jsdocEmptyCommentStrategy: "keep",
215
- jsdocKeepUnParseAbleExampleIndent: false,
216
- jsdocLineWrappingStyle: "greedy",
217
- jsdocPreferCodeFences: true,
218
- jsdocPrintWidth: 80,
219
- jsdocSeparateReturnsFromParam: true,
220
- jsdocSeparateTagGroups: true,
221
- jsdocSpaces: 1,
222
- jsdocVerticalAlignment: false,
223
- multilineArraysWrapThreshold: 2,
224
- plugins: [
225
- "@softonus/prettier-plugin-duplicate-remover",
226
- "prettier-plugin-multiline-arrays",
227
- "prettier-plugin-jsdoc",
228
- "prettier-plugin-interpolated-html-tags",
229
- "prettier-plugin-merge",
230
- ],
231
- printWidth: 140, // your override
232
- tsdoc: true,
233
- useTabs: false,
234
- },
235
- },
200
+ ...prettierConfig,
201
+ overrides: [
202
+ ...(prettierConfig.overrides ?? []),
203
+ {
204
+ files: "src/shared-config.ts",
205
+ options: {
206
+ endOfLine: "lf",
207
+ jsdocBracketSpacing: false,
208
+ jsdocCapitalizeDescription: true,
209
+ jsdocCommentLineStrategy: "keep",
210
+ jsdocDescriptionTag: false,
211
+ jsdocDescriptionWithDot: false,
212
+ jsdocEmptyCommentStrategy: "keep",
213
+ jsdocKeepUnParseAbleExampleIndent: false,
214
+ jsdocLineWrappingStyle: "greedy",
215
+ jsdocPreferCodeFences: true,
216
+ jsdocPrintWidth: 80,
217
+ jsdocSeparateReturnsFromParam: true,
218
+ jsdocSeparateTagGroups: true,
219
+ jsdocSpaces: 1,
220
+ jsdocVerticalAlignment: false,
221
+ multilineArraysWrapThreshold: 2,
222
+ plugins: [
223
+ "@softonus/prettier-plugin-duplicate-remover",
224
+ "prettier-plugin-multiline-arrays",
225
+ "prettier-plugin-jsdoc",
226
+ "prettier-plugin-interpolated-html-tags",
227
+ "prettier-plugin-merge",
236
228
  ],
229
+ printWidth: 140, // your override
230
+ tsdoc: true,
231
+ useTabs: false,
232
+ },
233
+ },
234
+ ],
237
235
  };
238
236
  ```
239
237
 
@@ -249,42 +247,43 @@ If you prefer the original manual discovery approach, this still works:
249
247
  import prettierConfig from "prettier-config-nick2bad4u";
250
248
 
251
249
  const tsOverride = (prettierConfig.overrides ?? []).find(
252
- (override) =>
253
- Array.isArray(override.files) &&
254
- override.files.includes("*.ts")
250
+ (override) => Array.isArray(override.files) && override.files.includes("*.ts")
255
251
  );
256
252
 
257
253
  export default {
258
- ...prettierConfig,
259
- overrides: [
260
- ...(prettierConfig.overrides ?? []),
261
- {
262
- files: "src/shared-config.ts",
263
- options: {
264
- ...(tsOverride?.options ?? {}),
265
- printWidth: 140,
266
- },
267
- },
268
- ],
254
+ ...prettierConfig,
255
+ overrides: [
256
+ ...(prettierConfig.overrides ?? []),
257
+ {
258
+ files: "src/shared-config.ts",
259
+ options: {
260
+ ...(tsOverride?.options ?? {}),
261
+ printWidth: 140,
262
+ },
263
+ },
264
+ ],
269
265
  };
270
266
  ```
271
267
 
272
268
  ## What this config includes
273
269
 
274
270
  - Base formatting options (quotes, semicolons, trailing commas, tab width, etc.)
275
- - File-specific overrides for JS/TS, Markdown, JSON, TOML, HTML, XML, PowerShell, INI, SQL, shell, and properties files
271
+ - File-specific overrides for JS/TS, Astro, Markdown, JSON, TOML, HTML, XML, PowerShell, INI, SQL, shell, and properties files
276
272
  - Plugin-backed formatting for JSDoc, sorted JSON/package.json, and additional language formats
277
273
 
278
274
  ## Package surface
279
275
 
280
276
  - Default export: the shared Prettier config object
281
277
  - Named export: `config`
282
- - Named exports: `createConfig`, `defaultExtensionlessJsonFiles`, `defaultExtensionlessIniFiles`, `extensionlessJsonOptions`, `extensionlessIniOptions`, `typescriptOverrideOptions`, `jsonOverrideOptions`, `packageJsonOverrideOptions`, `htmlOverrideOptions`, `userJavaScriptOverrideOptions`, `markdownOverrideOptions`, `mdxOverrideOptions`, `tomlOverrideOptions`, `xmlOverrideOptions`, `phpOverrideOptions`, `sqlOverrideOptions`, `powershellOverrideOptions`, `codeownersOverrideOptions`, `shellOverrideOptions`, `propertiesOverrideOptions`, `iniOverrideOptions`
283
- - Published files: `prettier.config.mjs`, `preset.mjs`, and `index.d.ts`
278
+ - Named exports: `createConfig`, `defaultExtensionlessJsonFiles`, `defaultExtensionlessIniFiles`, `extensionlessJsonOptions`, `extensionlessIniOptions`, `typescriptOverrideOptions`, `jsonOverrideOptions`, `packageJsonOverrideOptions`, `htmlOverrideOptions`, `userJavaScriptOverrideOptions`, `markdownOverrideOptions`, `mdxOverrideOptions`, `astroOverrideOptions`, `yamlOverrideOptions`, `tomlOverrideOptions`, `xmlOverrideOptions`, `phpOverrideOptions`, `sqlOverrideOptions`, `powershellOverrideOptions`, `codeownersOverrideOptions`, `shellOverrideOptions`, `propertiesOverrideOptions`, `iniOverrideOptions`
279
+ - TypeScript source: `src/prettier.config.mts` and `src/preset.mts`
280
+ - Root shims: `prettier.config.mjs`, `preset.mjs`, `index.d.ts`, and `prettier.config.d.mts`
281
+ - Generated package implementation: `dist/`
284
282
 
285
283
  ## Development checks
286
284
 
287
285
  ```sh
286
+ npm run build
288
287
  npm run lint:all
289
288
  npm run coverage
290
289
  npm run release:verify
@@ -0,0 +1,66 @@
1
+ import type { Config } from "prettier";
2
+ import { type CreateConfigOptions as InternalCreateConfigOptions, type InheritedOverrideConfig as InternalInheritedOverrideConfig } from "./prettier.config.mjs";
3
+ /** Options for building a customized shared Prettier configuration. */
4
+ export type CreateConfigOptions = InternalCreateConfigOptions;
5
+ /**
6
+ * Configuration for appending an override that inherits from an existing base
7
+ * override.
8
+ */
9
+ export type InheritedOverrideConfig = InternalInheritedOverrideConfig;
10
+ type PublicPrettierOptions = Readonly<Partial<Config>>;
11
+ /** Named export — use when you want to spread or inspect individual options. */
12
+ export declare const config: Readonly<Config>;
13
+ /**
14
+ * Build a config with merged/replaced extensionless JSON/INI override globs.
15
+ */
16
+ export declare const createConfig: (options?: Readonly<CreateConfigOptions>) => Config;
17
+ /** Default extensionless INI-like globs used by this shared configuration. */
18
+ export declare const defaultExtensionlessIniFiles: readonly string[];
19
+ /** Default extensionless JSON-like globs used by this shared configuration. */
20
+ export declare const defaultExtensionlessJsonFiles: readonly string[];
21
+ /** Shared option preset used for extensionless INI-like override blocks. */
22
+ export declare const extensionlessIniOptions: PublicPrettierOptions;
23
+ /** Shared option preset used for extensionless JSON-like override blocks. */
24
+ export declare const extensionlessJsonOptions: PublicPrettierOptions;
25
+ /** Shared option preset used by the primary JS/TS override block. */
26
+ export declare const typescriptOverrideOptions: PublicPrettierOptions;
27
+ /** Shared option preset used by the generic JSON override block. */
28
+ export declare const jsonOverrideOptions: PublicPrettierOptions;
29
+ /** Shared option preset used by the package.json/package-lock override block. */
30
+ export declare const packageJsonOverrideOptions: PublicPrettierOptions;
31
+ /** Shared option preset used by HTML override blocks. */
32
+ export declare const htmlOverrideOptions: PublicPrettierOptions;
33
+ /** Shared option preset used by *.user.js override blocks. */
34
+ export declare const userJavaScriptOverrideOptions: PublicPrettierOptions;
35
+ /** Shared option preset used by Markdown override blocks. */
36
+ export declare const markdownOverrideOptions: PublicPrettierOptions;
37
+ /** Shared option preset used by MDX override blocks. */
38
+ export declare const mdxOverrideOptions: PublicPrettierOptions;
39
+ /** Shared option preset used by Astro override blocks. */
40
+ export declare const astroOverrideOptions: PublicPrettierOptions;
41
+ /** Shared option preset used by YAML override blocks. */
42
+ export declare const yamlOverrideOptions: PublicPrettierOptions;
43
+ /** Shared option preset used by TOML override blocks. */
44
+ export declare const tomlOverrideOptions: PublicPrettierOptions;
45
+ /** Shared option preset used by XML-family override blocks. */
46
+ export declare const xmlOverrideOptions: PublicPrettierOptions;
47
+ /** Shared option preset used by PHP override blocks. */
48
+ export declare const phpOverrideOptions: PublicPrettierOptions;
49
+ /** Shared option preset used by SQL override blocks. */
50
+ export declare const sqlOverrideOptions: PublicPrettierOptions;
51
+ /** Shared option preset used by PowerShell override blocks. */
52
+ export declare const powershellOverrideOptions: PublicPrettierOptions;
53
+ /** Shared option preset used by CODEOWNERS override blocks. */
54
+ export declare const codeownersOverrideOptions: PublicPrettierOptions;
55
+ /** Shared option preset used by shell script override blocks. */
56
+ export declare const shellOverrideOptions: PublicPrettierOptions;
57
+ /** Shared option preset used by .properties override blocks. */
58
+ export declare const propertiesOverrideOptions: PublicPrettierOptions;
59
+ /** Shared option preset used by .ini override blocks. */
60
+ export declare const iniOverrideOptions: PublicPrettierOptions;
61
+ /**
62
+ * Default export — distinct binding so consuming projects don't trigger
63
+ * import/default lint noise when consumers import the package default.
64
+ */
65
+ declare const prettierConfig: Readonly<Config>;
66
+ export default prettierConfig;
@@ -0,0 +1,101 @@
1
+ import sharedPrettierConfig, { astroOverrideOptions as astroOverrideOptionsInternal, codeownersOverrideOptions as codeownersOverrideOptionsInternal, createConfig as createConfigInternal, defaultExtensionlessIniFiles as defaultExtensionlessIniFilesInternal, defaultExtensionlessJsonFiles as defaultExtensionlessJsonFilesInternal, extensionlessIniOptions as extensionlessIniOptionsInternal, extensionlessJsonOptions as extensionlessJsonOptionsInternal, htmlOverrideOptions as htmlOverrideOptionsInternal, iniOverrideOptions as iniOverrideOptionsInternal, jsonOverrideOptions as jsonOverrideOptionsInternal, markdownOverrideOptions as markdownOverrideOptionsInternal, mdxOverrideOptions as mdxOverrideOptionsInternal, packageJsonOverrideOptions as packageJsonOverrideOptionsInternal, phpOverrideOptions as phpOverrideOptionsInternal, powershellOverrideOptions as powershellOverrideOptionsInternal, propertiesOverrideOptions as propertiesOverrideOptionsInternal, shellOverrideOptions as shellOverrideOptionsInternal, sqlOverrideOptions as sqlOverrideOptionsInternal, tomlOverrideOptions as tomlOverrideOptionsInternal, typescriptOverrideOptions as typescriptOverrideOptionsInternal, userJavaScriptOverrideOptions as userJavaScriptOverrideOptionsInternal, xmlOverrideOptions as xmlOverrideOptionsInternal, yamlOverrideOptions as yamlOverrideOptionsInternal, } from "./prettier.config.mjs";
2
+ /** Named export — use when you want to spread or inspect individual options. */
3
+ export const config = Object.freeze(sharedPrettierConfig);
4
+ /**
5
+ * Build a config with merged/replaced extensionless JSON/INI override globs.
6
+ */
7
+ export const createConfig = (options = {}) => createConfigInternal(options);
8
+ /** Default extensionless INI-like globs used by this shared configuration. */
9
+ export const defaultExtensionlessIniFiles = Object.freeze([
10
+ ...defaultExtensionlessIniFilesInternal,
11
+ ]);
12
+ /** Default extensionless JSON-like globs used by this shared configuration. */
13
+ export const defaultExtensionlessJsonFiles = Object.freeze([
14
+ ...defaultExtensionlessJsonFilesInternal,
15
+ ]);
16
+ /** Shared option preset used for extensionless INI-like override blocks. */
17
+ export const extensionlessIniOptions = Object.freeze({
18
+ ...extensionlessIniOptionsInternal,
19
+ });
20
+ /** Shared option preset used for extensionless JSON-like override blocks. */
21
+ export const extensionlessJsonOptions = Object.freeze({
22
+ ...extensionlessJsonOptionsInternal,
23
+ });
24
+ /** Shared option preset used by the primary JS/TS override block. */
25
+ export const typescriptOverrideOptions = Object.freeze({
26
+ ...typescriptOverrideOptionsInternal,
27
+ });
28
+ /** Shared option preset used by the generic JSON override block. */
29
+ export const jsonOverrideOptions = Object.freeze({
30
+ ...jsonOverrideOptionsInternal,
31
+ });
32
+ /** Shared option preset used by the package.json/package-lock override block. */
33
+ export const packageJsonOverrideOptions = Object.freeze({
34
+ ...packageJsonOverrideOptionsInternal,
35
+ });
36
+ /** Shared option preset used by HTML override blocks. */
37
+ export const htmlOverrideOptions = Object.freeze({
38
+ ...htmlOverrideOptionsInternal,
39
+ });
40
+ /** Shared option preset used by *.user.js override blocks. */
41
+ export const userJavaScriptOverrideOptions = Object.freeze({
42
+ ...userJavaScriptOverrideOptionsInternal,
43
+ });
44
+ /** Shared option preset used by Markdown override blocks. */
45
+ export const markdownOverrideOptions = Object.freeze({
46
+ ...markdownOverrideOptionsInternal,
47
+ });
48
+ /** Shared option preset used by MDX override blocks. */
49
+ export const mdxOverrideOptions = Object.freeze({
50
+ ...mdxOverrideOptionsInternal,
51
+ });
52
+ /** Shared option preset used by Astro override blocks. */
53
+ export const astroOverrideOptions = Object.freeze({
54
+ ...astroOverrideOptionsInternal,
55
+ });
56
+ /** Shared option preset used by YAML override blocks. */
57
+ export const yamlOverrideOptions = Object.freeze({
58
+ ...yamlOverrideOptionsInternal,
59
+ });
60
+ /** Shared option preset used by TOML override blocks. */
61
+ export const tomlOverrideOptions = Object.freeze({
62
+ ...tomlOverrideOptionsInternal,
63
+ });
64
+ /** Shared option preset used by XML-family override blocks. */
65
+ export const xmlOverrideOptions = Object.freeze({
66
+ ...xmlOverrideOptionsInternal,
67
+ });
68
+ /** Shared option preset used by PHP override blocks. */
69
+ export const phpOverrideOptions = Object.freeze({
70
+ ...phpOverrideOptionsInternal,
71
+ });
72
+ /** Shared option preset used by SQL override blocks. */
73
+ export const sqlOverrideOptions = Object.freeze({
74
+ ...sqlOverrideOptionsInternal,
75
+ });
76
+ /** Shared option preset used by PowerShell override blocks. */
77
+ export const powershellOverrideOptions = Object.freeze({
78
+ ...powershellOverrideOptionsInternal,
79
+ });
80
+ /** Shared option preset used by CODEOWNERS override blocks. */
81
+ export const codeownersOverrideOptions = Object.freeze({
82
+ ...codeownersOverrideOptionsInternal,
83
+ });
84
+ /** Shared option preset used by shell script override blocks. */
85
+ export const shellOverrideOptions = Object.freeze({
86
+ ...shellOverrideOptionsInternal,
87
+ });
88
+ /** Shared option preset used by .properties override blocks. */
89
+ export const propertiesOverrideOptions = Object.freeze({
90
+ ...propertiesOverrideOptionsInternal,
91
+ });
92
+ /** Shared option preset used by .ini override blocks. */
93
+ export const iniOverrideOptions = Object.freeze({
94
+ ...iniOverrideOptionsInternal,
95
+ });
96
+ /**
97
+ * Default export — distinct binding so consuming projects don't trigger
98
+ * import/default lint noise when consumers import the package default.
99
+ */
100
+ const prettierConfig = config;
101
+ export default prettierConfig;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Prettier configuration for Nick2Bad4U's projects
3
+ *
4
+ * @see https://prettier.io/docs/en/configuration.html
5
+ * @see https://www.schemastore.org/prettierrc/
6
+ */
7
+ import type { Config } from "prettier";
8
+ /** Options for building a customized shared Prettier configuration. */
9
+ export interface CreateConfigOptions {
10
+ /** Additional extensionless INI-like file globs to include. */
11
+ extensionlessIniFiles?: readonly string[];
12
+ /** Additional extensionless JSON-like file globs to include. */
13
+ extensionlessJsonFiles?: readonly string[];
14
+ /**
15
+ * Additional file-targeted overrides that inherit options from existing
16
+ * base overrides.
17
+ */
18
+ inheritedOverrides?: readonly InheritedOverrideConfig[];
19
+ /** Replace default INI-like globs instead of merging with them. */
20
+ replaceDefaultExtensionlessIniFiles?: boolean;
21
+ /** Replace default JSON-like globs instead of merging with them. */
22
+ replaceDefaultExtensionlessJsonFiles?: boolean;
23
+ }
24
+ /**
25
+ * Configuration for appending an override that inherits from an existing base
26
+ * override.
27
+ */
28
+ export interface InheritedOverrideConfig {
29
+ /** Optional file pattern(s) to exclude from the inherited override. */
30
+ excludeFiles?: OverrideFiles;
31
+ /** File pattern(s) for the new inherited override to target. */
32
+ files: OverrideFiles;
33
+ /**
34
+ * Existing base override file pattern(s) to inherit options from (for
35
+ * example "*.ts").
36
+ */
37
+ inheritFrom: OverrideFiles;
38
+ /**
39
+ * Additional override options merged on top of the inherited source
40
+ * options.
41
+ */
42
+ options?: Readonly<PluginAwarePrettierOptions>;
43
+ }
44
+ type ConfigOverride = ConfigOverrides extends readonly (infer Override)[] ? Override : never;
45
+ type ConfigOverrides = NonNullable<Config["overrides"]>;
46
+ type OverrideFiles = ConfigOverride["files"];
47
+ type PluginAwarePrettierOptions = Partial<Config>;
48
+ /** Default extensionless JSON-like globs used by this shared configuration. */
49
+ export declare const defaultExtensionlessJsonFiles: readonly string[];
50
+ /** Default extensionless INI-like globs used by this shared configuration. */
51
+ export declare const defaultExtensionlessIniFiles: readonly string[];
52
+ /** Shared option preset used for extensionless JSON-like override blocks. */
53
+ export declare const extensionlessJsonOptions: Readonly<PluginAwarePrettierOptions>;
54
+ /** Shared option preset used for extensionless INI-like override blocks. */
55
+ export declare const extensionlessIniOptions: Readonly<PluginAwarePrettierOptions>;
56
+ /** Shared option preset used by the primary JS/TS override block. */
57
+ export declare const typescriptOverrideOptions: Readonly<PluginAwarePrettierOptions>;
58
+ /** Shared option preset used by the generic JSON override block. */
59
+ export declare const jsonOverrideOptions: Readonly<PluginAwarePrettierOptions>;
60
+ /** Shared option preset used by the package.json/package-lock override block. */
61
+ export declare const packageJsonOverrideOptions: Readonly<PluginAwarePrettierOptions>;
62
+ /** Shared option preset used by HTML override blocks. */
63
+ export declare const htmlOverrideOptions: Readonly<PluginAwarePrettierOptions>;
64
+ /** Shared option preset used by *.user.js override blocks. */
65
+ export declare const userJavaScriptOverrideOptions: Readonly<PluginAwarePrettierOptions>;
66
+ /** Shared option preset used by Markdown override blocks. */
67
+ export declare const markdownOverrideOptions: Readonly<PluginAwarePrettierOptions>;
68
+ /** Shared option preset used by MDX override blocks. */
69
+ export declare const mdxOverrideOptions: Readonly<PluginAwarePrettierOptions>;
70
+ /** Shared option preset used by Astro override blocks. */
71
+ export declare const astroOverrideOptions: Readonly<PluginAwarePrettierOptions>;
72
+ /** Shared option preset used by YAML override blocks. */
73
+ export declare const yamlOverrideOptions: Readonly<PluginAwarePrettierOptions>;
74
+ /** Shared option preset used by TOML override blocks. */
75
+ export declare const tomlOverrideOptions: Readonly<PluginAwarePrettierOptions>;
76
+ /** Shared option preset used by XML-family override blocks. */
77
+ export declare const xmlOverrideOptions: Readonly<PluginAwarePrettierOptions>;
78
+ /** Shared option preset used by PHP override blocks. */
79
+ export declare const phpOverrideOptions: Readonly<PluginAwarePrettierOptions>;
80
+ /** Shared option preset used by SQL override blocks. */
81
+ export declare const sqlOverrideOptions: Readonly<PluginAwarePrettierOptions>;
82
+ /** Shared option preset used by PowerShell override blocks. */
83
+ export declare const powershellOverrideOptions: Readonly<PluginAwarePrettierOptions>;
84
+ /** Shared option preset used by CODEOWNERS override blocks. */
85
+ export declare const codeownersOverrideOptions: Readonly<PluginAwarePrettierOptions>;
86
+ /** Shared option preset used by shell script override blocks. */
87
+ export declare const shellOverrideOptions: Readonly<PluginAwarePrettierOptions>;
88
+ /** Shared option preset used by .properties override blocks. */
89
+ export declare const propertiesOverrideOptions: Readonly<PluginAwarePrettierOptions>;
90
+ /** Shared option preset used by .ini override blocks. */
91
+ export declare const iniOverrideOptions: Readonly<PluginAwarePrettierOptions>;
92
+ /**
93
+ * Build a Prettier config with optional extensionless JSON and INI file
94
+ * overrides.
95
+ */
96
+ export declare const createConfig: (options?: Readonly<CreateConfigOptions>) => Config;
97
+ /** Shared Prettier configuration exported by default for package consumers. */
98
+ declare const sharedPrettierConfig: Config;
99
+ export default sharedPrettierConfig;