-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathvize.config.ts
More file actions
41 lines (40 loc) · 1.39 KB
/
Copy pathvize.config.ts
File metadata and controls
41 lines (40 loc) · 1.39 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
import { defineConfig } from 'vize'
// Vize — Rust-native Vue toolchain (fmt + lint + check) with first-class
// Vue SFC support, replacing the ox stack.
// Formatter is tuned to the existing Nuxt/ESLint style so adopting it is
// low-churn: no semicolons, single quotes, 2-space indent, trailing commas.
export default defineConfig({
linter: {
preset: 'nuxt',
rules: {
// Nuxt auto-imports components with directory-prefixed names
// (AppFooter, UiBadge, …), so single-word filenames don't clash
// with HTML elements — this rule is just noise here.
'vue/multi-word-component-names': 'off',
},
},
formatter: {
semi: false,
singleQuote: true,
tabWidth: 2,
trailingComma: 'all',
},
ignores: [
'.nuxt',
'.nitro',
'.output',
'.data',
'.wrangler',
'dist',
'node_modules',
// Drizzle owns these snapshot/journal JSON files and rewrites them in its
// own format on every db:generate — leave them alone so a new migration
// doesn't trip fmt --check.
'server/database/migrations',
// OG image components rendered by takumi/satori, where whitespace is
// significant: the formatter would break tight <p>content</p> onto its own
// line, and the leading/trailing whitespace then renders (e.g. an
// underline stretched past the text). Keep these hand-tuned as authored.
'**/*.takumi.vue',
],
})