forked from dherault/serverless-offline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.cjs
92 lines (82 loc) · 2.38 KB
/
.eslintrc.cjs
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
80
81
82
83
84
85
86
87
88
89
90
91
92
'use strict'
module.exports = {
env: {
es2022: true,
mocha: true,
},
extends: [
'eslint:recommended',
'eslint-config-airbnb-base',
'plugin:prettier/recommended',
'plugin:unicorn/recommended',
],
globals: {
// TODO remove `node-fetch` module with node.js v18+ support
// TODO file bug with eslint? those should be global now
fetch: true,
Headers: true,
},
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
// require file extensions
'import/extensions': [
'error',
'always',
{
ignorePackages: true,
},
],
'no-restricted-exports': 'off',
'no-restricted-globals': [
'error',
{
message: "Import 'Buffer' from 'node:buffer' module instead",
name: 'Buffer',
},
{
message: "Import 'process' from 'node:process' module instead",
name: 'process',
},
],
'sort-keys': 'error',
// we turn this off here, for all commonjs modules (e.g. test fixtures etc.)
strict: ['off'],
// TODO FIXME turn off temporary, to make eslint pass
'class-methods-use-this': 'off',
'import/no-unresolved': 'off', // eslint-plugin-import has problems with package exports
'no-restricted-syntax': 'off',
'no-underscore-dangle': [
'error',
{
allow: ['__dirname', '_rawDebug'],
},
],
// unicorn temp off
'unicorn/catch-error-name': 'off',
'unicorn/consistent-destructuring': 'off',
'unicorn/consistent-function-scoping': 'off',
'unicorn/filename-case': 'off',
'unicorn/no-abusive-eslint-disable': 'off',
'unicorn/no-array-callback-reference': 'off',
'unicorn/no-array-for-each': 'off',
'unicorn/no-array-push-push': 'off',
'unicorn/no-array-reduce': 'off',
'unicorn/no-await-expression-member': 'off',
'unicorn/no-lonely-if': 'off',
'unicorn/no-new-array': 'off',
'unicorn/no-null': 'off',
'unicorn/no-static-only-class': 'off',
'unicorn/no-unreadable-array-destructuring': 'off',
'unicorn/no-useless-promise-resolve-reject': 'off',
'unicorn/no-useless-undefined': 'off',
'unicorn/prefer-module': 'off',
'unicorn/prefer-number-properties': 'off',
'unicorn/prefer-spread': 'off',
'unicorn/prefer-string-slice': 'off',
'unicorn/prefer-ternary': 'off',
'unicorn/prevent-abbreviations': 'off',
},
}