@fenge/eslint-config 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +1 -3
- package/dist/config/javascript.d.ts +375 -23
- package/dist/config/javascript.d.ts.map +1 -1
- package/dist/config/javascript.js +7 -6
- package/dist/config/typescript.d.ts +374 -24
- package/dist/config/typescript.d.ts.map +1 -1
- package/dist/config/typescript.js +2 -2
- package/package.json +7 -7
- package/src/config/javascript.ts +6 -5
- package/src/config/typescript.ts +1 -1
- package/src/eslint.config.spec.ts +80 -2
|
@@ -26,19 +26,382 @@ export declare function typescript(project?: string): readonly [{
|
|
|
26
26
|
readonly "@fenge-ts": typeof fengeTsPlugin;
|
|
27
27
|
readonly fp: unknown;
|
|
28
28
|
readonly n: import("eslint").ESLint.Plugin & {
|
|
29
|
-
configs:
|
|
30
|
-
'recommended-module': import("eslint").ESLint.ConfigData;
|
|
31
|
-
'recommended-script': import("eslint").ESLint.ConfigData;
|
|
32
|
-
recommended: import("eslint").ESLint.ConfigData;
|
|
33
|
-
'flat/recommended-module': import("eslint").Linter.FlatConfig;
|
|
34
|
-
'flat/recommended-script': import("eslint").Linter.FlatConfig;
|
|
35
|
-
'flat/recommended': import("eslint").Linter.FlatConfig;
|
|
36
|
-
'flat/mixed-esm-and-cjs': import("eslint").Linter.FlatConfig[];
|
|
37
|
-
};
|
|
29
|
+
configs: import("eslint-plugin-n").Configs;
|
|
38
30
|
};
|
|
39
31
|
readonly import: unknown;
|
|
40
32
|
readonly promise: unknown;
|
|
41
|
-
readonly react:
|
|
33
|
+
readonly react: {
|
|
34
|
+
deprecatedRules: Partial<{
|
|
35
|
+
'boolean-prop-naming': import("eslint").Rule.RuleModule;
|
|
36
|
+
'button-has-type': import("eslint").Rule.RuleModule;
|
|
37
|
+
'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
|
|
38
|
+
'default-props-match-prop-types': import("eslint").Rule.RuleModule;
|
|
39
|
+
'destructuring-assignment': import("eslint").Rule.RuleModule;
|
|
40
|
+
'display-name': import("eslint").Rule.RuleModule;
|
|
41
|
+
'forbid-component-props': import("eslint").Rule.RuleModule;
|
|
42
|
+
'forbid-dom-props': import("eslint").Rule.RuleModule;
|
|
43
|
+
'forbid-elements': import("eslint").Rule.RuleModule;
|
|
44
|
+
'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
|
|
45
|
+
'forbid-prop-types': import("eslint").Rule.RuleModule;
|
|
46
|
+
'forward-ref-uses-ref': {
|
|
47
|
+
meta: {
|
|
48
|
+
docs: {
|
|
49
|
+
description: string;
|
|
50
|
+
category: string;
|
|
51
|
+
recommended: boolean;
|
|
52
|
+
url: string;
|
|
53
|
+
};
|
|
54
|
+
messages: {
|
|
55
|
+
missingRefParameter: string;
|
|
56
|
+
addRefParameter: string;
|
|
57
|
+
removeForwardRef: string;
|
|
58
|
+
};
|
|
59
|
+
schema: undefined[];
|
|
60
|
+
type: string;
|
|
61
|
+
hasSuggestions: boolean;
|
|
62
|
+
};
|
|
63
|
+
create(context: any): {
|
|
64
|
+
"FunctionExpression, ArrowFunctionExpression"(node: any): void;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
'function-component-definition': import("eslint").Rule.RuleModule;
|
|
68
|
+
'hook-use-state': import("eslint").Rule.RuleModule;
|
|
69
|
+
'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
|
|
70
|
+
'jsx-boolean-value': import("eslint").Rule.RuleModule;
|
|
71
|
+
'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
|
|
72
|
+
'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
|
|
73
|
+
'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
|
|
74
|
+
'jsx-curly-spacing': import("eslint").Rule.RuleModule;
|
|
75
|
+
'jsx-curly-newline': import("eslint").Rule.RuleModule;
|
|
76
|
+
'jsx-equals-spacing': import("eslint").Rule.RuleModule;
|
|
77
|
+
'jsx-filename-extension': import("eslint").Rule.RuleModule;
|
|
78
|
+
'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
|
|
79
|
+
'jsx-handler-names': import("eslint").Rule.RuleModule;
|
|
80
|
+
'jsx-indent': import("eslint").Rule.RuleModule;
|
|
81
|
+
'jsx-indent-props': import("eslint").Rule.RuleModule;
|
|
82
|
+
'jsx-key': import("eslint").Rule.RuleModule;
|
|
83
|
+
'jsx-max-depth': import("eslint").Rule.RuleModule;
|
|
84
|
+
'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
|
|
85
|
+
'jsx-newline': import("eslint").Rule.RuleModule;
|
|
86
|
+
'jsx-no-bind': import("eslint").Rule.RuleModule;
|
|
87
|
+
'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
|
|
88
|
+
'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
|
|
89
|
+
'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
|
|
90
|
+
'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
|
|
91
|
+
'jsx-no-literals': {
|
|
92
|
+
meta: import("eslint").Rule.RuleMetaData;
|
|
93
|
+
create(context: any): (false & {
|
|
94
|
+
Literal(node: any): void;
|
|
95
|
+
JSXAttribute(node: any): void;
|
|
96
|
+
JSXText(node: any): void;
|
|
97
|
+
TemplateLiteral(node: any): void;
|
|
98
|
+
}) | ({
|
|
99
|
+
ImportDeclaration(node: any): void;
|
|
100
|
+
VariableDeclaration(node: any): void;
|
|
101
|
+
} & {
|
|
102
|
+
Literal(node: any): void;
|
|
103
|
+
JSXAttribute(node: any): void;
|
|
104
|
+
JSXText(node: any): void;
|
|
105
|
+
TemplateLiteral(node: any): void;
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
'jsx-no-script-url': import("eslint").Rule.RuleModule;
|
|
109
|
+
'jsx-no-target-blank': import("eslint").Rule.RuleModule;
|
|
110
|
+
'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
|
|
111
|
+
'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
|
|
112
|
+
'jsx-no-undef': import("eslint").Rule.RuleModule;
|
|
113
|
+
'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
|
|
114
|
+
'jsx-pascal-case': import("eslint").Rule.RuleModule;
|
|
115
|
+
'jsx-fragments': import("eslint").Rule.RuleModule;
|
|
116
|
+
'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
|
|
117
|
+
'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
|
|
118
|
+
'jsx-props-no-spread-multi': {
|
|
119
|
+
meta: {
|
|
120
|
+
docs: {
|
|
121
|
+
description: string;
|
|
122
|
+
category: string;
|
|
123
|
+
recommended: boolean;
|
|
124
|
+
url: string;
|
|
125
|
+
};
|
|
126
|
+
messages: {
|
|
127
|
+
noMultiSpreading: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
create(context: any): {
|
|
131
|
+
JSXOpeningElement(node: any): void;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
'jsx-sort-default-props': import("eslint").Rule.RuleModule;
|
|
135
|
+
'jsx-sort-props': import("eslint").Rule.RuleModule;
|
|
136
|
+
'jsx-space-before-closing': import("eslint").Rule.RuleModule;
|
|
137
|
+
'jsx-tag-spacing': import("eslint").Rule.RuleModule;
|
|
138
|
+
'jsx-uses-react': import("eslint").Rule.RuleModule;
|
|
139
|
+
'jsx-uses-vars': import("eslint").Rule.RuleModule;
|
|
140
|
+
'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
|
|
141
|
+
'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
|
|
142
|
+
'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
|
|
143
|
+
'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
|
|
144
|
+
'no-array-index-key': import("eslint").Rule.RuleModule;
|
|
145
|
+
'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
|
|
146
|
+
'no-children-prop': import("eslint").Rule.RuleModule;
|
|
147
|
+
'no-danger': import("eslint").Rule.RuleModule;
|
|
148
|
+
'no-danger-with-children': import("eslint").Rule.RuleModule;
|
|
149
|
+
'no-deprecated': import("eslint").Rule.RuleModule;
|
|
150
|
+
'no-did-mount-set-state': import("eslint").Rule.RuleModule;
|
|
151
|
+
'no-did-update-set-state': import("eslint").Rule.RuleModule;
|
|
152
|
+
'no-direct-mutation-state': import("eslint").Rule.RuleModule;
|
|
153
|
+
'no-find-dom-node': import("eslint").Rule.RuleModule;
|
|
154
|
+
'no-is-mounted': import("eslint").Rule.RuleModule;
|
|
155
|
+
'no-multi-comp': import("eslint").Rule.RuleModule;
|
|
156
|
+
'no-namespace': import("eslint").Rule.RuleModule;
|
|
157
|
+
'no-set-state': import("eslint").Rule.RuleModule;
|
|
158
|
+
'no-string-refs': import("eslint").Rule.RuleModule;
|
|
159
|
+
'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
|
|
160
|
+
'no-render-return-value': import("eslint").Rule.RuleModule;
|
|
161
|
+
'no-this-in-sfc': import("eslint").Rule.RuleModule;
|
|
162
|
+
'no-typos': import("eslint").Rule.RuleModule;
|
|
163
|
+
'no-unescaped-entities': import("eslint").Rule.RuleModule;
|
|
164
|
+
'no-unknown-property': import("eslint").Rule.RuleModule;
|
|
165
|
+
'no-unsafe': import("eslint").Rule.RuleModule;
|
|
166
|
+
'no-unstable-nested-components': import("eslint").Rule.RuleModule;
|
|
167
|
+
'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
|
|
168
|
+
'no-unused-prop-types': import("eslint").Rule.RuleModule;
|
|
169
|
+
'no-unused-state': import("eslint").Rule.RuleModule;
|
|
170
|
+
'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
|
|
171
|
+
'no-will-update-set-state': import("eslint").Rule.RuleModule;
|
|
172
|
+
'prefer-es6-class': import("eslint").Rule.RuleModule;
|
|
173
|
+
'prefer-exact-props': import("eslint").Rule.RuleModule;
|
|
174
|
+
'prefer-read-only-props': import("eslint").Rule.RuleModule;
|
|
175
|
+
'prefer-stateless-function': import("eslint").Rule.RuleModule;
|
|
176
|
+
'prop-types': import("eslint").Rule.RuleModule;
|
|
177
|
+
'react-in-jsx-scope': import("eslint").Rule.RuleModule;
|
|
178
|
+
'require-default-props': import("eslint").Rule.RuleModule;
|
|
179
|
+
'require-optimization': import("eslint").Rule.RuleModule;
|
|
180
|
+
'require-render-return': import("eslint").Rule.RuleModule;
|
|
181
|
+
'self-closing-comp': import("eslint").Rule.RuleModule;
|
|
182
|
+
'sort-comp': import("eslint").Rule.RuleModule;
|
|
183
|
+
'sort-default-props': import("eslint").Rule.RuleModule;
|
|
184
|
+
'sort-prop-types': import("eslint").Rule.RuleModule;
|
|
185
|
+
'state-in-constructor': import("eslint").Rule.RuleModule;
|
|
186
|
+
'static-property-placement': import("eslint").Rule.RuleModule;
|
|
187
|
+
'style-prop-object': import("eslint").Rule.RuleModule;
|
|
188
|
+
'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
|
|
189
|
+
}>;
|
|
190
|
+
rules: {
|
|
191
|
+
'boolean-prop-naming': import("eslint").Rule.RuleModule;
|
|
192
|
+
'button-has-type': import("eslint").Rule.RuleModule;
|
|
193
|
+
'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
|
|
194
|
+
'default-props-match-prop-types': import("eslint").Rule.RuleModule;
|
|
195
|
+
'destructuring-assignment': import("eslint").Rule.RuleModule;
|
|
196
|
+
'display-name': import("eslint").Rule.RuleModule;
|
|
197
|
+
'forbid-component-props': import("eslint").Rule.RuleModule;
|
|
198
|
+
'forbid-dom-props': import("eslint").Rule.RuleModule;
|
|
199
|
+
'forbid-elements': import("eslint").Rule.RuleModule;
|
|
200
|
+
'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
|
|
201
|
+
'forbid-prop-types': import("eslint").Rule.RuleModule;
|
|
202
|
+
'forward-ref-uses-ref': {
|
|
203
|
+
meta: {
|
|
204
|
+
docs: {
|
|
205
|
+
description: string;
|
|
206
|
+
category: string;
|
|
207
|
+
recommended: boolean;
|
|
208
|
+
url: string;
|
|
209
|
+
};
|
|
210
|
+
messages: {
|
|
211
|
+
missingRefParameter: string;
|
|
212
|
+
addRefParameter: string;
|
|
213
|
+
removeForwardRef: string;
|
|
214
|
+
};
|
|
215
|
+
schema: undefined[];
|
|
216
|
+
type: string;
|
|
217
|
+
hasSuggestions: boolean;
|
|
218
|
+
};
|
|
219
|
+
create(context: any): {
|
|
220
|
+
"FunctionExpression, ArrowFunctionExpression"(node: any): void;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
'function-component-definition': import("eslint").Rule.RuleModule;
|
|
224
|
+
'hook-use-state': import("eslint").Rule.RuleModule;
|
|
225
|
+
'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
|
|
226
|
+
'jsx-boolean-value': import("eslint").Rule.RuleModule;
|
|
227
|
+
'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
|
|
228
|
+
'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
|
|
229
|
+
'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
|
|
230
|
+
'jsx-curly-spacing': import("eslint").Rule.RuleModule;
|
|
231
|
+
'jsx-curly-newline': import("eslint").Rule.RuleModule;
|
|
232
|
+
'jsx-equals-spacing': import("eslint").Rule.RuleModule;
|
|
233
|
+
'jsx-filename-extension': import("eslint").Rule.RuleModule;
|
|
234
|
+
'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
|
|
235
|
+
'jsx-handler-names': import("eslint").Rule.RuleModule;
|
|
236
|
+
'jsx-indent': import("eslint").Rule.RuleModule;
|
|
237
|
+
'jsx-indent-props': import("eslint").Rule.RuleModule;
|
|
238
|
+
'jsx-key': import("eslint").Rule.RuleModule;
|
|
239
|
+
'jsx-max-depth': import("eslint").Rule.RuleModule;
|
|
240
|
+
'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
|
|
241
|
+
'jsx-newline': import("eslint").Rule.RuleModule;
|
|
242
|
+
'jsx-no-bind': import("eslint").Rule.RuleModule;
|
|
243
|
+
'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
|
|
244
|
+
'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
|
|
245
|
+
'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
|
|
246
|
+
'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
|
|
247
|
+
'jsx-no-literals': {
|
|
248
|
+
meta: import("eslint").Rule.RuleMetaData;
|
|
249
|
+
create(context: any): (false & {
|
|
250
|
+
Literal(node: any): void;
|
|
251
|
+
JSXAttribute(node: any): void;
|
|
252
|
+
JSXText(node: any): void;
|
|
253
|
+
TemplateLiteral(node: any): void;
|
|
254
|
+
}) | ({
|
|
255
|
+
ImportDeclaration(node: any): void;
|
|
256
|
+
VariableDeclaration(node: any): void;
|
|
257
|
+
} & {
|
|
258
|
+
Literal(node: any): void;
|
|
259
|
+
JSXAttribute(node: any): void;
|
|
260
|
+
JSXText(node: any): void;
|
|
261
|
+
TemplateLiteral(node: any): void;
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
'jsx-no-script-url': import("eslint").Rule.RuleModule;
|
|
265
|
+
'jsx-no-target-blank': import("eslint").Rule.RuleModule;
|
|
266
|
+
'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
|
|
267
|
+
'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
|
|
268
|
+
'jsx-no-undef': import("eslint").Rule.RuleModule;
|
|
269
|
+
'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
|
|
270
|
+
'jsx-pascal-case': import("eslint").Rule.RuleModule;
|
|
271
|
+
'jsx-fragments': import("eslint").Rule.RuleModule;
|
|
272
|
+
'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
|
|
273
|
+
'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
|
|
274
|
+
'jsx-props-no-spread-multi': {
|
|
275
|
+
meta: {
|
|
276
|
+
docs: {
|
|
277
|
+
description: string;
|
|
278
|
+
category: string;
|
|
279
|
+
recommended: boolean;
|
|
280
|
+
url: string;
|
|
281
|
+
};
|
|
282
|
+
messages: {
|
|
283
|
+
noMultiSpreading: string;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
create(context: any): {
|
|
287
|
+
JSXOpeningElement(node: any): void;
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
'jsx-sort-default-props': import("eslint").Rule.RuleModule;
|
|
291
|
+
'jsx-sort-props': import("eslint").Rule.RuleModule;
|
|
292
|
+
'jsx-space-before-closing': import("eslint").Rule.RuleModule;
|
|
293
|
+
'jsx-tag-spacing': import("eslint").Rule.RuleModule;
|
|
294
|
+
'jsx-uses-react': import("eslint").Rule.RuleModule;
|
|
295
|
+
'jsx-uses-vars': import("eslint").Rule.RuleModule;
|
|
296
|
+
'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
|
|
297
|
+
'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
|
|
298
|
+
'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
|
|
299
|
+
'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
|
|
300
|
+
'no-array-index-key': import("eslint").Rule.RuleModule;
|
|
301
|
+
'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
|
|
302
|
+
'no-children-prop': import("eslint").Rule.RuleModule;
|
|
303
|
+
'no-danger': import("eslint").Rule.RuleModule;
|
|
304
|
+
'no-danger-with-children': import("eslint").Rule.RuleModule;
|
|
305
|
+
'no-deprecated': import("eslint").Rule.RuleModule;
|
|
306
|
+
'no-did-mount-set-state': import("eslint").Rule.RuleModule;
|
|
307
|
+
'no-did-update-set-state': import("eslint").Rule.RuleModule;
|
|
308
|
+
'no-direct-mutation-state': import("eslint").Rule.RuleModule;
|
|
309
|
+
'no-find-dom-node': import("eslint").Rule.RuleModule;
|
|
310
|
+
'no-is-mounted': import("eslint").Rule.RuleModule;
|
|
311
|
+
'no-multi-comp': import("eslint").Rule.RuleModule;
|
|
312
|
+
'no-namespace': import("eslint").Rule.RuleModule;
|
|
313
|
+
'no-set-state': import("eslint").Rule.RuleModule;
|
|
314
|
+
'no-string-refs': import("eslint").Rule.RuleModule;
|
|
315
|
+
'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
|
|
316
|
+
'no-render-return-value': import("eslint").Rule.RuleModule;
|
|
317
|
+
'no-this-in-sfc': import("eslint").Rule.RuleModule;
|
|
318
|
+
'no-typos': import("eslint").Rule.RuleModule;
|
|
319
|
+
'no-unescaped-entities': import("eslint").Rule.RuleModule;
|
|
320
|
+
'no-unknown-property': import("eslint").Rule.RuleModule;
|
|
321
|
+
'no-unsafe': import("eslint").Rule.RuleModule;
|
|
322
|
+
'no-unstable-nested-components': import("eslint").Rule.RuleModule;
|
|
323
|
+
'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
|
|
324
|
+
'no-unused-prop-types': import("eslint").Rule.RuleModule;
|
|
325
|
+
'no-unused-state': import("eslint").Rule.RuleModule;
|
|
326
|
+
'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
|
|
327
|
+
'no-will-update-set-state': import("eslint").Rule.RuleModule;
|
|
328
|
+
'prefer-es6-class': import("eslint").Rule.RuleModule;
|
|
329
|
+
'prefer-exact-props': import("eslint").Rule.RuleModule;
|
|
330
|
+
'prefer-read-only-props': import("eslint").Rule.RuleModule;
|
|
331
|
+
'prefer-stateless-function': import("eslint").Rule.RuleModule;
|
|
332
|
+
'prop-types': import("eslint").Rule.RuleModule;
|
|
333
|
+
'react-in-jsx-scope': import("eslint").Rule.RuleModule;
|
|
334
|
+
'require-default-props': import("eslint").Rule.RuleModule;
|
|
335
|
+
'require-optimization': import("eslint").Rule.RuleModule;
|
|
336
|
+
'require-render-return': import("eslint").Rule.RuleModule;
|
|
337
|
+
'self-closing-comp': import("eslint").Rule.RuleModule;
|
|
338
|
+
'sort-comp': import("eslint").Rule.RuleModule;
|
|
339
|
+
'sort-default-props': import("eslint").Rule.RuleModule;
|
|
340
|
+
'sort-prop-types': import("eslint").Rule.RuleModule;
|
|
341
|
+
'state-in-constructor': import("eslint").Rule.RuleModule;
|
|
342
|
+
'static-property-placement': import("eslint").Rule.RuleModule;
|
|
343
|
+
'style-prop-object': import("eslint").Rule.RuleModule;
|
|
344
|
+
'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
|
|
345
|
+
};
|
|
346
|
+
configs: {
|
|
347
|
+
recommended: {
|
|
348
|
+
plugins: ["react"];
|
|
349
|
+
parserOptions: {
|
|
350
|
+
ecmaFeatures: {
|
|
351
|
+
jsx: boolean;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
rules: {
|
|
355
|
+
"react/display-name": number;
|
|
356
|
+
"react/jsx-key": number;
|
|
357
|
+
"react/jsx-no-comment-textnodes": number;
|
|
358
|
+
"react/jsx-no-duplicate-props": number;
|
|
359
|
+
"react/jsx-no-target-blank": number;
|
|
360
|
+
"react/jsx-no-undef": number;
|
|
361
|
+
"react/jsx-uses-react": number;
|
|
362
|
+
"react/jsx-uses-vars": number;
|
|
363
|
+
"react/no-children-prop": number;
|
|
364
|
+
"react/no-danger-with-children": number;
|
|
365
|
+
"react/no-deprecated": number;
|
|
366
|
+
"react/no-direct-mutation-state": number;
|
|
367
|
+
"react/no-find-dom-node": number;
|
|
368
|
+
"react/no-is-mounted": number;
|
|
369
|
+
"react/no-render-return-value": number;
|
|
370
|
+
"react/no-string-refs": number;
|
|
371
|
+
"react/no-unescaped-entities": number;
|
|
372
|
+
"react/no-unknown-property": number;
|
|
373
|
+
"react/no-unsafe": number;
|
|
374
|
+
"react/prop-types": number;
|
|
375
|
+
"react/react-in-jsx-scope": number;
|
|
376
|
+
"react/require-render-return": number;
|
|
377
|
+
};
|
|
378
|
+
};
|
|
379
|
+
all: {
|
|
380
|
+
plugins: ["react"];
|
|
381
|
+
parserOptions: {
|
|
382
|
+
ecmaFeatures: {
|
|
383
|
+
jsx: boolean;
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
|
|
387
|
+
};
|
|
388
|
+
'jsx-runtime': {
|
|
389
|
+
plugins: ["react"];
|
|
390
|
+
parserOptions: {
|
|
391
|
+
ecmaFeatures: {
|
|
392
|
+
jsx: boolean;
|
|
393
|
+
};
|
|
394
|
+
jsxPragma: any;
|
|
395
|
+
};
|
|
396
|
+
rules: {
|
|
397
|
+
"react/react-in-jsx-scope": number;
|
|
398
|
+
"react/jsx-uses-react": number;
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
} & {
|
|
402
|
+
flat?: Record<string, import("eslint-plugin-react").ReactFlatConfig>;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
42
405
|
readonly "react-hooks": unknown;
|
|
43
406
|
readonly sonarjs: typeof import("eslint-plugin-sonarjs");
|
|
44
407
|
readonly unicorn: import("eslint").ESLint.Plugin & {
|
|
@@ -155,7 +518,6 @@ export declare function typescript(project?: string): readonly [{
|
|
|
155
518
|
readonly "no-empty-function": "off";
|
|
156
519
|
readonly "no-invalid-this": "off";
|
|
157
520
|
readonly "no-shadow": "off";
|
|
158
|
-
readonly "lines-between-class-members": "off";
|
|
159
521
|
readonly "no-array-constructor": "off";
|
|
160
522
|
readonly "no-dupe-class-members": "off";
|
|
161
523
|
readonly "no-implied-eval": "off";
|
|
@@ -176,9 +538,6 @@ export declare function typescript(project?: string): readonly [{
|
|
|
176
538
|
readonly "@typescript-eslint/no-shadow": readonly ["error", {
|
|
177
539
|
readonly ignoreOnInitialization: true;
|
|
178
540
|
}];
|
|
179
|
-
readonly "@typescript-eslint/lines-between-class-members": readonly ["error", "always", {
|
|
180
|
-
readonly exceptAfterSingleLine: true;
|
|
181
|
-
}];
|
|
182
541
|
readonly "@typescript-eslint/no-array-constructor": "error";
|
|
183
542
|
readonly "@typescript-eslint/no-dupe-class-members": "error";
|
|
184
543
|
readonly "@typescript-eslint/no-implied-eval": "error";
|
|
@@ -334,6 +693,7 @@ export declare function typescript(project?: string): readonly [{
|
|
|
334
693
|
readonly "unicorn/no-unreadable-iife": "error";
|
|
335
694
|
readonly "unicorn/no-useless-spread": "error";
|
|
336
695
|
readonly "unicorn/prefer-array-flat-map": "error";
|
|
696
|
+
readonly "unicorn/prefer-export-from": "error";
|
|
337
697
|
readonly "unicorn/prefer-global-this": "error";
|
|
338
698
|
readonly "unicorn/prefer-includes": "error";
|
|
339
699
|
readonly "unicorn/prefer-module": "error";
|
|
@@ -465,16 +825,6 @@ export declare function typescript(project?: string): readonly [{
|
|
|
465
825
|
readonly 'prefer-regex-literals': readonly ["error", {
|
|
466
826
|
readonly disallowRedundantWrapping: true;
|
|
467
827
|
}];
|
|
468
|
-
readonly 'spaced-comment': readonly ["error", "always", {
|
|
469
|
-
readonly line: {
|
|
470
|
-
readonly markers: readonly ["*package", "!", "/", ",", "="];
|
|
471
|
-
};
|
|
472
|
-
readonly block: {
|
|
473
|
-
readonly balanced: true;
|
|
474
|
-
readonly markers: readonly ["*package", "!", ",", ":", "::", "flow-include"];
|
|
475
|
-
readonly exceptions: readonly ["*"];
|
|
476
|
-
};
|
|
477
|
-
}];
|
|
478
828
|
readonly 'symbol-description': "error";
|
|
479
829
|
readonly 'unicode-bom': readonly ["error", "never"];
|
|
480
830
|
readonly 'use-isnan': readonly ["error", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAG1D,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
2
|
import * as fengeTsPlugin from "@fenge/eslint-plugin-ts";
|
|
3
3
|
import tsParser from "@typescript-eslint/parser";
|
|
4
|
-
import deprecationPlugin from "eslint-plugin-deprecation";
|
|
4
|
+
import deprecationPlugin from "eslint-plugin-deprecation"; // TODO: Remove this plugin and use `@typescript-eslint/no-deprecated` when eslint upgraded to 9.
|
|
5
5
|
import { javascript } from "./javascript.js";
|
|
6
6
|
export function typescript(project) {
|
|
7
7
|
const jsConfig = javascript()[0];
|
|
@@ -235,4 +235,4 @@ export function typescript(project) {
|
|
|
235
235
|
},
|
|
236
236
|
];
|
|
237
237
|
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLGlCQUFpQixNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO1FBQy9CLGlEQUFpRDtRQUNqRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3hCLGVBQWU7WUFDZixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsNkJBQTZCO1lBQzdCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLHVCQUF1QjtZQUN2QixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsa0JBQWtCLEVBQUUsK0NBQStDO1lBQ25F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QUssRUFBRTtnQkFDTCxvQ0FBb0M7Z0JBQ3BDLG1DQUFtQzthQUNwQztZQUNELEtBQUssRUFBRTtnQkFDTCx5Q0FBeUMsRUFBRSxLQUFLO2dCQUNoRCxtQ0FBbUMsRUFBRSxLQUFLO2dCQUMxQyw0QkFBNEIsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3hFO1NBQ0Y7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwcm9jZXNzIGZyb20gXCJub2RlOnByb2Nlc3NcIjtcbmltcG9ydCAqIGFzIGZlbmdlVHNQbHVnaW4gZnJvbSBcIkBmZW5nZS9lc2xpbnQtcGx1Z2luLXRzXCI7XG5pbXBvcnQgdHNQYXJzZXIgZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjtcbmltcG9ydCBkZXByZWNhdGlvblBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1kZXByZWNhdGlvblwiO1xuaW1wb3J0IHsgamF2YXNjcmlwdCB9IGZyb20gXCIuL2phdmFzY3JpcHQuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzY3JpcHQocHJvamVjdD86IHN0cmluZykge1xuICBjb25zdCBqc0NvbmZpZyA9IGphdmFzY3JpcHQoKVswXTtcblxuICBjb25zdCBnZXRUc0V4dGVuc2lvblJ1bGVzID0gKCkgPT4ge1xuICAgIC8vIGh0dHBzOi8vdHlwZXNjcmlwdC1lc2xpbnQuaW8vcnVsZXMvPz1leHRlbnNpb25cbiAgICBjb25zdCBleHRlbnNpb25SdWxlS2V5cyA9IFtcbiAgICAgIFwiYmxvY2stc3BhY2luZ1wiLFxuICAgICAgXCJicmFjZS1zdHlsZVwiLFxuICAgICAgXCJjbGFzcy1tZXRob2RzLXVzZS10aGlzXCIsXG4gICAgICBcImNvbW1hLWRhbmdsZVwiLFxuICAgICAgXCJjb21tYS1zcGFjaW5nXCIsXG4gICAgICBcImNvbnNpc3RlbnQtcmV0dXJuXCIsXG4gICAgICBcImRlZmF1bHQtcGFyYW0tbGFzdFwiLFxuICAgICAgXCJkb3Qtbm90YXRpb25cIixcbiAgICAgIFwiZnVuYy1jYWxsLXNwYWNpbmdcIixcbiAgICAgIFwiaW5kZW50XCIsXG4gICAgICBcImluaXQtZGVjbGFyYXRpb25zXCIsXG4gICAgICBcImtleS1zcGFjaW5nXCIsXG4gICAgICBcImtleXdvcmQtc3BhY2luZ1wiLFxuICAgICAgXCJsaW5lcy1hcm91bmQtY29tbWVudFwiLFxuICAgICAgXCJsaW5lcy1iZXR3ZWVuLWNsYXNzLW1lbWJlcnNcIixcbiAgICAgIFwibWF4LXBhcmFtc1wiLFxuICAgICAgXCJuby1hcnJheS1jb25zdHJ1Y3RvclwiLFxuICAgICAgXCJuby1kdXBlLWNsYXNzLW1lbWJlcnNcIixcbiAgICAgIFwibm8tZW1wdHktZnVuY3Rpb25cIixcbiAgICAgIFwibm8tZXh0cmEtcGFyZW5zXCIsXG4gICAgICBcIm5vLWV4dHJhLXNlbWlcIixcbiAgICAgIFwibm8taW1wbGllZC1ldmFsXCIsXG4gICAgICBcIm5vLWludmFsaWQtdGhpc1wiLFxuICAgICAgXCJuby1sb29wLWZ1bmNcIixcbiAgICAgIC8vIFwibm8tbG9zcy1vZi1wcmVjaXNpb25cIixcbiAgICAgIFwibm8tbWFnaWMtbnVtYmVyc1wiLFxuICAgICAgXCJuby1yZWRlY2xhcmVcIixcbiAgICAgIFwibm8tcmVzdHJpY3RlZC1pbXBvcnRzXCIsXG4gICAgICBcIm5vLXNoYWRvd1wiLFxuICAgICAgXCJuby10aHJvdy1saXRlcmFsXCIsXG4gICAgICBcIm5vLXVudXNlZC1leHByZXNzaW9uc1wiLFxuICAgICAgXCJuby11bnVzZWQtdmFyc1wiLFxuICAgICAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiLFxuICAgICAgXCJuby11c2VsZXNzLWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm9iamVjdC1jdXJseS1zcGFjaW5nXCIsXG4gICAgICBcIm9ubHktdGhyb3ctZXJyb3JcIiwgLy8gdGhpcyBydWxlIGJhc2VkIG9uICdlc2xpbnQvbm8tdGhyb3ctbGl0ZXJhbCdcbiAgICAgIFwicGFkZGluZy1saW5lLWJldHdlZW4tc3RhdGVtZW50c1wiLFxuICAgICAgXCJwcmVmZXItZGVzdHJ1Y3R1cmluZ1wiLFxuICAgICAgXCJwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXCIsXG4gICAgICBcInF1b3Rlc1wiLFxuICAgICAgXCJyZXF1aXJlLWF3YWl0XCIsXG4gICAgICBcInJldHVybi1hd2FpdFwiLCAvLyB0aGlzIHJ1bGUgYmFzZWQgb24gJ2VzbGludC9uby1yZXR1cm4tYXdhaXQnIGluc3RlYWQgb2YgJ2VzbGludC9yZXR1cm4tYXdhaXQnXG4gICAgICBcInNlbWlcIixcbiAgICAgIFwic3BhY2UtYmVmb3JlLWJsb2Nrc1wiLFxuICAgICAgXCJzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW5cIixcbiAgICAgIFwic3BhY2UtaW5maXgtb3BzXCIsXG4gICAgXSBhcyBjb25zdDtcbiAgICB0eXBlIEV4dGVuc2lvblJ1bGVLZXkgPSAodHlwZW9mIGV4dGVuc2lvblJ1bGVLZXlzKVtudW1iZXJdO1xuICAgIHR5cGUgSnNDb25maWdSdWxlS2V5ID0ga2V5b2YgdHlwZW9mIGpzQ29uZmlnLnJ1bGVzO1xuXG4gICAgdHlwZSBKc0V4dGVuc2lvbktleSA9IEV4dHJhY3Q8RXh0ZW5zaW9uUnVsZUtleSwgSnNDb25maWdSdWxlS2V5PjsgLy8gRXh0cmFjdFxuICAgIHR5cGUgVHNFeHRlbnNpb25LZXkgPSBgQHR5cGVzY3JpcHQtZXNsaW50LyR7SnNFeHRlbnNpb25LZXl9YDtcblxuICAgIHR5cGUgR2V0SnNLZXk8VCBleHRlbmRzIFRzRXh0ZW5zaW9uS2V5PiA9XG4gICAgICBUIGV4dGVuZHMgYEB0eXBlc2NyaXB0LWVzbGludC8ke2luZmVyIEt9YCA/IEsgOiBuZXZlcjtcbiAgICB0eXBlIEpzUmVzdWx0ID0ge1xuICAgICAgW0tleSBpbiBKc0V4dGVuc2lvbktleV06IFwib2ZmXCI7XG4gICAgfTtcbiAgICB0eXBlIFRzUmVzdWx0ID0ge1xuICAgICAgW0tleSBpbiBUc0V4dGVuc2lvbktleV06ICh0eXBlb2YganNDb25maWcucnVsZXMpW0dldEpzS2V5PEtleT5dO1xuICAgIH07XG4gICAgdHlwZSBSZXN1bHQgPSBKc1Jlc3VsdCAmIFRzUmVzdWx0O1xuXG4gICAgY29uc3QgZXh0ZW5zaW9uUnVsZUtleVNldCA9IG5ldyBTZXQ8c3RyaW5nPihleHRlbnNpb25SdWxlS2V5cyk7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzQ29uZmlnLnJ1bGVzKVxuICAgICAgLmZpbHRlcigoW2tleV0pID0+IGV4dGVuc2lvblJ1bGVLZXlTZXQuaGFzKGtleSkpXG4gICAgICAucmVkdWNlKFxuICAgICAgICAocHJldiwgW2pzUnVsZUtleSwganNSdWxlVmFsdWVdKSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2pzUnVsZUtleV06IFwib2ZmXCIsXG4gICAgICAgICAgW2BAdHlwZXNjcmlwdC1lc2xpbnQvJHtqc1J1bGVLZXl9YF06IGpzUnVsZVZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgICAge30gYXMgUmVzdWx0LFxuICAgICAgKTtcbiAgfTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIC4uLmpzQ29uZmlnLFxuICAgICAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0XCIsXG4gICAgICBmaWxlczogW1wiKiovKi57dHMsY3RzLG10cyx0c3h9XCJdLFxuICAgICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICAgIC4uLmpzQ29uZmlnLmxhbmd1YWdlT3B0aW9ucyxcbiAgICAgICAgcGFyc2VyOiB0c1BhcnNlciwgLy8gVW5mb3J0dW5hdGVseSBwYXJzZXIgY2Fubm90IGJlIGEgc3RyaW5nLiBFc2xpbnQgc2hvdWxkIHN1cHBvcnQgaXQuIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC91c2UvY29uZmlndXJlL2NvbmZpZ3VyYXRpb24tZmlsZXMtbmV3I2NvbmZpZ3VyaW5nLWEtY3VzdG9tLXBhcnNlci1hbmQtaXRzLW9wdGlvbnNcbiAgICAgICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgICAgIC4uLmpzQ29uZmlnLmxhbmd1YWdlT3B0aW9ucy5wYXJzZXJPcHRpb25zLFxuICAgICAgICAgIHRzY29uZmlnUm9vdERpcjogcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICBwcm9qZWN0OiBwcm9qZWN0ID8/IFwidHNjb25maWcuanNvblwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgLi4uanNDb25maWcucGx1Z2lucyxcbiAgICAgICAgZGVwcmVjYXRpb246IGRlcHJlY2F0aW9uUGx1Z2luLFxuICAgICAgICBcIkBmZW5nZS10c1wiOiBmZW5nZVRzUGx1Z2luLFxuICAgICAgfSxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIC4uLmpzQ29uZmlnLnJ1bGVzLFxuICAgICAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAgICAgLy8gZGVwcmVjYXRpb25cbiAgICAgICAgXCJkZXByZWNhdGlvbi9kZXByZWNhdGlvblwiOiBcImVycm9yXCIsXG4gICAgICAgIC8vIGZlbmdlXG4gICAgICAgIFwiQGZlbmdlLXRzL2V4YWN0LW1hcC1zZXQtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQGZlbmdlLXRzL25vLWNvbnN0LWVudW1cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkBmZW5nZS10cy9uby1kZWNsYXJlcy1pbi10cy1maWxlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAZmVuZ2UtdHMvbm8tZXhwb3J0LWFzc2lnbm1lbnRcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkBmZW5nZS10cy9uby11bnR5cGVkLWVtcHR5LWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgICAgLy8gdHlwZXNjcmlwdFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvYXJyYXktdHlwZVwiOiBbXCJlcnJvclwiLCAnYXJyYXktc2ltcGxlJ10sIC8vIFRoZSBkZWZhdWx0IG9wdGlvbiBpcyAnYXJyYXknLiBOb3QgdmVyeSBzdXJlIGlmIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSBvcHRpb24uIFNvIGRpc2FibGVkIGl0LlxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hd2FpdC10aGVuYWJsZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LWluZGV4ZWQtb2JqZWN0LXN0eWxlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhc3NlcnRpb25TdHlsZTogXCJhc1wiLFxuICAgICAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIFwiaW50ZXJmYWNlXCIsXG4gICAgICAgIF0sIC8vIFRPRE8gc2hvdWxkIHdlIGNoYW5nZSB0byAndHlwZSc/XG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWltcG9ydHNcIjogXCJlcnJvcixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvZG90LW5vdGF0aW9uXCI6IFtcImVycm9yXCIsIHsgYWxsb3dLZXl3b3JkczogdHJ1ZSB9XSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2VsZWN0b3I6IFwiZnVuY3Rpb25cIixcbiAgICAgICAgICAgIGZvcm1hdDogW1wiY2FtZWxDYXNlXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBcInZhcmlhYmxlXCIsXG4gICAgICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgICAgICBmb3JtYXQ6IFtcImNhbWVsQ2FzZVwiLCBcIlBhc2NhbENhc2VcIl0sIC8vIGRlY29yYXRvcnMgbmVlZCBQYXNjYWxDYXNlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzZWxlY3RvcjogXCJjbGFzc1wiLFxuICAgICAgICAgICAgZm9ybWF0OiBbXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2VsZWN0b3I6IFwiaW50ZXJmYWNlXCIsXG4gICAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgICAgIGZvcm1hdDogW1wiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBcInR5cGVQYXJhbWV0ZXJcIixcbiAgICAgICAgICAgIGZvcm1hdDogW1wiVVBQRVJfQ0FTRVwiLCBcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYXJyYXktZGVsZXRlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IGlnbm9yZWRUeXBlTmFtZXM6IFtdIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtZW51bS12YWx1ZXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4dHJhLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wb3J0LXR5cGUtc2lkZS1lZmZlY3RzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW5mZXJyYWJsZS10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1wcm9taXNlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1peGVkLWVudW1zXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtb3B0aW9uYWwtY2hhaW5cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktcGFyYW1ldGVyLXByb3BlcnR5LWFzc2lnbm1lbnRcIjpcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLWV4cHJlc3Npb25cIjogXCJlcnJvclwiLCAvLyBqcyBhbHNvIG5lZWQgdGhpcyBydWxlXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb25zdHJhaW50XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWRlY2xhcmF0aW9uLW1lcmdpbmdcIjogXCJlcnJvclwiLFxuICAgICAgICAvLyAnQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlJzogXCJlcnJvclwiLFxuICAgICAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9uby13cmFwcGVyLW9iamVjdC10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L29ubHktdGhyb3ctZXJyb3JcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZnVuY3Rpb24tdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWFkb25seVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci10cy1leHBlY3QtZXJyb3JcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC1wbHVzLW9wZXJhbmRzXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICAgICAgYWxsb3dCb29sZWFuOiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93TnVsbGlzaDogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd051bWJlckFuZFN0cmluZzogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd1JlZ0V4cDogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIjogW1wiZXJyb3JcIiwgXCJhbHdheXNcIl0sXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3N3aXRjaC1leGhhdXN0aXZlbmVzcy1jaGVja1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgcmVxdWlyZURlZmF1bHRGb3JOb25VbmlvbjogdHJ1ZSB9LFxuICAgICAgICBdLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBcImVycm9yXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0L2NvbmZpZ1wiLFxuICAgICAgZmlsZXM6IFtcIioqLyouY29uZmlnLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvdHlwZXNjcmlwdC9kZWNsYXJhdGlvblwiLFxuICAgICAgZmlsZXM6IFtcIioqLyouZC57dHMsY3RzLG10cyx0c3h9XCJdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW90ZW1lbi9taW5pbWF0Y2gtY2hlYXQtc2hlZXRcbiAgICAgIG5hbWU6IFwiZmVuZ2UvdHlwZXNjcmlwdC90ZXN0XCIsXG4gICAgICBmaWxlczogW1xuICAgICAgICBcIioqL19fdGVzdHNfXy8qKi8qLnt0cyxjdHMsbXRzLHRzeH1cIixcbiAgICAgICAgXCIqKi8qLnt0ZXN0LHNwZWN9Lnt0cyxjdHMsbXRzLHRzeH1cIixcbiAgICAgIF0sXG4gICAgICBydWxlczoge1xuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1wiOiBcIm9mZlwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcIm9mZlwiLFxuICAgICAgICBcImVzbS9uby1waGFudG9tLWRlcC1pbXBvcnRzXCI6IFtcImVycm9yXCIsIHsgYWxsb3dEZXZEZXBlbmRlbmNpZXM6IHRydWUgfV0sXG4gICAgICB9LFxuICAgIH0sXG4gIF0gYXMgY29uc3Q7XG59XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLGlCQUFpQixNQUFNLDJCQUEyQixDQUFDLENBQUMsaUdBQWlHO0FBQzVKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO1FBQy9CLGlEQUFpRDtRQUNqRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3hCLGVBQWU7WUFDZixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsNkJBQTZCO1lBQzdCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLHVCQUF1QjtZQUN2QixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsa0JBQWtCLEVBQUUs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QXVCO1lBQzdCLEtBQUssRUFBRTtnQkFDTCxvQ0FBb0M7Z0JBQ3BDLG1DQUFtQzthQUNwQztZQUNELEtBQUssRUFBRTtnQkFDTCx5Q0FBeUMsRUFBRSxLQUFLO2dCQUNoRCxtQ0FBbUMsRUFBRSxLQUFLO2dCQUMxQyw0QkFBNEIsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3hFO1NBQ0Y7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwcm9jZXNzIGZyb20gXCJub2RlOnByb2Nlc3NcIjtcbmltcG9ydCAqIGFzIGZlbmdlVHNQbHVnaW4gZnJvbSBcIkBmZW5nZS9lc2xpbnQtcGx1Z2luLXRzXCI7XG5pbXBvcnQgdHNQYXJzZXIgZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjtcbmltcG9ydCBkZXByZWNhdGlvblBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1kZXByZWNhdGlvblwiOyAvLyBUT0RPOiBSZW1vdmUgdGhpcyBwbHVnaW4gYW5kIHVzZSBgQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWRgIHdoZW4gZXNsaW50IHVwZ3JhZGVkIHRvIDkuXG5pbXBvcnQgeyBqYXZhc2NyaXB0IH0gZnJvbSBcIi4vamF2YXNjcmlwdC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdChwcm9qZWN0Pzogc3RyaW5nKSB7XG4gIGNvbnN0IGpzQ29uZmlnID0gamF2YXNjcmlwdCgpWzBdO1xuXG4gIGNvbnN0IGdldFRzRXh0ZW5zaW9uUnVsZXMgPSAoKSA9PiB7XG4gICAgLy8gaHR0cHM6Ly90eXBlc2NyaXB0LWVzbGludC5pby9ydWxlcy8/PWV4dGVuc2lvblxuICAgIGNvbnN0IGV4dGVuc2lvblJ1bGVLZXlzID0gW1xuICAgICAgXCJibG9jay1zcGFjaW5nXCIsXG4gICAgICBcImJyYWNlLXN0eWxlXCIsXG4gICAgICBcImNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcIixcbiAgICAgIFwiY29tbWEtZGFuZ2xlXCIsXG4gICAgICBcImNvbW1hLXNwYWNpbmdcIixcbiAgICAgIFwiY29uc2lzdGVudC1yZXR1cm5cIixcbiAgICAgIFwiZGVmYXVsdC1wYXJhbS1sYXN0XCIsXG4gICAgICBcImRvdC1ub3RhdGlvblwiLFxuICAgICAgXCJmdW5jLWNhbGwtc3BhY2luZ1wiLFxuICAgICAgXCJpbmRlbnRcIixcbiAgICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIixcbiAgICAgIFwia2V5LXNwYWNpbmdcIixcbiAgICAgIFwia2V5d29yZC1zcGFjaW5nXCIsXG4gICAgICBcImxpbmVzLWFyb3VuZC1jb21tZW50XCIsXG4gICAgICBcImxpbmVzLWJldHdlZW4tY2xhc3MtbWVtYmVyc1wiLFxuICAgICAgXCJtYXgtcGFyYW1zXCIsXG4gICAgICBcIm5vLWFycmF5LWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm5vLWR1cGUtY2xhc3MtbWVtYmVyc1wiLFxuICAgICAgXCJuby1lbXB0eS1mdW5jdGlvblwiLFxuICAgICAgXCJuby1leHRyYS1wYXJlbnNcIixcbiAgICAgIFwibm8tZXh0cmEtc2VtaVwiLFxuICAgICAgXCJuby1pbXBsaWVkLWV2YWxcIixcbiAgICAgIFwibm8taW52YWxpZC10aGlzXCIsXG4gICAgICBcIm5vLWxvb3AtZnVuY1wiLFxuICAgICAgLy8gXCJuby1sb3NzLW9mLXByZWNpc2lvblwiLFxuICAgICAgXCJuby1tYWdpYy1udW1iZXJzXCIsXG4gICAgICBcIm5vLXJlZGVjbGFyZVwiLFxuICAgICAgXCJuby1yZXN0cmljdGVkLWltcG9ydHNcIixcbiAgICAgIFwibm8tc2hhZG93XCIsXG4gICAgICBcIm5vLXRocm93LWxpdGVyYWxcIixcbiAgICAgIFwibm8tdW51c2VkLWV4cHJlc3Npb25zXCIsXG4gICAgICBcIm5vLXVudXNlZC12YXJzXCIsXG4gICAgICBcIm5vLXVzZS1iZWZvcmUtZGVmaW5lXCIsXG4gICAgICBcIm5vLXVzZWxlc3MtY29uc3RydWN0b3JcIixcbiAgICAgIFwib2JqZWN0LWN1cmx5LXNwYWNpbmdcIixcbiAgICAgIFwib25seS10aHJvdy1lcnJvclwiLCAvLyB0aGlzIHJ1bGUgYmFzZWQgb24gJ2VzbGludC9uby10aHJvdy1saXRlcmFsJ1xuICAgICAgXCJwYWRkaW5nLWxpbmUtYmV0d2Vlbi1zdGF0ZW1lbnRzXCIsXG4gICAgICBcInByZWZlci1kZXN0cnVjdHVyaW5nXCIsXG4gICAgICBcInByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIixcbiAgICAgIFwicXVvdGVzXCIsXG4gICAgICBcInJlcXVpcmUtYXdhaXRcIixcbiAgICAgIFwicmV0dXJuLWF3YWl0XCIsIC8vIHRoaXMgcnVsZSBiYXNlZCBvbiAnZXNsaW50L25vLXJldHVybi1hd2FpdCcgaW5zdGVhZCBvZiAnZXNsaW50L3JldHVybi1hd2FpdCdcbiAgICAgIFwic2VtaVwiLFxuICAgICAgXCJzcGFjZS1iZWZvcmUtYmxvY2tzXCIsXG4gICAgICBcInNwYWNlLWJlZm9yZS1mdW5jdGlvbi1wYXJlblwiLFxuICAgICAgXCJzcGFjZS1pbmZpeC1vcHNcIixcbiAgICBdIGFzIGNvbnN0O1xuICAgIHR5cGUgRXh0ZW5zaW9uUnVsZUtleSA9ICh0eXBlb2YgZXh0ZW5zaW9uUnVsZUtleXMpW251bWJlcl07XG4gICAgdHlwZSBKc0NvbmZpZ1J1bGVLZXkgPSBrZXlvZiB0eXBlb2YganNDb25maWcucnVsZXM7XG5cbiAgICB0eXBlIEpzRXh0ZW5zaW9uS2V5ID0gRXh0cmFjdDxFeHRlbnNpb25SdWxlS2V5LCBKc0NvbmZpZ1J1bGVLZXk+OyAvLyBFeHRyYWN0XG4gICAgdHlwZSBUc0V4dGVuc2lvbktleSA9IGBAdHlwZXNjcmlwdC1lc2xpbnQvJHtKc0V4dGVuc2lvbktleX1gO1xuXG4gICAgdHlwZSBHZXRKc0tleTxUIGV4dGVuZHMgVHNFeHRlbnNpb25LZXk+ID1cbiAgICAgIFQgZXh0ZW5kcyBgQHR5cGVzY3JpcHQtZXNsaW50LyR7aW5mZXIgS31gID8gSyA6IG5ldmVyO1xuICAgIHR5cGUgSnNSZXN1bHQgPSB7XG4gICAgICBbS2V5IGluIEpzRXh0ZW5zaW9uS2V5XTogXCJvZmZcIjtcbiAgICB9O1xuICAgIHR5cGUgVHNSZXN1bHQgPSB7XG4gICAgICBbS2V5IGluIFRzRXh0ZW5zaW9uS2V5XTogKHR5cGVvZiBqc0NvbmZpZy5ydWxlcylbR2V0SnNLZXk8S2V5Pl07XG4gICAgfTtcbiAgICB0eXBlIFJlc3VsdCA9IEpzUmVzdWx0ICYgVHNSZXN1bHQ7XG5cbiAgICBjb25zdCBleHRlbnNpb25SdWxlS2V5U2V0ID0gbmV3IFNldDxzdHJpbmc+KGV4dGVuc2lvblJ1bGVLZXlzKTtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoanNDb25maWcucnVsZXMpXG4gICAgICAuZmlsdGVyKChba2V5XSkgPT4gZXh0ZW5zaW9uUnVsZUtleVNldC5oYXMoa2V5KSlcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChwcmV2LCBbanNSdWxlS2V5LCBqc1J1bGVWYWx1ZV0pID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbanNSdWxlS2V5XTogXCJvZmZcIixcbiAgICAgICAgICBbYEB0eXBlc2NyaXB0LWVzbGludC8ke2pzUnVsZUtleX1gXToganNSdWxlVmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgICB7fSBhcyBSZXN1bHQsXG4gICAgICApO1xuICB9O1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgLi4uanNDb25maWcsXG4gICAgICBuYW1lOiBcImZlbmdlL3R5cGVzY3JpcHRcIixcbiAgICAgIGZpbGVzOiBbXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAgICAgLi4uanNDb25maWcubGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgICBwYXJzZXI6IHRzUGFyc2VyLCAvLyBVbmZvcnR1bmF0ZWx5IHBhcnNlciBjYW5ub3QgYmUgYSBzdHJpbmcuIEVzbGludCBzaG91bGQgc3VwcG9ydCBpdC4gaHR0cHM6Ly9lc2xpbnQub3JnL2RvY3MvbGF0ZXN0L3VzZS9jb25maWd1cmUvY29uZmlndXJhdGlvbi1maWxlcy1uZXcjY29uZmlndXJpbmctYS1jdXN0b20tcGFyc2VyLWFuZC1pdHMtb3B0aW9uc1xuICAgICAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAgICAgLi4uanNDb25maWcubGFuZ3VhZ2VPcHRpb25zLnBhcnNlck9wdGlvbnMsXG4gICAgICAgICAgdHNjb25maWdSb290RGlyOiBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICAgIHByb2plY3Q6IHByb2plY3QgPz8gXCJ0c2NvbmZpZy5qc29uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICAuLi5qc0NvbmZpZy5wbHVnaW5zLFxuICAgICAgICBkZXByZWNhdGlvbjogZGVwcmVjYXRpb25QbHVnaW4sXG4gICAgICAgIFwiQGZlbmdlLXRzXCI6IGZlbmdlVHNQbHVnaW4sXG4gICAgICB9LFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgLi4uanNDb25maWcucnVsZXMsXG4gICAgICAgIC4uLmdldFRzRXh0ZW5zaW9uUnVsZXMoKSxcblxuICAgICAgICAvLyBkZXByZWNhdGlvblxuICAgICAgICBcImRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgLy8gZmVuZ2VcbiAgICAgICAgXCJAZmVuZ2UtdHMvZXhhY3QtbWFwLXNldC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQGZlbmdlLXRzL25vLWRlY2xhcmVzLWluLXRzLWZpbGVcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkBmZW5nZS10cy9uby1leHBvcnQtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQGZlbmdlLXRzL25vLXByb3BlcnR5LWRlY29yYXRvclwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQGZlbmdlLXRzL25vLXVudHlwZWQtZW1wdHktYXJyYXlcIjogXCJlcnJvclwiLFxuICAgICAgICAvLyB0eXBlc2NyaXB0XG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FkamFjZW50LW92ZXJsb2FkLXNpZ25hdHVyZXNcIjogXCJlcnJvclwiLFxuICAgICAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9hcnJheS10eXBlXCI6IFtcImVycm9yXCIsICdhcnJheS1zaW1wbGUnXSwgLy8gVGhlIGRlZmF1bHQgb3B0aW9uIGlzICdhcnJheScuIE5vdCB2ZXJ5IHN1cmUgaWYgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIG9wdGlvbi4gU28gZGlzYWJsZWQgaXQuXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2F3YWl0LXRoZW5hYmxlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1nZW5lcmljLWNvbnN0cnVjdG9yc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtaW5kZXhlZC1vYmplY3Qtc3R5bGVcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFzc2VydGlvblN0eWxlOiBcImFzXCIsXG4gICAgICAgICAgICBvYmplY3RMaXRlcmFsVHlwZUFzc2VydGlvbnM6IFwiYWxsb3ctYXMtcGFyYW1ldGVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWRlZmluaXRpb25zXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAgXCJpbnRlcmZhY2VcIixcbiAgICAgICAgXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWV4cG9ydHNcIjogXCJlcnJvclwiLFxuICAgICAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtaW1wb3J0c1wiOiBcImVycm9yLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzZWxlY3RvcjogXCJmdW5jdGlvblwiLFxuICAgICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgICAgIHR5cGVzOiBbXCJmdW5jdGlvblwiXSxcbiAgICAgICAgICAgIGZvcm1hdDogW1wiY2FtZWxDYXNlXCIsIFwiUGFzY2FsQ2FzZVwiXSwgLy8gZGVjb3JhdG9ycyBuZWVkIFBhc2NhbENhc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBcImNsYXNzXCIsXG4gICAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgICAgIGZvcm1hdDogW1wiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlbGVjdG9yOiBcInR5cGVBbGlhc1wiLFxuICAgICAgICAgICAgZm9ybWF0OiBbXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2VsZWN0b3I6IFwidHlwZVBhcmFtZXRlclwiLFxuICAgICAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1iYXNlLXRvLXN0cmluZ1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgaWdub3JlZFR5cGVOYW1lczogW10gfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS1lbnVtLXZhbHVlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmEtbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZ25vcmVWb2lkOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1mb3ItaW4tYXJyYXlcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbXBvcnQtdHlwZS1zaWRlLWVmZmVjdHNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1uZXdcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRlZC1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOlxuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdGVtcGxhdGUtZXhwcmVzc2lvblwiOiBcImVycm9yXCIsIC8vIGpzIGFsc28gbmVlZCB0aGlzIHJ1bGVcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWNvbnN0cmFpbnRcIjogXCJlcnJvclwiLFxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZGVjbGFyYXRpb24tbWVyZ2luZ1wiOiBcImVycm9yXCIsXG4gICAgICAgIC8vICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUnOiBcImVycm9yXCIsXG4gICAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXdyYXBwZXItb2JqZWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1hcy1jb25zdFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mdW5jdGlvbi10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJlYWRvbmx5XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXRzLWV4cGVjdC1lcnJvclwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXBsdXMtb3BlcmFuZHNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICAvLyBhbGxvd0FueTogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICAgICAgYWxsb3dOdWxsaXNoOiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93TnVtYmVyQW5kU3RyaW5nOiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiOiBbXCJlcnJvclwiLCBcImFsd2F5c1wiXSxcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvc3dpdGNoLWV4aGF1c3RpdmVuZXNzLWNoZWNrXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAgeyByZXF1aXJlRGVmYXVsdEZvck5vblVuaW9uOiB0cnVlIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcImZlbmdlL3R5cGVzY3JpcHQvY29uZmlnXCIsXG4gICAgICBmaWxlczogW1wiKiovKi5jb25maWcue3RzLGN0cyxtdHMsdHN4fVwiXSxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0L25vLWRlZmF1bHQtZXhwb3J0XCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0L2RlY2xhcmF0aW9uXCIsXG4gICAgICBmaWxlczogW1wiKiovKi5kLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3RlbWVuL21pbmltYXRjaC1jaGVhdC1zaGVldFxuICAgICAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0L3Rlc3RcIixcbiAgICAgIGZpbGVzOiBbXG4gICAgICAgIFwiKiovX190ZXN0c19fLyoqLyoue3RzLGN0cyxtdHMsdHN4fVwiLFxuICAgICAgICBcIioqLyoue3Rlc3Qsc3BlY30ue3RzLGN0cyxtdHMsdHN4fVwiLFxuICAgICAgXSxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiZXNtL25vLXBoYW50b20tZGVwLWltcG9ydHNcIjogW1wiZXJyb3JcIiwgeyBhbGxvd0RldkRlcGVuZGVuY2llczogdHJ1ZSB9XSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSBhcyBjb25zdDtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fenge/eslint-config",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A super strict eslint config for linting js/ts/package.json.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"opinionated",
|
|
@@ -27,22 +27,22 @@
|
|
|
27
27
|
"@typescript-eslint/parser": "7.16.1",
|
|
28
28
|
"confusing-browser-globals": "1.0.11",
|
|
29
29
|
"eslint-plugin-deprecation": "3.0.0",
|
|
30
|
-
"eslint-plugin-es-x": "8.
|
|
30
|
+
"eslint-plugin-es-x": "8.1.0",
|
|
31
31
|
"eslint-plugin-fp": "2.3.0",
|
|
32
32
|
"eslint-plugin-import": "2.31.0",
|
|
33
|
-
"eslint-plugin-n": "17.
|
|
33
|
+
"eslint-plugin-n": "17.12.0",
|
|
34
34
|
"eslint-plugin-promise": "7.1.0",
|
|
35
|
-
"eslint-plugin-react": "7.37.
|
|
35
|
+
"eslint-plugin-react": "7.37.2",
|
|
36
36
|
"eslint-plugin-react-hooks": "5.0.0",
|
|
37
37
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
38
38
|
"eslint-plugin-sonarjs": "1.0.4",
|
|
39
39
|
"eslint-plugin-unicorn": "56.0.0",
|
|
40
|
-
"globals": "15.
|
|
40
|
+
"globals": "15.12.0",
|
|
41
41
|
"@fenge/eslint-plugin": "0.1.1",
|
|
42
42
|
"@fenge/eslint-plugin-ts": "0.1.0",
|
|
43
43
|
"eslint-plugin-esm": "0.2.1",
|
|
44
44
|
"eslint-plugin-pkg-json": "0.1.1",
|
|
45
|
-
"eslint-plugin-publint": "0.0.
|
|
45
|
+
"eslint-plugin-publint": "0.0.4"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@swc-node/register": "1.10.0",
|
|
@@ -54,6 +54,6 @@
|
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"build": "tsc -p tsconfig.build.json",
|
|
57
|
-
"test": "
|
|
57
|
+
"test": "node --test --import @swc-node/register/esm-register \"**/*.spec.ts\""
|
|
58
58
|
}
|
|
59
59
|
}
|
package/src/config/javascript.ts
CHANGED
|
@@ -90,7 +90,7 @@ export function javascript() {
|
|
|
90
90
|
// }],
|
|
91
91
|
// 'key-spacing': ['error', { beforeColon: false, afterColon: true }],
|
|
92
92
|
// 'keyword-spacing': ['error', { before: true, after: true }],
|
|
93
|
-
'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],
|
|
93
|
+
// 'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],
|
|
94
94
|
// 'multiline-ternary': ['error', 'always-multiline'],
|
|
95
95
|
'new-cap': ['error', { newIsCap: true, capIsNew: false, properties: true }],
|
|
96
96
|
// 'new-parens': 'error',
|
|
@@ -218,10 +218,10 @@ export function javascript() {
|
|
|
218
218
|
// 'space-in-parens': ['error', 'never'],
|
|
219
219
|
// 'space-infix-ops': 'error',
|
|
220
220
|
// 'space-unary-ops': ['error', { words: true, nonwords: false }],
|
|
221
|
-
'spaced-comment': ['error', 'always', {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}],
|
|
221
|
+
// 'spaced-comment': ['error', 'always', {
|
|
222
|
+
// line: { markers: ['*package', '!', '/', ',', '='] },
|
|
223
|
+
// block: { balanced: true, markers: ['*package', '!', ',', ':', '::', 'flow-include'], exceptions: ['*'] }
|
|
224
|
+
// }],
|
|
225
225
|
'symbol-description': 'error',
|
|
226
226
|
// 'template-curly-spacing': ['error', 'never'],
|
|
227
227
|
// 'template-tag-spacing': ['error', 'never'],
|
|
@@ -439,6 +439,7 @@ export function javascript() {
|
|
|
439
439
|
"unicorn/no-unreadable-iife": "error",
|
|
440
440
|
"unicorn/no-useless-spread": "error",
|
|
441
441
|
"unicorn/prefer-array-flat-map": "error",
|
|
442
|
+
"unicorn/prefer-export-from": "error",
|
|
442
443
|
"unicorn/prefer-global-this": "error",
|
|
443
444
|
"unicorn/prefer-includes": "error",
|
|
444
445
|
"unicorn/prefer-module": "error",
|