forked from pixijs/pixijs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.json
120 lines (118 loc) · 4.2 KB
/
.eslintrc.json
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
{
"extends": ["@pixi/eslint-config"],
"plugins": ["import", "jsdoc", "simple-import-sort"],
"ignorePatterns": ["**/*.index.d.ts"],
"settings": {
"jsdoc": {
"mode": "typescript",
"tagNamePreference": {
"method": "method",
"function": "function",
"extends": "extends",
"typeParam": "typeParam",
"api": "api"
}
}
},
"rules": {
"no-multi-spaces": [1, { "exceptions": {} }],
"object-curly-newline": [1, { "multiline": true, "consistent": true }],
// Imports and Exports
"import/first": 1,
"import/newline-after-import": 1,
"simple-import-sort/imports": [1, {
"groups": [
[
"^\\w", // External
"^\\u0000", // External side effect
"^@pixi/", // @pixi/*
"^\\u0000@pixi/", // @pixi/* side effect
"^\\.", // Relative
"^\\u0000\\.", // Relative side effect
"^" // Others
],
[
"^\\w.*\\u0000$", // External types
"^@pixi/.*\\u0000$", // @pixi/* types
"^\\..*\\u0000$", // Relative types
"\\u0000$" // Other types
]
]
}],
"simple-import-sort/exports": 1,
"spaced-comment": [1, "always", { "markers": ["/"] }],
"@typescript-eslint/triple-slash-reference": [1, { "path": "always" }],
"@typescript-eslint/consistent-type-imports": [1, { "disallowTypeAnnotations": false }],
"@typescript-eslint/no-parameter-properties": 1,
"@typescript-eslint/type-annotation-spacing": 1,
"jsdoc/multiline-blocks": [
1,
{ "noMultilineBlocks": true, "minimumLengthForMultiline": 115 }
],
"jsdoc/check-access": 1,
"jsdoc/check-alignment": 1,
"jsdoc/check-param-names": 1,
"jsdoc/check-property-names": 1,
"jsdoc/check-tag-names": 1,
"jsdoc/check-types": 1,
"jsdoc/check-values": 1,
"jsdoc/empty-tags": 1,
"jsdoc/implements-on-classes": 1,
"jsdoc/newline-after-description": [1, "never"],
"jsdoc/no-multi-asterisks": [1, { "allowWhitespace": true }],
"jsdoc/no-undefined-types": [
"warn",
{
"definedTypes": [
"PIXI",
"AddEventListenerOptions",
"EventListenerOptions",
"EventListenerOrEventListenerObject",
"WEBGL_draw_buffers",
"WEBGL_depth_texture",
"OES_texture_float",
"WEBGL_lose_context",
"OES_vertex_array_object",
"EXT_texture_filter_anisotropic"
]
}
],
"jsdoc/require-param": 1,
"jsdoc/require-param-description": 0,
"jsdoc/require-param-name": 1,
"jsdoc/require-param-type": [
"warn",
{ "contexts": ["TSMethodSignature"] }
],
"jsdoc/require-property": 1,
"jsdoc/require-property-description": 1,
"jsdoc/require-property-name": 1,
"jsdoc/require-property-type": 1,
"jsdoc/require-returns-description": 1,
"jsdoc/require-hyphen-before-param-description": 1,
"jsdoc/tag-lines": 1,
"jsdoc/valid-types": 1
},
"overrides": [
{
"files": ["*.tests.ts", "*.test.ts"],
"globals": {
"expect": false,
"assert": false,
"sinon": false
},
"rules": {
"@typescript-eslint/no-unused-expressions": 0,
"@typescript-eslint/dot-notation": [
0,
{
"allowPrivateClassPropertyAccess": true,
"allowProtectedClassPropertyAccess": true,
"allowIndexSignaturePropertyAccess": true
}
],
"dot-notation": 0
}
}
]
}