@rushstack/eslint-config 3.7.0 → 4.0.0

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 ADDED
@@ -0,0 +1,570 @@
1
+ # Change Log - @rushstack/eslint-config
2
+
3
+ This log was last generated on Tue, 13 Aug 2024 18:17:05 GMT and should not be manually modified.
4
+
5
+ ## 4.0.0
6
+ Tue, 13 Aug 2024 18:17:05 GMT
7
+
8
+ ### Breaking changes
9
+
10
+ - [BREAKING CHANGE] Bump "@typescript-eslint/eslint-plugin" to "~8.1.0" and "@typescript-eslint/eslint-parser" to "~8.1.0". Due to these changes, node@>=17.0.0 and eslint@^8.57.0 are now required due to breaking changes in the newer rules set.
11
+
12
+ ## 3.7.1
13
+ Sat, 27 Jul 2024 00:10:27 GMT
14
+
15
+ ### Patches
16
+
17
+ - Include CHANGELOG.md in published releases again
18
+
19
+ ## 3.7.0
20
+ Wed, 29 May 2024 00:10:52 GMT
21
+
22
+ ### Minor changes
23
+
24
+ - Bump the `eslint-plugin-tsdoc` plugin.
25
+
26
+ ## 3.6.10
27
+ Fri, 17 May 2024 00:10:40 GMT
28
+
29
+ _Version update only_
30
+
31
+ ## 3.6.9
32
+ Wed, 10 Apr 2024 21:59:39 GMT
33
+
34
+ _Version update only_
35
+
36
+ ## 3.6.8
37
+ Fri, 29 Mar 2024 05:46:41 GMT
38
+
39
+ _Version update only_
40
+
41
+ ## 3.6.7
42
+ Thu, 28 Mar 2024 18:11:12 GMT
43
+
44
+ _Version update only_
45
+
46
+ ## 3.6.6
47
+ Wed, 27 Mar 2024 19:47:21 GMT
48
+
49
+ _Version update only_
50
+
51
+ ## 3.6.5
52
+ Wed, 20 Mar 2024 02:09:14 GMT
53
+
54
+ _Version update only_
55
+
56
+ ## 3.6.4
57
+ Sat, 17 Feb 2024 06:24:35 GMT
58
+
59
+ _Version update only_
60
+
61
+ ## 3.6.3
62
+ Wed, 07 Feb 2024 01:11:18 GMT
63
+
64
+ _Version update only_
65
+
66
+ ## 3.6.2
67
+ Thu, 25 Jan 2024 23:03:57 GMT
68
+
69
+ _Version update only_
70
+
71
+ ## 3.6.1
72
+ Wed, 24 Jan 2024 07:38:34 GMT
73
+
74
+ _Version update only_
75
+
76
+ ## 3.6.0
77
+ Tue, 16 Jan 2024 18:30:10 GMT
78
+
79
+ ### Minor changes
80
+
81
+ - Add support for TypeScript 5.3 with @typescript-eslint 6.19.x
82
+
83
+ ## 3.5.1
84
+ Fri, 15 Dec 2023 01:10:06 GMT
85
+
86
+ _Version update only_
87
+
88
+ ## 3.5.0
89
+ Wed, 22 Nov 2023 01:45:18 GMT
90
+
91
+ ### Minor changes
92
+
93
+ - Added eslint-bulk-suppressions to @rushstack/eslint-config dependencies, allowing it to be used in all projects that use rushstack's eslint-config
94
+
95
+ ## 3.4.1
96
+ Sun, 01 Oct 2023 02:56:30 GMT
97
+
98
+ _Version update only_
99
+
100
+ ## 3.4.0
101
+ Tue, 26 Sep 2023 09:30:33 GMT
102
+
103
+ ### Minor changes
104
+
105
+ - Add an optional patch which can be used to allow ESLint to extend configurations from packages that do not have the "eslint-config-" prefix
106
+
107
+ ## 3.3.4
108
+ Fri, 15 Sep 2023 00:36:58 GMT
109
+
110
+ _Version update only_
111
+
112
+ ## 3.3.3
113
+ Tue, 08 Aug 2023 07:10:39 GMT
114
+
115
+ _Version update only_
116
+
117
+ ## 3.3.2
118
+ Thu, 15 Jun 2023 00:21:01 GMT
119
+
120
+ _Version update only_
121
+
122
+ ## 3.3.1
123
+ Wed, 07 Jun 2023 22:45:16 GMT
124
+
125
+ _Version update only_
126
+
127
+ ## 3.3.0
128
+ Mon, 22 May 2023 06:34:32 GMT
129
+
130
+ ### Minor changes
131
+
132
+ - Upgrade the @typescript-eslint/* dependencies to ~5.59.2
133
+
134
+ ## 3.2.0
135
+ Fri, 10 Feb 2023 01:18:50 GMT
136
+
137
+ ### Minor changes
138
+
139
+ - Replace the @typescript-eslint/no-parameter-properties rule with the replacement rule (@typescript-eslint/parameter-properties).
140
+
141
+ ## 3.1.1
142
+ Mon, 10 Oct 2022 15:23:44 GMT
143
+
144
+ _Version update only_
145
+
146
+ ## 3.1.0
147
+ Thu, 29 Sep 2022 07:13:06 GMT
148
+
149
+ ### Minor changes
150
+
151
+ - Upgraded @typescript-eslint dependencies to 5.30.x to enable support for TypeScript 4.8
152
+
153
+ ## 3.0.1
154
+ Thu, 15 Sep 2022 00:18:51 GMT
155
+
156
+ _Version update only_
157
+
158
+ ## 3.0.0
159
+ Wed, 03 Aug 2022 18:40:35 GMT
160
+
161
+ ### Breaking changes
162
+
163
+ - Upgrade TypeScript dependency to 4.7. This package now requires a peerDependency on TypeScript >=4.7
164
+
165
+ ## 2.6.2
166
+ Tue, 28 Jun 2022 00:23:32 GMT
167
+
168
+ _Version update only_
169
+
170
+ ## 2.6.1
171
+ Fri, 17 Jun 2022 00:16:18 GMT
172
+
173
+ _Version update only_
174
+
175
+ ## 2.6.0
176
+ Sat, 23 Apr 2022 02:13:06 GMT
177
+
178
+ ### Minor changes
179
+
180
+ - Add support for TypeScript 4.6
181
+
182
+ ## 2.5.4
183
+ Fri, 15 Apr 2022 00:12:36 GMT
184
+
185
+ _Version update only_
186
+
187
+ ## 2.5.3
188
+ Sat, 09 Apr 2022 02:24:26 GMT
189
+
190
+ ### Patches
191
+
192
+ - Rename the "master" branch to "main".
193
+
194
+ ## 2.5.2
195
+ Tue, 15 Mar 2022 19:15:53 GMT
196
+
197
+ ### Patches
198
+
199
+ - Fix the path in the package.json "directory" field.
200
+
201
+ ## 2.5.1
202
+ Mon, 27 Dec 2021 16:10:40 GMT
203
+
204
+ ### Patches
205
+
206
+ - Re-enable eslint-plugin-promise rules which now support ESLint v8
207
+
208
+ ## 2.5.0
209
+ Mon, 06 Dec 2021 16:08:32 GMT
210
+
211
+ ### Minor changes
212
+
213
+ - Temporarily disable eslint-plugin-promise until ESLint v8 support is added (https://github.com/xjamundx/eslint-plugin-promise/issues/218)
214
+
215
+ ## 2.4.5
216
+ Fri, 05 Nov 2021 15:09:18 GMT
217
+
218
+ _Version update only_
219
+
220
+ ## 2.4.4
221
+ Wed, 27 Oct 2021 00:08:15 GMT
222
+
223
+ ### Patches
224
+
225
+ - Update the package.json repository field to include the directory property.
226
+
227
+ ## 2.4.3
228
+ Wed, 13 Oct 2021 15:09:54 GMT
229
+
230
+ _Version update only_
231
+
232
+ ## 2.4.2
233
+ Thu, 07 Oct 2021 07:13:35 GMT
234
+
235
+ ### Patches
236
+
237
+ - Update typescript-eslint to add support for TypeScript 4.4.
238
+
239
+ ## 2.4.1
240
+ Thu, 23 Sep 2021 00:10:40 GMT
241
+
242
+ _Version update only_
243
+
244
+ ## 2.4.0
245
+ Mon, 12 Jul 2021 23:08:26 GMT
246
+
247
+ ### Minor changes
248
+
249
+ - Upgrade @typescript-eslint/* packages to 4.28.0 (GitHub #2389)
250
+
251
+ ## 2.3.4
252
+ Mon, 12 Apr 2021 15:10:28 GMT
253
+
254
+ _Version update only_
255
+
256
+ ## 2.3.3
257
+ Tue, 06 Apr 2021 15:14:22 GMT
258
+
259
+ ### Patches
260
+
261
+ - Switch to range version specifier for Typescript experimental utils
262
+
263
+ ## 2.3.2
264
+ Thu, 10 Dec 2020 23:25:49 GMT
265
+
266
+ ### Patches
267
+
268
+ - Upgrade to TSDoc 0.12.24
269
+
270
+ ## 2.3.1
271
+ Wed, 11 Nov 2020 01:08:58 GMT
272
+
273
+ _Version update only_
274
+
275
+ ## 2.3.0
276
+ Fri, 30 Oct 2020 06:38:38 GMT
277
+
278
+ ### Minor changes
279
+
280
+ - Exclude *.d.ts from linting
281
+ - Set "root"=true to prevent unintended loading of other ESLint config files found in parent folders (which may be outside the Git working directory)
282
+
283
+ ## 2.2.3
284
+ Fri, 30 Oct 2020 00:10:14 GMT
285
+
286
+ ### Patches
287
+
288
+ - Update the "modern-module-resolution" patch to support ESLint 7.8.0 and newer
289
+
290
+ ## 2.2.2
291
+ Wed, 28 Oct 2020 01:18:03 GMT
292
+
293
+ _Version update only_
294
+
295
+ ## 2.2.1
296
+ Tue, 06 Oct 2020 00:24:06 GMT
297
+
298
+ _Version update only_
299
+
300
+ ## 2.2.0
301
+ Mon, 05 Oct 2020 22:36:57 GMT
302
+
303
+ ### Minor changes
304
+
305
+ - Add a mixin to support @rushstack/eslint-plugin-packlets
306
+
307
+ ## 2.1.3
308
+ Wed, 30 Sep 2020 18:39:17 GMT
309
+
310
+ _Version update only_
311
+
312
+ ## 2.1.2
313
+ Wed, 30 Sep 2020 06:53:53 GMT
314
+
315
+ ### Patches
316
+
317
+ - Update README.md
318
+
319
+ ## 2.1.1
320
+ Tue, 22 Sep 2020 05:45:56 GMT
321
+
322
+ ### Patches
323
+
324
+ - Fix some missing files that were incorrectly excluded due to .npmignore
325
+
326
+ ## 2.1.0
327
+ Tue, 22 Sep 2020 01:45:31 GMT
328
+
329
+ ### Minor changes
330
+
331
+ - Relax the "typedef" rule so that type inference is now allowed for local variables, while still requiring explicit type declarations in other scopes
332
+
333
+ ## 2.0.0
334
+ Tue, 22 Sep 2020 00:08:53 GMT
335
+
336
+ ### Breaking changes
337
+
338
+ - (BREAKING CHANGE) The "@rushstack/eslint-config" entry point has been separated into 3 choices: "@rushstack/eslint-config/profile/node", "@rushstack/eslint-config/profile/node-trusted-tool", or "@rushstack/eslint-config/profile/web-app". See the documentation for details.
339
+
340
+ ## 1.4.2
341
+ Sat, 19 Sep 2020 04:37:26 GMT
342
+
343
+ _Version update only_
344
+
345
+ ## 1.4.1
346
+ Sat, 19 Sep 2020 03:33:06 GMT
347
+
348
+ ### Patches
349
+
350
+ - Add a dependency on the new @rushstack/eslint-plugin-security
351
+
352
+ ## 1.4.0
353
+ Fri, 18 Sep 2020 22:57:24 GMT
354
+
355
+ ### Minor changes
356
+
357
+ - Remove the @typescript-eslint/array-type rule
358
+ - Add *.spec.ts file extension for tests, since this is also a commonly used convention
359
+
360
+ ### Patches
361
+
362
+ - Relax @typescript-eslint/no-use-before-define slightly
363
+
364
+ ## 1.3.0
365
+ Thu, 27 Aug 2020 11:27:06 GMT
366
+
367
+ ### Minor changes
368
+
369
+ - Enable the "@rushstack/hoist-jest-mock" lint rule to catch a common mistake when using Jest with Heft
370
+
371
+ ### Patches
372
+
373
+ - Add an override to relax some lint rules for *.test.ts files, making unit tests easier to write
374
+
375
+ ## 1.2.1
376
+ Mon, 24 Aug 2020 07:35:20 GMT
377
+
378
+ _Version update only_
379
+
380
+ ## 1.2.0
381
+ Sat, 22 Aug 2020 05:55:42 GMT
382
+
383
+ ### Minor changes
384
+
385
+ - Replace the "@rushstack/no-null" rule with a more flexible rule "@rushstack/no-new-null" (GitHub #2017)
386
+
387
+ ## 1.1.0
388
+ Mon, 17 Aug 2020 04:53:23 GMT
389
+
390
+ ### Minor changes
391
+
392
+ - Reclassify many lint rules to report ESLint warnings rather than errors
393
+
394
+ ## 1.0.4
395
+ Wed, 12 Aug 2020 00:10:06 GMT
396
+
397
+ _Version update only_
398
+
399
+ ## 1.0.3
400
+ Sat, 25 Jul 2020 01:38:03 GMT
401
+
402
+ ### Patches
403
+
404
+ - Update README.md to add the missing file extension for .eslintrc.js
405
+
406
+ ## 1.0.2
407
+ Thu, 25 Jun 2020 06:43:34 GMT
408
+
409
+ ### Patches
410
+
411
+ - Enable variableDeclarationIgnoreFunction for the "@typescript-eslint/typedef" rule
412
+
413
+ ## 1.0.1
414
+ Wed, 24 Jun 2020 09:50:48 GMT
415
+
416
+ ### Patches
417
+
418
+ - Fix an issue with the published file set
419
+
420
+ ## 1.0.0
421
+ Wed, 24 Jun 2020 09:04:28 GMT
422
+
423
+ ### Breaking changes
424
+
425
+ - Upgrade to ESLint 7. Breaking change: patch-eslint6.js has been renamed to patch-eslint-resolver.js
426
+
427
+ ## 0.5.8
428
+ Wed, 27 May 2020 05:15:10 GMT
429
+
430
+ ### Patches
431
+
432
+ - Relax "max-lines" lint rule to 2,000 lines instead of 1,000 lines
433
+
434
+ ## 0.5.7
435
+ Wed, 08 Apr 2020 04:07:33 GMT
436
+
437
+ ### Patches
438
+
439
+ - Improve the error message text for the "ban-types" rule
440
+
441
+ ## 0.5.6
442
+ Sat, 28 Mar 2020 00:37:16 GMT
443
+
444
+ ### Patches
445
+
446
+ - Upgrade to eslint-plugin-tsdoc version 0.2.4
447
+
448
+ ## 0.5.5
449
+ Wed, 18 Mar 2020 15:07:47 GMT
450
+
451
+ _Version update only_
452
+
453
+ ## 0.5.4
454
+ Tue, 21 Jan 2020 21:56:13 GMT
455
+
456
+ ### Patches
457
+
458
+ - Upgrade eslint-plugin-tsdoc to enable comments in tsdoc.json and more efficient loading
459
+
460
+ ## 0.5.3
461
+ Sun, 19 Jan 2020 02:26:53 GMT
462
+
463
+ _Version update only_
464
+
465
+ ## 0.5.2
466
+ Fri, 17 Jan 2020 01:08:23 GMT
467
+
468
+ _Version update only_
469
+
470
+ ## 0.5.1
471
+ Thu, 09 Jan 2020 06:44:13 GMT
472
+
473
+ _Version update only_
474
+
475
+ ## 0.5.0
476
+ Wed, 08 Jan 2020 00:11:31 GMT
477
+
478
+ ### Minor changes
479
+
480
+ - Replace "no-restricted-syntax" rule with an equivalent rule "@rushstack/no-null"
481
+
482
+ ## 0.4.2
483
+ Mon, 11 Nov 2019 16:07:56 GMT
484
+
485
+ ### Patches
486
+
487
+ - Add eslint-plugin-tsdoc; update plugin versions
488
+
489
+ ## 0.4.1
490
+ Tue, 22 Oct 2019 06:24:44 GMT
491
+
492
+ ### Patches
493
+
494
+ - Update documentation
495
+
496
+ ## 0.4.0
497
+ Tue, 15 Oct 2019 01:22:16 GMT
498
+
499
+ ### Minor changes
500
+
501
+ - Rename `@microsoft/eslint-config-scalable-ts` to `@rushstack/eslint-config`
502
+
503
+ ### Patches
504
+
505
+ - Upgraded ESLint plugin dependencies
506
+
507
+ ## 0.3.1
508
+ Sun, 29 Sep 2019 23:56:29 GMT
509
+
510
+ ### Patches
511
+
512
+ - Update repository URL
513
+
514
+ ## 0.3.0
515
+ Wed, 04 Sep 2019 01:43:31 GMT
516
+
517
+ ### Minor changes
518
+
519
+ - Fix an issue where the @typescript-eslint/array-type rule required a syntax that broke compatibility with TypeScript versions prior to 3.4
520
+
521
+ ## 0.2.3
522
+ Tue, 03 Sep 2019 23:13:45 GMT
523
+
524
+ ### Patches
525
+
526
+ - Upgrade to @typescript-eslint/eslint-plugin 2.1.0
527
+
528
+ ## 0.2.2
529
+ Tue, 27 Aug 2019 01:48:45 GMT
530
+
531
+ ### Patches
532
+
533
+ - Remove unused plugin reference
534
+
535
+ ## 0.2.1
536
+ Tue, 27 Aug 2019 01:24:54 GMT
537
+
538
+ ### Patches
539
+
540
+ - Replace "eslint-plugin-no-null" with a more lenient implementation that allows equality comparisons with "null"
541
+
542
+ ## 0.2.0
543
+ Wed, 21 Aug 2019 21:56:59 GMT
544
+
545
+ ### Minor changes
546
+
547
+ - Enable react/no-deprecated, react/no-unescaped-entities, and react/self-closing-comp
548
+
549
+ ## 0.1.2
550
+ Fri, 16 Aug 2019 21:58:15 GMT
551
+
552
+ ### Patches
553
+
554
+ - Relax peer dependency to allow usage with ESLint 5
555
+
556
+ ## 0.1.1
557
+ Fri, 16 Aug 2019 01:15:03 GMT
558
+
559
+ ### Patches
560
+
561
+ - Fix an issue where @typescript-eslint/no-unused-vars didn't work properly with React source files
562
+ - Relax @typescript-eslint/camelcase to allow "_checkBox1_onChanged"
563
+
564
+ ## 0.1.0
565
+ Thu, 15 Aug 2019 02:56:10 GMT
566
+
567
+ ### Minor changes
568
+
569
+ - Initial release
570
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/eslint-config",
3
- "version": "3.7.0",
3
+ "version": "4.0.0",
4
4
  "description": "A TypeScript ESLint ruleset designed for large teams and projects",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,21 +19,21 @@
19
19
  "typescript"
20
20
  ],
21
21
  "peerDependencies": {
22
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0",
22
+ "eslint": "^8.57.0",
23
23
  "typescript": ">=4.7.0"
24
24
  },
25
25
  "dependencies": {
26
- "@typescript-eslint/eslint-plugin": "~6.19.0",
27
- "@typescript-eslint/utils": "~6.19.0",
28
- "@typescript-eslint/parser": "~6.19.0",
29
- "@typescript-eslint/typescript-estree": "~6.19.0",
26
+ "@typescript-eslint/eslint-plugin": "~8.1.0",
27
+ "@typescript-eslint/utils": "~8.1.0",
28
+ "@typescript-eslint/parser": "~8.1.0",
29
+ "@typescript-eslint/typescript-estree": "~8.1.0",
30
30
  "eslint-plugin-promise": "~6.1.1",
31
31
  "eslint-plugin-react": "~7.33.2",
32
32
  "eslint-plugin-tsdoc": "~0.3.0",
33
- "@rushstack/eslint-patch": "1.10.3",
34
- "@rushstack/eslint-plugin": "0.15.1",
35
- "@rushstack/eslint-plugin-packlets": "0.9.1",
36
- "@rushstack/eslint-plugin-security": "0.8.1"
33
+ "@rushstack/eslint-patch": "1.10.4",
34
+ "@rushstack/eslint-plugin-packlets": "0.9.2",
35
+ "@rushstack/eslint-plugin-security": "0.8.2",
36
+ "@rushstack/eslint-plugin": "0.15.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "eslint": "~8.57.0",
@@ -260,54 +260,10 @@ function buildRules(profile) {
260
260
  '@typescript-eslint/adjacent-overload-signatures': 'warn',
261
261
 
262
262
  // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json
263
- //
264
- // CONFIGURATION: By default, these are banned: String, Boolean, Number, Object, Symbol
265
- '@typescript-eslint/ban-types': [
266
- 'warn',
267
- {
268
- extendDefaults: false, // (the complete list is in this file)
269
- types: {
270
- String: {
271
- message: 'Use "string" instead',
272
- fixWith: 'string'
273
- },
274
- Boolean: {
275
- message: 'Use "boolean" instead',
276
- fixWith: 'boolean'
277
- },
278
- Number: {
279
- message: 'Use "number" instead',
280
- fixWith: 'number'
281
- },
282
- Object: {
283
- message: 'Use "object" instead, or else define a proper TypeScript type:'
284
- },
285
- Symbol: {
286
- message: 'Use "symbol" instead',
287
- fixWith: 'symbol'
288
- },
289
- Function: {
290
- message: [
291
- 'The "Function" type accepts any function-like value.',
292
- 'It provides no type safety when calling the function, which can be a common source of bugs.',
293
- 'It also accepts things like class declarations, which will throw at runtime as they will not be called with "new".',
294
- 'If you are expecting the function to accept certain arguments, you should explicitly define the function shape.'
295
- ].join('\n')
296
- }
297
-
298
- // This is a good idea, but before enabling it we need to put some thought into the recommended
299
- // coding practices; the default suggestions are too vague.
300
- //
301
- // '{}': {
302
- // message: [
303
- // '"{}" actually means "any non-nullish value".',
304
- // '- If you want a type meaning "any object", you probably want "Record<string, unknown>" instead.',
305
- // '- If you want a type meaning "any value", you probably want "unknown" instead.'
306
- // ].join('\n')
307
- // }
308
- }
309
- }
310
- ],
263
+ '@typescript-eslint/no-unsafe-function-type': 'warn',
264
+
265
+ // STANDARDIZED BY: @typescript-eslint\eslint-plugin\dist\configs\recommended.json
266
+ '@typescript-eslint/no-wrapper-object-types': 'warn',
311
267
 
312
268
  // RATIONALE: We require "x as number" instead of "<number>x" to avoid conflicts with JSX.
313
269
  '@typescript-eslint/consistent-type-assertions': 'warn',
@@ -433,7 +389,9 @@ function buildRules(profile) {
433
389
  // Unused function arguments often indicate a mistake in JavaScript code. However in TypeScript code,
434
390
  // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures
435
391
  // that are overriding a base class method or implementing an interface.
436
- args: 'none'
392
+ args: 'none',
393
+ // Unused error arguments are common and useful for inspection when a debugger is attached.
394
+ caughtErrors: 'none'
437
395
  }
438
396
  ],
439
397