-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy patheslint.config.js
More file actions
89 lines (79 loc) · 3.14 KB
/
eslint.config.js
File metadata and controls
89 lines (79 loc) · 3.14 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
import vuetify from 'eslint-config-vuetify';
import prettierPlugin from 'eslint-plugin-prettier';
import eslintConfigPrettier from 'eslint-config-prettier';
import vuePlugin from 'eslint-plugin-vue';
export default [
// Global ignores (MUST be the first and separate object with ONLY ignores property)
// Note: In flat config, patterns need **/ prefix for recursive matching
// Example: "**/dist/**" ignores any 'dist' folder at any depth
// "dist/**" only ignores 'dist' folder in the project root
{
ignores: [
// Build output directories (generated files, not source code)
'**/dist/**', // Vite build output
'**/build/**', // General build output
'**/build-electron/**', // Electron build output
'**/dist-electron/**', // Electron distribution files
'**/dist-resources/**', // Electron resources
'**/coverage/**', // Test coverage reports
// Dependencies (third-party code)
'**/node_modules/**', // npm/yarn dependencies
// IDE and editor files (not part of source code)
'**/.idea/**', // JetBrains IDEs (WebStorm, IntelliJ)
'**/.vscode/**', // Visual Studio Code settings
// Auto-generated files (created by Vue/Vite tooling)
'**/src/auto-imports.d.ts', // Auto-import declarations
'**/src/components.d.ts', // Component type declarations
'**/src/typed-router.d.ts', // Router type declarations
// Test and report directories
'**/playwright-report/**', // Playwright test reports
'**/test-results/**', // Test result files
'**/storybook_static/**', // Storybook build output
'**/tests/e2e/videos/**', // Cypress/E2E test videos
'**/tests/e2e/screenshots/**', // Cypress/E2E test screenshots
// Log files and temporary files
'**/*.log', // All log files anywhere
'**/.DS_Store', // macOS system files
'**/Thumbs.db', // Windows system files
'**/*.tmp', // Temporary files
'**/*.temp', // Temporary files
// Version control and cache
'**/.git/**', // Git repository files
'**/.cache/**', // Cache directories
// Data directories (runtime data, not source code)
'**/.data*/**', // Any folder starting with .data (e.g., .data_playwright_with_fingerprints)
// Package manager files (lock files are generated)
'**/package-lock.json', // npm lock file
'**/yarn.lock', // Yarn lock file
'**/pnpm-lock.yaml', // pnpm lock file
// Minified and bundled files (processed code)
'**/*.min.js', // Minified JavaScript
'**/*.bundle.js', // Bundled JavaScript
'**/assets/**' // Built assets (CSS, JS, images)
]
},
// Main configuration
{
...vuetify(),
...eslintConfigPrettier,
plugins: {
prettier: prettierPlugin,
vue: vuePlugin
},
rules: {
'prettier/prettier': 'error',
'vue/html-self-closing': [
'error',
{
html: {
void: 'always',
normal: 'always',
component: 'always'
}
}
],
'vue/component-name-in-template-casing': ['error', 'PascalCase'],
'vue/multi-word-component-names': 'off'
}
}
];