prettier-config-nick2bad4u 1.0.10 → 1.0.12
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 +162 -1
- package/index.d.ts +58 -0
- package/package.json +8 -7
- package/preset.mjs +102 -0
- package/prettier.config.mjs +335 -242
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# prettier-config-nick2bad4u
|
|
2
2
|
|
|
3
|
+
[](https://github.com/Nick2bad4u/prettier-config-nick2bad4u/blob/main/LICENSE) [](https://www.npmjs.com/package/prettier-config-nick2bad4u) [](https://github.com/Nick2bad4u/prettier-config-nick2bad4u/releases) [](https://github.com/Nick2bad4u/prettier-config-nick2bad4u/stargazers) [](https://github.com/Nick2bad4u/prettier-config-nick2bad4u/forks) [](https://github.com/Nick2bad4u/prettier-config-nick2bad4u/issues) [](https://codecov.io/gh/Nick2bad4u/prettier-config-nick2bad4u)
|
|
4
|
+
|
|
3
5
|
Shared Prettier config for Nick2bad4u projects.
|
|
4
6
|
|
|
5
7
|
## Install
|
|
@@ -108,6 +110,165 @@ void extensionlessJsonOptions;
|
|
|
108
110
|
> `.browserlistrc` is **not** INI/properties syntax, so it is not included in
|
|
109
111
|
> the extensionless INI defaults.
|
|
110
112
|
|
|
113
|
+
### Option 5: inherit existing override options for specific files
|
|
114
|
+
|
|
115
|
+
Use `inheritedOverrides` when you want one file (or file group) to keep the
|
|
116
|
+
same plugin/options behavior from a base override and only change a small delta
|
|
117
|
+
(for example `printWidth`).
|
|
118
|
+
|
|
119
|
+
```js
|
|
120
|
+
import { createConfig } from "prettier-config-nick2bad4u";
|
|
121
|
+
|
|
122
|
+
export default createConfig({
|
|
123
|
+
inheritedOverrides: [
|
|
124
|
+
{
|
|
125
|
+
inheritFrom: "*.ts",
|
|
126
|
+
files: "src/shared-config.ts",
|
|
127
|
+
options: {
|
|
128
|
+
printWidth: 140,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
});
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This keeps TypeScript override behavior (plugins and related options) and only
|
|
136
|
+
overrides `printWidth` for `src/shared-config.ts`.
|
|
137
|
+
|
|
138
|
+
### Option 6: use exported common override option presets
|
|
139
|
+
|
|
140
|
+
For advanced local configs, you can directly use option presets exported by the
|
|
141
|
+
package.
|
|
142
|
+
|
|
143
|
+
```js
|
|
144
|
+
import prettierConfig, {
|
|
145
|
+
jsonOverrideOptions,
|
|
146
|
+
typescriptOverrideOptions,
|
|
147
|
+
} from "prettier-config-nick2bad4u";
|
|
148
|
+
|
|
149
|
+
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
|
+
],
|
|
168
|
+
};
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Available named override option presets:
|
|
172
|
+
|
|
173
|
+
- `typescriptOverrideOptions`
|
|
174
|
+
- `jsonOverrideOptions`
|
|
175
|
+
- `packageJsonOverrideOptions`
|
|
176
|
+
- `htmlOverrideOptions`
|
|
177
|
+
- `userJavaScriptOverrideOptions`
|
|
178
|
+
- `markdownOverrideOptions`
|
|
179
|
+
- `mdxOverrideOptions`
|
|
180
|
+
- `tomlOverrideOptions`
|
|
181
|
+
- `xmlOverrideOptions`
|
|
182
|
+
- `phpOverrideOptions`
|
|
183
|
+
- `sqlOverrideOptions`
|
|
184
|
+
- `powershellOverrideOptions`
|
|
185
|
+
- `codeownersOverrideOptions`
|
|
186
|
+
- `shellOverrideOptions`
|
|
187
|
+
- `propertiesOverrideOptions`
|
|
188
|
+
- `iniOverrideOptions`
|
|
189
|
+
- `extensionlessJsonOptions`
|
|
190
|
+
- `extensionlessIniOptions`
|
|
191
|
+
|
|
192
|
+
### Option 7: full manual options block (most explicit, zero magic)
|
|
193
|
+
|
|
194
|
+
The simplest and most robust approach when `inheritedOverrides` doesn't behave
|
|
195
|
+
as expected: just paste the full options block directly. Every plugin and option
|
|
196
|
+
is explicitly present, so there is nothing implicit to break.
|
|
197
|
+
|
|
198
|
+
```js
|
|
199
|
+
import prettierConfig from "prettier-config-nick2bad4u";
|
|
200
|
+
|
|
201
|
+
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
|
+
},
|
|
236
|
+
],
|
|
237
|
+
};
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
This is the recommended fallback if you ever find plugin behavior not applying
|
|
241
|
+
correctly: copy the relevant options block from the named presets above and
|
|
242
|
+
paste it in verbatim.
|
|
243
|
+
|
|
244
|
+
### Option 8: legacy/manual override inheritance (kept for compatibility)
|
|
245
|
+
|
|
246
|
+
If you prefer the original manual discovery approach, this still works:
|
|
247
|
+
|
|
248
|
+
```js
|
|
249
|
+
import prettierConfig from "prettier-config-nick2bad4u";
|
|
250
|
+
|
|
251
|
+
const tsOverride = (prettierConfig.overrides ?? []).find(
|
|
252
|
+
(override) =>
|
|
253
|
+
Array.isArray(override.files) &&
|
|
254
|
+
override.files.includes("*.ts")
|
|
255
|
+
);
|
|
256
|
+
|
|
257
|
+
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
|
+
],
|
|
269
|
+
};
|
|
270
|
+
```
|
|
271
|
+
|
|
111
272
|
## What this config includes
|
|
112
273
|
|
|
113
274
|
- Base formatting options (quotes, semicolons, trailing commas, tab width, etc.)
|
|
@@ -118,7 +279,7 @@ void extensionlessJsonOptions;
|
|
|
118
279
|
|
|
119
280
|
- Default export: the shared Prettier config object
|
|
120
281
|
- Named export: `config`
|
|
121
|
-
- Named exports: `createConfig`, `defaultExtensionlessJsonFiles`, `defaultExtensionlessIniFiles`, `extensionlessJsonOptions`, `extensionlessIniOptions`
|
|
282
|
+
- Named exports: `createConfig`, `defaultExtensionlessJsonFiles`, `defaultExtensionlessIniFiles`, `extensionlessJsonOptions`, `extensionlessIniOptions`, `typescriptOverrideOptions`, `jsonOverrideOptions`, `packageJsonOverrideOptions`, `htmlOverrideOptions`, `userJavaScriptOverrideOptions`, `markdownOverrideOptions`, `mdxOverrideOptions`, `tomlOverrideOptions`, `xmlOverrideOptions`, `phpOverrideOptions`, `sqlOverrideOptions`, `powershellOverrideOptions`, `codeownersOverrideOptions`, `shellOverrideOptions`, `propertiesOverrideOptions`, `iniOverrideOptions`
|
|
122
283
|
- Published files: `prettier.config.mjs`, `preset.mjs`, and `index.d.ts`
|
|
123
284
|
|
|
124
285
|
## Development checks
|
package/index.d.ts
CHANGED
|
@@ -6,12 +6,38 @@ export interface CreateConfigOptions {
|
|
|
6
6
|
extensionlessIniFiles?: readonly string[];
|
|
7
7
|
/** Additional extensionless JSON-like file globs to include. */
|
|
8
8
|
extensionlessJsonFiles?: readonly string[];
|
|
9
|
+
/**
|
|
10
|
+
* Additional file-targeted overrides that inherit options from existing
|
|
11
|
+
* base overrides.
|
|
12
|
+
*/
|
|
13
|
+
inheritedOverrides?: readonly InheritedOverrideConfig[];
|
|
9
14
|
/** Replace default INI-like globs instead of merging with them. */
|
|
10
15
|
replaceDefaultExtensionlessIniFiles?: boolean;
|
|
11
16
|
/** Replace default JSON-like globs instead of merging with them. */
|
|
12
17
|
replaceDefaultExtensionlessJsonFiles?: boolean;
|
|
13
18
|
}
|
|
14
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Configuration for appending an override that inherits from an existing base
|
|
22
|
+
* override.
|
|
23
|
+
*/
|
|
24
|
+
export interface InheritedOverrideConfig {
|
|
25
|
+
/** Optional file pattern(s) to exclude from the inherited override. */
|
|
26
|
+
excludeFiles?: string | string[];
|
|
27
|
+
/** File pattern(s) for the new inherited override to target. */
|
|
28
|
+
files: string | string[];
|
|
29
|
+
/**
|
|
30
|
+
* Existing base override file pattern(s) to inherit options from (for
|
|
31
|
+
* example "*.ts").
|
|
32
|
+
*/
|
|
33
|
+
inheritFrom: string | string[];
|
|
34
|
+
/**
|
|
35
|
+
* Additional override options merged on top of the inherited source
|
|
36
|
+
* options.
|
|
37
|
+
*/
|
|
38
|
+
options?: Readonly<Partial<Config>>;
|
|
39
|
+
}
|
|
40
|
+
|
|
15
41
|
/** Named export — use when you want to spread or inspect individual options. */
|
|
16
42
|
export declare const config: Readonly<Config>;
|
|
17
43
|
|
|
@@ -23,6 +49,38 @@ export declare const defaultExtensionlessJsonFiles: readonly string[];
|
|
|
23
49
|
export declare const extensionlessIniOptions: Readonly<Partial<Config>>;
|
|
24
50
|
/** Shared option preset used for extensionless JSON-like override blocks. */
|
|
25
51
|
export declare const extensionlessJsonOptions: Readonly<Partial<Config>>;
|
|
52
|
+
/** Shared option preset used by the primary JS/TS override block. */
|
|
53
|
+
export declare const typescriptOverrideOptions: Readonly<Partial<Config>>;
|
|
54
|
+
/** Shared option preset used by the generic JSON override block. */
|
|
55
|
+
export declare const jsonOverrideOptions: Readonly<Partial<Config>>;
|
|
56
|
+
/** Shared option preset used by the package.json/package-lock override block. */
|
|
57
|
+
export declare const packageJsonOverrideOptions: Readonly<Partial<Config>>;
|
|
58
|
+
/** Shared option preset used by HTML override blocks. */
|
|
59
|
+
export declare const htmlOverrideOptions: Readonly<Partial<Config>>;
|
|
60
|
+
/** Shared option preset used by *.user.js override blocks. */
|
|
61
|
+
export declare const userJavaScriptOverrideOptions: Readonly<Partial<Config>>;
|
|
62
|
+
/** Shared option preset used by Markdown override blocks. */
|
|
63
|
+
export declare const markdownOverrideOptions: Readonly<Partial<Config>>;
|
|
64
|
+
/** Shared option preset used by MDX override blocks. */
|
|
65
|
+
export declare const mdxOverrideOptions: Readonly<Partial<Config>>;
|
|
66
|
+
/** Shared option preset used by TOML override blocks. */
|
|
67
|
+
export declare const tomlOverrideOptions: Readonly<Partial<Config>>;
|
|
68
|
+
/** Shared option preset used by XML-family override blocks. */
|
|
69
|
+
export declare const xmlOverrideOptions: Readonly<Partial<Config>>;
|
|
70
|
+
/** Shared option preset used by PHP override blocks. */
|
|
71
|
+
export declare const phpOverrideOptions: Readonly<Partial<Config>>;
|
|
72
|
+
/** Shared option preset used by SQL override blocks. */
|
|
73
|
+
export declare const sqlOverrideOptions: Readonly<Partial<Config>>;
|
|
74
|
+
/** Shared option preset used by PowerShell override blocks. */
|
|
75
|
+
export declare const powershellOverrideOptions: Readonly<Partial<Config>>;
|
|
76
|
+
/** Shared option preset used by CODEOWNERS override blocks. */
|
|
77
|
+
export declare const codeownersOverrideOptions: Readonly<Partial<Config>>;
|
|
78
|
+
/** Shared option preset used by shell script override blocks. */
|
|
79
|
+
export declare const shellOverrideOptions: Readonly<Partial<Config>>;
|
|
80
|
+
/** Shared option preset used by .properties override blocks. */
|
|
81
|
+
export declare const propertiesOverrideOptions: Readonly<Partial<Config>>;
|
|
82
|
+
/** Shared option preset used by .ini override blocks. */
|
|
83
|
+
export declare const iniOverrideOptions: Readonly<Partial<Config>>;
|
|
26
84
|
|
|
27
85
|
/** Build a shared config with merged or replaced extensionless override globs. */
|
|
28
86
|
export declare function createConfig(
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://www.schemastore.org/package.json",
|
|
3
3
|
"name": "prettier-config-nick2bad4u",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.12",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Shared Prettier config for Nick2bad4u projects.",
|
|
7
7
|
"keywords": [
|
|
@@ -85,7 +85,6 @@
|
|
|
85
85
|
"@prettier/plugin-php": "^0.25.0",
|
|
86
86
|
"@prettier/plugin-xml": "^3.4.2",
|
|
87
87
|
"@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
|
|
88
|
-
"npm-check-updates": "^22.1.0",
|
|
89
88
|
"prettier-plugin-codeowners": "^0.1.1",
|
|
90
89
|
"prettier-plugin-ini": "^1.3.0",
|
|
91
90
|
"prettier-plugin-interpolated-html-tags": "^2.0.1",
|
|
@@ -102,27 +101,29 @@
|
|
|
102
101
|
},
|
|
103
102
|
"devDependencies": {
|
|
104
103
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
105
|
-
"@
|
|
104
|
+
"@codecov/bundle-analyzer": "^2.0.1",
|
|
105
|
+
"@types/node": "^25.6.2",
|
|
106
106
|
"@vitest/coverage-v8": "^4.1.5",
|
|
107
107
|
"cross-env": "^10.1.0",
|
|
108
108
|
"eslint": "^10.3.0",
|
|
109
|
-
"eslint-config-nick2bad4u": "^1.0.
|
|
109
|
+
"eslint-config-nick2bad4u": "^1.0.12",
|
|
110
110
|
"git-cliff": "^2.13.1",
|
|
111
|
+
"npm-check-updates": "^22.1.1",
|
|
111
112
|
"npm-package-json-lint": "^10.4.0",
|
|
112
113
|
"picocolors": "^1.1.1",
|
|
113
114
|
"prettier": "^3.8.3",
|
|
114
|
-
"publint": "^0.3.
|
|
115
|
+
"publint": "^0.3.20",
|
|
115
116
|
"secretlint": "^13.0.0",
|
|
116
117
|
"secretlint-config-nick2bad4u": "^1.0.4",
|
|
117
118
|
"sort-package-json": "^3.6.1",
|
|
118
119
|
"typescript": "^6.0.3",
|
|
119
|
-
"vite": "^8.0.
|
|
120
|
+
"vite": "^8.0.11",
|
|
120
121
|
"vitest": "^4.1.5"
|
|
121
122
|
},
|
|
122
123
|
"peerDependencies": {
|
|
123
124
|
"prettier": "^3.0.0 || ^3.8.3"
|
|
124
125
|
},
|
|
125
|
-
"packageManager": "npm@11.14.
|
|
126
|
+
"packageManager": "npm@11.14.1",
|
|
126
127
|
"engines": {
|
|
127
128
|
"node": ">=22.0.0"
|
|
128
129
|
},
|
package/preset.mjs
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import sharedPrettierConfig, {
|
|
2
|
+
codeownersOverrideOptions as codeownersOverrideOptionsInternal,
|
|
2
3
|
createConfig as createConfigInternal,
|
|
3
4
|
defaultExtensionlessIniFiles as defaultExtensionlessIniFilesInternal,
|
|
4
5
|
defaultExtensionlessJsonFiles as defaultExtensionlessJsonFilesInternal,
|
|
5
6
|
extensionlessIniOptions as extensionlessIniOptionsInternal,
|
|
6
7
|
extensionlessJsonOptions as extensionlessJsonOptionsInternal,
|
|
8
|
+
htmlOverrideOptions as htmlOverrideOptionsInternal,
|
|
9
|
+
iniOverrideOptions as iniOverrideOptionsInternal,
|
|
10
|
+
jsonOverrideOptions as jsonOverrideOptionsInternal,
|
|
11
|
+
markdownOverrideOptions as markdownOverrideOptionsInternal,
|
|
12
|
+
mdxOverrideOptions as mdxOverrideOptionsInternal,
|
|
13
|
+
packageJsonOverrideOptions as packageJsonOverrideOptionsInternal,
|
|
14
|
+
phpOverrideOptions as phpOverrideOptionsInternal,
|
|
15
|
+
powershellOverrideOptions as powershellOverrideOptionsInternal,
|
|
16
|
+
propertiesOverrideOptions as propertiesOverrideOptionsInternal,
|
|
17
|
+
shellOverrideOptions as shellOverrideOptionsInternal,
|
|
18
|
+
sqlOverrideOptions as sqlOverrideOptionsInternal,
|
|
19
|
+
tomlOverrideOptions as tomlOverrideOptionsInternal,
|
|
20
|
+
typescriptOverrideOptions as typescriptOverrideOptionsInternal,
|
|
21
|
+
userJavaScriptOverrideOptions as userJavaScriptOverrideOptionsInternal,
|
|
22
|
+
xmlOverrideOptions as xmlOverrideOptionsInternal,
|
|
7
23
|
} from "./prettier.config.mjs";
|
|
8
24
|
|
|
9
25
|
/** Named export — use when you want to spread or inspect individual options. */
|
|
@@ -16,6 +32,12 @@ export const config = Object.freeze(sharedPrettierConfig);
|
|
|
16
32
|
* options?: Readonly<{
|
|
17
33
|
* extensionlessIniFiles?: readonly string[];
|
|
18
34
|
* extensionlessJsonFiles?: readonly string[];
|
|
35
|
+
* inheritedOverrides?: ReadonlyArray<{
|
|
36
|
+
* files: string | string[];
|
|
37
|
+
* inheritFrom: string | string[];
|
|
38
|
+
* excludeFiles?: string | string[];
|
|
39
|
+
* options?: Readonly<Partial<import("prettier").Config>>;
|
|
40
|
+
* }>;
|
|
19
41
|
* replaceDefaultExtensionlessIniFiles?: boolean;
|
|
20
42
|
* replaceDefaultExtensionlessJsonFiles?: boolean;
|
|
21
43
|
* }>
|
|
@@ -44,6 +66,86 @@ export const extensionlessJsonOptions = Object.freeze({
|
|
|
44
66
|
...extensionlessJsonOptionsInternal,
|
|
45
67
|
});
|
|
46
68
|
|
|
69
|
+
/** Shared option preset used by the primary JS/TS override block. */
|
|
70
|
+
export const typescriptOverrideOptions = Object.freeze({
|
|
71
|
+
...typescriptOverrideOptionsInternal,
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
/** Shared option preset used by the generic JSON override block. */
|
|
75
|
+
export const jsonOverrideOptions = Object.freeze({
|
|
76
|
+
...jsonOverrideOptionsInternal,
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
/** Shared option preset used by the package.json/package-lock override block. */
|
|
80
|
+
export const packageJsonOverrideOptions = Object.freeze({
|
|
81
|
+
...packageJsonOverrideOptionsInternal,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
/** Shared option preset used by HTML override blocks. */
|
|
85
|
+
export const htmlOverrideOptions = Object.freeze({
|
|
86
|
+
...htmlOverrideOptionsInternal,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
/** Shared option preset used by *.user.js override blocks. */
|
|
90
|
+
export const userJavaScriptOverrideOptions = Object.freeze({
|
|
91
|
+
...userJavaScriptOverrideOptionsInternal,
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/** Shared option preset used by Markdown override blocks. */
|
|
95
|
+
export const markdownOverrideOptions = Object.freeze({
|
|
96
|
+
...markdownOverrideOptionsInternal,
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
/** Shared option preset used by MDX override blocks. */
|
|
100
|
+
export const mdxOverrideOptions = Object.freeze({
|
|
101
|
+
...mdxOverrideOptionsInternal,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
/** Shared option preset used by TOML override blocks. */
|
|
105
|
+
export const tomlOverrideOptions = Object.freeze({
|
|
106
|
+
...tomlOverrideOptionsInternal,
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
/** Shared option preset used by XML-family override blocks. */
|
|
110
|
+
export const xmlOverrideOptions = Object.freeze({
|
|
111
|
+
...xmlOverrideOptionsInternal,
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
/** Shared option preset used by PHP override blocks. */
|
|
115
|
+
export const phpOverrideOptions = Object.freeze({
|
|
116
|
+
...phpOverrideOptionsInternal,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
/** Shared option preset used by SQL override blocks. */
|
|
120
|
+
export const sqlOverrideOptions = Object.freeze({
|
|
121
|
+
...sqlOverrideOptionsInternal,
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/** Shared option preset used by PowerShell override blocks. */
|
|
125
|
+
export const powershellOverrideOptions = Object.freeze({
|
|
126
|
+
...powershellOverrideOptionsInternal,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
/** Shared option preset used by CODEOWNERS override blocks. */
|
|
130
|
+
export const codeownersOverrideOptions = Object.freeze({
|
|
131
|
+
...codeownersOverrideOptionsInternal,
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
/** Shared option preset used by shell script override blocks. */
|
|
135
|
+
export const shellOverrideOptions = Object.freeze({
|
|
136
|
+
...shellOverrideOptionsInternal,
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
/** Shared option preset used by .properties override blocks. */
|
|
140
|
+
export const propertiesOverrideOptions = Object.freeze({
|
|
141
|
+
...propertiesOverrideOptionsInternal,
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
/** Shared option preset used by .ini override blocks. */
|
|
145
|
+
export const iniOverrideOptions = Object.freeze({
|
|
146
|
+
...iniOverrideOptionsInternal,
|
|
147
|
+
});
|
|
148
|
+
|
|
47
149
|
/**
|
|
48
150
|
* Default export — distinct binding so consuming projects don't trigger
|
|
49
151
|
* `import-x/no-named-as-default` when they write `import prettierConfig from
|
package/prettier.config.mjs
CHANGED
|
@@ -5,10 +5,20 @@
|
|
|
5
5
|
* @see https://www.schemastore.org/prettierrc/
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {{
|
|
10
|
+
* files: string | string[];
|
|
11
|
+
* inheritFrom: string | string[];
|
|
12
|
+
* excludeFiles?: string | string[];
|
|
13
|
+
* options?: Readonly<Partial<import("prettier").Config>>;
|
|
14
|
+
* }} InheritedOverrideConfig
|
|
15
|
+
*/
|
|
16
|
+
|
|
8
17
|
/**
|
|
9
18
|
* @typedef {{
|
|
10
19
|
* extensionlessIniFiles?: readonly string[];
|
|
11
20
|
* extensionlessJsonFiles?: readonly string[];
|
|
21
|
+
* inheritedOverrides?: readonly InheritedOverrideConfig[];
|
|
12
22
|
* replaceDefaultExtensionlessIniFiles?: boolean;
|
|
13
23
|
* replaceDefaultExtensionlessJsonFiles?: boolean;
|
|
14
24
|
* }} CreateConfigOptions
|
|
@@ -49,6 +59,188 @@ export const extensionlessIniOptions = Object.freeze({
|
|
|
49
59
|
useTabs: false,
|
|
50
60
|
});
|
|
51
61
|
|
|
62
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
63
|
+
export const typescriptOverrideOptions = Object.freeze({
|
|
64
|
+
endOfLine: "lf",
|
|
65
|
+
jsdocBracketSpacing: false,
|
|
66
|
+
jsdocCapitalizeDescription: true,
|
|
67
|
+
jsdocCommentLineStrategy: "keep",
|
|
68
|
+
jsdocDescriptionTag: false,
|
|
69
|
+
jsdocDescriptionWithDot: false,
|
|
70
|
+
jsdocEmptyCommentStrategy: "keep",
|
|
71
|
+
jsdocKeepUnParseAbleExampleIndent: false,
|
|
72
|
+
jsdocLineWrappingStyle: "greedy",
|
|
73
|
+
jsdocPreferCodeFences: true,
|
|
74
|
+
jsdocPrintWidth: 80,
|
|
75
|
+
jsdocSeparateReturnsFromParam: true,
|
|
76
|
+
jsdocSeparateTagGroups: true,
|
|
77
|
+
jsdocSpaces: 1,
|
|
78
|
+
jsdocVerticalAlignment: false,
|
|
79
|
+
multilineArraysWrapThreshold: 2,
|
|
80
|
+
plugins: [
|
|
81
|
+
"@softonus/prettier-plugin-duplicate-remover",
|
|
82
|
+
"prettier-plugin-multiline-arrays",
|
|
83
|
+
"prettier-plugin-jsdoc",
|
|
84
|
+
"prettier-plugin-interpolated-html-tags",
|
|
85
|
+
"prettier-plugin-merge",
|
|
86
|
+
],
|
|
87
|
+
tsdoc: true,
|
|
88
|
+
useTabs: false,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
92
|
+
export const jsonOverrideOptions = Object.freeze({
|
|
93
|
+
endOfLine: "lf",
|
|
94
|
+
jsonRecursiveSort: false,
|
|
95
|
+
jsonSortOrder: '{"*": "numeric"}',
|
|
96
|
+
multilineArraysWrapThreshold: 2,
|
|
97
|
+
plugins: ["prettier-plugin-sort-json", "prettier-plugin-multiline-arrays"],
|
|
98
|
+
useTabs: false,
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
102
|
+
export const packageJsonOverrideOptions = Object.freeze({
|
|
103
|
+
endOfLine: "lf",
|
|
104
|
+
multilineArraysWrapThreshold: 2,
|
|
105
|
+
plugins: [
|
|
106
|
+
"prettier-plugin-packagejson",
|
|
107
|
+
"prettier-plugin-multiline-arrays",
|
|
108
|
+
],
|
|
109
|
+
tabWidth: 4,
|
|
110
|
+
useTabs: false,
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
114
|
+
export const htmlOverrideOptions = Object.freeze({
|
|
115
|
+
htmlWhitespaceSensitivity: "strict",
|
|
116
|
+
plugins: ["@softonus/prettier-plugin-duplicate-remover"],
|
|
117
|
+
printWidth: 80,
|
|
118
|
+
singleAttributePerLine: true,
|
|
119
|
+
useTabs: false,
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
123
|
+
export const userJavaScriptOverrideOptions = Object.freeze({
|
|
124
|
+
endOfLine: "lf",
|
|
125
|
+
printWidth: 80,
|
|
126
|
+
useTabs: false,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
130
|
+
export const markdownOverrideOptions = Object.freeze({
|
|
131
|
+
endOfLine: "lf",
|
|
132
|
+
jsdocBracketSpacing: false,
|
|
133
|
+
jsdocCapitalizeDescription: true,
|
|
134
|
+
jsdocCommentLineStrategy: "keep",
|
|
135
|
+
jsdocDescriptionTag: false,
|
|
136
|
+
jsdocDescriptionWithDot: false,
|
|
137
|
+
jsdocEmptyCommentStrategy: "keep",
|
|
138
|
+
jsdocKeepUnParseAbleExampleIndent: false,
|
|
139
|
+
jsdocLineWrappingStyle: "greedy",
|
|
140
|
+
jsdocPreferCodeFences: true,
|
|
141
|
+
jsdocPrintWidth: 80,
|
|
142
|
+
jsdocSeparateReturnsFromParam: true,
|
|
143
|
+
jsdocSeparateTagGroups: true,
|
|
144
|
+
jsdocSpaces: 1,
|
|
145
|
+
jsdocVerticalAlignment: false,
|
|
146
|
+
plugins: ["prettier-plugin-jsdoc"],
|
|
147
|
+
tabWidth: 1,
|
|
148
|
+
useTabs: false,
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
152
|
+
export const mdxOverrideOptions = Object.freeze({
|
|
153
|
+
endOfLine: "lf",
|
|
154
|
+
jsdocBracketSpacing: false,
|
|
155
|
+
jsdocCapitalizeDescription: true,
|
|
156
|
+
jsdocCommentLineStrategy: "keep",
|
|
157
|
+
jsdocDescriptionTag: false,
|
|
158
|
+
jsdocDescriptionWithDot: false,
|
|
159
|
+
jsdocEmptyCommentStrategy: "keep",
|
|
160
|
+
jsdocKeepUnParseAbleExampleIndent: false,
|
|
161
|
+
jsdocLineWrappingStyle: "greedy",
|
|
162
|
+
jsdocPreferCodeFences: true,
|
|
163
|
+
jsdocPrintWidth: 80,
|
|
164
|
+
jsdocSeparateReturnsFromParam: true,
|
|
165
|
+
jsdocSeparateTagGroups: true,
|
|
166
|
+
jsdocSpaces: 1,
|
|
167
|
+
jsdocVerticalAlignment: false,
|
|
168
|
+
plugins: ["prettier-plugin-jsdoc"],
|
|
169
|
+
printWidth: 100,
|
|
170
|
+
tabWidth: 2,
|
|
171
|
+
useTabs: false,
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
175
|
+
export const tomlOverrideOptions = Object.freeze({
|
|
176
|
+
endOfLine: "lf",
|
|
177
|
+
plugins: ["prettier-plugin-toml"],
|
|
178
|
+
printWidth: 120,
|
|
179
|
+
tabWidth: 4,
|
|
180
|
+
useTabs: false,
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
184
|
+
export const xmlOverrideOptions = Object.freeze({
|
|
185
|
+
endOfLine: "lf",
|
|
186
|
+
plugins: ["@prettier/plugin-xml"],
|
|
187
|
+
tabWidth: 2,
|
|
188
|
+
useTabs: false,
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
192
|
+
export const phpOverrideOptions = Object.freeze({
|
|
193
|
+
endOfLine: "lf",
|
|
194
|
+
phpVersion: "auto",
|
|
195
|
+
plugins: ["@prettier/plugin-php"],
|
|
196
|
+
useTabs: false,
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
200
|
+
export const sqlOverrideOptions = Object.freeze({
|
|
201
|
+
endOfLine: "lf",
|
|
202
|
+
language: "sqlite",
|
|
203
|
+
plugins: ["prettier-plugin-sql"],
|
|
204
|
+
useTabs: false,
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
208
|
+
export const powershellOverrideOptions = Object.freeze({
|
|
209
|
+
endOfLine: "lf",
|
|
210
|
+
plugins: ["prettier-plugin-powershell"],
|
|
211
|
+
useTabs: false,
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
215
|
+
export const codeownersOverrideOptions = Object.freeze({
|
|
216
|
+
endOfLine: "lf",
|
|
217
|
+
plugins: ["prettier-plugin-codeowners"],
|
|
218
|
+
useTabs: false,
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
222
|
+
export const shellOverrideOptions = Object.freeze({
|
|
223
|
+
endOfLine: "lf",
|
|
224
|
+
plugins: ["prettier-plugin-sh"],
|
|
225
|
+
useTabs: false,
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
229
|
+
export const propertiesOverrideOptions = Object.freeze({
|
|
230
|
+
endOfLine: "lf",
|
|
231
|
+
escapeNonLatin1: false,
|
|
232
|
+
plugins: ["prettier-plugin-properties"],
|
|
233
|
+
useTabs: false,
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
/** @type {Readonly<Partial<import("prettier").Config>>} */
|
|
237
|
+
export const iniOverrideOptions = Object.freeze({
|
|
238
|
+
endOfLine: "lf",
|
|
239
|
+
iniSpaceAroundEquals: true,
|
|
240
|
+
plugins: ["prettier-plugin-ini"],
|
|
241
|
+
useTabs: false,
|
|
242
|
+
});
|
|
243
|
+
|
|
52
244
|
/**
|
|
53
245
|
* Build a Prettier config with optional extensionless JSON and INI file
|
|
54
246
|
* overrides.
|
|
@@ -62,6 +254,7 @@ export const createConfig = (options = {}) => {
|
|
|
62
254
|
const {
|
|
63
255
|
extensionlessIniFiles = [],
|
|
64
256
|
extensionlessJsonFiles = [],
|
|
257
|
+
inheritedOverrides = [],
|
|
65
258
|
replaceDefaultExtensionlessIniFiles = false,
|
|
66
259
|
replaceDefaultExtensionlessJsonFiles = false,
|
|
67
260
|
} = options;
|
|
@@ -81,6 +274,147 @@ export const createConfig = (options = {}) => {
|
|
|
81
274
|
),
|
|
82
275
|
];
|
|
83
276
|
|
|
277
|
+
/** @type {NonNullable<import("prettier").Config["overrides"]>} */
|
|
278
|
+
const baseOverrides = [
|
|
279
|
+
{
|
|
280
|
+
files: [
|
|
281
|
+
"*.js",
|
|
282
|
+
"*.jsx",
|
|
283
|
+
"*.ts",
|
|
284
|
+
"*.tsx",
|
|
285
|
+
"*.mjs",
|
|
286
|
+
"*.cjs",
|
|
287
|
+
],
|
|
288
|
+
options: typescriptOverrideOptions,
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
files: "tsconfig.*",
|
|
292
|
+
options: jsonOverrideOptions,
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
files: "*.html",
|
|
296
|
+
options: htmlOverrideOptions,
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
files: "*.user.js",
|
|
300
|
+
options: userJavaScriptOverrideOptions,
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
files: "*.md",
|
|
304
|
+
options: markdownOverrideOptions,
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
files: "*.mdx",
|
|
308
|
+
options: mdxOverrideOptions,
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
files: "*.toml",
|
|
312
|
+
options: tomlOverrideOptions,
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
files: [
|
|
316
|
+
"*.xml",
|
|
317
|
+
"*.xsd",
|
|
318
|
+
"*.xsl",
|
|
319
|
+
"*.xaml",
|
|
320
|
+
],
|
|
321
|
+
options: xmlOverrideOptions,
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
files: "*.php",
|
|
325
|
+
options: phpOverrideOptions,
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
files: mergedExtensionlessJsonFiles,
|
|
329
|
+
options: extensionlessJsonOptions,
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
excludeFiles: ["**/package.json", "**/package-lock.json"],
|
|
333
|
+
files: "*.json",
|
|
334
|
+
options: jsonOverrideOptions,
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
files: "*.sql",
|
|
338
|
+
options: sqlOverrideOptions,
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
files: [
|
|
342
|
+
"*.ps1",
|
|
343
|
+
"*.psm1",
|
|
344
|
+
"*.psd1",
|
|
345
|
+
],
|
|
346
|
+
options: powershellOverrideOptions,
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
files: ["CODEOWNERS", "**/CODEOWNERS"],
|
|
350
|
+
options: codeownersOverrideOptions,
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
files: "*.sh",
|
|
354
|
+
options: shellOverrideOptions,
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
files: "*.properties",
|
|
358
|
+
options: propertiesOverrideOptions,
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
files: mergedExtensionlessIniFiles,
|
|
362
|
+
options: extensionlessIniOptions,
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
files: "*.ini",
|
|
366
|
+
options: iniOverrideOptions,
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
files: ["**/package.json", "**/package-lock.json"],
|
|
370
|
+
options: packageJsonOverrideOptions,
|
|
371
|
+
},
|
|
372
|
+
];
|
|
373
|
+
|
|
374
|
+
/** @type {NonNullable<import("prettier").Config["overrides"]>} */
|
|
375
|
+
const inheritedOverridesExpanded = inheritedOverrides.map((override) => {
|
|
376
|
+
const inheritFromValues = Array.isArray(override.inheritFrom)
|
|
377
|
+
? override.inheritFrom
|
|
378
|
+
: [override.inheritFrom];
|
|
379
|
+
const inheritedSourceOverride = baseOverrides.find((baseOverride) => {
|
|
380
|
+
const baseFiles = Array.isArray(baseOverride.files)
|
|
381
|
+
? baseOverride.files
|
|
382
|
+
: [baseOverride.files];
|
|
383
|
+
|
|
384
|
+
return inheritFromValues.every((inheritFromValue) =>
|
|
385
|
+
baseFiles.includes(inheritFromValue)
|
|
386
|
+
);
|
|
387
|
+
});
|
|
388
|
+
|
|
389
|
+
if (inheritedSourceOverride === undefined) {
|
|
390
|
+
throw new Error(
|
|
391
|
+
`Unable to inherit override options: no base override found for ${JSON.stringify(override.inheritFrom)}.`
|
|
392
|
+
);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
const normalizedExcludeFiles = Array.isArray(override.excludeFiles)
|
|
396
|
+
? [...override.excludeFiles]
|
|
397
|
+
: override.excludeFiles;
|
|
398
|
+
const normalizedFiles = Array.isArray(override.files)
|
|
399
|
+
? [...override.files]
|
|
400
|
+
: override.files;
|
|
401
|
+
const mergedOptions =
|
|
402
|
+
override.options === undefined
|
|
403
|
+
? inheritedSourceOverride.options
|
|
404
|
+
: {
|
|
405
|
+
...inheritedSourceOverride.options,
|
|
406
|
+
...override.options,
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
return {
|
|
410
|
+
files: normalizedFiles,
|
|
411
|
+
...(normalizedExcludeFiles === undefined
|
|
412
|
+
? {}
|
|
413
|
+
: { excludeFiles: normalizedExcludeFiles }),
|
|
414
|
+
...(mergedOptions === undefined ? {} : { options: mergedOptions }),
|
|
415
|
+
};
|
|
416
|
+
});
|
|
417
|
+
|
|
84
418
|
return {
|
|
85
419
|
$schema: "https://www.schemastore.org/prettierrc.json",
|
|
86
420
|
arrowParens: "always",
|
|
@@ -96,248 +430,7 @@ export const createConfig = (options = {}) => {
|
|
|
96
430
|
insertPragma: false,
|
|
97
431
|
jsxSingleQuote: false,
|
|
98
432
|
objectWrap: "preserve",
|
|
99
|
-
overrides: [
|
|
100
|
-
{
|
|
101
|
-
files: [
|
|
102
|
-
"*.js",
|
|
103
|
-
"*.jsx",
|
|
104
|
-
"*.ts",
|
|
105
|
-
"*.tsx",
|
|
106
|
-
"*.mjs",
|
|
107
|
-
"*.cjs",
|
|
108
|
-
],
|
|
109
|
-
options: {
|
|
110
|
-
endOfLine: "lf",
|
|
111
|
-
jsdocBracketSpacing: false,
|
|
112
|
-
jsdocCapitalizeDescription: true,
|
|
113
|
-
jsdocCommentLineStrategy: "keep",
|
|
114
|
-
jsdocDescriptionTag: false,
|
|
115
|
-
jsdocDescriptionWithDot: false,
|
|
116
|
-
jsdocEmptyCommentStrategy: "keep",
|
|
117
|
-
jsdocKeepUnParseAbleExampleIndent: false,
|
|
118
|
-
jsdocLineWrappingStyle: "greedy",
|
|
119
|
-
jsdocPreferCodeFences: true,
|
|
120
|
-
jsdocPrintWidth: 80,
|
|
121
|
-
jsdocSeparateReturnsFromParam: true,
|
|
122
|
-
jsdocSeparateTagGroups: true,
|
|
123
|
-
jsdocSpaces: 1,
|
|
124
|
-
jsdocVerticalAlignment: false,
|
|
125
|
-
multilineArraysWrapThreshold: 2,
|
|
126
|
-
plugins: [
|
|
127
|
-
"@softonus/prettier-plugin-duplicate-remover",
|
|
128
|
-
"prettier-plugin-multiline-arrays",
|
|
129
|
-
"prettier-plugin-jsdoc",
|
|
130
|
-
"prettier-plugin-interpolated-html-tags",
|
|
131
|
-
"prettier-plugin-merge",
|
|
132
|
-
],
|
|
133
|
-
tsdoc: true,
|
|
134
|
-
useTabs: false,
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
files: "tsconfig.*",
|
|
139
|
-
options: {
|
|
140
|
-
endOfLine: "lf",
|
|
141
|
-
jsonRecursiveSort: false,
|
|
142
|
-
jsonSortOrder: '{"*": "numeric"}',
|
|
143
|
-
multilineArraysWrapThreshold: 2,
|
|
144
|
-
plugins: [
|
|
145
|
-
"prettier-plugin-sort-json",
|
|
146
|
-
"prettier-plugin-multiline-arrays",
|
|
147
|
-
],
|
|
148
|
-
useTabs: false,
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
files: "*.html",
|
|
153
|
-
options: {
|
|
154
|
-
htmlWhitespaceSensitivity: "strict",
|
|
155
|
-
plugins: ["@softonus/prettier-plugin-duplicate-remover"],
|
|
156
|
-
printWidth: 80,
|
|
157
|
-
singleAttributePerLine: true,
|
|
158
|
-
useTabs: false,
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
files: "*.user.js",
|
|
163
|
-
options: {
|
|
164
|
-
endOfLine: "lf",
|
|
165
|
-
printWidth: 80,
|
|
166
|
-
useTabs: false,
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
files: "*.md",
|
|
171
|
-
options: {
|
|
172
|
-
endOfLine: "lf",
|
|
173
|
-
jsdocBracketSpacing: false,
|
|
174
|
-
jsdocCapitalizeDescription: true,
|
|
175
|
-
jsdocCommentLineStrategy: "keep",
|
|
176
|
-
jsdocDescriptionTag: false,
|
|
177
|
-
jsdocDescriptionWithDot: false,
|
|
178
|
-
jsdocEmptyCommentStrategy: "keep",
|
|
179
|
-
jsdocKeepUnParseAbleExampleIndent: false,
|
|
180
|
-
jsdocLineWrappingStyle: "greedy",
|
|
181
|
-
jsdocPreferCodeFences: true,
|
|
182
|
-
jsdocPrintWidth: 80,
|
|
183
|
-
jsdocSeparateReturnsFromParam: true,
|
|
184
|
-
jsdocSeparateTagGroups: true,
|
|
185
|
-
jsdocSpaces: 1,
|
|
186
|
-
jsdocVerticalAlignment: false,
|
|
187
|
-
plugins: ["prettier-plugin-jsdoc"],
|
|
188
|
-
tabWidth: 1,
|
|
189
|
-
useTabs: false,
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
files: "*.mdx",
|
|
194
|
-
options: {
|
|
195
|
-
endOfLine: "lf",
|
|
196
|
-
jsdocBracketSpacing: false,
|
|
197
|
-
jsdocCapitalizeDescription: true,
|
|
198
|
-
jsdocCommentLineStrategy: "keep",
|
|
199
|
-
jsdocDescriptionTag: false,
|
|
200
|
-
jsdocDescriptionWithDot: false,
|
|
201
|
-
jsdocEmptyCommentStrategy: "keep",
|
|
202
|
-
jsdocKeepUnParseAbleExampleIndent: false,
|
|
203
|
-
jsdocLineWrappingStyle: "greedy",
|
|
204
|
-
jsdocPreferCodeFences: true,
|
|
205
|
-
jsdocPrintWidth: 80,
|
|
206
|
-
jsdocSeparateReturnsFromParam: true,
|
|
207
|
-
jsdocSeparateTagGroups: true,
|
|
208
|
-
jsdocSpaces: 1,
|
|
209
|
-
jsdocVerticalAlignment: false,
|
|
210
|
-
plugins: ["prettier-plugin-jsdoc"],
|
|
211
|
-
printWidth: 100,
|
|
212
|
-
tabWidth: 2,
|
|
213
|
-
useTabs: false,
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
files: "*.toml",
|
|
218
|
-
options: {
|
|
219
|
-
endOfLine: "lf",
|
|
220
|
-
plugins: ["prettier-plugin-toml"],
|
|
221
|
-
printWidth: 120,
|
|
222
|
-
tabWidth: 4,
|
|
223
|
-
useTabs: false,
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
files: [
|
|
228
|
-
"*.xml",
|
|
229
|
-
"*.xsd",
|
|
230
|
-
"*.xsl",
|
|
231
|
-
"*.xaml",
|
|
232
|
-
],
|
|
233
|
-
options: {
|
|
234
|
-
endOfLine: "lf",
|
|
235
|
-
plugins: ["@prettier/plugin-xml"],
|
|
236
|
-
tabWidth: 2,
|
|
237
|
-
useTabs: false,
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
files: "*.php",
|
|
242
|
-
options: {
|
|
243
|
-
endOfLine: "lf",
|
|
244
|
-
phpVersion: "auto",
|
|
245
|
-
plugins: ["@prettier/plugin-php"],
|
|
246
|
-
useTabs: false,
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
files: mergedExtensionlessJsonFiles,
|
|
251
|
-
options: extensionlessJsonOptions,
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
excludeFiles: ["**/package.json", "**/package-lock.json"],
|
|
255
|
-
files: "*.json",
|
|
256
|
-
options: {
|
|
257
|
-
endOfLine: "lf",
|
|
258
|
-
jsonRecursiveSort: false,
|
|
259
|
-
jsonSortOrder: '{"*": "numeric"}',
|
|
260
|
-
multilineArraysWrapThreshold: 2,
|
|
261
|
-
plugins: [
|
|
262
|
-
"prettier-plugin-sort-json",
|
|
263
|
-
"prettier-plugin-multiline-arrays",
|
|
264
|
-
],
|
|
265
|
-
useTabs: false,
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
files: "*.sql",
|
|
270
|
-
options: {
|
|
271
|
-
endOfLine: "lf",
|
|
272
|
-
language: "sqlite",
|
|
273
|
-
plugins: ["prettier-plugin-sql"],
|
|
274
|
-
useTabs: false,
|
|
275
|
-
},
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
files: [
|
|
279
|
-
"*.ps1",
|
|
280
|
-
"*.psm1",
|
|
281
|
-
"*.psd1",
|
|
282
|
-
],
|
|
283
|
-
options: {
|
|
284
|
-
endOfLine: "lf",
|
|
285
|
-
plugins: ["prettier-plugin-powershell"],
|
|
286
|
-
useTabs: false,
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
files: ["CODEOWNERS", "**/CODEOWNERS"],
|
|
291
|
-
options: {
|
|
292
|
-
endOfLine: "lf",
|
|
293
|
-
plugins: ["prettier-plugin-codeowners"],
|
|
294
|
-
useTabs: false,
|
|
295
|
-
},
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
files: "*.sh",
|
|
299
|
-
options: {
|
|
300
|
-
endOfLine: "lf",
|
|
301
|
-
plugins: ["prettier-plugin-sh"],
|
|
302
|
-
useTabs: false,
|
|
303
|
-
},
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
files: "*.properties",
|
|
307
|
-
options: {
|
|
308
|
-
endOfLine: "lf",
|
|
309
|
-
escapeNonLatin1: false,
|
|
310
|
-
plugins: ["prettier-plugin-properties"],
|
|
311
|
-
useTabs: false,
|
|
312
|
-
},
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
files: mergedExtensionlessIniFiles,
|
|
316
|
-
options: extensionlessIniOptions,
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
files: "*.ini",
|
|
320
|
-
options: {
|
|
321
|
-
endOfLine: "lf",
|
|
322
|
-
iniSpaceAroundEquals: true,
|
|
323
|
-
plugins: ["prettier-plugin-ini"],
|
|
324
|
-
useTabs: false,
|
|
325
|
-
},
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
files: ["**/package.json", "**/package-lock.json"],
|
|
329
|
-
options: {
|
|
330
|
-
endOfLine: "lf",
|
|
331
|
-
multilineArraysWrapThreshold: 2,
|
|
332
|
-
plugins: [
|
|
333
|
-
"prettier-plugin-packagejson",
|
|
334
|
-
"prettier-plugin-multiline-arrays",
|
|
335
|
-
],
|
|
336
|
-
tabWidth: 4,
|
|
337
|
-
useTabs: false,
|
|
338
|
-
},
|
|
339
|
-
},
|
|
340
|
-
],
|
|
433
|
+
overrides: [...baseOverrides, ...inheritedOverridesExpanded],
|
|
341
434
|
printWidth: 80,
|
|
342
435
|
proseWrap: "preserve",
|
|
343
436
|
quoteProps: "as-needed",
|