-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy patheslint.config.mjs
More file actions
54 lines (52 loc) · 1.63 KB
/
Copy patheslint.config.mjs
File metadata and controls
54 lines (52 loc) · 1.63 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
import path from 'node:path';
import {fileURLToPath} from 'node:url';
import js from '@eslint/js';
import globals from 'globals';
import stylistic from '@stylistic/eslint-plugin';
import {FlatCompat} from '@eslint/eslintrc';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const javascriptFiles = ['Resources/Public/JavaScript/**/*.js', 'eslint.config.mjs'];
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});
export default [
...compat.extends(
'eslint:recommended',
'plugin:wc/recommended',
'plugin:lit/recommended',
).map(config => ({...config, files: javascriptFiles})),
{
...stylistic.configs.recommended,
files: javascriptFiles,
},
{
files: javascriptFiles,
languageOptions: {
globals: {
...globals.browser,
...globals.es2023,
ModuleStateStorage: 'readonly',
TYPO3: 'readonly',
},
},
rules: {
'@stylistic/operator-linebreak': ['error', 'before', {overrides: {'=': 'after', '?': 'after'}}],
'@stylistic/quotes': ['error', 'single', {avoidEscape: true, allowTemplateLiterals: 'avoidEscape'}],
'@stylistic/brace-style': ['error', '1tbs', {allowSingleLine: true}],
'@stylistic/indent': ['error', 2],
'@stylistic/semi': ['error', 'always'],
'@stylistic/object-curly-spacing': ['error', 'never'],
'no-unused-vars': ['error', {args: 'none'}],
'semi': 'off',
'wc/no-self-class': 'off',
},
settings: {
wc: {
elementBaseClasses: ['LitElement'],
},
},
},
];