-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprettier.config.js
More file actions
89 lines (66 loc) · 1.43 KB
/
Copy pathprettier.config.js
File metadata and controls
89 lines (66 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Prettier configuration for the CodeEditorLand WebSite.
//
// Plugins loaded only when installed - install to enable:
// prettier-plugin-astro format .astro files
// prettier-plugin-tailwindcss sort Tailwind class strings
//
// Usage: node_modules/.bin/prettier --write .
//
"use strict";
function tryResolve(Id) {
try {
require.resolve(Id);
return true;
} catch {
return false;
}
}
const HasAstroPlugin = tryResolve("prettier-plugin-astro");
const HasTailwindPlugin = tryResolve("prettier-plugin-tailwindcss");
const Plugins = [
...(HasAstroPlugin ? ["prettier-plugin-astro"] : []),
...(HasTailwindPlugin ? ["prettier-plugin-tailwindcss"] : []),
];
/** @type {import("prettier").Config} */
module.exports = {
useTabs: true,
tabWidth: 4,
printWidth: 80,
singleQuote: false,
trailingComma: "all",
semi: true,
plugins: Plugins,
overrides: [
// .astro - requires prettier-plugin-astro
{
files: ["*.astro"],
options: {
parser: "astro",
},
},
// Markdown - preserve prose wrapping, no hard line breaks
{
files: ["*.md", "*.mdx"],
options: {
proseWrap: "preserve",
embeddedLanguageFormatting: "auto",
},
},
// JSON - always tabs, 4-wide
{
files: ["*.json", "*.jsonc"],
options: {
useTabs: true,
tabWidth: 4,
},
},
// CSS / SCSS / PostCSS
{
files: ["*.css", "*.scss"],
options: {
useTabs: true,
singleQuote: false,
},
},
],
};