-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy patheslint.config.js
More file actions
79 lines (70 loc) · 2.32 KB
/
eslint.config.js
File metadata and controls
79 lines (70 loc) · 2.32 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
import { defineConfig, globalIgnores } from 'eslint/config';
import globals from 'globals';
import js from '@eslint/js';
import pluginVue from 'eslint-plugin-vue';
import pluginVuetify from 'eslint-plugin-vuetify';
import standard from '@vue/eslint-config-standard';
const isDev = process.env.NODE_ENV === 'development';
const isProd = process.env.NODE_ENV === 'production';
export default defineConfig([
{
name: 'app/files-to-lint',
files: ['**/*.{js,mjs,jsx,vue}']
},
globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),
{
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.browser,
...globals.node
}
}
},
js.configs.recommended,
// consider switching to `pluginVue.configs['flat/strongly-recommended']` or `pluginVue.configs['flat/recommended']` for stricter rules.
...pluginVue.configs['flat/essential'],
...pluginVuetify.configs['flat/recommended'],
...standard,
{
rules: {
// 'no-console': isProd ? 'warn' : 'off',
'no-debugger': isProd ? 'error' : 'off',
// allow semicolons at the end of a statement
'@stylistic/semi': 'off',
// weaken some rules in development mode
'no-unused-vars': isDev ? 'warn' : 'error',
'@stylistic/no-multiple-empty-lines': isDev ? 'warn' : 'error',
'@stylistic/space-before-blocks': isDev ? 'warn' : 'error',
'@stylistic/space-before-function-paren': isDev ? 'warn' : 'error',
'@stylistic/object-curly-spacing': isDev ? 'warn' : 'error',
'@stylistic/indent': isDev ? 'warn' : 'error',
'@stylistic/comma-dangle': isDev ? 'warn' : 'error',
'@stylistic/comma-spacing': isDev ? 'warn' : 'error',
'@stylistic/quotes': isDev ? 'warn' : 'error',
'@stylistic/padded-blocks': isDev ? 'warn' : 'error',
'@stylistic/keyword-spacing': isDev ? 'warn' : 'error',
'@stylistic/arrow-spacing': isDev ? 'warn' : 'error'
}
},
{
// Test file overrides
files: [
'**/__tests__/*.{j,t}s?(x)',
'**/tests/unit/**/*.spec.{j,t}s?(x)'
],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.mocha,
...globals.chai,
sinon: 'readonly'
}
},
rules: {
'no-unused-expressions': 'off'
}
}
]);