-
Notifications
You must be signed in to change notification settings - Fork 45
/
.eslintrc.js
91 lines (91 loc) · 2.34 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
79
80
81
82
83
84
85
86
87
88
89
90
91
module.exports = {
root: true,
extends: ["moving-meadow"],
ignorePatterns: [
"coverage",
"docs",
"dist",
"node_modules",
"public",
"src/**/*-parser.mjs",
"src/**/*.template.cjs",
],
overrides: [
{
files: ["**/*.js", "**/*.mjs"],
rules: {
"unicorn/prefer-spread": "off",
"unicorn/prefer-top-level-await": "off",
},
},
{
files: ["**/*.mjs"],
rules: {
"node/no-unsupported-features/es-syntax": "off",
"unicorn/prefer-node-protocol": "error",
"unicorn/prefer-module": "error",
},
parserOptions: {
ecmaVersion: "latest",
},
},
{
files: ["src/version.mts"],
rules: {
"budapestian/global-constant-pattern": "off",
},
},
{
files: ["test/**/*.spec.js", "test/**/*.spec.mts"],
env: {
mocha: true,
},
rules: {
"node/global-require": "off",
"no-magic-numbers": "off",
"security/detect-non-literal-require": "off",
"security/detect-non-literal-fs-filename": "off",
"max-lines-per-function": "off",
"max-lines": "off",
},
},
{
files: ["*.ts"],
plugins: ["@typescript-eslint"],
extends: ["plugin:@typescript-eslint/recommended"],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 2021,
},
rules: {
"import/no-import-module-exports": "off",
"node/no-missing-import": "off",
},
},
{
files: ["*.d.ts", "*.d.mts"],
rules: {
"budapestian/global-constant-pattern": "off",
},
},
{
files: ["*.d.ts", "*.d.mts", "*.mts", "*.mjs"],
plugins: ["@typescript-eslint"],
extends: ["plugin:@typescript-eslint/recommended"],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 2021,
},
rules: {
// no-unused-vars is already covered by the typescript compiler
// moreover ts-eslint also applies it to catch clauses where it is mandatory
// to have a parameter even if it isn't used
"@typescript-eslint/no-unused-vars": "off",
"node/no-unsupported-features/es-syntax": "off",
"no-inline-comments": "off",
"import/no-unresolved": "off",
"node/no-missing-import": "off",
},
},
],
};