-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy patheslint.config.mjs
61 lines (59 loc) · 1.76 KB
/
eslint.config.mjs
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
import header from 'eslint-plugin-header';
import importPlugin from 'eslint-plugin-import';
import neostandard, { resolveIgnoresFromGitignore } from 'neostandard';
// Disable schema checking for eslint-plugin-header
header.rules.header.meta.schema = false;
// Export the litning config
export default [
// Standard rules with semi
...neostandard({
ignores: resolveIgnoresFromGitignore(),
languageOptions: {
ecmaVersion: 2022,
},
semi: true,
}),
// Customizations
{
rules: {
'handle-callback-err': 'off',
strict: ['error', 'global'],
'@stylistic/space-before-function-paren': ['error', {
anonymous: 'never',
named: 'never',
asyncArrow: 'always',
}],
}
},
// Header plugin
{
plugins: {
header
},
ignores: ['eslint.config.mjs'],
rules: {
'header/header': [2, 'line', [
{ pattern: '^\\ Copyright © 20\\d\\d(?:, 20\\d\\d)? IBM Corp\\. All rights reserved\\.$' },
'',
' Licensed under the Apache License, Version 2.0 (the "License");',
' you may not use this file except in compliance with the License.',
' You may obtain a copy of the License at',
'',
' http://www.apache.org/licenses/LICENSE-2.0',
'',
' Unless required by applicable law or agreed to in writing, software',
' distributed under the License is distributed on an "AS IS" BASIS,',
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.',
' See the License for the specific language governing permissions and',
' limitations under the License.'
]]
}
},
// Import plugin
{
...importPlugin.flatConfigs.recommended,
languageOptions: {
ecmaVersion: 2022,
},
}
];