@biomejs/backend-jsonrpc 1.1.2 → 1.2.1

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/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@biomejs/backend-jsonrpc","version":"1.1.2","main":"dist/index.js","scripts":{"test":"vitest","test:ci":"pnpm build && vitest --run","tsc":"tsc --noEmit","build":"tsc"},"homepage":"https://biomejs.dev","repository":{"type":"git","url":"https://github.com/biomejs/biome.git","directory":"npm/backend-jsonrpc"},"author":"Biome Developers and Contributors","bugs":"https://github.com/biomejs/biome/issues","description":"Bindings to the JSON-RPC Workspace API of the Biome daemon","keywords":["JavaScript","TypeScript","format","lint","toolchain"],"engines":{"node":">=14.*"},"license":"MIT","devDependencies":{"@types/node":"^18.7.2","typescript":"^4.8.2","vite":"^3.0.8","vitest":"^0.22.0"},"optionalDependencies":{"@biomejs/cli-win32-x64":"1.1.2","@biomejs/cli-win32-arm64":"1.1.2","@biomejs/cli-darwin-x64":"1.1.2","@biomejs/cli-darwin-arm64":"1.1.2","@biomejs/cli-linux-x64":"1.1.2","@biomejs/cli-linux-arm64":"1.1.2"}}
1
+ {"name":"@biomejs/backend-jsonrpc","version":"1.2.1","main":"dist/index.js","scripts":{"test":"vitest","test:ci":"pnpm build && vitest --run","tsc":"tsc --noEmit","build":"tsc"},"homepage":"https://biomejs.dev","repository":{"type":"git","url":"https://github.com/biomejs/biome.git","directory":"npm/backend-jsonrpc"},"author":"Biome Developers and Contributors","bugs":"https://github.com/biomejs/biome/issues","description":"Bindings to the JSON-RPC Workspace API of the Biome daemon","keywords":["JavaScript","TypeScript","format","lint","toolchain"],"engines":{"node":">=14.*"},"license":"MIT","devDependencies":{"@types/node":"^18.7.2","typescript":"^4.8.2","vite":"^3.0.8","vitest":"^0.22.0"},"optionalDependencies":{"@biomejs/cli-win32-x64":"1.2.1","@biomejs/cli-win32-arm64":"1.2.1","@biomejs/cli-darwin-x64":"1.2.1","@biomejs/cli-darwin-arm64":"1.2.1","@biomejs/cli-linux-x64":"1.2.1","@biomejs/cli-linux-arm64":"1.2.1"}}
package/src/command.ts CHANGED
@@ -14,16 +14,16 @@ export function getCommand(): string | null {
14
14
 
15
15
  const PLATFORMS: PlatformPaths = {
16
16
  win32: {
17
- x64: "@biomejs/cli-win32-x64/rome.exe",
18
- arm64: "@biomejs/cli-win32-arm64/rome.exe",
17
+ x64: "@biomejs/cli-win32-x64/biome.exe",
18
+ arm64: "@biomejs/cli-win32-arm64/biome.exe",
19
19
  },
20
20
  darwin: {
21
- x64: "@biomejs/cli-darwin-x64/rome",
22
- arm64: "@biomejs/cli-darwin-arm64/rome",
21
+ x64: "@biomejs/cli-darwin-x64/biome",
22
+ arm64: "@biomejs/cli-darwin-arm64/biome",
23
23
  },
24
24
  linux: {
25
- x64: "@biomejs/cli-linux-x64/rome",
26
- arm64: "@biomejs/cli-linux-arm64/rome",
25
+ x64: "@biomejs/cli-linux-x64/biome",
26
+ arm64: "@biomejs/cli-linux-arm64/biome",
27
27
  },
28
28
  };
29
29
 
package/src/workspace.ts CHANGED
@@ -128,6 +128,10 @@ If defined here, they should not emit diagnostics.
128
128
  * Options applied to JSON files
129
129
  */
130
130
  export interface JsonConfiguration {
131
+ /**
132
+ * Formatting options
133
+ */
134
+ formatter?: JsonFormatter;
131
135
  /**
132
136
  * Parsing options
133
137
  */
@@ -195,10 +199,26 @@ export interface JavascriptFormatter {
195
199
  * Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
196
200
  */
197
201
  arrowParentheses?: ArrowParentheses;
202
+ /**
203
+ * Control the formatter for JavaScript (and its super languages) files.
204
+ */
205
+ enabled?: boolean;
206
+ /**
207
+ * The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
208
+ */
209
+ indentSize?: number;
210
+ /**
211
+ * The indent style applied to JavaScript (and its super languages) files.
212
+ */
213
+ indentStyle?: PlainIndentStyle;
198
214
  /**
199
215
  * The type of quotes used in JSX. Defaults to double.
200
216
  */
201
217
  jsxQuoteStyle?: QuoteStyle;
218
+ /**
219
+ * What's the max width of a line, applied to JavaScript (and its super languages) files. Defaults to 80.
220
+ */
221
+ lineWidth?: LineWidth;
202
222
  /**
203
223
  * When properties in objects are quoted. Defaults to asNeeded.
204
224
  */
@@ -228,6 +248,24 @@ These decorators belong to an old proposal, and they are subject to change.
228
248
  */
229
249
  unsafeParameterDecoratorsEnabled?: boolean;
230
250
  }
251
+ export interface JsonFormatter {
252
+ /**
253
+ * Control the formatter for JSON (and its super languages) files.
254
+ */
255
+ enabled?: boolean;
256
+ /**
257
+ * The size of the indentation applied to JSON (and its super languages) files. Default to 2.
258
+ */
259
+ indentSize?: number;
260
+ /**
261
+ * The indent style applied to JSON (and its super languages) files.
262
+ */
263
+ indentStyle?: PlainIndentStyle;
264
+ /**
265
+ * What's the max width of a line, applied to JSON (and its super languages) files. Defaults to 80.
266
+ */
267
+ lineWidth?: LineWidth;
268
+ }
231
269
  /**
232
270
  * Options that changes how the JSON parser behaves
233
271
  */
@@ -276,6 +314,10 @@ export interface A11y {
276
314
  * Enforce that the accessKey attribute is not used on any HTML element.
277
315
  */
278
316
  noAccessKey?: RuleConfiguration;
317
+ /**
318
+ * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
319
+ */
320
+ noAriaUnsupportedElements?: RuleConfiguration;
279
321
  /**
280
322
  * Enforce that autoFocus prop is not used on elements.
281
323
  */
@@ -296,6 +338,10 @@ export interface A11y {
296
338
  * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
297
339
  */
298
340
  noNoninteractiveElementToInteractiveRole?: RuleConfiguration;
341
+ /**
342
+ * Enforce that tabIndex is not assigned to non-interactive HTML elements.
343
+ */
344
+ noNoninteractiveTabindex?: RuleConfiguration;
299
345
  /**
300
346
  * Prevent the usage of positive integers on tabIndex property
301
347
  */
@@ -304,6 +350,10 @@ export interface A11y {
304
350
  * Enforce img alt prop does not contain the word "image", "picture", or "photo".
305
351
  */
306
352
  noRedundantAlt?: RuleConfiguration;
353
+ /**
354
+ * Enforce explicit role property is not the same as implicit/default role property on an element.
355
+ */
356
+ noRedundantRoles?: RuleConfiguration;
307
357
  /**
308
358
  * Enforces the usage of the title element for the svg element.
309
359
  */
@@ -360,6 +410,10 @@ export interface A11y {
360
410
  * Ensures that ARIA properties aria-* are all valid.
361
411
  */
362
412
  useValidAriaProps?: RuleConfiguration;
413
+ /**
414
+ * Enforce that ARIA state and property values are valid.
415
+ */
416
+ useValidAriaValues?: RuleConfiguration;
363
417
  /**
364
418
  * Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
365
419
  */
@@ -373,6 +427,10 @@ export interface Complexity {
373
427
  * It enables ALL rules for this group.
374
428
  */
375
429
  all?: boolean;
430
+ /**
431
+ * Disallow primitive type aliases and misleading types.
432
+ */
433
+ noBannedTypes?: RuleConfiguration;
376
434
  /**
377
435
  * Disallow unnecessary boolean casts
378
436
  */
@@ -385,6 +443,10 @@ export interface Complexity {
385
443
  * Disallow unclear usage of multiple space characters in regular expression literals
386
444
  */
387
445
  noMultipleSpacesInRegularExpressionLiterals?: RuleConfiguration;
446
+ /**
447
+ * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
448
+ */
449
+ noStaticOnlyClass?: RuleConfiguration;
388
450
  /**
389
451
  * Disallow unnecessary catch clauses.
390
452
  */
@@ -393,6 +455,10 @@ export interface Complexity {
393
455
  * Disallow unnecessary constructors.
394
456
  */
395
457
  noUselessConstructor?: RuleConfiguration;
458
+ /**
459
+ * Disallow empty exports that don't change anything in a module file.
460
+ */
461
+ noUselessEmptyExport?: RuleConfiguration;
396
462
  /**
397
463
  * Disallow unnecessary fragments
398
464
  */
@@ -409,6 +475,10 @@ export interface Complexity {
409
475
  * Disallow useless case in switch statements.
410
476
  */
411
477
  noUselessSwitchCase?: RuleConfiguration;
478
+ /**
479
+ * Disallow useless this aliasing.
480
+ */
481
+ noUselessThisAlias?: RuleConfiguration;
412
482
  /**
413
483
  * Disallow using any or unknown as type constraint.
414
484
  */
@@ -458,6 +528,10 @@ export interface Correctness {
458
528
  * Prevents from having const variables being re-assigned.
459
529
  */
460
530
  noConstAssign?: RuleConfiguration;
531
+ /**
532
+ * Disallow constant expressions in conditions
533
+ */
534
+ noConstantCondition?: RuleConfiguration;
461
535
  /**
462
536
  * Disallow returning a value from a constructor.
463
537
  */
@@ -482,6 +556,10 @@ export interface Correctness {
482
556
  * Disallow new operators with the Symbol object.
483
557
  */
484
558
  noNewSymbol?: RuleConfiguration;
559
+ /**
560
+ * Disallow \8 and \9 escape sequences in string literals.
561
+ */
562
+ noNonoctalDecimalEscape?: RuleConfiguration;
485
563
  /**
486
564
  * Disallow literal numbers that lose precision
487
565
  */
@@ -490,6 +568,10 @@ export interface Correctness {
490
568
  * Prevent the usage of the return value of React.render.
491
569
  */
492
570
  noRenderReturnValue?: RuleConfiguration;
571
+ /**
572
+ * Disallow assignments where both sides are exactly the same.
573
+ */
574
+ noSelfAssign?: RuleConfiguration;
493
575
  /**
494
576
  * Disallow returning a value from a setter
495
577
  */
@@ -572,25 +654,9 @@ export interface Nursery {
572
654
  */
573
655
  noAccumulatingSpread?: RuleConfiguration;
574
656
  /**
575
- * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
576
- */
577
- noAriaUnsupportedElements?: RuleConfiguration;
578
- /**
579
- * Disallow primitive type aliases and misleading types.
580
- */
581
- noBannedTypes?: RuleConfiguration;
582
- /**
583
- * Disallow arrow functions where they could be confused with comparisons.
584
- */
585
- noConfusingArrow?: RuleConfiguration;
586
- /**
587
- * Disallow constant expressions in conditions
588
- */
589
- noConstantCondition?: RuleConfiguration;
590
- /**
591
- * Prevents from having control characters and some escape sequences that match control characters in regular expressions.
657
+ * Disallow void type outside of generic or return types.
592
658
  */
593
- noControlCharactersInRegex?: RuleConfiguration;
659
+ noConfusingVoidType?: RuleConfiguration;
594
660
  /**
595
661
  * Disallow two keys with the same name inside a JSON object.
596
662
  */
@@ -611,38 +677,6 @@ export interface Nursery {
611
677
  * Use Number.isNaN instead of global isNaN.
612
678
  */
613
679
  noGlobalIsNan?: RuleConfiguration;
614
- /**
615
- * Enforce that tabIndex is not assigned to non-interactive HTML elements.
616
- */
617
- noNoninteractiveTabindex?: RuleConfiguration;
618
- /**
619
- * Disallow \8 and \9 escape sequences in string literals.
620
- */
621
- noNonoctalDecimalEscape?: RuleConfiguration;
622
- /**
623
- * Enforce explicit role property is not the same as implicit/default role property on an element.
624
- */
625
- noRedundantRoles?: RuleConfiguration;
626
- /**
627
- * Disallow assignments where both sides are exactly the same.
628
- */
629
- noSelfAssign?: RuleConfiguration;
630
- /**
631
- * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
632
- */
633
- noStaticOnlyClass?: RuleConfiguration;
634
- /**
635
- * Disallow unsafe declaration merging between interfaces and classes.
636
- */
637
- noUnsafeDeclarationMerging?: RuleConfiguration;
638
- /**
639
- * Disallow empty exports that don't change anything in a module file.
640
- */
641
- noUselessEmptyExport?: RuleConfiguration;
642
- /**
643
- * Disallow useless this aliasing.
644
- */
645
- noUselessThisAlias?: RuleConfiguration;
646
680
  /**
647
681
  * Disallow the use of void operators, which is not a familiar operator.
648
682
  */
@@ -651,10 +685,6 @@ export interface Nursery {
651
685
  * It enables the recommended rules for this group
652
686
  */
653
687
  recommended?: boolean;
654
- /**
655
- * Enforce that ARIA state and property values are valid.
656
- */
657
- useAriaPropTypes?: RuleConfiguration;
658
688
  /**
659
689
  * Use arrow functions over function expressions.
660
690
  */
@@ -667,10 +697,6 @@ export interface Nursery {
667
697
  * Enforce all dependencies are correctly specified.
668
698
  */
669
699
  useExhaustiveDependencies?: RuleConfiguration;
670
- /**
671
- * Enforce get methods to always return a value.
672
- */
673
- useGetterReturn?: RuleConfiguration;
674
700
  /**
675
701
  * Enforce the use of import type when an import only has specifiers with type qualifier.
676
702
  */
@@ -687,14 +713,6 @@ export interface Nursery {
687
713
  * Use Array.isArray() instead of instanceof Array.
688
714
  */
689
715
  useIsArray?: RuleConfiguration;
690
- /**
691
- * Require all enum members to be literal values.
692
- */
693
- useLiteralEnumMembers?: RuleConfiguration;
694
- /**
695
- * Enforce naming conventions for everything across a codebase.
696
- */
697
- useNamingConvention?: RuleConfiguration;
698
716
  }
699
717
  /**
700
718
  * A list of rules that belong to this group
@@ -822,6 +840,14 @@ export interface Style {
822
840
  * This rule enforces the use of <>...</> over <Fragment>...</Fragment>.
823
841
  */
824
842
  useFragmentSyntax?: RuleConfiguration;
843
+ /**
844
+ * Require all enum members to be literal values.
845
+ */
846
+ useLiteralEnumMembers?: RuleConfiguration;
847
+ /**
848
+ * Enforce naming conventions for everything across a codebase.
849
+ */
850
+ useNamingConvention?: RuleConfiguration;
825
851
  /**
826
852
  * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
827
853
  */
@@ -899,6 +925,10 @@ export interface Suspicious {
899
925
  * Disallow TypeScript const enum
900
926
  */
901
927
  noConstEnum?: RuleConfiguration;
928
+ /**
929
+ * Prevents from having control characters and some escape sequences that match control characters in regular expressions.
930
+ */
931
+ noControlCharactersInRegex?: RuleConfiguration;
902
932
  /**
903
933
  * Disallow the use of debugger
904
934
  */
@@ -975,6 +1005,10 @@ export interface Suspicious {
975
1005
  * Disallow sparse arrays
976
1006
  */
977
1007
  noSparseArray?: RuleConfiguration;
1008
+ /**
1009
+ * Disallow unsafe declaration merging between interfaces and classes.
1010
+ */
1011
+ noUnsafeDeclarationMerging?: RuleConfiguration;
978
1012
  /**
979
1013
  * Disallow using unsafe negation.
980
1014
  */
@@ -987,6 +1021,10 @@ export interface Suspicious {
987
1021
  * Enforce default clauses in switch statements to be last
988
1022
  */
989
1023
  useDefaultSwitchClauseLast?: RuleConfiguration;
1024
+ /**
1025
+ * Enforce get methods to always return a value.
1026
+ */
1027
+ useGetterReturn?: RuleConfiguration;
990
1028
  /**
991
1029
  * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
992
1030
  */
@@ -1151,16 +1189,20 @@ export interface Advices {
1151
1189
  }
1152
1190
  export type Category =
1153
1191
  | "lint/a11y/noAccessKey"
1192
+ | "lint/a11y/noAriaUnsupportedElements"
1154
1193
  | "lint/a11y/noAutofocus"
1155
1194
  | "lint/a11y/noBlankTarget"
1156
1195
  | "lint/a11y/noDistractingElements"
1157
1196
  | "lint/a11y/noHeaderScope"
1158
1197
  | "lint/a11y/noNoninteractiveElementToInteractiveRole"
1198
+ | "lint/a11y/noNoninteractiveTabindex"
1159
1199
  | "lint/a11y/noPositiveTabindex"
1160
1200
  | "lint/a11y/noRedundantAlt"
1201
+ | "lint/a11y/noRedundantRoles"
1161
1202
  | "lint/a11y/noSvgWithoutTitle"
1162
1203
  | "lint/a11y/useAltText"
1163
1204
  | "lint/a11y/useAnchorContent"
1205
+ | "lint/a11y/useValidAriaValues"
1164
1206
  | "lint/a11y/useAriaPropsForRole"
1165
1207
  | "lint/a11y/useButtonType"
1166
1208
  | "lint/a11y/useHeadingContent"
@@ -1172,15 +1214,19 @@ export type Category =
1172
1214
  | "lint/a11y/useValidAnchor"
1173
1215
  | "lint/a11y/useValidAriaProps"
1174
1216
  | "lint/a11y/useValidLang"
1217
+ | "lint/complexity/noBannedTypes"
1175
1218
  | "lint/complexity/noExtraBooleanCast"
1176
1219
  | "lint/complexity/noForEach"
1177
1220
  | "lint/complexity/noMultipleSpacesInRegularExpressionLiterals"
1221
+ | "lint/complexity/noStaticOnlyClass"
1178
1222
  | "lint/complexity/noUselessCatch"
1179
1223
  | "lint/complexity/noUselessConstructor"
1224
+ | "lint/complexity/noUselessEmptyExport"
1180
1225
  | "lint/complexity/noUselessFragments"
1181
1226
  | "lint/complexity/noUselessLabel"
1182
1227
  | "lint/complexity/noUselessRename"
1183
1228
  | "lint/complexity/noUselessSwitchCase"
1229
+ | "lint/complexity/noUselessThisAlias"
1184
1230
  | "lint/complexity/noUselessTypeConstraint"
1185
1231
  | "lint/complexity/noWith"
1186
1232
  | "lint/complexity/useFlatMap"
@@ -1190,15 +1236,17 @@ export type Category =
1190
1236
  | "lint/complexity/useSimplifiedLogicExpression"
1191
1237
  | "lint/correctness/noChildrenProp"
1192
1238
  | "lint/correctness/noConstAssign"
1239
+ | "lint/correctness/noConstantCondition"
1193
1240
  | "lint/correctness/noConstructorReturn"
1194
1241
  | "lint/correctness/noEmptyPattern"
1195
1242
  | "lint/correctness/noGlobalObjectCalls"
1196
1243
  | "lint/correctness/noInnerDeclarations"
1197
1244
  | "lint/correctness/noInvalidConstructorSuper"
1198
- | "lint/correctness/useIsNan"
1199
1245
  | "lint/correctness/noNewSymbol"
1246
+ | "lint/correctness/noNonoctalDecimalEscape"
1200
1247
  | "lint/correctness/noPrecisionLoss"
1201
1248
  | "lint/correctness/noRenderReturnValue"
1249
+ | "lint/correctness/noSelfAssign"
1202
1250
  | "lint/correctness/noSetterReturn"
1203
1251
  | "lint/correctness/noStringCaseMismatch"
1204
1252
  | "lint/correctness/noSwitchDeclarations"
@@ -1212,40 +1260,25 @@ export type Category =
1212
1260
  | "lint/correctness/noUnusedVariables"
1213
1261
  | "lint/correctness/noVoidElementsWithChildren"
1214
1262
  | "lint/correctness/noVoidTypeReturn"
1263
+ | "lint/correctness/useIsNan"
1215
1264
  | "lint/correctness/useValidForDirection"
1216
1265
  | "lint/correctness/useYield"
1217
1266
  | "lint/nursery/noAccumulatingSpread"
1218
- | "lint/nursery/noAriaUnsupportedElements"
1219
- | "lint/nursery/noBannedTypes"
1220
- | "lint/nursery/noConfusingArrow"
1221
- | "lint/nursery/noConstantCondition"
1222
- | "lint/nursery/noControlCharactersInRegex"
1267
+ | "lint/nursery/noConfusingVoidType"
1223
1268
  | "lint/nursery/noDuplicateJsonKeys"
1224
1269
  | "lint/nursery/noExcessiveComplexity"
1225
1270
  | "lint/nursery/noFallthroughSwitchClause"
1226
1271
  | "lint/nursery/noGlobalIsFinite"
1227
1272
  | "lint/nursery/noGlobalIsNan"
1228
- | "lint/nursery/noNoninteractiveTabindex"
1229
- | "lint/nursery/noNonoctalDecimalEscape"
1230
- | "lint/nursery/noRedundantRoles"
1231
- | "lint/nursery/noSelfAssign"
1232
- | "lint/nursery/noStaticOnlyClass"
1233
- | "lint/nursery/noUnsafeDeclarationMerging"
1234
- | "lint/nursery/noUselessEmptyExport"
1235
- | "lint/nursery/noUselessThisAlias"
1236
1273
  | "lint/nursery/noVoid"
1237
- | "lint/nursery/useAriaPropTypes"
1238
1274
  | "lint/nursery/useArrowFunction"
1239
1275
  | "lint/nursery/useBiomeSuppressionComment"
1240
1276
  | "lint/nursery/useCollapsedElseIf"
1241
1277
  | "lint/nursery/useExhaustiveDependencies"
1242
- | "lint/nursery/useGetterReturn"
1243
1278
  | "lint/nursery/useGroupedTypeImport"
1244
1279
  | "lint/nursery/useHookAtTopLevel"
1245
1280
  | "lint/nursery/useImportRestrictions"
1246
1281
  | "lint/nursery/useIsArray"
1247
- | "lint/nursery/useLiteralEnumMembers"
1248
- | "lint/nursery/useNamingConvention"
1249
1282
  | "lint/performance/noDelete"
1250
1283
  | "lint/security/noDangerouslySetInnerHtml"
1251
1284
  | "lint/security/noDangerouslySetInnerHtmlWithChildren"
@@ -1268,6 +1301,8 @@ export type Category =
1268
1301
  | "lint/style/useEnumInitializers"
1269
1302
  | "lint/style/useExponentiationOperator"
1270
1303
  | "lint/style/useFragmentSyntax"
1304
+ | "lint/style/useLiteralEnumMembers"
1305
+ | "lint/style/useNamingConvention"
1271
1306
  | "lint/style/useNumericLiterals"
1272
1307
  | "lint/style/useSelfClosingElements"
1273
1308
  | "lint/style/useShorthandArrayType"
@@ -1285,6 +1320,7 @@ export type Category =
1285
1320
  | "lint/suspicious/noConfusingLabels"
1286
1321
  | "lint/suspicious/noConsoleLog"
1287
1322
  | "lint/suspicious/noConstEnum"
1323
+ | "lint/suspicious/noControlCharactersInRegex"
1288
1324
  | "lint/suspicious/noDebugger"
1289
1325
  | "lint/suspicious/noDoubleEquals"
1290
1326
  | "lint/suspicious/noDuplicateCase"
@@ -1304,8 +1340,10 @@ export type Category =
1304
1340
  | "lint/suspicious/noSelfCompare"
1305
1341
  | "lint/suspicious/noShadowRestrictedNames"
1306
1342
  | "lint/suspicious/noSparseArray"
1343
+ | "lint/suspicious/noUnsafeDeclarationMerging"
1307
1344
  | "lint/suspicious/noUnsafeNegation"
1308
1345
  | "lint/suspicious/useDefaultSwitchClauseLast"
1346
+ | "lint/suspicious/useGetterReturn"
1309
1347
  | "lint/suspicious/useNamespaceKeyword"
1310
1348
  | "lint/suspicious/useValidTypeof"
1311
1349
  | "files/missingHandler"