-
-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy path.eslintrc.js
78 lines (73 loc) · 1.95 KB
/
.eslintrc.js
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
'use strict';
module.exports = {
root: true,
parserOptions: {
ecmaVersion: 2021,
sourceType: 'script',
},
extends: [
'not-an-aardvark/node',
'plugin:eslint-comments/recommended',
'plugin:node/recommended',
'plugin:prettier/recommended',
'plugin:unicorn/recommended',
],
rules: {
'comma-dangle': [
'error',
{
arrays: 'always-multiline',
objects: 'always-multiline',
functions: 'never', // disallow trailing commas in function(es2017)
},
],
'require-jsdoc': 'error',
'eslint-comments/no-unused-disable': 'error',
'eslint-comments/require-description': 'error',
'unicorn/consistent-function-scoping': 'off',
'unicorn/no-array-callback-reference': 'off',
'unicorn/no-array-for-each': 'off',
'unicorn/no-array-reduce': 'off',
'unicorn/no-null': 'off',
'unicorn/prefer-module': 'off',
'unicorn/prevent-abbreviations': 'off',
},
overrides: [
{
// Apply eslint-plugin rules to our own rules/tests (but not docs).
files: ['lib/**/*.js', 'tests/**/*.js'],
extends: ['plugin:eslint-plugin/all'],
rules: {
'eslint-plugin/report-message-format': ['error', '^[^a-z].*.$'],
'eslint-plugin/require-meta-docs-url': [
'error',
{
pattern:
'https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/{{name}}.md',
},
],
},
},
{
files: ['tests/**/*.js'],
env: { mocha: true },
},
{
files: ['**/*.md'],
processor: 'markdown/markdown',
},
{
// Markdown JS code samples in documentation:
files: ['**/*.md/*.js'],
plugins: ['markdown'],
noInlineConfig: true,
rules: {
'no-undef': 'off',
'no-unused-vars': 'off',
strict: 'off',
'eslint-comments/require-description': 'off',
'unicorn/filename-case': 'off',
},
},
],
};