forked from ampproject/amphtml
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.eslintrc
209 lines (209 loc) · 6.25 KB
/
.eslintrc
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
{
"root": true,
"parser": "babel-eslint",
"plugins": [
"chai-expect",
"eslint-plugin-amphtml-internal",
"eslint-plugin-google-camelcase",
"jsdoc",
"sort-imports-es6-autofix",
"sort-requires"
],
"env": {
"es6": true,
"browser": true
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"globals": {
"AMP": false,
"context": false,
"global": false
},
"settings": {
"jsdoc": {
"tagNamePreference": {
"returns": "return",
"constant": "const",
"class": "constructor"
},
"additionalTagNames": {
"customTags": [
"deprecated",
"export",
"final",
"package",
"restricted",
"suppress",
"template",
"visibleForTesting"
]
},
"allowOverrideWithoutParam" : true
}
},
"rules": {
"amphtml-internal/closure-type-primitives": 2,
"amphtml-internal/dict-string-keys": 2,
"amphtml-internal/enforce-private-props": 2,
"amphtml-internal/html-template": 2,
"amphtml-internal/is-experiment-on": 2,
"amphtml-internal/no-array-destructuring": 2,
"amphtml-internal/no-deep-destructuring": 2,
"amphtml-internal/no-duplicate-import": 2,
"amphtml-internal/no-es2015-number-props": 2,
"amphtml-internal/no-export-side-effect": 2,
"amphtml-internal/no-for-of-statement": 2,
"amphtml-internal/no-global": 0,
"amphtml-internal/no-has-own-property-method": 1,
"amphtml-internal/no-import": 2,
"amphtml-internal/no-import-rename": 2,
"amphtml-internal/no-is-amp-alt": 2,
"amphtml-internal/no-mixed-operators": 2,
"amphtml-internal/no-module-exports": 2,
"amphtml-internal/no-non-string-log-args": 0,
"amphtml-internal/no-spread": 2,
"amphtml-internal/no-style-display": 2,
"amphtml-internal/no-style-property-setting": 2,
"amphtml-internal/no-swallow-return-from-allow-console-error": 2,
"amphtml-internal/prefer-deferred-promise": 1,
"amphtml-internal/prefer-destructuring": 2,
"amphtml-internal/query-selector": 2,
"amphtml-internal/todo-format": 0,
"amphtml-internal/unused-private-field": 1,
"amphtml-internal/vsync": 1,
"array-bracket-spacing": [2, "never"],
"arrow-parens": [2, "as-needed"],
"arrow-spacing": 2,
"chai-expect/missing-assertion": 2,
"chai-expect/no-inner-compare": 2,
"chai-expect/terminating-properties": 2,
"comma-dangle": [2, "always-multiline"],
"computed-property-spacing": [2, "never"],
"curly": 2,
"dot-location": [2, "property"],
"eol-last": 2,
"google-camelcase/google-camelcase": 2,
"indent": [2, 2, { "SwitchCase": 1, "VariableDeclarator": 2, "MemberExpression": 2, "ObjectExpression": 1, "CallExpression": { "arguments": 2 } }],
"jsdoc/check-param-names": 2,
"jsdoc/check-tag-names": 2,
"jsdoc/check-types": 2,
"jsdoc/require-param": 2,
"jsdoc/require-param-name": 2,
"jsdoc/require-param-type": 2,
"jsdoc/require-returns-type": 2,
"key-spacing": 2,
"max-len": [2, 80, 4, {
"ignoreTrailingComments": true,
"ignoreRegExpLiterals": true,
"ignorePattern": "^} from.*;|= require\\(.*;$|@typedef|@param|@return|@private|@const|@type|@implements",
"ignoreUrls": true
}],
"no-alert": 2,
"no-cond-assign": 2,
"no-debugger": 2,
"no-div-regex": 2,
"no-dupe-keys": 2,
"no-eval": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-semi": 2,
"no-implicit-coercion": [2, { "boolean": false }],
"no-implied-eval": 2,
"no-iterator": 2,
"no-lone-blocks": 2,
"no-multi-spaces": 2,
"no-native-reassign": 2,
"no-redeclare": 2,
"no-script-url": 2,
"no-self-compare": 2,
"no-sequences": 2,
"no-spaced-func": 2,
"no-throw-literal": 2,
"no-trailing-spaces": 2,
"no-unused-expressions": 0,
"no-unused-vars": [2, {
"argsIgnorePattern": "^(var_args$|opt_|unused)",
"varsIgnorePattern": "(AmpElement|Def|Interface)$"
}],
"no-useless-call": 2,
"no-useless-concat": 2,
"no-undef": 2,
"no-var": 2,
"no-warning-comments": [2, { "terms": ["do not submit"], "location": "anywhere" }],
"object-curly-spacing": [2, "never", {
"objectsInObjects": false,
"arraysInObjects": false
}],
"object-shorthand": [2, "properties", { "avoidQuotes": true }],
"prefer-const": 2,
"quotes": [2, "single", "avoid-escape"],
"radix": 2,
"require-jsdoc": [2, {
"require": {
"FunctionDeclaration": true,
"MethodDefinition": true,
"ClassDeclaration": false,
"ArrowFunctionExpression": false,
"FunctionExpression": false
}
}],
"semi": 2,
"keyword-spacing": [2, { "before": true, "after": true }],
"sort-imports-es6-autofix/sort-imports-es6": [2, {
"ignoreCase": false,
"ignoreMemberSort": false,
"memberSyntaxSortOrder": ["none", "all", "multiple", "single"]
}],
"sort-requires/sort-requires": 2,
"space-before-blocks": 2,
"space-before-function-paren": [2, "never"],
"space-in-parens": 2,
"space-infix-ops": 2,
"space-unary-ops": [1, { "words": true, "nonwords": false }],
"wrap-iife": [2, "any"]
},
"overrides": [
{
"files": ["test/**/*.js", "extensions/**/test/**/*.js", "ads/**/test/**/*.js", "testing/**/*.js"],
"rules": {
"require-jsdoc": 0,
"jsdoc/check-param-names": 0,
"jsdoc/check-tag-names": 0,
"jsdoc/check-types": 0,
"jsdoc/require-param": 0,
"jsdoc/require-param-name": 0,
"jsdoc/require-param-type": 0,
"jsdoc/require-returns-type": 0
},
"globals": {
"it": false,
"chai": false,
"expect": false,
"describe": false,
"beforeEach": false,
"afterEach": false,
"before": false,
"after": false,
"assert": false,
"sinon": true,
"sandbox": true,
"describes": true,
"allowConsoleError": false,
"expectAsyncConsoleError": false,
"restoreAsyncErrorThrows": false,
"stubAsyncErrorThrows": false
}
},
{
"files": ["babel.config.js"],
"globals": {
"module": false,
"process": false,
"require": false
}
}
]
}