@deltabox/toolchain 2.1.1 → 2.3.4
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/CHANGELOG.md +416 -628
- package/README.md +6 -0
- package/dist/changelog.d.ts +6 -5
- package/dist/changelog.js +1 -1
- package/dist/cli/commands/providers.js +1 -1
- package/dist/cli/commands/reset.js +1 -1
- package/dist/cli/config-selection.js +1 -1
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +1 -1
- package/dist/cli/update-check.js +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.js +1 -1
- package/dist/index.d.ts +38 -30
- package/dist/index.js +1 -1
- package/dist/migrate.d.ts +2 -2
- package/dist/migrate.js +1 -1
- package/dist/package.js +1 -1
- package/dist/packages/changelog/src/cli/index.js +1 -1
- package/dist/packages/changelog/src/index.d.ts +7 -6
- package/dist/packages/changelog/src/index.js +1 -1
- package/dist/packages/changelog/src/run-workflows.d.ts +39 -2
- package/dist/packages/changelog/src/run-workflows.js +1 -1
- package/dist/packages/changelog/src/run.d.ts +1 -1
- package/dist/packages/changelog/src/run.js +1 -1
- package/dist/packages/changelog/src/sync.js +1 -1
- package/dist/packages/changelog/src/templates.js +1 -1
- package/dist/packages/changelog/src/utils/format.d.ts +5 -3
- package/dist/packages/changelog/src/utils/format.js +5 -5
- package/dist/packages/changelog/src/utils/git.d.ts +1 -1
- package/dist/packages/changelog/src/utils/git.js +1 -1
- package/dist/packages/changelog/src/utils/reformat.d.ts +7 -2
- package/dist/packages/changelog/src/utils/reformat.js +5 -4
- package/dist/packages/changelog/src/utils/release-notes.js +1 -1
- package/dist/packages/changelog/src/utils/repo.js +1 -1
- package/dist/packages/changelog/src/utils/summary.d.ts +1 -1
- package/dist/packages/changelog/src/utils/types.d.ts +9 -46
- package/dist/packages/changelog/src/utils/versioning.d.ts +11 -14
- package/dist/packages/changelog/src/utils/write.js +1 -1
- package/dist/packages/changelog/src/workflows.d.ts +11 -3
- package/dist/packages/changelog/src/workflows.js +5 -5
- package/dist/packages/config/src/cli/index.d.ts +1 -1
- package/dist/packages/config/src/collect.js +1 -1
- package/dist/packages/config/src/config-json.js +1 -1
- package/dist/packages/config/src/generators/env.js +2 -2
- package/dist/packages/config/src/generators/markdown.js +8 -8
- package/dist/packages/config/src/generators/output.js +1 -0
- package/dist/packages/config/src/generators/types.js +3 -3
- package/dist/packages/config/src/index.d.ts +3 -3
- package/dist/packages/config/src/index.js +1 -1
- package/dist/packages/config/src/schema.d.ts +16 -0
- package/dist/packages/config/src/schema.js +1 -1
- package/dist/packages/config/src/types.d.ts +5 -0
- package/dist/packages/core/src/editor-config.js +1 -1
- package/dist/packages/core/src/loader.js +1 -1
- package/dist/packages/core/src/manifest.js +1 -1
- package/dist/packages/core/src/paths.js +1 -0
- package/dist/packages/core/src/provider-registry.js +1 -1
- package/dist/packages/core/src/reset.d.ts +3 -0
- package/dist/packages/core/src/reset.js +1 -1
- package/dist/packages/core/src/sync.js +1 -1
- package/dist/packages/core/src/vscode.js +1 -1
- package/dist/packages/core/src/watch.d.ts +1 -1
- package/dist/packages/core/src/watch.js +1 -1
- package/dist/packages/migrate/src/cli/index.js +1 -1
- package/dist/packages/migrate/src/eslint.js +1 -1
- package/dist/packages/migrate/src/index.d.ts +2 -2
- package/dist/packages/migrate/src/index.js +1 -1
- package/dist/packages/migrate/src/prettier.d.ts +2 -0
- package/dist/packages/migrate/src/prettier.js +2 -2
- package/dist/packages/migrate/src/vite-target.js +1 -1
- package/dist/packages/project/src/cli/index.js +1 -1
- package/dist/packages/project/src/index.d.ts +4 -4
- package/dist/packages/project/src/index.js +1 -1
- package/dist/packages/project/src/typescript.d.ts +4 -2
- package/dist/packages/project/src/typescript.js +2 -2
- package/dist/packages/shared/src/changelog-callbacks.d.ts +72 -0
- package/dist/packages/shared/src/config-schema/biome.d.ts +8 -1
- package/dist/packages/shared/src/config-schema/biome.js +1 -1
- package/dist/packages/shared/src/config-schema/changelog.d.ts +3049 -30
- package/dist/packages/shared/src/config-schema/changelog.js +1 -1
- package/dist/packages/shared/src/config-schema/ci.d.ts +1163 -23
- package/dist/packages/shared/src/config-schema/external.js +1 -0
- package/dist/packages/shared/src/config-schema/format.d.ts +16 -10
- package/dist/packages/shared/src/config-schema/format.js +1 -1
- package/dist/packages/shared/src/config-schema/generated/azure-pipelines.d.ts +10501 -0
- package/dist/packages/shared/src/config-schema/generated/biome-config.d.ts +5962 -0
- package/dist/packages/shared/src/config-schema/generated/github-workflow.d.ts +179 -0
- package/dist/packages/shared/src/config-schema/generated/gitlab-ci.d.ts +296 -0
- package/dist/packages/shared/src/config-schema/generated/oxfmt-config.d.ts +411 -0
- package/dist/packages/shared/src/config-schema/generated/oxlint-config.d.ts +2218 -0
- package/dist/packages/shared/src/config-schema/index.d.ts +5355 -142
- package/dist/packages/shared/src/config-schema/index.js +1 -1
- package/dist/packages/shared/src/config-schema/json.d.ts +18 -0
- package/dist/packages/shared/src/config-schema/json.js +1 -0
- package/dist/packages/shared/src/config-schema/logger.d.ts +10 -1
- package/dist/packages/shared/src/config-schema/logger.js +1 -1
- package/dist/packages/shared/src/config-schema/tsconfig.d.ts +5 -4
- package/dist/packages/shared/src/config-schema/tsconfig.js +1 -1
- package/dist/packages/shared/src/config-schema/vite.d.ts +5 -3
- package/dist/packages/shared/src/config-schema/vite.js +1 -1
- package/dist/packages/shared/src/config-schema/workflow.d.ts +946 -31
- package/dist/packages/shared/src/config-schema/workflow.js +1 -1
- package/dist/packages/shared/src/config-types.d.ts +257 -33
- package/dist/packages/shared/src/fs-utils.d.ts +12 -0
- package/dist/packages/shared/src/fs-utils.js +8 -1
- package/dist/packages/shared/src/index.d.ts +19 -11
- package/dist/packages/shared/src/index.js +1 -1
- package/dist/packages/shared/src/object-utils.d.ts +2 -0
- package/dist/packages/shared/src/object-utils.js +1 -1
- package/dist/packages/shared/src/registry-policy.d.ts +3 -2
- package/dist/packages/shared/src/registry-policy.js +1 -1
- package/dist/packages/shared/src/run.d.ts +2 -0
- package/dist/packages/shared/src/run.js +1 -1
- package/dist/packages/shared/src/string-utils.d.ts +7 -5
- package/dist/packages/shared/src/string-utils.js +2 -2
- package/dist/packages/shared/src/template.d.ts +2 -1
- package/dist/packages/shared/src/template.js +1 -1
- package/dist/packages/shared/src/toolchain.d.ts +14 -7
- package/dist/packages/shared/src/toolchain.js +1 -1
- package/dist/packages/shared/src/types.d.ts +5 -0
- package/dist/packages/shared/src/vite-defaults.d.ts +4 -3
- package/dist/packages/shared/src/vite-defaults.js +1 -1
- package/dist/packages/shared/src/yaml.js +5 -5
- package/dist/packages/template/src/scaffold.js +1 -1
- package/dist/packages/tsconfig/src/cli/generate/index.js +1 -1
- package/dist/packages/tsconfig/src/overrides.d.ts +5 -5
- package/dist/packages/tsdown/src/config/node.d.ts +5 -0
- package/dist/packages/tsdown/src/config/node.js +2 -2
- package/dist/packages/tsdown/src/index.d.ts +3 -3
- package/dist/packages/tsdown/src/index.js +1 -1
- package/dist/packages/vite/src/plugin.js +1 -1
- package/dist/packages/vite/src/vp.js +1 -1
- package/dist/project.d.ts +3 -3
- package/dist/project.js +1 -1
- package/dist/shared.d.ts +18 -10
- package/dist/shared.js +1 -1
- package/dist/tooling.js +1 -1
- package/dist/tsdown.d.ts +2 -2
- package/dist/tsdown.js +1 -1
- package/package.json +25 -13
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
import __tsdown_shims_path from 'node:path';
|
|
2
|
+
import __tsdown_shims_url from 'node:url';
|
|
3
|
+
//#region packages/shared/src/config-schema/generated/oxfmt-config.d.ts
|
|
4
|
+
export interface OxfmtConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Include parentheses around a sole arrow function parameter.
|
|
7
|
+
*
|
|
8
|
+
* - Languages: JS, JSX, TS, TSX
|
|
9
|
+
* - Default: `"always"`
|
|
10
|
+
*/
|
|
11
|
+
arrowParens?: 'always' | 'avoid';
|
|
12
|
+
/**
|
|
13
|
+
* Format matched files as the given language, instead of detecting it from the file name. e.g.
|
|
14
|
+
* Angular templates named `*.html`, or `*.wxml` files formatted as HTML. When a file matches
|
|
15
|
+
* multiple associations, the later one takes precedence (array order matters).
|
|
16
|
+
*
|
|
17
|
+
* - Default: `[]`
|
|
18
|
+
*/
|
|
19
|
+
associations?: Array<{
|
|
20
|
+
excludeFiles?: Array<string>;
|
|
21
|
+
files: Array<string>;
|
|
22
|
+
language: 'javascript' | 'jsx' | 'typescript' | 'tsx' | 'json' | 'jsonc' | 'json5' | 'css' | 'scss' | 'less' | 'graphql' | 'yaml' | 'markdown' | 'toml' | 'html' | 'angular-html' | 'vue' | 'svelte' | 'astro' | 'handlebars' | 'mdx';
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Options for `prettier-plugin-astro`.
|
|
26
|
+
*
|
|
27
|
+
* Pass `true` or an object to enable `.astro` file formatting, `false` to disable (handy in
|
|
28
|
+
* overrides). Setting `true` resets to defaults, dropping options inherited from a parent scope.
|
|
29
|
+
*
|
|
30
|
+
* NOTE: `prettier-plugin-astro` requires the `@astrojs/compiler-rs` package at runtime. Oxfmt does
|
|
31
|
+
* NOT bundle it, so install it in your project, otherwise formatting fails.
|
|
32
|
+
*
|
|
33
|
+
* - Languages: Astro
|
|
34
|
+
* - Default: Disabled
|
|
35
|
+
*/
|
|
36
|
+
astro?: boolean | {
|
|
37
|
+
allowShorthand?: boolean;
|
|
38
|
+
compressHTML?: 'jsx' | 'html' | 'none';
|
|
39
|
+
skipFrontmatter?: boolean;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Put the `>` of a multi-line element at the end of the last line, instead of being alone on the
|
|
43
|
+
* next line (does not apply to self-closing elements).
|
|
44
|
+
*
|
|
45
|
+
* - Languages: JSX, TSX, HTML, Angular, Vue, MJML, Svelte, Astro
|
|
46
|
+
* - Default: `false`
|
|
47
|
+
*/
|
|
48
|
+
bracketSameLine?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Print spaces between brackets in object literals.
|
|
51
|
+
*
|
|
52
|
+
* - Languages: JS, JSX, TS, TSX, JSON, JSONC, JSON5, GraphQL, YAML
|
|
53
|
+
* - Default: `true`
|
|
54
|
+
*/
|
|
55
|
+
bracketSpacing?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Control whether to format embedded parts in the file. For example:
|
|
58
|
+
*
|
|
59
|
+
* - CSS-in-JS: template literal
|
|
60
|
+
* - JS-in-Vue: `<script>` block
|
|
61
|
+
* - JS-in-Markdown: code fence
|
|
62
|
+
* - YAML-in-CSS/Markdown: front matter
|
|
63
|
+
*
|
|
64
|
+
* With `"off"`, these parts are kept as-is.
|
|
65
|
+
*
|
|
66
|
+
* NOTE: Some languages behave differently. For Svelte, formatting fails with `"off"`, a limitation
|
|
67
|
+
* of `prettier-plugin-svelte`. For Astro, the frontmatter is still formatted, but by Prettier
|
|
68
|
+
* instead of Oxfmt (use `astro.skipFrontmatter` to keep it as-is).
|
|
69
|
+
*
|
|
70
|
+
* - Languages: JS, JSX, TS, TSX, CSS, SCSS, Less, HTML, Vue, Angular, Svelte, Astro, Markdown, MDX
|
|
71
|
+
* - Default: `"auto"`
|
|
72
|
+
*/
|
|
73
|
+
embeddedLanguageFormatting?: 'auto' | 'off';
|
|
74
|
+
/**
|
|
75
|
+
* Which end of line characters to apply.
|
|
76
|
+
*
|
|
77
|
+
* NOTE: `"auto"` is not supported.
|
|
78
|
+
*
|
|
79
|
+
* - Languages: All
|
|
80
|
+
* - Default: `"lf"`
|
|
81
|
+
* - Overrides `.editorconfig.end_of_line`
|
|
82
|
+
*/
|
|
83
|
+
endOfLine?: 'lf' | 'crlf' | 'cr';
|
|
84
|
+
/**
|
|
85
|
+
* When expressions wrap lines, print operators at the start of new lines (`"start"`) or at the end
|
|
86
|
+
* of previous lines (`"end"`).
|
|
87
|
+
*
|
|
88
|
+
* - Languages: JS, JSX, TS, TSX
|
|
89
|
+
* - Default: `"end"`
|
|
90
|
+
*/
|
|
91
|
+
experimentalOperatorPosition?: 'start' | 'end';
|
|
92
|
+
/**
|
|
93
|
+
* Specify the global whitespace sensitivity.
|
|
94
|
+
*
|
|
95
|
+
* - Languages: HTML, Angular, Vue, Handlebars, Svelte
|
|
96
|
+
* - Default: `"css"`
|
|
97
|
+
*/
|
|
98
|
+
htmlWhitespaceSensitivity?: 'css' | 'strict' | 'ignore';
|
|
99
|
+
/**
|
|
100
|
+
* Ignore files matching these glob patterns. Patterns use gitignore-style matching, rooted at the
|
|
101
|
+
* directory containing the configuration file. Files outside that directory cannot be matched;
|
|
102
|
+
* patterns containing `..` are rejected as a configuration error.
|
|
103
|
+
*
|
|
104
|
+
* - Default: `[]`
|
|
105
|
+
*/
|
|
106
|
+
ignorePatterns?: Array<string>;
|
|
107
|
+
/**
|
|
108
|
+
* Whether to insert a final newline at the end of the file.
|
|
109
|
+
*
|
|
110
|
+
* - Languages: All
|
|
111
|
+
* - Default: `true`
|
|
112
|
+
* - Overrides `.editorconfig.insert_final_newline`
|
|
113
|
+
*/
|
|
114
|
+
insertFinalNewline?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Enable JSDoc comment formatting.
|
|
117
|
+
*
|
|
118
|
+
* Normalizes JSDoc comments: tag aliases are canonicalized, descriptions are capitalized, long
|
|
119
|
+
* lines are wrapped, and short comments are collapsed to single-line.
|
|
120
|
+
*
|
|
121
|
+
* Pass `true` or an object to enable, `false` to disable.
|
|
122
|
+
*
|
|
123
|
+
* - Languages: JS, JSX, TS, TSX
|
|
124
|
+
* - Default: Disabled
|
|
125
|
+
*/
|
|
126
|
+
jsdoc?: boolean | {
|
|
127
|
+
addDefaultToDescription?: boolean;
|
|
128
|
+
bracketSpacing?: boolean;
|
|
129
|
+
capitalizeDescriptions?: boolean;
|
|
130
|
+
commentLineStrategy?: 'singleLine' | 'multiline' | 'keep';
|
|
131
|
+
descriptionTag?: boolean;
|
|
132
|
+
descriptionWithDot?: boolean;
|
|
133
|
+
keepUnparsableExampleIndent?: boolean;
|
|
134
|
+
lineWrappingStyle?: 'greedy' | 'balance';
|
|
135
|
+
preferCodeFences?: boolean;
|
|
136
|
+
separateReturnsFromParam?: boolean;
|
|
137
|
+
separateTagGroups?: boolean;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Use single quotes instead of double quotes in JSX.
|
|
141
|
+
*
|
|
142
|
+
* - Languages: JSX, TSX
|
|
143
|
+
* - Default: `false`
|
|
144
|
+
*/
|
|
145
|
+
jsxSingleQuote?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* How to wrap object literals when they could fit on one line or span multiple lines.
|
|
148
|
+
*
|
|
149
|
+
* By default, formats objects as multi-line if there is a newline prior to the first property.
|
|
150
|
+
* Authors can use this heuristic to contextually improve readability, though it has some
|
|
151
|
+
* downsides.
|
|
152
|
+
*
|
|
153
|
+
* - Languages: JS, JSX, TS, TSX, JSON, JSONC, JSON5
|
|
154
|
+
* - Default: `"preserve"`
|
|
155
|
+
*/
|
|
156
|
+
objectWrap?: 'preserve' | 'collapse';
|
|
157
|
+
/**
|
|
158
|
+
* File-specific overrides. When a file matches multiple overrides, the later override takes
|
|
159
|
+
* precedence (array order matters).
|
|
160
|
+
*
|
|
161
|
+
* - Default: `[]`
|
|
162
|
+
*/
|
|
163
|
+
overrides?: Array<{
|
|
164
|
+
excludeFiles?: Array<string>;
|
|
165
|
+
files: Array<string>;
|
|
166
|
+
options?: {
|
|
167
|
+
arrowParens?: 'always' | 'avoid';
|
|
168
|
+
astro?: boolean | {
|
|
169
|
+
allowShorthand?: boolean;
|
|
170
|
+
compressHTML?: 'jsx' | 'html' | 'none';
|
|
171
|
+
skipFrontmatter?: boolean;
|
|
172
|
+
};
|
|
173
|
+
bracketSameLine?: boolean;
|
|
174
|
+
bracketSpacing?: boolean;
|
|
175
|
+
embeddedLanguageFormatting?: 'auto' | 'off';
|
|
176
|
+
endOfLine?: 'lf' | 'crlf' | 'cr';
|
|
177
|
+
experimentalOperatorPosition?: 'start' | 'end';
|
|
178
|
+
htmlWhitespaceSensitivity?: 'css' | 'strict' | 'ignore';
|
|
179
|
+
insertFinalNewline?: boolean;
|
|
180
|
+
jsdoc?: boolean | {
|
|
181
|
+
addDefaultToDescription?: boolean;
|
|
182
|
+
bracketSpacing?: boolean;
|
|
183
|
+
capitalizeDescriptions?: boolean;
|
|
184
|
+
commentLineStrategy?: 'singleLine' | 'multiline' | 'keep';
|
|
185
|
+
descriptionTag?: boolean;
|
|
186
|
+
descriptionWithDot?: boolean;
|
|
187
|
+
keepUnparsableExampleIndent?: boolean;
|
|
188
|
+
lineWrappingStyle?: 'greedy' | 'balance';
|
|
189
|
+
preferCodeFences?: boolean;
|
|
190
|
+
separateReturnsFromParam?: boolean;
|
|
191
|
+
separateTagGroups?: boolean;
|
|
192
|
+
};
|
|
193
|
+
jsxSingleQuote?: boolean;
|
|
194
|
+
objectWrap?: 'preserve' | 'collapse';
|
|
195
|
+
printWidth?: number;
|
|
196
|
+
proseWrap?: 'always' | 'never' | 'preserve';
|
|
197
|
+
quoteProps?: 'as-needed' | 'consistent' | 'preserve';
|
|
198
|
+
semi?: boolean;
|
|
199
|
+
singleAttributePerLine?: boolean;
|
|
200
|
+
singleQuote?: boolean;
|
|
201
|
+
sortImports?: boolean | {
|
|
202
|
+
customGroups?: Array<{
|
|
203
|
+
elementNamePattern?: Array<string>;
|
|
204
|
+
groupName?: string;
|
|
205
|
+
modifiers?: Array<'side_effect' | 'type' | 'value' | 'default' | 'wildcard' | 'named'>;
|
|
206
|
+
selector?: 'type' | 'side_effect_style' | 'side_effect' | 'style' | 'index' | 'sibling' | 'parent' | 'subpath' | 'internal' | 'builtin' | 'external' | 'import';
|
|
207
|
+
}>;
|
|
208
|
+
groups?: Array<{
|
|
209
|
+
newlinesBetween: boolean;
|
|
210
|
+
} | string | Array<string>>;
|
|
211
|
+
ignoreCase?: boolean;
|
|
212
|
+
internalPattern?: Array<string>;
|
|
213
|
+
newlinesBetween?: boolean;
|
|
214
|
+
order?: 'asc' | 'desc';
|
|
215
|
+
partitionByComment?: boolean;
|
|
216
|
+
partitionByNewline?: boolean;
|
|
217
|
+
sortSideEffects?: boolean;
|
|
218
|
+
};
|
|
219
|
+
sortPackageJson?: boolean | {
|
|
220
|
+
sortScripts?: boolean;
|
|
221
|
+
};
|
|
222
|
+
sortTailwindcss?: boolean | {
|
|
223
|
+
attributes?: Array<string>;
|
|
224
|
+
config?: string;
|
|
225
|
+
functions?: Array<string>;
|
|
226
|
+
preserveDuplicates?: boolean;
|
|
227
|
+
preserveWhitespace?: boolean;
|
|
228
|
+
stylesheet?: string;
|
|
229
|
+
};
|
|
230
|
+
svelte?: boolean | {
|
|
231
|
+
allowShorthand?: boolean;
|
|
232
|
+
indentScriptAndStyle?: boolean;
|
|
233
|
+
sortOrder?: string;
|
|
234
|
+
};
|
|
235
|
+
tabWidth?: number;
|
|
236
|
+
trailingComma?: 'all' | 'es5' | 'none';
|
|
237
|
+
useTabs?: boolean;
|
|
238
|
+
vueIndentScriptAndStyle?: boolean;
|
|
239
|
+
};
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Specify the line length that the printer will wrap on.
|
|
243
|
+
*
|
|
244
|
+
* If you don't want line wrapping when formatting Markdown, you can set the `proseWrap` option to
|
|
245
|
+
* disable it.
|
|
246
|
+
*
|
|
247
|
+
* - Languages: All
|
|
248
|
+
* - Default: `100`
|
|
249
|
+
* - Overrides `.editorconfig.max_line_length`
|
|
250
|
+
*/
|
|
251
|
+
printWidth?: number;
|
|
252
|
+
/**
|
|
253
|
+
* How to wrap prose.
|
|
254
|
+
*
|
|
255
|
+
* - `"always"`: Wrap prose to the print width
|
|
256
|
+
* - `"never"`: Put each prose block on a single line, relying on editor/viewer soft wrapping
|
|
257
|
+
* - `"preserve"`: Keep wrapping as-is
|
|
258
|
+
*
|
|
259
|
+
* By default, wrapping is preserved, since some services use a linebreak-sensitive renderer (e.g.
|
|
260
|
+
* GitHub comments, BitBucket).
|
|
261
|
+
*
|
|
262
|
+
* - Languages: Markdown, MDX, YAML
|
|
263
|
+
* - Default: `"preserve"`
|
|
264
|
+
*/
|
|
265
|
+
proseWrap?: 'always' | 'never' | 'preserve';
|
|
266
|
+
/**
|
|
267
|
+
* Change when properties in objects are quoted.
|
|
268
|
+
*
|
|
269
|
+
* - Languages: JS, JSX, TS, TSX
|
|
270
|
+
* - Default: `"as-needed"`
|
|
271
|
+
*/
|
|
272
|
+
quoteProps?: 'as-needed' | 'consistent' | 'preserve';
|
|
273
|
+
/**
|
|
274
|
+
* Print semicolons at the ends of statements.
|
|
275
|
+
*
|
|
276
|
+
* - Languages: JS, JSX, TS, TSX
|
|
277
|
+
* - Default: `true`
|
|
278
|
+
*/
|
|
279
|
+
semi?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Enforce single attribute per line.
|
|
282
|
+
*
|
|
283
|
+
* - Languages: JSX, TSX, HTML, Angular, Vue, MJML, Svelte, Astro
|
|
284
|
+
* - Default: `false`
|
|
285
|
+
*/
|
|
286
|
+
singleAttributePerLine?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Use single quotes instead of double quotes.
|
|
289
|
+
*
|
|
290
|
+
* For JSX, you can set the `jsxSingleQuote` option.
|
|
291
|
+
*
|
|
292
|
+
* - Languages: JS, JSX, TS, TSX, CSS, Less, SCSS, Markdown, MDX, YAML, Handlebars, Svelte, Astro
|
|
293
|
+
* - Default: `false`
|
|
294
|
+
* - Overrides `.editorconfig.quote_type`
|
|
295
|
+
*/
|
|
296
|
+
singleQuote?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Sort import statements.
|
|
299
|
+
*
|
|
300
|
+
* Uses a similar algorithm to
|
|
301
|
+
* [eslint-plugin-perfectionist/sort-imports](https://perfectionist.dev/rules/sort-imports).
|
|
302
|
+
*
|
|
303
|
+
* Pass `true` or an object to enable, `false` to disable.
|
|
304
|
+
*
|
|
305
|
+
* - Languages: JS, JSX, TS, TSX
|
|
306
|
+
* - Default: Disabled
|
|
307
|
+
*/
|
|
308
|
+
sortImports?: boolean | {
|
|
309
|
+
customGroups?: Array<{
|
|
310
|
+
elementNamePattern?: Array<string>;
|
|
311
|
+
groupName?: string;
|
|
312
|
+
modifiers?: Array<'side_effect' | 'type' | 'value' | 'default' | 'wildcard' | 'named'>;
|
|
313
|
+
selector?: 'type' | 'side_effect_style' | 'side_effect' | 'style' | 'index' | 'sibling' | 'parent' | 'subpath' | 'internal' | 'builtin' | 'external' | 'import';
|
|
314
|
+
}>;
|
|
315
|
+
groups?: Array<{
|
|
316
|
+
newlinesBetween: boolean;
|
|
317
|
+
} | string | Array<string>>;
|
|
318
|
+
ignoreCase?: boolean;
|
|
319
|
+
internalPattern?: Array<string>;
|
|
320
|
+
newlinesBetween?: boolean;
|
|
321
|
+
order?: 'asc' | 'desc';
|
|
322
|
+
partitionByComment?: boolean;
|
|
323
|
+
partitionByNewline?: boolean;
|
|
324
|
+
sortSideEffects?: boolean;
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* Sort `package.json` keys.
|
|
328
|
+
*
|
|
329
|
+
* The order is NOT compatible with
|
|
330
|
+
* [prettier-plugin-packagejson](https://github.com/matzkoh/prettier-plugin-packagejson), but we
|
|
331
|
+
* believe it is clearer and easier to navigate.
|
|
332
|
+
*
|
|
333
|
+
* - Languages: JSON (`package.json` only)
|
|
334
|
+
* - Default: `true`
|
|
335
|
+
*/
|
|
336
|
+
sortPackageJson?: boolean | {
|
|
337
|
+
sortScripts?: boolean;
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Sort Tailwind CSS classes.
|
|
341
|
+
*
|
|
342
|
+
* Uses the same algorithm as
|
|
343
|
+
* [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss).
|
|
344
|
+
* Option names omit the `tailwind` prefix used in the original plugin (e.g. `config` instead of
|
|
345
|
+
* `tailwindConfig`).
|
|
346
|
+
*
|
|
347
|
+
* Pass `true` or an object to enable, `false` to disable.
|
|
348
|
+
*
|
|
349
|
+
* - Languages: JS, JSX, TS, TSX, HTML, Vue, Angular, Handlebars, CSS, SCSS, Less, Svelte, Astro
|
|
350
|
+
* - Default: Disabled
|
|
351
|
+
*/
|
|
352
|
+
sortTailwindcss?: boolean | {
|
|
353
|
+
attributes?: Array<string>;
|
|
354
|
+
config?: string;
|
|
355
|
+
functions?: Array<string>;
|
|
356
|
+
preserveDuplicates?: boolean;
|
|
357
|
+
preserveWhitespace?: boolean;
|
|
358
|
+
stylesheet?: string;
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Options for `prettier-plugin-svelte`.
|
|
362
|
+
*
|
|
363
|
+
* Pass `true` or an object to enable `.svelte` file formatting, `false` to disable (handy in
|
|
364
|
+
* overrides). Setting `true` resets to defaults, dropping options inherited from a parent scope.
|
|
365
|
+
*
|
|
366
|
+
* NOTE: `prettier-plugin-svelte` requires the `svelte` package (`svelte/compiler`) at runtime.
|
|
367
|
+
* Oxfmt does NOT bundle it, so install it in your project, otherwise formatting fails.
|
|
368
|
+
*
|
|
369
|
+
* - Languages: Svelte
|
|
370
|
+
* - Default: Disabled
|
|
371
|
+
*/
|
|
372
|
+
svelte?: boolean | {
|
|
373
|
+
allowShorthand?: boolean;
|
|
374
|
+
indentScriptAndStyle?: boolean;
|
|
375
|
+
sortOrder?: string;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* Specify the number of spaces per indentation-level.
|
|
379
|
+
*
|
|
380
|
+
* - Languages: All
|
|
381
|
+
* - Default: `2`
|
|
382
|
+
* - Overrides `.editorconfig.indent_size` (falls back to `.editorconfig.tab_width`)
|
|
383
|
+
*/
|
|
384
|
+
tabWidth?: number;
|
|
385
|
+
/**
|
|
386
|
+
* Print trailing commas wherever possible in multi-line comma-separated syntactic structures.
|
|
387
|
+
*
|
|
388
|
+
* A single-line array, for example, never gets trailing commas.
|
|
389
|
+
*
|
|
390
|
+
* - Languages: JS, JSX, TS, TSX, JSONC, JSON5, TOML, CSS, Less, SCSS, YAML
|
|
391
|
+
* - Default: `"all"`
|
|
392
|
+
*/
|
|
393
|
+
trailingComma?: 'all' | 'es5' | 'none';
|
|
394
|
+
/**
|
|
395
|
+
* Indent lines with tabs instead of spaces.
|
|
396
|
+
*
|
|
397
|
+
* - Languages: All
|
|
398
|
+
* - Default: `false`
|
|
399
|
+
* - Overrides `.editorconfig.indent_style`
|
|
400
|
+
*/
|
|
401
|
+
useTabs?: boolean;
|
|
402
|
+
/**
|
|
403
|
+
* Whether or not to indent the code inside `<script>` and `<style>` tags in Vue files.
|
|
404
|
+
*
|
|
405
|
+
* - Languages: Vue
|
|
406
|
+
* - Default: `false`
|
|
407
|
+
*/
|
|
408
|
+
vueIndentScriptAndStyle?: boolean;
|
|
409
|
+
[key: string]: unknown;
|
|
410
|
+
}
|
|
411
|
+
//#endregion
|