Skip to content

Commit 52cdb59

Browse files
authored
Convert ESLint config to flat config format (#21)
1 parent 7e1f701 commit 52cdb59

2 files changed

Lines changed: 159 additions & 164 deletions

File tree

.eslintrc

Lines changed: 0 additions & 164 deletions
This file was deleted.

eslint.config.js

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
const globals = require( 'globals' );
2+
const js = require( '@eslint/js' );
3+
4+
module.exports = [
5+
js.configs.recommended,
6+
{
7+
languageOptions: {
8+
sourceType: 'commonjs',
9+
ecmaVersion: 2021,
10+
globals: {
11+
...globals.node,
12+
arguments: 'writable',
13+
},
14+
},
15+
16+
rules: {
17+
'array-bracket-spacing': ['error', 'never'],
18+
'brace-style': ['error', 'stroustrup', {
19+
allowSingleLine: true,
20+
}],
21+
'camelcase': ['error', {
22+
properties: 'never',
23+
}],
24+
'comma-spacing': ['error', {
25+
before: false,
26+
after: true,
27+
}],
28+
'comma-style': ['error', 'last'],
29+
'comma-dangle': ['error', 'always-multiline'],
30+
'complexity': ['warn', 8],
31+
'computed-property-spacing': ['error', 'never'],
32+
'consistent-return': 'warn',
33+
'curly': ['error', 'all'],
34+
'default-case': 'error',
35+
'dot-notation': ['warn', {
36+
allowKeywords: true,
37+
}],
38+
'dot-location': ['error', 'property'],
39+
'eol-last': 'error',
40+
'eqeqeq': 'error',
41+
'func-style': 'off',
42+
'guard-for-in': 'off',
43+
'indent': ['error', 2, {
44+
SwitchCase: 1,
45+
}],
46+
'keyword-spacing': 'error',
47+
'key-spacing': ['error', {
48+
beforeColon: false,
49+
afterColon: true,
50+
}],
51+
'lines-around-comment': ['error', {
52+
beforeBlockComment: true,
53+
afterBlockComment: true,
54+
beforeLineComment: true,
55+
afterLineComment: false,
56+
allowBlockStart: true,
57+
allowBlockEnd: false,
58+
}],
59+
'linebreak-style': ['error', 'unix'],
60+
'max-nested-callbacks': ['warn', 3],
61+
'new-cap': 'off',
62+
'no-alert': 'error',
63+
'no-caller': 'error',
64+
'no-delete-var': 'error',
65+
'no-div-regex': 'error',
66+
'no-duplicate-case': 'error',
67+
'no-else-return': 'error',
68+
'no-empty': 'error',
69+
'no-empty-character-class': 'error',
70+
'no-eval': 'error',
71+
'no-extend-native': 'error',
72+
'no-extra-semi': 'error',
73+
'no-fallthrough': 'error',
74+
'no-floating-decimal': 'error',
75+
'no-func-assign': 'error',
76+
'no-implied-eval': 'error',
77+
'no-inline-comments': 'error',
78+
'no-invalid-regexp': 'error',
79+
'no-label-var': 'error',
80+
'no-labels': 'error',
81+
'no-lone-blocks': 'error',
82+
'no-lonely-if': 'error',
83+
'no-mixed-requires': 'off',
84+
'no-mixed-spaces-and-tabs': 'error',
85+
'no-multi-spaces': 'error',
86+
'no-multi-str': 'error',
87+
'no-multiple-empty-lines': ['error', {
88+
max: 2,
89+
}],
90+
'no-nested-ternary': 'error',
91+
'no-new-func': 'error',
92+
'no-new-object': 'error',
93+
'no-new-wrappers': 'error',
94+
'no-octal-escape': 'error',
95+
'no-octal': 'error',
96+
'no-path-concat': 'error',
97+
'no-param-reassign': 'off',
98+
'no-process-env': 'off',
99+
'no-proto': 'error',
100+
'no-redeclare': 'error',
101+
'no-return-assign': ['error', 'always'],
102+
'no-self-compare': 'error',
103+
'no-sequences': 'error',
104+
'no-shadow': 'error',
105+
'no-shadow-restricted-names': 'error',
106+
'func-call-spacing': 'error',
107+
'no-sparse-arrays': 'warn',
108+
'no-sync': 'warn',
109+
'no-ternary': 'off',
110+
'no-throw-literal': 'error',
111+
'no-trailing-spaces': 'error',
112+
'no-undef': 'error',
113+
'no-undef-init': 'error',
114+
'no-undefined': 'error',
115+
'no-underscore-dangle': 'error',
116+
'no-unexpected-multiline': 'error',
117+
'no-unneeded-ternary': 'error',
118+
'no-unreachable': 'error',
119+
'no-unused-vars': 'warn',
120+
'no-use-before-define': 'error',
121+
'no-useless-concat': 'error',
122+
'no-warning-comments': 'warn',
123+
'no-with': 'error',
124+
'object-curly-spacing': ['error', 'always', {
125+
objectsInObjects: false,
126+
arraysInObjects: false,
127+
}],
128+
'one-var': ['error', 'never'],
129+
'operator-assignment': ['error', 'always'],
130+
'operator-linebreak': ['error', 'before'],
131+
'padded-blocks': 'off',
132+
'quote-props': ['error', 'consistent'],
133+
'quotes': ['error', 'single', 'avoid-escape'],
134+
'radix': 'error',
135+
'semi': 'error',
136+
'semi-spacing': ['error', {
137+
before: false,
138+
after: true,
139+
}],
140+
'space-before-blocks': ['error', 'always'],
141+
'space-before-function-paren': ['error', 'always'],
142+
'space-in-parens': ['error', 'always'],
143+
'space-infix-ops': 'error',
144+
'space-unary-ops': ['error', {
145+
words: true,
146+
nonwords: false,
147+
overrides: {
148+
'!': true,
149+
},
150+
}],
151+
'spaced-comment': ['error', 'always'],
152+
'use-isnan': 'error',
153+
'valid-typeof': 'error',
154+
'vars-on-top': 'error',
155+
'wrap-regex': 'off',
156+
'yoda': ['error', 'never'],
157+
},
158+
},
159+
];

0 commit comments

Comments
 (0)