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 +99 -100
- package/dist/preset.d.mts +66 -0
- package/dist/preset.mjs +101 -0
- package/dist/prettier.config.d.mts +99 -0
- package/dist/prettier.config.mjs +508 -0
- package/index.d.ts +2 -99
- package/package.json +34 -22
- package/preset.mjs +2 -155
- package/prettier.config.d.mts +2 -0
- package/prettier.config.mjs +2 -450
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
|
-
|
|
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
|
-
|
|
50
|
-
|
|
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
|
-
|
|
66
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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
|
-
|
|
146
|
-
|
|
142
|
+
jsonOverrideOptions,
|
|
143
|
+
typescriptOverrideOptions,
|
|
147
144
|
} from "prettier-config-nick2bad4u";
|
|
148
145
|
|
|
149
146
|
export default {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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
|
-
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
-
|
|
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;
|
package/dist/preset.mjs
ADDED
|
@@ -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;
|