@softwareventures/eslint-config 4.3.5 → 5.0.0-alpha.12

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/esm.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { Linter } from "eslint";
2
+ declare const config: Linter.Config;
3
+ export = config;
package/esm.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ const config = {
3
+ extends: "@softwareventures/eslint-config",
4
+ parserOptions: {
5
+ sourceType: "module"
6
+ },
7
+ rules: {
8
+ "@typescript-eslint/no-require-imports": "error"
9
+ }
10
+ };
11
+ module.exports = config;
12
+ //# sourceMappingURL=esm.js.map
package/esm.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esm.js","sourceRoot":"","sources":["esm.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,GAAkB;IAC1B,OAAO,EAAE,iCAAiC;IAC1C,aAAa,EAAE;QACX,UAAU,EAAE,QAAQ;KACvB;IACD,KAAK,EAAE;QACH,uCAAuC,EAAE,OAAO;KACnD;CACJ,CAAC;AAEF,iBAAS,MAAM,CAAC","sourcesContent":["import type {Linter} from \"eslint\";\n\nconst config: Linter.Config = {\n extends: \"@softwareventures/eslint-config\",\n parserOptions: {\n sourceType: \"module\"\n },\n rules: {\n \"@typescript-eslint/no-require-imports\": \"error\"\n }\n};\n\nexport = config;\n"]}
package/index.js CHANGED
@@ -7,8 +7,7 @@ const config = {
7
7
  extends: ["eslint:recommended", "prettier"],
8
8
  plugins: ["@typescript-eslint", "import", "jsdoc", "prefer-arrow", "sonarjs"],
9
9
  parserOptions: {
10
- ecmaVersion: 2018,
11
- sourceType: "module"
10
+ ecmaVersion: 2018
12
11
  },
13
12
  overrides: [
14
13
  {
@@ -23,58 +22,64 @@ const config = {
23
22
  project: "tsconfig.json"
24
23
  },
25
24
  rules: {
25
+ "array-callback-return": "off",
26
+ "consistent-return": "off",
26
27
  "dot-notation": "off",
28
+ "no-duplicate-imports": "off",
29
+ "no-invalid-this": "off",
30
+ "no-unsafe-optional-chaining": "off",
27
31
  "no-unused-expressions": "off",
28
- "sonarjs/prefer-while": "error",
32
+ "sonarjs/no-extra-arguments": "off",
33
+ "sonarjs/no-ignored-return": "error",
29
34
  "@typescript-eslint/array-type": [
30
35
  "error",
31
36
  {
32
37
  default: "array-simple"
33
38
  }
34
39
  ],
40
+ "@typescript-eslint/ban-tslint-comment": "error",
35
41
  "@typescript-eslint/ban-types": [
36
42
  "error",
37
43
  {
38
44
  types: {
39
- Object: {
45
+ "Object": {
40
46
  message: [
41
- 'Do not use the `Object` type, it means "any non-nullish value".',
42
- '- If you want a type meaning "any object", you probably want `Record<string, unknown>` or `object` instead.',
43
- '- If you want a type meaning "any value", you probably want `unknown` or `any` instead.'
47
+ 'Do not use `Object`, it means "any non-nullish value".',
48
+ '- If you want a type meaning "any object", you probably want `Record<string, unknown>` instead.',
49
+ '- If you want a type meaning "any value", you probably want `unknown` instead.'
44
50
  ].join("\n"),
45
- fixWith: "object"
51
+ fixWith: "Record<string, unknown>"
46
52
  },
47
- Function: {
53
+ "{}": {
54
+ message: [
55
+ 'Do not use `{}`, it means "any non-nullish value".',
56
+ '- If you want a type meaning "any object", you probably want `Record<string, unknown>` instead.',
57
+ '- If you want a type meaning "any value", you probably want `unknown` instead.',
58
+ '- If you want a type meaning "empty object", you probably want `Record<string, never>` instead.'
59
+ ].join("\n"),
60
+ fixWith: "Record<string, never>"
61
+ },
62
+ "Function": {
48
63
  message: [
49
64
  "The `Function` type accepts any function-like value.",
50
65
  "It provides no type safety when calling the function, which can be a common source of bugs.",
51
- "It also accepts things like class declarations, which will throw at runtime as they may not be called with `new`.",
66
+ "It also accepts things like class declarations, which may throw at runtime as they may not be called with `new`.",
52
67
  "If you are expecting a function to accept certain arguments, you should explicitly define the function shape."
53
68
  ].join("\n"),
54
69
  fixWith: "() => void"
55
- },
56
- Boolean: {
57
- message: "Use boolean instead",
58
- fixWith: "boolean"
59
- },
60
- Number: {
61
- message: "Use number instead",
62
- fixWith: "number"
63
- },
64
- String: {
65
- message: "Use string instead",
66
- fixWith: "string"
67
- },
68
- Symbol: {
69
- message: "Use symbol instead",
70
- fixWith: "symbol"
71
70
  }
72
71
  },
73
- extendDefaults: false
72
+ extendDefaults: true
74
73
  }
75
74
  ],
76
75
  "@typescript-eslint/ban-ts-comment": "error",
77
76
  "@typescript-eslint/class-literal-property-style": "error",
77
+ "@typescript-eslint/consistent-type-assertions": [
78
+ "error",
79
+ { assertionStyle: "as", objectLiteralTypeAssertions: "never" }
80
+ ],
81
+ "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
82
+ "@typescript-eslint/consistent-type-imports": "error",
78
83
  "@typescript-eslint/dot-notation": "error",
79
84
  "@typescript-eslint/explicit-function-return-type": [
80
85
  "error",
@@ -89,24 +94,91 @@ const config = {
89
94
  accessibility: "explicit"
90
95
  }
91
96
  ],
97
+ "@typescript-eslint/explicit-module-boundary-types": [
98
+ "error",
99
+ {
100
+ allowDirectConstAssertionInArrowFunctions: false,
101
+ allowHigherOrderFunctions: false
102
+ }
103
+ ],
92
104
  "@typescript-eslint/interface-name-prefix": "off",
93
105
  "@typescript-eslint/member-ordering": "error",
106
+ "@typescript-eslint/method-signature-style": "error",
107
+ "@typescript-eslint/naming-convention": [
108
+ "error",
109
+ {
110
+ selector: ["variableLike", "enumMember"],
111
+ format: ["strictCamelCase"],
112
+ leadingUnderscore: "forbid",
113
+ trailingUnderscore: "forbid"
114
+ },
115
+ {
116
+ selector: ["class", "interface", "typeAlias", "enum"],
117
+ format: ["StrictPascalCase"],
118
+ leadingUnderscore: "forbid",
119
+ trailingUnderscore: "forbid"
120
+ },
121
+ {
122
+ selector: ["typeParameter"],
123
+ format: ["StrictPascalCase"],
124
+ prefix: ["T"],
125
+ filter: "..",
126
+ leadingUnderscore: "forbid",
127
+ trailingUnderscore: "forbid"
128
+ },
129
+ {
130
+ selector: ["typeParameter"],
131
+ format: ["UPPER_CASE"],
132
+ custom: {
133
+ regex: "^[A-Z]$",
134
+ match: true
135
+ },
136
+ filter: "^.$"
137
+ }
138
+ ],
139
+ "@typescript-eslint/no-base-to-string": "error",
140
+ "@typescript-eslint/no-confusing-non-null-assertion": "error",
141
+ "@typescript-eslint/no-confusing-void-expression": [
142
+ "error",
143
+ { ignoreVoidOperator: true }
144
+ ],
145
+ "@typescript-eslint/no-duplicate-imports": "error",
94
146
  "@typescript-eslint/no-empty-function": "off",
95
- "@typescript-eslint/no-explicit-any": "off",
147
+ "@typescript-eslint/no-explicit-any": "error",
148
+ "@typescript-eslint/no-extra-semi": "off",
96
149
  "@typescript-eslint/no-extraneous-class": "error",
97
150
  "@typescript-eslint/no-floating-promises": "error",
151
+ "@typescript-eslint/no-implicit-any-catch": "error",
152
+ "@typescript-eslint/no-invalid-void-type": "error",
153
+ "@typescript-eslint/no-loop-func": "error",
154
+ "@typescript-eslint/no-loss-of-precision": "error",
155
+ "@typescript-eslint/no-non-null-assertion": "error",
98
156
  "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
99
- "@typescript-eslint/no-unsafe-assignment": "off",
100
- "@typescript-eslint/no-unsafe-member-access": "off",
101
- "@typescript-eslint/no-unsafe-return": "off",
102
- "@typescript-eslint/no-unused-expressions": "error",
157
+ "@typescript-eslint/no-unnecessary-qualifier": "error",
158
+ "@typescript-eslint/no-unnecessary-type-arguments": "error",
159
+ "@typescript-eslint/no-unnecessary-type-assertion": "error",
160
+ "@typescript-eslint/no-unnecessary-type-constraint": "error",
161
+ "@typescript-eslint/no-unsafe-argument": "error",
162
+ "@typescript-eslint/no-unsafe-return": "error",
163
+ "@typescript-eslint/no-unused-expressions": ["error", { enforceForJSX: true }],
103
164
  "@typescript-eslint/no-unused-vars": "off",
104
165
  "@typescript-eslint/no-useless-constructor": "error",
105
166
  "@typescript-eslint/no-use-before-define": "off",
167
+ "@typescript-eslint/non-nullable-type-assertion-style": "error",
106
168
  "@typescript-eslint/prefer-for-of": "off",
107
169
  "@typescript-eslint/prefer-function-type": "error",
170
+ "@typescript-eslint/prefer-includes": "error",
171
+ "@typescript-eslint/prefer-nullish-coalescing": "error",
172
+ "@typescript-eslint/prefer-optional-chain": "error",
173
+ "@typescript-eslint/prefer-readonly": "error",
108
174
  "@typescript-eslint/prefer-regexp-exec": "off",
175
+ "@typescript-eslint/prefer-return-this-type": "error",
176
+ "@typescript-eslint/prefer-string-starts-ends-with": "error",
109
177
  "@typescript-eslint/promise-function-async": "error",
178
+ "@typescript-eslint/require-array-sort-compare": [
179
+ "error",
180
+ { ignoreStringArrays: true }
181
+ ],
110
182
  "@typescript-eslint/restrict-template-expressions": [
111
183
  "error",
112
184
  {
@@ -117,6 +189,18 @@ const config = {
117
189
  }
118
190
  ],
119
191
  "@typescript-eslint/require-await": "off",
192
+ "@typescript-eslint/strict-boolean-expressions": [
193
+ "error",
194
+ {
195
+ allowString: false,
196
+ allowNumber: false,
197
+ allowNullableObject: false,
198
+ allowNullableBoolean: false,
199
+ allowNullableString: false,
200
+ allowNullableNumber: false,
201
+ allowAny: false
202
+ }
203
+ ],
120
204
  "@typescript-eslint/triple-slash-reference": [
121
205
  "error",
122
206
  {
@@ -128,8 +212,53 @@ const config = {
128
212
  "@typescript-eslint/unified-signatures": "error"
129
213
  }
130
214
  },
215
+ {
216
+ files: ["*.tsx"],
217
+ rules: {
218
+ "@typescript-eslint/naming-convention": [
219
+ "error",
220
+ {
221
+ selector: ["variable", "parameter", "enumMember"],
222
+ format: ["strictCamelCase"],
223
+ leadingUnderscore: "forbid",
224
+ trailingUnderscore: "forbid"
225
+ },
226
+ {
227
+ selector: ["function"],
228
+ format: ["strictCamelCase", "StrictPascalCase"],
229
+ leadingUnderscore: "forbid",
230
+ trailingUnderscore: "forbid"
231
+ },
232
+ {
233
+ selector: ["class", "interface", "typeAlias", "enum"],
234
+ format: ["StrictPascalCase"],
235
+ leadingUnderscore: "forbid",
236
+ trailingUnderscore: "forbid"
237
+ },
238
+ {
239
+ selector: ["typeParameter"],
240
+ format: ["StrictPascalCase"],
241
+ prefix: ["T"],
242
+ filter: "..",
243
+ leadingUnderscore: "forbid",
244
+ trailingUnderscore: "forbid"
245
+ },
246
+ {
247
+ selector: ["typeParameter"],
248
+ format: ["UPPER_CASE"],
249
+ custom: {
250
+ regex: "^[A-Z]$",
251
+ match: true
252
+ },
253
+ filter: "^.$"
254
+ }
255
+ ]
256
+ }
257
+ },
131
258
  {
132
259
  files: [
260
+ "test/**/*.ts",
261
+ "test/**/*.tsx",
133
262
  "test.ts",
134
263
  "test.tsx",
135
264
  "*.test.ts",
@@ -142,15 +271,22 @@ const config = {
142
271
  }
143
272
  },
144
273
  {
145
- files: ["test.{js,jsx,ts,tsx}", "*.test.{js,jsx,ts,tsx}", "*.config.{js,jsx,ts,tsx}"],
274
+ files: [
275
+ "test/**/*.{js,jsx,ts,tsx}",
276
+ "test.{js,jsx,ts,tsx}",
277
+ "*.test.{js,jsx,ts,tsx}",
278
+ "*.config.{js,jsx,ts,tsx}"
279
+ ],
146
280
  rules: {
147
281
  "no-restricted-imports": "off"
148
282
  }
149
283
  }
150
284
  ],
151
285
  rules: {
286
+ "array-callback-return": "error",
152
287
  "arrow-body-style": "error",
153
288
  "complexity": "off",
289
+ "consistent-return": "error",
154
290
  "curly": "error",
155
291
  "dot-notation": "error",
156
292
  "eqeqeq": ["error", "always", { null: "never" }],
@@ -161,6 +297,7 @@ const config = {
161
297
  "error",
162
298
  {
163
299
  devDependencies: [
300
+ "**/test/**/*.{js,jsx,ts,tsx}",
164
301
  "**/*.config.{js,jsx,ts,tsx}",
165
302
  "**/*.test.{js,jsx,ts,tsx}",
166
303
  "**/*.test-d.{ts,tsx}",
@@ -176,38 +313,92 @@ const config = {
176
313
  "jsdoc/no-types": "error",
177
314
  "max-classes-per-file": "off",
178
315
  "new-parens": "error",
316
+ "no-alert": "error",
179
317
  "no-caller": "error",
318
+ "no-constructor-return": "error",
180
319
  "no-duplicate-imports": "error",
181
320
  "no-empty": "off",
182
321
  "no-empty-function": "off",
183
322
  "no-eval": "error",
323
+ "no-extend-native": "error",
184
324
  "no-extra-bind": "error",
185
- "no-irregular-whitespace": "error",
325
+ "no-extra-semi": "off",
326
+ "no-implicit-coercion": "error",
327
+ "no-invalid-this": "error",
328
+ "no-irregular-whitespace": ["error", { skipStrings: false }],
329
+ "no-iterator": "error",
330
+ "no-lone-blocks": "error",
186
331
  "no-new-func": "error",
187
332
  "no-new-wrappers": "error",
333
+ "no-nonoctal-decimal-escape": "error",
334
+ "no-octal-escape": "error",
335
+ "no-param-reassign": "error",
336
+ "no-promise-executor-return": "error",
188
337
  "no-proto": "error",
189
338
  "no-restricted-imports": [
190
339
  "error",
191
340
  {
192
341
  patterns: [
342
+ "**/test/**/*{,.js,.jsx,.ts,.tsx}",
193
343
  "**/*.config{,.js,.jsx,.ts,.tsx}",
194
344
  "**/*.test{,.js,.jsx,.ts,.tsx}",
195
345
  "**/test{,.js,.jsx,.ts,.tsx}"
196
346
  ]
197
347
  }
198
348
  ],
349
+ "no-return-assign": "error",
199
350
  "no-return-await": "error",
200
351
  "no-script-url": "error",
201
352
  "no-self-compare": "error",
353
+ "no-sequences": ["error", { allowInParentheses: false }],
202
354
  "no-throw-literal": "error",
203
355
  "no-undef-init": "error",
204
356
  "no-underscore-dangle": "error",
357
+ "no-unneeded-ternary": "error",
358
+ "no-unsafe-optional-chaining": ["error", { disallowArithmeticOperators: true }],
205
359
  "no-unused-expressions": "error",
360
+ "no-useless-backreference": "error",
361
+ "no-useless-call": "error",
362
+ "no-useless-computed-key": "error",
363
+ "no-useless-concat": "error",
364
+ "no-useless-rename": "error",
365
+ "no-var": "error",
206
366
  "object-shorthand": "error",
207
367
  "one-var": ["error", "never"],
208
368
  "prefer-arrow/prefer-arrow-functions": ["error", { allowStandaloneDeclarations: true }],
369
+ "prefer-const": "error",
370
+ "prefer-exponentiation-operator": "error",
371
+ "prefer-numeric-literals": "error",
209
372
  "prefer-object-spread": "error",
210
- "radix": "error"
373
+ "prefer-promise-reject-errors": "error",
374
+ "prefer-rest-params": "error",
375
+ "prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
376
+ "prefer-spread": "error",
377
+ "radix": "error",
378
+ "require-atomic-updates": "error",
379
+ "require-unicode-regexp": "error",
380
+ "strict": "error",
381
+ "sonarjs/no-all-duplicated-branches": "error",
382
+ "sonarjs/no-collapsible-if": "error",
383
+ "sonarjs/no-collection-size-mischeck": "error",
384
+ "sonarjs/no-duplicated-branches": "error",
385
+ "sonarjs/no-element-overwrite": "error",
386
+ "sonarjs/no-empty-collection": "error",
387
+ "sonarjs/no-extra-arguments": "error",
388
+ "sonarjs/no-gratuitous-expressions": "error",
389
+ "sonarjs/no-identical-conditions": "error",
390
+ "sonarjs/no-identical-expressions": "error",
391
+ "sonarjs/no-identical-functions": "error",
392
+ "sonarjs/no-inverted-boolean-check": "error",
393
+ "sonarjs/no-one-iteration-loop": "error",
394
+ "sonarjs/no-redundant-boolean": "error",
395
+ "sonarjs/no-redundant-jump": "error",
396
+ "sonarjs/no-unused-collection": "error",
397
+ "sonarjs/no-use-of-empty-return-value": "error",
398
+ "sonarjs/no-useless-catch": "error",
399
+ "sonarjs/non-existent-operator": "error",
400
+ "sonarjs/prefer-object-literal": "error",
401
+ "sonarjs/prefer-while": "error"
211
402
  }
212
403
  };
213
404
  module.exports = config;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import type {Linter} from \"eslint\";\n\nconst config: Linter.Config = {\n env: {\n es6: true,\n node: true\n },\n extends: [\"eslint:recommended\", \"prettier\"],\n plugins: [\"@typescript-eslint\", \"import\", \"jsdoc\", \"prefer-arrow\", \"sonarjs\"],\n parserOptions: {\n ecmaVersion: 2018,\n sourceType: \"module\"\n },\n overrides: [\n {\n files: [\"*.ts\", \"*.tsx\"],\n extends: [\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n \"plugin:@typescript-eslint/recommended-requiring-type-checking\"\n ],\n parser: \"@typescript-eslint/parser\",\n parserOptions: {\n project: \"tsconfig.json\"\n },\n rules: {\n \"dot-notation\": \"off\",\n \"no-unused-expressions\": \"off\",\n \"sonarjs/prefer-while\": \"error\",\n \"@typescript-eslint/array-type\": [\n \"error\",\n {\n default: \"array-simple\"\n }\n ],\n \"@typescript-eslint/ban-types\": [\n \"error\",\n {\n types: {\n Object: {\n message: [\n 'Do not use the `Object` type, it means \"any non-nullish value\".',\n '- If you want a type meaning \"any object\", you probably want `Record<string, unknown>` or `object` instead.',\n '- If you want a type meaning \"any value\", you probably want `unknown` or `any` instead.'\n ].join(\"\\n\"),\n fixWith: \"object\"\n },\n Function: {\n message: [\n \"The `Function` type accepts any function-like value.\",\n \"It provides no type safety when calling the function, which can be a common source of bugs.\",\n \"It also accepts things like class declarations, which will throw at runtime as they may not be called with `new`.\",\n \"If you are expecting a function to accept certain arguments, you should explicitly define the function shape.\"\n ].join(\"\\n\"),\n fixWith: \"() => void\"\n },\n Boolean: {\n message: \"Use boolean instead\",\n fixWith: \"boolean\"\n },\n Number: {\n message: \"Use number instead\",\n fixWith: \"number\"\n },\n String: {\n message: \"Use string instead\",\n fixWith: \"string\"\n },\n Symbol: {\n message: \"Use symbol instead\",\n fixWith: \"symbol\"\n }\n },\n extendDefaults: false\n }\n ],\n \"@typescript-eslint/ban-ts-comment\": \"error\",\n \"@typescript-eslint/class-literal-property-style\": \"error\",\n \"@typescript-eslint/dot-notation\": \"error\",\n \"@typescript-eslint/explicit-function-return-type\": [\n \"error\",\n {\n allowExpressions: true,\n allowTypedFunctionExpressions: true\n }\n ],\n \"@typescript-eslint/explicit-member-accessibility\": [\n \"error\",\n {\n accessibility: \"explicit\"\n }\n ],\n \"@typescript-eslint/interface-name-prefix\": \"off\",\n \"@typescript-eslint/member-ordering\": \"error\",\n \"@typescript-eslint/no-empty-function\": \"off\",\n \"@typescript-eslint/no-explicit-any\": \"off\",\n \"@typescript-eslint/no-extraneous-class\": \"error\",\n \"@typescript-eslint/no-floating-promises\": \"error\",\n \"@typescript-eslint/no-unnecessary-boolean-literal-compare\": \"error\",\n \"@typescript-eslint/no-unsafe-assignment\": \"off\",\n \"@typescript-eslint/no-unsafe-member-access\": \"off\",\n \"@typescript-eslint/no-unsafe-return\": \"off\",\n \"@typescript-eslint/no-unused-expressions\": \"error\",\n \"@typescript-eslint/no-unused-vars\": \"off\",\n \"@typescript-eslint/no-useless-constructor\": \"error\",\n \"@typescript-eslint/no-use-before-define\": \"off\",\n \"@typescript-eslint/prefer-for-of\": \"off\",\n \"@typescript-eslint/prefer-function-type\": \"error\",\n \"@typescript-eslint/prefer-regexp-exec\": \"off\",\n \"@typescript-eslint/promise-function-async\": \"error\",\n \"@typescript-eslint/restrict-template-expressions\": [\n \"error\",\n {\n allowNumber: true,\n allowBoolean: true,\n allowAny: false,\n allowNullish: false\n }\n ],\n \"@typescript-eslint/require-await\": \"off\",\n \"@typescript-eslint/triple-slash-reference\": [\n \"error\",\n {\n path: \"always\",\n types: \"prefer-import\",\n lib: \"always\"\n }\n ],\n \"@typescript-eslint/unified-signatures\": \"error\"\n }\n },\n {\n files: [\n \"test.ts\",\n \"test.tsx\",\n \"*.test.ts\",\n \"*.test.tsx\",\n \"*.test-d.ts\",\n \"*.test-d.tsx\"\n ],\n parserOptions: {\n project: \"tsconfig.test.json\"\n }\n },\n {\n files: [\"test.{js,jsx,ts,tsx}\", \"*.test.{js,jsx,ts,tsx}\", \"*.config.{js,jsx,ts,tsx}\"],\n rules: {\n \"no-restricted-imports\": \"off\"\n }\n }\n ],\n rules: {\n \"arrow-body-style\": \"error\",\n \"complexity\": \"off\",\n \"curly\": \"error\",\n \"dot-notation\": \"error\",\n \"eqeqeq\": [\"error\", \"always\", {null: \"never\"}],\n \"guard-for-in\": \"error\",\n \"id-blacklist\": \"error\",\n \"id-match\": \"error\",\n \"import/no-extraneous-dependencies\": [\n \"error\",\n {\n devDependencies: [\n \"**/*.config.{js,jsx,ts,tsx}\",\n \"**/*.test.{js,jsx,ts,tsx}\",\n \"**/*.test-d.{ts,tsx}\",\n \"**/test.{js,jsx,ts,tsx}\"\n ],\n optionalDependencies: false\n }\n ],\n \"import/order\": \"error\",\n \"jsdoc/check-alignment\": \"error\",\n \"jsdoc/check-indentation\": \"off\",\n \"jsdoc/newline-after-description\": \"error\",\n \"jsdoc/no-types\": \"error\",\n \"max-classes-per-file\": \"off\",\n \"new-parens\": \"error\",\n \"no-caller\": \"error\",\n \"no-duplicate-imports\": \"error\",\n \"no-empty\": \"off\",\n \"no-empty-function\": \"off\",\n \"no-eval\": \"error\",\n \"no-extra-bind\": \"error\",\n \"no-irregular-whitespace\": \"error\",\n \"no-new-func\": \"error\",\n \"no-new-wrappers\": \"error\",\n \"no-proto\": \"error\",\n \"no-restricted-imports\": [\n \"error\",\n {\n patterns: [\n \"**/*.config{,.js,.jsx,.ts,.tsx}\",\n \"**/*.test{,.js,.jsx,.ts,.tsx}\",\n \"**/test{,.js,.jsx,.ts,.tsx}\"\n ]\n }\n ],\n \"no-return-await\": \"error\",\n \"no-script-url\": \"error\",\n \"no-self-compare\": \"error\",\n \"no-throw-literal\": \"error\",\n \"no-undef-init\": \"error\",\n \"no-underscore-dangle\": \"error\",\n \"no-unused-expressions\": \"error\",\n \"object-shorthand\": \"error\",\n \"one-var\": [\"error\", \"never\"],\n \"prefer-arrow/prefer-arrow-functions\": [\"error\", {allowStandaloneDeclarations: true}],\n \"prefer-object-spread\": \"error\",\n \"radix\": \"error\"\n }\n};\n\nexport = config;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,GAAkB;IAC1B,GAAG,EAAE;QACD,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;IACD,OAAO,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC;IAC3C,OAAO,EAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC;IAC7E,aAAa,EAAE;QACX,WAAW,EAAE,IAAI;KACpB;IACD,SAAS,EAAE;QACP;YACI,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACxB,OAAO,EAAE;gBACL,8CAA8C;gBAC9C,uCAAuC;gBACvC,+DAA+D;aAClE;YACD,MAAM,EAAE,2BAA2B;YACnC,aAAa,EAAE;gBACX,OAAO,EAAE,eAAe;aAC3B;YACD,KAAK,EAAE;gBACH,uBAAuB,EAAE,KAAK;gBAC9B,mBAAmB,EAAE,KAAK;gBAC1B,cAAc,EAAE,KAAK;gBACrB,sBAAsB,EAAE,KAAK;gBAC7B,iBAAiB,EAAE,KAAK;gBACxB,6BAA6B,EAAE,KAAK;gBACpC,uBAAuB,EAAE,KAAK;gBAC9B,4BAA4B,EAAE,KAAK;gBACnC,2BAA2B,EAAE,OAAO;gBACpC,+BAA+B,EAAE;oBAC7B,OAAO;oBACP;wBACI,OAAO,EAAE,cAAc;qBAC1B;iBACJ;gBACD,uCAAuC,EAAE,OAAO;gBAChD,8BAA8B,EAAE;oBAC5B,OAAO;oBACP;wBACI,KAAK,EAAE;4BACH,QAAQ,EAAE;gCACN,OAAO,EAAE;oCACL,wDAAwD;oCACxD,iGAAiG;oCACjG,gFAAgF;iCACnF,CAAC,IAAI,CAAC,IAAI,CAAC;gCACZ,OAAO,EAAE,yBAAyB;6BACrC;4BACD,IAAI,EAAE;gCACF,OAAO,EAAE;oCACL,oDAAoD;oCACpD,iGAAiG;oCACjG,gFAAgF;oCAChF,iGAAiG;iCACpG,CAAC,IAAI,CAAC,IAAI,CAAC;gCACZ,OAAO,EAAE,uBAAuB;6BACnC;4BACD,UAAU,EAAE;gCACR,OAAO,EAAE;oCACL,sDAAsD;oCACtD,6FAA6F;oCAC7F,kHAAkH;oCAClH,+GAA+G;iCAClH,CAAC,IAAI,CAAC,IAAI,CAAC;gCACZ,OAAO,EAAE,YAAY;6BACxB;yBACJ;wBACD,cAAc,EAAE,IAAI;qBACvB;iBACJ;gBACD,mCAAmC,EAAE,OAAO;gBAC5C,iDAAiD,EAAE,OAAO;gBAC1D,+CAA+C,EAAE;oBAC7C,OAAO;oBACP,EAAC,cAAc,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAC;iBAC/D;gBACD,gDAAgD,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;gBACxE,4CAA4C,EAAE,OAAO;gBACrD,iCAAiC,EAAE,OAAO;gBAC1C,kDAAkD,EAAE;oBAChD,OAAO;oBACP;wBACI,gBAAgB,EAAE,IAAI;wBACtB,6BAA6B,EAAE,IAAI;qBACtC;iBACJ;gBACD,kDAAkD,EAAE;oBAChD,OAAO;oBACP;wBACI,aAAa,EAAE,UAAU;qBAC5B;iBACJ;gBACD,mDAAmD,EAAE;oBACjD,OAAO;oBACP;wBACI,yCAAyC,EAAE,KAAK;wBAChD,yBAAyB,EAAE,KAAK;qBACnC;iBACJ;gBACD,0CAA0C,EAAE,KAAK;gBACjD,oCAAoC,EAAE,OAAO;gBAC7C,2CAA2C,EAAE,OAAO;gBACpD,sCAAsC,EAAE;oBACpC,OAAO;oBACP;wBACI,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;wBACxC,MAAM,EAAE,CAAC,iBAAiB,CAAC;wBAC3B,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;wBACrD,MAAM,EAAE,CAAC,kBAAkB,CAAC;wBAC5B,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,eAAe,CAAC;wBAC3B,MAAM,EAAE,CAAC,kBAAkB,CAAC;wBAC5B,MAAM,EAAE,CAAC,GAAG,CAAC;wBACb,MAAM,EAAE,IAAI;wBACZ,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,eAAe,CAAC;wBAC3B,MAAM,EAAE,CAAC,YAAY,CAAC;wBACtB,MAAM,EAAE;4BACJ,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,IAAI;yBACd;wBACD,MAAM,EAAE,KAAK;qBAChB;iBACJ;gBACD,sCAAsC,EAAE,OAAO;gBAC/C,oDAAoD,EAAE,OAAO;gBAC7D,iDAAiD,EAAE;oBAC/C,OAAO;oBACP,EAAC,kBAAkB,EAAE,IAAI,EAAC;iBAC7B;gBACD,yCAAyC,EAAE,OAAO;gBAClD,sCAAsC,EAAE,KAAK;gBAC7C,oCAAoC,EAAE,OAAO;gBAC7C,kCAAkC,EAAE,KAAK;gBACzC,wCAAwC,EAAE,OAAO;gBACjD,yCAAyC,EAAE,OAAO;gBAClD,0CAA0C,EAAE,OAAO;gBACnD,yCAAyC,EAAE,OAAO;gBAClD,iCAAiC,EAAE,OAAO;gBAC1C,yCAAyC,EAAE,OAAO;gBAClD,0CAA0C,EAAE,OAAO;gBACnD,2DAA2D,EAAE,OAAO;gBACpE,6CAA6C,EAAE,OAAO;gBACtD,kDAAkD,EAAE,OAAO;gBAC3D,kDAAkD,EAAE,OAAO;gBAC3D,mDAAmD,EAAE,OAAO;gBAC5D,uCAAuC,EAAE,OAAO;gBAChD,qCAAqC,EAAE,OAAO;gBAC9C,0CAA0C,EAAE,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;gBAC5E,mCAAmC,EAAE,KAAK;gBAC1C,2CAA2C,EAAE,OAAO;gBACpD,yCAAyC,EAAE,KAAK;gBAChD,sDAAsD,EAAE,OAAO;gBAC/D,kCAAkC,EAAE,KAAK;gBACzC,yCAAyC,EAAE,OAAO;gBAClD,oCAAoC,EAAE,OAAO;gBAC7C,8CAA8C,EAAE,OAAO;gBACvD,0CAA0C,EAAE,OAAO;gBACnD,oCAAoC,EAAE,OAAO;gBAC7C,uCAAuC,EAAE,KAAK;gBAC9C,4CAA4C,EAAE,OAAO;gBACrD,mDAAmD,EAAE,OAAO;gBAC5D,2CAA2C,EAAE,OAAO;gBACpD,+CAA+C,EAAE;oBAC7C,OAAO;oBACP,EAAC,kBAAkB,EAAE,IAAI,EAAC;iBAC7B;gBACD,kDAAkD,EAAE;oBAChD,OAAO;oBACP;wBACI,WAAW,EAAE,IAAI;wBACjB,YAAY,EAAE,IAAI;wBAClB,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,KAAK;qBACtB;iBACJ;gBACD,kCAAkC,EAAE,KAAK;gBACzC,+CAA+C,EAAE;oBAC7C,OAAO;oBACP;wBACI,WAAW,EAAE,KAAK;wBAClB,WAAW,EAAE,KAAK;wBAClB,mBAAmB,EAAE,KAAK;wBAC1B,oBAAoB,EAAE,KAAK;wBAC3B,mBAAmB,EAAE,KAAK;wBAC1B,mBAAmB,EAAE,KAAK;wBAC1B,QAAQ,EAAE,KAAK;qBAClB;iBACJ;gBACD,2CAA2C,EAAE;oBACzC,OAAO;oBACP;wBACI,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,eAAe;wBACtB,GAAG,EAAE,QAAQ;qBAChB;iBACJ;gBACD,uCAAuC,EAAE,OAAO;aACnD;SACJ;QACD;YACI,KAAK,EAAE,CAAC,OAAO,CAAC;YAChB,KAAK,EAAE;gBACH,sCAAsC,EAAE;oBACpC,OAAO;oBACP;wBACI,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC;wBACjD,MAAM,EAAE,CAAC,iBAAiB,CAAC;wBAC3B,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,UAAU,CAAC;wBACtB,MAAM,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;wBAC/C,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;wBACrD,MAAM,EAAE,CAAC,kBAAkB,CAAC;wBAC5B,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,eAAe,CAAC;wBAC3B,MAAM,EAAE,CAAC,kBAAkB,CAAC;wBAC5B,MAAM,EAAE,CAAC,GAAG,CAAC;wBACb,MAAM,EAAE,IAAI;wBACZ,iBAAiB,EAAE,QAAQ;wBAC3B,kBAAkB,EAAE,QAAQ;qBAC/B;oBACD;wBACI,QAAQ,EAAE,CAAC,eAAe,CAAC;wBAC3B,MAAM,EAAE,CAAC,YAAY,CAAC;wBACtB,MAAM,EAAE;4BACJ,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,IAAI;yBACd;wBACD,MAAM,EAAE,KAAK;qBAChB;iBACJ;aACJ;SACJ;QACD;YACI,KAAK,EAAE;gBACH,cAAc;gBACd,eAAe;gBACf,SAAS;gBACT,UAAU;gBACV,WAAW;gBACX,YAAY;gBACZ,aAAa;gBACb,cAAc;aACjB;YACD,aAAa,EAAE;gBACX,OAAO,EAAE,oBAAoB;aAChC;SACJ;QACD;YACI,KAAK,EAAE;gBACH,2BAA2B;gBAC3B,sBAAsB;gBACtB,wBAAwB;gBACxB,0BAA0B;aAC7B;YACD,KAAK,EAAE;gBACH,uBAAuB,EAAE,KAAK;aACjC;SACJ;KACJ;IACD,KAAK,EAAE;QACH,uBAAuB,EAAE,OAAO;QAChC,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,OAAO;QAC5B,OAAO,EAAE,OAAO;QAChB,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;QAC9C,cAAc,EAAE,OAAO;QACvB,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,OAAO;QACnB,mCAAmC,EAAE;YACjC,OAAO;YACP;gBACI,eAAe,EAAE;oBACb,8BAA8B;oBAC9B,6BAA6B;oBAC7B,2BAA2B;oBAC3B,sBAAsB;oBACtB,yBAAyB;iBAC5B;gBACD,oBAAoB,EAAE,KAAK;aAC9B;SACJ;QACD,cAAc,EAAE,OAAO;QACvB,uBAAuB,EAAE,OAAO;QAChC,yBAAyB,EAAE,KAAK;QAChC,iCAAiC,EAAE,OAAO;QAC1C,gBAAgB,EAAE,OAAO;QACzB,sBAAsB,EAAE,KAAK;QAC7B,YAAY,EAAE,OAAO;QACrB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,OAAO;QACpB,uBAAuB,EAAE,OAAO;QAChC,sBAAsB,EAAE,OAAO;QAC/B,UAAU,EAAE,KAAK;QACjB,mBAAmB,EAAE,KAAK;QAC1B,SAAS,EAAE,OAAO;QAClB,kBAAkB,EAAE,OAAO;QAC3B,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,OAAO;QAC/B,iBAAiB,EAAE,OAAO;QAC1B,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC;QAC1D,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,OAAO;QACzB,aAAa,EAAE,OAAO;QACtB,iBAAiB,EAAE,OAAO;QAC1B,4BAA4B,EAAE,OAAO;QACrC,iBAAiB,EAAE,OAAO;QAC1B,mBAAmB,EAAE,OAAO;QAC5B,4BAA4B,EAAE,OAAO;QACrC,UAAU,EAAE,OAAO;QACnB,uBAAuB,EAAE;YACrB,OAAO;YACP;gBACI,QAAQ,EAAE;oBACN,kCAAkC;oBAClC,iCAAiC;oBACjC,+BAA+B;oBAC/B,6BAA6B;iBAChC;aACJ;SACJ;QACD,kBAAkB,EAAE,OAAO;QAC3B,iBAAiB,EAAE,OAAO;QAC1B,eAAe,EAAE,OAAO;QACxB,iBAAiB,EAAE,OAAO;QAC1B,cAAc,EAAE,CAAC,OAAO,EAAE,EAAC,kBAAkB,EAAE,KAAK,EAAC,CAAC;QACtD,kBAAkB,EAAE,OAAO;QAC3B,eAAe,EAAE,OAAO;QACxB,sBAAsB,EAAE,OAAO;QAC/B,qBAAqB,EAAE,OAAO;QAC9B,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC;QAC7E,uBAAuB,EAAE,OAAO;QAChC,0BAA0B,EAAE,OAAO;QACnC,iBAAiB,EAAE,OAAO;QAC1B,yBAAyB,EAAE,OAAO;QAClC,mBAAmB,EAAE,OAAO;QAC5B,mBAAmB,EAAE,OAAO;QAC5B,QAAQ,EAAE,OAAO;QACjB,kBAAkB,EAAE,OAAO;QAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7B,qCAAqC,EAAE,CAAC,OAAO,EAAE,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC;QACrF,cAAc,EAAE,OAAO;QACvB,gCAAgC,EAAE,OAAO;QACzC,yBAAyB,EAAE,OAAO;QAClC,sBAAsB,EAAE,OAAO;QAC/B,8BAA8B,EAAE,OAAO;QACvC,oBAAoB,EAAE,OAAO;QAC7B,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAC,yBAAyB,EAAE,IAAI,EAAC,CAAC;QACrE,eAAe,EAAE,OAAO;QACxB,OAAO,EAAE,OAAO;QAChB,wBAAwB,EAAE,OAAO;QACjC,wBAAwB,EAAE,OAAO;QACjC,QAAQ,EAAE,OAAO;QACjB,oCAAoC,EAAE,OAAO;QAC7C,2BAA2B,EAAE,OAAO;QACpC,qCAAqC,EAAE,OAAO;QAC9C,gCAAgC,EAAE,OAAO;QACzC,8BAA8B,EAAE,OAAO;QACvC,6BAA6B,EAAE,OAAO;QACtC,4BAA4B,EAAE,OAAO;QACrC,mCAAmC,EAAE,OAAO;QAC5C,iCAAiC,EAAE,OAAO;QAC1C,kCAAkC,EAAE,OAAO;QAC3C,gCAAgC,EAAE,OAAO;QACzC,mCAAmC,EAAE,OAAO;QAC5C,+BAA+B,EAAE,OAAO;QACxC,8BAA8B,EAAE,OAAO;QACvC,2BAA2B,EAAE,OAAO;QACpC,8BAA8B,EAAE,OAAO;QACvC,sCAAsC,EAAE,OAAO;QAC/C,0BAA0B,EAAE,OAAO;QACnC,+BAA+B,EAAE,OAAO;QACxC,+BAA+B,EAAE,OAAO;QACxC,sBAAsB,EAAE,OAAO;KAClC;CACJ,CAAC;AAEF,iBAAS,MAAM,CAAC","sourcesContent":["import type {Linter} from \"eslint\";\n\nconst config: Linter.Config = {\n env: {\n es6: true,\n node: true\n },\n extends: [\"eslint:recommended\", \"prettier\"],\n plugins: [\"@typescript-eslint\", \"import\", \"jsdoc\", \"prefer-arrow\", \"sonarjs\"],\n parserOptions: {\n ecmaVersion: 2018\n },\n overrides: [\n {\n files: [\"*.ts\", \"*.tsx\"],\n extends: [\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n \"plugin:@typescript-eslint/recommended-requiring-type-checking\"\n ],\n parser: \"@typescript-eslint/parser\",\n parserOptions: {\n project: \"tsconfig.json\"\n },\n rules: {\n \"array-callback-return\": \"off\",\n \"consistent-return\": \"off\",\n \"dot-notation\": \"off\",\n \"no-duplicate-imports\": \"off\",\n \"no-invalid-this\": \"off\",\n \"no-unsafe-optional-chaining\": \"off\",\n \"no-unused-expressions\": \"off\",\n \"sonarjs/no-extra-arguments\": \"off\",\n \"sonarjs/no-ignored-return\": \"error\",\n \"@typescript-eslint/array-type\": [\n \"error\",\n {\n default: \"array-simple\"\n }\n ],\n \"@typescript-eslint/ban-tslint-comment\": \"error\",\n \"@typescript-eslint/ban-types\": [\n \"error\",\n {\n types: {\n \"Object\": {\n message: [\n 'Do not use `Object`, it means \"any non-nullish value\".',\n '- If you want a type meaning \"any object\", you probably want `Record<string, unknown>` instead.',\n '- If you want a type meaning \"any value\", you probably want `unknown` instead.'\n ].join(\"\\n\"),\n fixWith: \"Record<string, unknown>\"\n },\n \"{}\": {\n message: [\n 'Do not use `{}`, it means \"any non-nullish value\".',\n '- If you want a type meaning \"any object\", you probably want `Record<string, unknown>` instead.',\n '- If you want a type meaning \"any value\", you probably want `unknown` instead.',\n '- If you want a type meaning \"empty object\", you probably want `Record<string, never>` instead.'\n ].join(\"\\n\"),\n fixWith: \"Record<string, never>\"\n },\n \"Function\": {\n message: [\n \"The `Function` type accepts any function-like value.\",\n \"It provides no type safety when calling the function, which can be a common source of bugs.\",\n \"It also accepts things like class declarations, which may throw at runtime as they may not be called with `new`.\",\n \"If you are expecting a function to accept certain arguments, you should explicitly define the function shape.\"\n ].join(\"\\n\"),\n fixWith: \"() => void\"\n }\n },\n extendDefaults: true\n }\n ],\n \"@typescript-eslint/ban-ts-comment\": \"error\",\n \"@typescript-eslint/class-literal-property-style\": \"error\",\n \"@typescript-eslint/consistent-type-assertions\": [\n \"error\",\n {assertionStyle: \"as\", objectLiteralTypeAssertions: \"never\"}\n ],\n \"@typescript-eslint/consistent-type-definitions\": [\"error\", \"interface\"],\n \"@typescript-eslint/consistent-type-imports\": \"error\",\n \"@typescript-eslint/dot-notation\": \"error\",\n \"@typescript-eslint/explicit-function-return-type\": [\n \"error\",\n {\n allowExpressions: true,\n allowTypedFunctionExpressions: true\n }\n ],\n \"@typescript-eslint/explicit-member-accessibility\": [\n \"error\",\n {\n accessibility: \"explicit\"\n }\n ],\n \"@typescript-eslint/explicit-module-boundary-types\": [\n \"error\",\n {\n allowDirectConstAssertionInArrowFunctions: false,\n allowHigherOrderFunctions: false\n }\n ],\n \"@typescript-eslint/interface-name-prefix\": \"off\",\n \"@typescript-eslint/member-ordering\": \"error\",\n \"@typescript-eslint/method-signature-style\": \"error\",\n \"@typescript-eslint/naming-convention\": [\n \"error\",\n {\n selector: [\"variableLike\", \"enumMember\"],\n format: [\"strictCamelCase\"],\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"class\", \"interface\", \"typeAlias\", \"enum\"],\n format: [\"StrictPascalCase\"],\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"typeParameter\"],\n format: [\"StrictPascalCase\"],\n prefix: [\"T\"],\n filter: \"..\",\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"typeParameter\"],\n format: [\"UPPER_CASE\"],\n custom: {\n regex: \"^[A-Z]$\",\n match: true\n },\n filter: \"^.$\"\n }\n ],\n \"@typescript-eslint/no-base-to-string\": \"error\",\n \"@typescript-eslint/no-confusing-non-null-assertion\": \"error\",\n \"@typescript-eslint/no-confusing-void-expression\": [\n \"error\",\n {ignoreVoidOperator: true}\n ],\n \"@typescript-eslint/no-duplicate-imports\": \"error\",\n \"@typescript-eslint/no-empty-function\": \"off\",\n \"@typescript-eslint/no-explicit-any\": \"error\",\n \"@typescript-eslint/no-extra-semi\": \"off\",\n \"@typescript-eslint/no-extraneous-class\": \"error\",\n \"@typescript-eslint/no-floating-promises\": \"error\",\n \"@typescript-eslint/no-implicit-any-catch\": \"error\",\n \"@typescript-eslint/no-invalid-void-type\": \"error\",\n \"@typescript-eslint/no-loop-func\": \"error\",\n \"@typescript-eslint/no-loss-of-precision\": \"error\",\n \"@typescript-eslint/no-non-null-assertion\": \"error\",\n \"@typescript-eslint/no-unnecessary-boolean-literal-compare\": \"error\",\n \"@typescript-eslint/no-unnecessary-qualifier\": \"error\",\n \"@typescript-eslint/no-unnecessary-type-arguments\": \"error\",\n \"@typescript-eslint/no-unnecessary-type-assertion\": \"error\",\n \"@typescript-eslint/no-unnecessary-type-constraint\": \"error\",\n \"@typescript-eslint/no-unsafe-argument\": \"error\",\n \"@typescript-eslint/no-unsafe-return\": \"error\",\n \"@typescript-eslint/no-unused-expressions\": [\"error\", {enforceForJSX: true}],\n \"@typescript-eslint/no-unused-vars\": \"off\",\n \"@typescript-eslint/no-useless-constructor\": \"error\",\n \"@typescript-eslint/no-use-before-define\": \"off\",\n \"@typescript-eslint/non-nullable-type-assertion-style\": \"error\",\n \"@typescript-eslint/prefer-for-of\": \"off\",\n \"@typescript-eslint/prefer-function-type\": \"error\",\n \"@typescript-eslint/prefer-includes\": \"error\",\n \"@typescript-eslint/prefer-nullish-coalescing\": \"error\",\n \"@typescript-eslint/prefer-optional-chain\": \"error\",\n \"@typescript-eslint/prefer-readonly\": \"error\",\n \"@typescript-eslint/prefer-regexp-exec\": \"off\",\n \"@typescript-eslint/prefer-return-this-type\": \"error\",\n \"@typescript-eslint/prefer-string-starts-ends-with\": \"error\",\n \"@typescript-eslint/promise-function-async\": \"error\",\n \"@typescript-eslint/require-array-sort-compare\": [\n \"error\",\n {ignoreStringArrays: true}\n ],\n \"@typescript-eslint/restrict-template-expressions\": [\n \"error\",\n {\n allowNumber: true,\n allowBoolean: true,\n allowAny: false,\n allowNullish: false\n }\n ],\n \"@typescript-eslint/require-await\": \"off\",\n \"@typescript-eslint/strict-boolean-expressions\": [\n \"error\",\n {\n allowString: false,\n allowNumber: false,\n allowNullableObject: false,\n allowNullableBoolean: false,\n allowNullableString: false,\n allowNullableNumber: false,\n allowAny: false\n }\n ],\n \"@typescript-eslint/triple-slash-reference\": [\n \"error\",\n {\n path: \"always\",\n types: \"prefer-import\",\n lib: \"always\"\n }\n ],\n \"@typescript-eslint/unified-signatures\": \"error\"\n }\n },\n {\n files: [\"*.tsx\"],\n rules: {\n \"@typescript-eslint/naming-convention\": [\n \"error\",\n {\n selector: [\"variable\", \"parameter\", \"enumMember\"],\n format: [\"strictCamelCase\"],\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"function\"],\n format: [\"strictCamelCase\", \"StrictPascalCase\"],\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"class\", \"interface\", \"typeAlias\", \"enum\"],\n format: [\"StrictPascalCase\"],\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"typeParameter\"],\n format: [\"StrictPascalCase\"],\n prefix: [\"T\"],\n filter: \"..\",\n leadingUnderscore: \"forbid\",\n trailingUnderscore: \"forbid\"\n },\n {\n selector: [\"typeParameter\"],\n format: [\"UPPER_CASE\"],\n custom: {\n regex: \"^[A-Z]$\",\n match: true\n },\n filter: \"^.$\"\n }\n ]\n }\n },\n {\n files: [\n \"test/**/*.ts\",\n \"test/**/*.tsx\",\n \"test.ts\",\n \"test.tsx\",\n \"*.test.ts\",\n \"*.test.tsx\",\n \"*.test-d.ts\",\n \"*.test-d.tsx\"\n ],\n parserOptions: {\n project: \"tsconfig.test.json\"\n }\n },\n {\n files: [\n \"test/**/*.{js,jsx,ts,tsx}\",\n \"test.{js,jsx,ts,tsx}\",\n \"*.test.{js,jsx,ts,tsx}\",\n \"*.config.{js,jsx,ts,tsx}\"\n ],\n rules: {\n \"no-restricted-imports\": \"off\"\n }\n }\n ],\n rules: {\n \"array-callback-return\": \"error\",\n \"arrow-body-style\": \"error\",\n \"complexity\": \"off\",\n \"consistent-return\": \"error\",\n \"curly\": \"error\",\n \"dot-notation\": \"error\",\n \"eqeqeq\": [\"error\", \"always\", {null: \"never\"}],\n \"guard-for-in\": \"error\",\n \"id-blacklist\": \"error\",\n \"id-match\": \"error\",\n \"import/no-extraneous-dependencies\": [\n \"error\",\n {\n devDependencies: [\n \"**/test/**/*.{js,jsx,ts,tsx}\",\n \"**/*.config.{js,jsx,ts,tsx}\",\n \"**/*.test.{js,jsx,ts,tsx}\",\n \"**/*.test-d.{ts,tsx}\",\n \"**/test.{js,jsx,ts,tsx}\"\n ],\n optionalDependencies: false\n }\n ],\n \"import/order\": \"error\",\n \"jsdoc/check-alignment\": \"error\",\n \"jsdoc/check-indentation\": \"off\",\n \"jsdoc/newline-after-description\": \"error\",\n \"jsdoc/no-types\": \"error\",\n \"max-classes-per-file\": \"off\",\n \"new-parens\": \"error\",\n \"no-alert\": \"error\",\n \"no-caller\": \"error\",\n \"no-constructor-return\": \"error\",\n \"no-duplicate-imports\": \"error\",\n \"no-empty\": \"off\",\n \"no-empty-function\": \"off\",\n \"no-eval\": \"error\",\n \"no-extend-native\": \"error\",\n \"no-extra-bind\": \"error\",\n \"no-extra-semi\": \"off\",\n \"no-implicit-coercion\": \"error\",\n \"no-invalid-this\": \"error\",\n \"no-irregular-whitespace\": [\"error\", {skipStrings: false}],\n \"no-iterator\": \"error\",\n \"no-lone-blocks\": \"error\",\n \"no-new-func\": \"error\",\n \"no-new-wrappers\": \"error\",\n \"no-nonoctal-decimal-escape\": \"error\",\n \"no-octal-escape\": \"error\",\n \"no-param-reassign\": \"error\",\n \"no-promise-executor-return\": \"error\",\n \"no-proto\": \"error\",\n \"no-restricted-imports\": [\n \"error\",\n {\n patterns: [\n \"**/test/**/*{,.js,.jsx,.ts,.tsx}\",\n \"**/*.config{,.js,.jsx,.ts,.tsx}\",\n \"**/*.test{,.js,.jsx,.ts,.tsx}\",\n \"**/test{,.js,.jsx,.ts,.tsx}\"\n ]\n }\n ],\n \"no-return-assign\": \"error\",\n \"no-return-await\": \"error\",\n \"no-script-url\": \"error\",\n \"no-self-compare\": \"error\",\n \"no-sequences\": [\"error\", {allowInParentheses: false}],\n \"no-throw-literal\": \"error\",\n \"no-undef-init\": \"error\",\n \"no-underscore-dangle\": \"error\",\n \"no-unneeded-ternary\": \"error\",\n \"no-unsafe-optional-chaining\": [\"error\", {disallowArithmeticOperators: true}],\n \"no-unused-expressions\": \"error\",\n \"no-useless-backreference\": \"error\",\n \"no-useless-call\": \"error\",\n \"no-useless-computed-key\": \"error\",\n \"no-useless-concat\": \"error\",\n \"no-useless-rename\": \"error\",\n \"no-var\": \"error\",\n \"object-shorthand\": \"error\",\n \"one-var\": [\"error\", \"never\"],\n \"prefer-arrow/prefer-arrow-functions\": [\"error\", {allowStandaloneDeclarations: true}],\n \"prefer-const\": \"error\",\n \"prefer-exponentiation-operator\": \"error\",\n \"prefer-numeric-literals\": \"error\",\n \"prefer-object-spread\": \"error\",\n \"prefer-promise-reject-errors\": \"error\",\n \"prefer-rest-params\": \"error\",\n \"prefer-regex-literals\": [\"error\", {disallowRedundantWrapping: true}],\n \"prefer-spread\": \"error\",\n \"radix\": \"error\",\n \"require-atomic-updates\": \"error\",\n \"require-unicode-regexp\": \"error\",\n \"strict\": \"error\",\n \"sonarjs/no-all-duplicated-branches\": \"error\",\n \"sonarjs/no-collapsible-if\": \"error\",\n \"sonarjs/no-collection-size-mischeck\": \"error\",\n \"sonarjs/no-duplicated-branches\": \"error\",\n \"sonarjs/no-element-overwrite\": \"error\",\n \"sonarjs/no-empty-collection\": \"error\",\n \"sonarjs/no-extra-arguments\": \"error\",\n \"sonarjs/no-gratuitous-expressions\": \"error\",\n \"sonarjs/no-identical-conditions\": \"error\",\n \"sonarjs/no-identical-expressions\": \"error\",\n \"sonarjs/no-identical-functions\": \"error\",\n \"sonarjs/no-inverted-boolean-check\": \"error\",\n \"sonarjs/no-one-iteration-loop\": \"error\",\n \"sonarjs/no-redundant-boolean\": \"error\",\n \"sonarjs/no-redundant-jump\": \"error\",\n \"sonarjs/no-unused-collection\": \"error\",\n \"sonarjs/no-use-of-empty-return-value\": \"error\",\n \"sonarjs/no-useless-catch\": \"error\",\n \"sonarjs/non-existent-operator\": \"error\",\n \"sonarjs/prefer-object-literal\": \"error\",\n \"sonarjs/prefer-while\": \"error\"\n }\n};\n\nexport = config;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softwareventures/eslint-config",
3
- "version": "4.3.5",
3
+ "version": "5.0.0-alpha.12",
4
4
  "description": "Standard eslint configuration for Software Ventures Limited",
5
5
  "keywords": [
6
6
  "TypeScript",
@@ -23,27 +23,27 @@
23
23
  "node": "^12 || ^14 || >=16"
24
24
  },
25
25
  "dependencies": {
26
- "@typescript-eslint/eslint-plugin": "^4.21.0 || ^5.0.0",
27
- "@typescript-eslint/parser": "^4.0.0 || ^5.0.0",
26
+ "@typescript-eslint/eslint-plugin": "^5.3.0 || ^5.0.0",
27
+ "@typescript-eslint/parser": "^5.3.0 || ^5.0.0",
28
28
  "eslint-config-prettier": "^8.3.0",
29
- "eslint-plugin-import": "^2.20.2",
30
- "eslint-plugin-jsdoc": "^36.0.0 || ^37.0.0",
31
- "eslint-plugin-prefer-arrow": "^1.2.1",
29
+ "eslint-plugin-import": "^2.25.2",
30
+ "eslint-plugin-jsdoc": "^37.0.3",
31
+ "eslint-plugin-prefer-arrow": "^1.2.3",
32
32
  "eslint-plugin-sonarjs": "^0.10.0 || ^0.11.0",
33
- "tslib": "^2.0.0"
33
+ "tslib": "^2.3.1"
34
34
  },
35
35
  "peerDependencies": {
36
- "eslint": "^7.0.0",
36
+ "eslint": "^7.0.0 || ^8.0.0",
37
37
  "typescript": "^3.8.3 || ^4.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@softwareventures/prettier-config": "2.0.0",
41
41
  "@softwareventures/semantic-release-config": "2.0.0",
42
42
  "@softwareventures/tsconfig": "5.1.0",
43
- "@types/eslint": "7.29.0",
43
+ "@types/eslint": "8.4.1",
44
44
  "ava": "4.0.1",
45
45
  "cz-conventional-changelog": "3.3.0",
46
- "eslint": "7.32.0",
46
+ "eslint": "8.7.0",
47
47
  "prettier": "2.5.1",
48
48
  "semantic-release": "17.4.7",
49
49
  "ts-node": "10.4.0",