@component-hook/eslint-plugin 1.4.4 → 1.5.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/README.md +2 -2
- package/dist/index.cjs +78 -89
- package/dist/index.d.cts +224 -156
- package/dist/index.d.mts +224 -156
- package/dist/index.mjs +45 -53
- package/package.json +26 -27
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Linter } from "eslint";
|
|
2
|
-
|
|
3
2
|
//#region types.d.ts
|
|
4
3
|
interface Plugins {
|
|
5
4
|
plugins?: Record<string, any>;
|
|
@@ -206,24 +205,24 @@ interface ReactRules {
|
|
|
206
205
|
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
|
|
207
206
|
*/
|
|
208
207
|
'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11YTabindexNoPositive>;
|
|
209
|
-
/**
|
|
210
|
-
* Verifies that automatic effect dependencies are compiled if opted-in
|
|
211
|
-
*/
|
|
212
|
-
'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>;
|
|
213
208
|
/**
|
|
214
209
|
* Validates against calling capitalized functions/methods instead of using JSX
|
|
210
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/capitalized-calls
|
|
215
211
|
*/
|
|
216
212
|
'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>;
|
|
217
213
|
/**
|
|
218
|
-
*
|
|
214
|
+
* Deprecated: this rule has been removed in 7.1.0.
|
|
215
|
+
* @deprecated
|
|
219
216
|
*/
|
|
220
|
-
'react-hooks/component-hook-factories'?: Linter.RuleEntry<
|
|
217
|
+
'react-hooks/component-hook-factories'?: Linter.RuleEntry<[]>;
|
|
221
218
|
/**
|
|
222
219
|
* Validates the compiler configuration options
|
|
220
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/config
|
|
223
221
|
*/
|
|
224
222
|
'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>;
|
|
225
223
|
/**
|
|
226
224
|
* Validates usage of error boundaries instead of try/catch for errors in child components
|
|
225
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/error-boundaries
|
|
227
226
|
*/
|
|
228
227
|
'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>;
|
|
229
228
|
/**
|
|
@@ -232,59 +231,78 @@ interface ReactRules {
|
|
|
232
231
|
*/
|
|
233
232
|
'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
|
|
234
233
|
/**
|
|
235
|
-
* Validates
|
|
234
|
+
* Validates that effect dependencies are exhaustive and without extraneous values
|
|
235
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/exhaustive-effect-dependencies
|
|
236
236
|
*/
|
|
237
|
-
'react-hooks/
|
|
237
|
+
'react-hooks/exhaustive-effect-dependencies'?: Linter.RuleEntry<ReactHooksExhaustiveEffectDependencies>;
|
|
238
238
|
/**
|
|
239
|
-
* Validates usage of
|
|
239
|
+
* Validates usage of fbt
|
|
240
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/fbt
|
|
240
241
|
*/
|
|
241
|
-
'react-hooks/
|
|
242
|
+
'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>;
|
|
242
243
|
/**
|
|
243
244
|
* Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
|
|
245
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/gating
|
|
244
246
|
*/
|
|
245
247
|
'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>;
|
|
246
248
|
/**
|
|
247
249
|
* Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
|
|
250
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/globals
|
|
248
251
|
*/
|
|
249
252
|
'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>;
|
|
250
253
|
/**
|
|
251
254
|
* Validates the rules of hooks
|
|
255
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/hooks
|
|
252
256
|
*/
|
|
253
257
|
'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>;
|
|
254
258
|
/**
|
|
255
259
|
* Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
|
|
260
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/immutability
|
|
256
261
|
*/
|
|
257
262
|
'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>;
|
|
258
263
|
/**
|
|
259
264
|
* Validates against usage of libraries which are incompatible with memoization (manual or automatic)
|
|
265
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/incompatible-library
|
|
260
266
|
*/
|
|
261
267
|
'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>;
|
|
262
268
|
/**
|
|
263
269
|
* Internal invariants
|
|
270
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/invariant
|
|
264
271
|
*/
|
|
265
272
|
'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>;
|
|
273
|
+
/**
|
|
274
|
+
* Validates that useMemo() and useCallback() specify comprehensive dependencies without extraneous values. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
|
|
275
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memo-dependencies
|
|
276
|
+
*/
|
|
277
|
+
'react-hooks/memo-dependencies'?: Linter.RuleEntry<ReactHooksMemoDependencies>;
|
|
266
278
|
/**
|
|
267
279
|
* Validates that effect dependencies are memoized
|
|
280
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memoized-effect-dependencies
|
|
268
281
|
*/
|
|
269
282
|
'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>;
|
|
270
283
|
/**
|
|
271
284
|
* Validates against deriving values from state in an effect
|
|
285
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/no-deriving-state-in-effects
|
|
272
286
|
*/
|
|
273
287
|
'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>;
|
|
274
288
|
/**
|
|
275
289
|
* Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
|
|
290
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/preserve-manual-memoization
|
|
276
291
|
*/
|
|
277
292
|
'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>;
|
|
278
293
|
/**
|
|
279
294
|
* Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
|
|
295
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/purity
|
|
280
296
|
*/
|
|
281
297
|
'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>;
|
|
282
298
|
/**
|
|
283
299
|
* Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
|
|
300
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/refs
|
|
284
301
|
*/
|
|
285
302
|
'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>;
|
|
286
303
|
/**
|
|
287
304
|
* Validates against suppression of other rules
|
|
305
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/rule-suppression
|
|
288
306
|
*/
|
|
289
307
|
'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>;
|
|
290
308
|
/**
|
|
@@ -293,35 +311,43 @@ interface ReactRules {
|
|
|
293
311
|
*/
|
|
294
312
|
'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>;
|
|
295
313
|
/**
|
|
296
|
-
* Validates against calling setState synchronously in an effect
|
|
314
|
+
* Validates against calling setState synchronously in an effect. This can indicate non-local derived data, a derived event pattern, or improper external data synchronization.
|
|
315
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-effect
|
|
297
316
|
*/
|
|
298
317
|
'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>;
|
|
299
318
|
/**
|
|
300
319
|
* Validates against setting state during render, which can trigger additional renders and potential infinite render loops
|
|
320
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-render
|
|
301
321
|
*/
|
|
302
322
|
'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>;
|
|
303
323
|
/**
|
|
304
324
|
* Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
|
|
325
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/static-components
|
|
305
326
|
*/
|
|
306
327
|
'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>;
|
|
307
328
|
/**
|
|
308
329
|
* Validates against invalid syntax
|
|
330
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/syntax
|
|
309
331
|
*/
|
|
310
332
|
'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>;
|
|
311
333
|
/**
|
|
312
334
|
* Unimplemented features
|
|
335
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/todo
|
|
313
336
|
*/
|
|
314
337
|
'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>;
|
|
315
338
|
/**
|
|
316
339
|
* Validates against syntax that we do not plan to support in React Compiler
|
|
340
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/unsupported-syntax
|
|
317
341
|
*/
|
|
318
342
|
'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>;
|
|
319
343
|
/**
|
|
320
344
|
* Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
|
|
345
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/use-memo
|
|
321
346
|
*/
|
|
322
347
|
'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>;
|
|
323
348
|
/**
|
|
324
349
|
* Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
|
|
350
|
+
* @see https://react.dev/reference/eslint-plugin-react-hooks/lints/void-use-memo
|
|
325
351
|
*/
|
|
326
352
|
'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
|
|
327
353
|
/**
|
|
@@ -1006,15 +1032,9 @@ type JsxA11YScope = [] | [{
|
|
|
1006
1032
|
type JsxA11YTabindexNoPositive = [] | [{
|
|
1007
1033
|
[k: string]: unknown | undefined;
|
|
1008
1034
|
}];
|
|
1009
|
-
type ReactHooksAutomaticEffectDependencies = [] | [{
|
|
1010
|
-
[k: string]: unknown | undefined;
|
|
1011
|
-
}];
|
|
1012
1035
|
type ReactHooksCapitalizedCalls = [] | [{
|
|
1013
1036
|
[k: string]: unknown | undefined;
|
|
1014
1037
|
}];
|
|
1015
|
-
type ReactHooksComponentHookFactories = [] | [{
|
|
1016
|
-
[k: string]: unknown | undefined;
|
|
1017
|
-
}];
|
|
1018
1038
|
type ReactHooksConfig = [] | [{
|
|
1019
1039
|
[k: string]: unknown | undefined;
|
|
1020
1040
|
}];
|
|
@@ -1027,10 +1047,10 @@ type ReactHooksExhaustiveDeps = [] | [{
|
|
|
1027
1047
|
experimental_autoDependenciesHooks?: string[];
|
|
1028
1048
|
requireExplicitEffectDeps?: boolean;
|
|
1029
1049
|
}];
|
|
1030
|
-
type
|
|
1050
|
+
type ReactHooksExhaustiveEffectDependencies = [] | [{
|
|
1031
1051
|
[k: string]: unknown | undefined;
|
|
1032
1052
|
}];
|
|
1033
|
-
type
|
|
1053
|
+
type ReactHooksFbt = [] | [{
|
|
1034
1054
|
[k: string]: unknown | undefined;
|
|
1035
1055
|
}];
|
|
1036
1056
|
type ReactHooksGating = [] | [{
|
|
@@ -1051,6 +1071,9 @@ type ReactHooksIncompatibleLibrary = [] | [{
|
|
|
1051
1071
|
type ReactHooksInvariant = [] | [{
|
|
1052
1072
|
[k: string]: unknown | undefined;
|
|
1053
1073
|
}];
|
|
1074
|
+
type ReactHooksMemoDependencies = [] | [{
|
|
1075
|
+
[k: string]: unknown | undefined;
|
|
1076
|
+
}];
|
|
1054
1077
|
type ReactHooksMemoizedEffectDependencies = [] | [{
|
|
1055
1078
|
[k: string]: unknown | undefined;
|
|
1056
1079
|
}];
|
|
@@ -2675,7 +2698,7 @@ interface VueRules {
|
|
|
2675
2698
|
* disallow object, array, and function literals in template
|
|
2676
2699
|
* @see https://eslint.vuejs.org/rules/no-literals-in-template.html
|
|
2677
2700
|
*/
|
|
2678
|
-
'vue/no-literals-in-template'?: Linter.RuleEntry<
|
|
2701
|
+
'vue/no-literals-in-template'?: Linter.RuleEntry<VueNoLiteralsInTemplate>;
|
|
2679
2702
|
/**
|
|
2680
2703
|
* disallow unnecessary `<template>`
|
|
2681
2704
|
* @see https://eslint.vuejs.org/rules/no-lone-template.html
|
|
@@ -3068,6 +3091,11 @@ interface VueRules {
|
|
|
3068
3091
|
* @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
|
|
3069
3092
|
*/
|
|
3070
3093
|
'vue/prefer-separate-static-class'?: Linter.RuleEntry<[]>;
|
|
3094
|
+
/**
|
|
3095
|
+
* enforce passing a single argument to custom event emissions
|
|
3096
|
+
* @see https://eslint.vuejs.org/rules/prefer-single-event-payload.html
|
|
3097
|
+
*/
|
|
3098
|
+
'vue/prefer-single-event-payload'?: Linter.RuleEntry<[]>;
|
|
3071
3099
|
/**
|
|
3072
3100
|
* Require template literals instead of string concatenation in `<template>`
|
|
3073
3101
|
* @see https://eslint.vuejs.org/rules/prefer-template.html
|
|
@@ -3083,6 +3111,11 @@ interface VueRules {
|
|
|
3083
3111
|
* @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
|
|
3084
3112
|
*/
|
|
3085
3113
|
'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>;
|
|
3114
|
+
/**
|
|
3115
|
+
* enforce using `v-model` instead of `:prop`/`@update:prop` pair
|
|
3116
|
+
* @see https://eslint.vuejs.org/rules/prefer-v-model.html
|
|
3117
|
+
*/
|
|
3118
|
+
'vue/prefer-v-model'?: Linter.RuleEntry<[]>;
|
|
3086
3119
|
/**
|
|
3087
3120
|
* enforce specific casing for the Prop name in Vue components
|
|
3088
3121
|
* @see https://eslint.vuejs.org/rules/prop-name-casing.html
|
|
@@ -3364,7 +3397,7 @@ interface VueRules {
|
|
|
3364
3397
|
* enforce valid `v-for` directives
|
|
3365
3398
|
* @see https://eslint.vuejs.org/rules/valid-v-for.html
|
|
3366
3399
|
*/
|
|
3367
|
-
'vue/valid-v-for'?: Linter.RuleEntry<
|
|
3400
|
+
'vue/valid-v-for'?: Linter.RuleEntry<VueValidVFor>;
|
|
3368
3401
|
/**
|
|
3369
3402
|
* enforce valid `v-html` directives
|
|
3370
3403
|
* @see https://eslint.vuejs.org/rules/valid-v-html.html
|
|
@@ -4188,6 +4221,18 @@ type TypescriptEslintPreferOptionalChain = [] | [{
|
|
|
4188
4221
|
requireNullish?: boolean;
|
|
4189
4222
|
}];
|
|
4190
4223
|
type TypescriptEslintPreferPromiseRejectErrors = [] | [{
|
|
4224
|
+
allow?: (string | {
|
|
4225
|
+
from: "file";
|
|
4226
|
+
name: (string | [string, ...(string)[]]);
|
|
4227
|
+
path?: string;
|
|
4228
|
+
} | {
|
|
4229
|
+
from: "lib";
|
|
4230
|
+
name: (string | [string, ...(string)[]]);
|
|
4231
|
+
} | {
|
|
4232
|
+
from: "package";
|
|
4233
|
+
name: (string | [string, ...(string)[]]);
|
|
4234
|
+
package: string;
|
|
4235
|
+
})[];
|
|
4191
4236
|
allowEmptyReject?: boolean;
|
|
4192
4237
|
allowThrowingAny?: boolean;
|
|
4193
4238
|
allowThrowingUnknown?: boolean;
|
|
@@ -4337,6 +4382,7 @@ type VueAttributesOrder = [] | [{
|
|
|
4337
4382
|
order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
|
|
4338
4383
|
alphabetical?: boolean;
|
|
4339
4384
|
sortLineLength?: boolean;
|
|
4385
|
+
ignoreVBindObject?: boolean;
|
|
4340
4386
|
}];
|
|
4341
4387
|
type VueBlockLang = [] | [{
|
|
4342
4388
|
[k: string]: {
|
|
@@ -4409,7 +4455,7 @@ type VueDefineMacrosOrder = [] | [{
|
|
|
4409
4455
|
}];
|
|
4410
4456
|
type VueDefinePropsDeclaration = [] | [("type-based" | "runtime")];
|
|
4411
4457
|
type VueDefinePropsDestructuring = [] | [{
|
|
4412
|
-
destructure?: ("always" | "never");
|
|
4458
|
+
destructure?: ("only-when-assigned" | "always" | "never");
|
|
4413
4459
|
}];
|
|
4414
4460
|
type VueDotLocation = [] | [("object" | "property")];
|
|
4415
4461
|
type VueDotNotation = [] | [{
|
|
@@ -5005,6 +5051,9 @@ type VueNoIrregularWhitespace = [] | [{
|
|
|
5005
5051
|
skipHTMLAttributeValues?: boolean;
|
|
5006
5052
|
skipHTMLTextContents?: boolean;
|
|
5007
5053
|
}];
|
|
5054
|
+
type VueNoLiteralsInTemplate = [] | [{
|
|
5055
|
+
ignores?: string[];
|
|
5056
|
+
}];
|
|
5008
5057
|
type VueNoLoneTemplate = [] | [{
|
|
5009
5058
|
ignoreAccessible?: boolean;
|
|
5010
5059
|
}];
|
|
@@ -5158,7 +5207,7 @@ type VueNoUnusedComponents = [] | [{
|
|
|
5158
5207
|
ignoreWhenBindingPresent?: boolean;
|
|
5159
5208
|
}];
|
|
5160
5209
|
type VueNoUnusedProperties = [] | [{
|
|
5161
|
-
groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup")[];
|
|
5210
|
+
groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup" | "inject")[];
|
|
5162
5211
|
deepData?: boolean;
|
|
5163
5212
|
ignorePublicMembers?: boolean;
|
|
5164
5213
|
unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[];
|
|
@@ -5346,6 +5395,9 @@ type VueVSlotStyle = [] | [(("shorthand" | "longform") | {
|
|
|
5346
5395
|
default?: ("shorthand" | "longform" | "v-slot");
|
|
5347
5396
|
named?: ("shorthand" | "longform");
|
|
5348
5397
|
})];
|
|
5398
|
+
type VueValidVFor = [] | [{
|
|
5399
|
+
allowEmptyAlias?: boolean;
|
|
5400
|
+
}];
|
|
5349
5401
|
type VueValidVOn = [] | [{
|
|
5350
5402
|
modifiers?: unknown[];
|
|
5351
5403
|
}];
|
|
@@ -5360,6 +5412,11 @@ interface MarkdownRules {
|
|
|
5360
5412
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
|
|
5361
5413
|
*/
|
|
5362
5414
|
'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>;
|
|
5415
|
+
/**
|
|
5416
|
+
* Require or disallow metadata for fenced code blocks
|
|
5417
|
+
* @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
|
|
5418
|
+
*/
|
|
5419
|
+
'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>;
|
|
5363
5420
|
/**
|
|
5364
5421
|
* Enforce heading levels increment by one
|
|
5365
5422
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
|
|
@@ -5459,12 +5516,14 @@ interface MarkdownRules {
|
|
|
5459
5516
|
type MarkdownFencedCodeLanguage = [] | [{
|
|
5460
5517
|
required?: string[];
|
|
5461
5518
|
}];
|
|
5519
|
+
type MarkdownFencedCodeMeta = [] | [("always" | "never")];
|
|
5462
5520
|
type MarkdownHeadingIncrement = [] | [{
|
|
5463
5521
|
frontmatterTitle?: string;
|
|
5464
5522
|
}];
|
|
5465
5523
|
type MarkdownNoDuplicateDefinitions = [] | [{
|
|
5466
5524
|
allowDefinitions?: string[];
|
|
5467
5525
|
allowFootnoteDefinitions?: string[];
|
|
5526
|
+
checkFootnoteDefinitions?: boolean;
|
|
5468
5527
|
}];
|
|
5469
5528
|
type MarkdownNoDuplicateHeadings = [] | [{
|
|
5470
5529
|
checkSiblingsOnly?: boolean;
|
|
@@ -5497,6 +5556,7 @@ type MarkdownNoSpaceInEmphasis = [] | [{
|
|
|
5497
5556
|
type MarkdownNoUnusedDefinitions = [] | [{
|
|
5498
5557
|
allowDefinitions?: string[];
|
|
5499
5558
|
allowFootnoteDefinitions?: string[];
|
|
5559
|
+
checkFootnoteDefinitions?: boolean;
|
|
5500
5560
|
}];
|
|
5501
5561
|
type MarkdownTableColumnCount = [] | [{
|
|
5502
5562
|
checkMissingCells?: boolean;
|
|
@@ -5563,32 +5623,37 @@ interface SonarjsRules {
|
|
|
5563
5623
|
*/
|
|
5564
5624
|
'sonarjs/assertions-in-tests'?: Linter.RuleEntry<[]>;
|
|
5565
5625
|
/**
|
|
5566
|
-
*
|
|
5626
|
+
* Async test assertions should be awaited or returned
|
|
5627
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
|
|
5628
|
+
*/
|
|
5629
|
+
'sonarjs/async-test-assertions'?: Linter.RuleEntry<[]>;
|
|
5630
|
+
/**
|
|
5631
|
+
* AWS API Gateway should require authentication
|
|
5567
5632
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
|
|
5568
5633
|
*/
|
|
5569
5634
|
'sonarjs/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
|
|
5570
5635
|
/**
|
|
5571
|
-
*
|
|
5636
|
+
* Public network access to cloud resources should be disabled
|
|
5572
5637
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
|
|
5573
5638
|
*/
|
|
5574
5639
|
'sonarjs/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
|
|
5575
5640
|
/**
|
|
5576
|
-
*
|
|
5641
|
+
* EBS volumes should be encrypted
|
|
5577
5642
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
|
|
5578
5643
|
*/
|
|
5579
5644
|
'sonarjs/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
|
|
5580
5645
|
/**
|
|
5581
|
-
*
|
|
5646
|
+
* Amazon EFS file systems should be encrypted
|
|
5582
5647
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
|
|
5583
5648
|
*/
|
|
5584
5649
|
'sonarjs/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
|
|
5585
5650
|
/**
|
|
5586
|
-
* Policies
|
|
5651
|
+
* Policies should not grant all privileges
|
|
5587
5652
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
|
|
5588
5653
|
*/
|
|
5589
5654
|
'sonarjs/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
|
|
5590
5655
|
/**
|
|
5591
|
-
*
|
|
5656
|
+
* IAM policies should not grant access to all account resources
|
|
5592
5657
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
|
|
5593
5658
|
*/
|
|
5594
5659
|
'sonarjs/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
|
|
@@ -5598,17 +5663,17 @@ interface SonarjsRules {
|
|
|
5598
5663
|
*/
|
|
5599
5664
|
'sonarjs/aws-iam-privilege-escalation'?: Linter.RuleEntry<[]>;
|
|
5600
5665
|
/**
|
|
5601
|
-
*
|
|
5666
|
+
* AWS resource-based policies should not grant public access
|
|
5602
5667
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
|
|
5603
5668
|
*/
|
|
5604
5669
|
'sonarjs/aws-iam-public-access'?: Linter.RuleEntry<[]>;
|
|
5605
5670
|
/**
|
|
5606
|
-
*
|
|
5671
|
+
* OpenSearch domains should have encryption at rest enabled
|
|
5607
5672
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
|
|
5608
5673
|
*/
|
|
5609
5674
|
'sonarjs/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>;
|
|
5610
5675
|
/**
|
|
5611
|
-
*
|
|
5676
|
+
* Amazon RDS resources should be encrypted at rest
|
|
5612
5677
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
|
|
5613
5678
|
*/
|
|
5614
5679
|
'sonarjs/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>;
|
|
@@ -5618,43 +5683,37 @@ interface SonarjsRules {
|
|
|
5618
5683
|
*/
|
|
5619
5684
|
'sonarjs/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>;
|
|
5620
5685
|
/**
|
|
5621
|
-
*
|
|
5686
|
+
* S3 buckets should not grant access to all users or authenticated users
|
|
5622
5687
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
|
|
5623
5688
|
*/
|
|
5624
5689
|
'sonarjs/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
|
|
5625
5690
|
/**
|
|
5626
|
-
*
|
|
5691
|
+
* S3 buckets should enforce HTTPS-only access
|
|
5627
5692
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
|
|
5628
5693
|
*/
|
|
5629
5694
|
'sonarjs/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
|
|
5630
5695
|
/**
|
|
5631
|
-
*
|
|
5696
|
+
* Amazon S3 bucket public access should be fully blocked
|
|
5632
5697
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
|
|
5633
5698
|
*/
|
|
5634
5699
|
'sonarjs/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
|
|
5635
5700
|
/**
|
|
5636
|
-
*
|
|
5637
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
|
|
5638
|
-
* @deprecated
|
|
5639
|
-
*/
|
|
5640
|
-
'sonarjs/aws-s3-bucket-server-encryption'?: Linter.RuleEntry<[]>;
|
|
5641
|
-
/**
|
|
5642
|
-
* Disabling versioning of S3 buckets is security-sensitive
|
|
5701
|
+
* Amazon S3 buckets should have versioning enabled
|
|
5643
5702
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
|
|
5644
5703
|
*/
|
|
5645
5704
|
'sonarjs/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
|
|
5646
5705
|
/**
|
|
5647
|
-
*
|
|
5706
|
+
* SageMaker notebook instances should be encrypted at rest
|
|
5648
5707
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
|
|
5649
5708
|
*/
|
|
5650
5709
|
'sonarjs/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
|
|
5651
5710
|
/**
|
|
5652
|
-
*
|
|
5711
|
+
* Amazon SNS topics should be encrypted at rest
|
|
5653
5712
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
|
|
5654
5713
|
*/
|
|
5655
5714
|
'sonarjs/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
|
|
5656
5715
|
/**
|
|
5657
|
-
*
|
|
5716
|
+
* SQS queues should be encrypted
|
|
5658
5717
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
|
|
5659
5718
|
*/
|
|
5660
5719
|
'sonarjs/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>;
|
|
@@ -5678,12 +5737,6 @@ interface SonarjsRules {
|
|
|
5678
5737
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
|
|
5679
5738
|
*/
|
|
5680
5739
|
'sonarjs/call-argument-line'?: Linter.RuleEntry<[]>;
|
|
5681
|
-
/**
|
|
5682
|
-
* Disabling Certificate Transparency monitoring is security-sensitive
|
|
5683
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
|
|
5684
|
-
* @deprecated
|
|
5685
|
-
*/
|
|
5686
|
-
'sonarjs/certificate-transparency'?: Linter.RuleEntry<[]>;
|
|
5687
5740
|
/**
|
|
5688
5741
|
* Chai assertions should have only one reason to succeed
|
|
5689
5742
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
|
|
@@ -5700,7 +5753,7 @@ interface SonarjsRules {
|
|
|
5700
5753
|
*/
|
|
5701
5754
|
'sonarjs/class-prototype'?: Linter.RuleEntry<[]>;
|
|
5702
5755
|
/**
|
|
5703
|
-
*
|
|
5756
|
+
* Dynamic code execution should not use user-controlled data
|
|
5704
5757
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
|
|
5705
5758
|
*/
|
|
5706
5759
|
'sonarjs/code-eval'?: Linter.RuleEntry<[]>;
|
|
@@ -5731,8 +5784,9 @@ interface SonarjsRules {
|
|
|
5731
5784
|
*/
|
|
5732
5785
|
'sonarjs/conditional-indentation'?: Linter.RuleEntry<[]>;
|
|
5733
5786
|
/**
|
|
5734
|
-
*
|
|
5787
|
+
* Confidential information should not be logged
|
|
5735
5788
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
|
|
5789
|
+
* @deprecated
|
|
5736
5790
|
*/
|
|
5737
5791
|
'sonarjs/confidential-information-logging'?: Linter.RuleEntry<[]>;
|
|
5738
5792
|
/**
|
|
@@ -5741,33 +5795,27 @@ interface SonarjsRules {
|
|
|
5741
5795
|
*/
|
|
5742
5796
|
'sonarjs/constructor-for-side-effects'?: Linter.RuleEntry<[]>;
|
|
5743
5797
|
/**
|
|
5744
|
-
*
|
|
5798
|
+
* HTTP request content length should be limited
|
|
5745
5799
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
|
|
5746
5800
|
*/
|
|
5747
5801
|
'sonarjs/content-length'?: Linter.RuleEntry<SonarjsContentLength>;
|
|
5748
5802
|
/**
|
|
5749
|
-
*
|
|
5803
|
+
* Content security policy fetch directives should not be disabled
|
|
5750
5804
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
|
|
5751
5805
|
*/
|
|
5752
5806
|
'sonarjs/content-security-policy'?: Linter.RuleEntry<[]>;
|
|
5753
5807
|
/**
|
|
5754
|
-
*
|
|
5808
|
+
* Cookies should have the "HttpOnly" flag
|
|
5755
5809
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
|
|
5756
5810
|
*/
|
|
5757
5811
|
'sonarjs/cookie-no-httponly'?: Linter.RuleEntry<[]>;
|
|
5758
5812
|
/**
|
|
5759
|
-
*
|
|
5760
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
|
|
5761
|
-
* @deprecated
|
|
5762
|
-
*/
|
|
5763
|
-
'sonarjs/cookies'?: Linter.RuleEntry<[]>;
|
|
5764
|
-
/**
|
|
5765
|
-
* Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
|
|
5813
|
+
* Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
|
|
5766
5814
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
|
|
5767
5815
|
*/
|
|
5768
5816
|
'sonarjs/cors'?: Linter.RuleEntry<[]>;
|
|
5769
5817
|
/**
|
|
5770
|
-
*
|
|
5818
|
+
* CSRF protections should not be disabled
|
|
5771
5819
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
|
|
5772
5820
|
*/
|
|
5773
5821
|
'sonarjs/csrf'?: Linter.RuleEntry<[]>;
|
|
@@ -5797,12 +5845,12 @@ interface SonarjsRules {
|
|
|
5797
5845
|
*/
|
|
5798
5846
|
'sonarjs/different-types-comparison'?: Linter.RuleEntry<[]>;
|
|
5799
5847
|
/**
|
|
5800
|
-
*
|
|
5848
|
+
* Auto-escaping in HTML template engines should not be disabled
|
|
5801
5849
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
|
|
5802
5850
|
*/
|
|
5803
5851
|
'sonarjs/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
|
|
5804
5852
|
/**
|
|
5805
|
-
*
|
|
5853
|
+
* Remote artifacts should not be used without integrity checks
|
|
5806
5854
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
|
|
5807
5855
|
*/
|
|
5808
5856
|
'sonarjs/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
|
|
@@ -5812,11 +5860,10 @@ interface SonarjsRules {
|
|
|
5812
5860
|
*/
|
|
5813
5861
|
'sonarjs/disabled-timeout'?: Linter.RuleEntry<[]>;
|
|
5814
5862
|
/**
|
|
5815
|
-
*
|
|
5816
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/
|
|
5817
|
-
* @deprecated
|
|
5863
|
+
* DOMPurify configuration should not be bypassable
|
|
5864
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
|
|
5818
5865
|
*/
|
|
5819
|
-
'sonarjs/
|
|
5866
|
+
'sonarjs/dompurify-unsafe-config'?: Linter.RuleEntry<[]>;
|
|
5820
5867
|
/**
|
|
5821
5868
|
* Character classes in regular expressions should not contain the same character twice
|
|
5822
5869
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
|
|
@@ -5837,23 +5884,11 @@ interface SonarjsRules {
|
|
|
5837
5884
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
|
|
5838
5885
|
*/
|
|
5839
5886
|
'sonarjs/empty-string-repetition'?: Linter.RuleEntry<[]>;
|
|
5840
|
-
/**
|
|
5841
|
-
* Encrypting data is security-sensitive
|
|
5842
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
|
|
5843
|
-
* @deprecated
|
|
5844
|
-
*/
|
|
5845
|
-
'sonarjs/encryption'?: Linter.RuleEntry<[]>;
|
|
5846
5887
|
/**
|
|
5847
5888
|
* Encryption algorithms should be used with secure mode and padding scheme
|
|
5848
5889
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
|
|
5849
5890
|
*/
|
|
5850
5891
|
'sonarjs/encryption-secure-mode'?: Linter.RuleEntry<[]>;
|
|
5851
|
-
/**
|
|
5852
|
-
* Trailing commas should be used
|
|
5853
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S3723/javascript
|
|
5854
|
-
* @deprecated
|
|
5855
|
-
*/
|
|
5856
|
-
'sonarjs/enforce-trailing-comma'?: Linter.RuleEntry<SonarjsEnforceTrailingComma>;
|
|
5857
5892
|
/**
|
|
5858
5893
|
* Replacement strings should reference existing regular expression groups
|
|
5859
5894
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6328/javascript
|
|
@@ -5875,7 +5910,7 @@ interface SonarjsRules {
|
|
|
5875
5910
|
*/
|
|
5876
5911
|
'sonarjs/file-name-differ-from-class'?: Linter.RuleEntry<[]>;
|
|
5877
5912
|
/**
|
|
5878
|
-
*
|
|
5913
|
+
* File permissions should not be set to world-accessible values
|
|
5879
5914
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2612/javascript
|
|
5880
5915
|
*/
|
|
5881
5916
|
'sonarjs/file-permissions'?: Linter.RuleEntry<[]>;
|
|
@@ -5900,8 +5935,9 @@ interface SonarjsRules {
|
|
|
5900
5935
|
*/
|
|
5901
5936
|
'sonarjs/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
|
|
5902
5937
|
/**
|
|
5903
|
-
*
|
|
5938
|
+
* Content Security Policy frame-ancestors directive should not be disabled
|
|
5904
5939
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
|
|
5940
|
+
* @deprecated
|
|
5905
5941
|
*/
|
|
5906
5942
|
'sonarjs/frame-ancestors'?: Linter.RuleEntry<[]>;
|
|
5907
5943
|
/**
|
|
@@ -5935,15 +5971,21 @@ interface SonarjsRules {
|
|
|
5935
5971
|
*/
|
|
5936
5972
|
'sonarjs/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
|
|
5937
5973
|
/**
|
|
5938
|
-
*
|
|
5974
|
+
* Weak hashing algorithms should not be used
|
|
5939
5975
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
|
|
5940
5976
|
*/
|
|
5941
5977
|
'sonarjs/hashing'?: Linter.RuleEntry<[]>;
|
|
5942
5978
|
/**
|
|
5943
|
-
*
|
|
5979
|
+
* Hidden files should not be served statically
|
|
5944
5980
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
|
|
5981
|
+
* @deprecated
|
|
5945
5982
|
*/
|
|
5946
5983
|
'sonarjs/hidden-files'?: Linter.RuleEntry<[]>;
|
|
5984
|
+
/**
|
|
5985
|
+
* Lifecycle hooks should not be interleaved with test cases or nested suites
|
|
5986
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
|
|
5987
|
+
*/
|
|
5988
|
+
'sonarjs/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
|
|
5947
5989
|
/**
|
|
5948
5990
|
* "in" should not be used with primitive types
|
|
5949
5991
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
|
|
@@ -5960,7 +6002,7 @@ interface SonarjsRules {
|
|
|
5960
6002
|
*/
|
|
5961
6003
|
'sonarjs/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>;
|
|
5962
6004
|
/**
|
|
5963
|
-
*
|
|
6005
|
+
* Cookies should have the "secure" flag
|
|
5964
6006
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
|
|
5965
6007
|
*/
|
|
5966
6008
|
'sonarjs/insecure-cookie'?: Linter.RuleEntry<[]>;
|
|
@@ -5985,7 +6027,7 @@ interface SonarjsRules {
|
|
|
5985
6027
|
*/
|
|
5986
6028
|
'sonarjs/label-position'?: Linter.RuleEntry<[]>;
|
|
5987
6029
|
/**
|
|
5988
|
-
*
|
|
6030
|
+
* Opened windows should not have access to the originating page
|
|
5989
6031
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
|
|
5990
6032
|
*/
|
|
5991
6033
|
'sonarjs/link-with-target-blank'?: Linter.RuleEntry<[]>;
|
|
@@ -6035,7 +6077,7 @@ interface SonarjsRules {
|
|
|
6035
6077
|
*/
|
|
6036
6078
|
'sonarjs/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
|
|
6037
6079
|
/**
|
|
6038
|
-
*
|
|
6080
|
+
* Angular built-in sanitization should not be disabled
|
|
6039
6081
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
|
|
6040
6082
|
*/
|
|
6041
6083
|
'sonarjs/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
|
|
@@ -6065,7 +6107,7 @@ interface SonarjsRules {
|
|
|
6065
6107
|
*/
|
|
6066
6108
|
'sonarjs/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
|
|
6067
6109
|
/**
|
|
6068
|
-
*
|
|
6110
|
+
* Clear-text protocols should not be used
|
|
6069
6111
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
|
|
6070
6112
|
*/
|
|
6071
6113
|
'sonarjs/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
|
|
@@ -6114,6 +6156,11 @@ interface SonarjsRules {
|
|
|
6114
6156
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
|
|
6115
6157
|
*/
|
|
6116
6158
|
'sonarjs/no-duplicate-string'?: Linter.RuleEntry<SonarjsNoDuplicateString>;
|
|
6159
|
+
/**
|
|
6160
|
+
* Test titles should be unique within the same suite
|
|
6161
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
|
|
6162
|
+
*/
|
|
6163
|
+
'sonarjs/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
|
|
6117
6164
|
/**
|
|
6118
6165
|
* Two branches in a conditional structure should not have exactly the same implementation
|
|
6119
6166
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
|
|
@@ -6154,6 +6201,11 @@ interface SonarjsRules {
|
|
|
6154
6201
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
|
|
6155
6202
|
*/
|
|
6156
6203
|
'sonarjs/no-empty-test-file'?: Linter.RuleEntry<[]>;
|
|
6204
|
+
/**
|
|
6205
|
+
* Test and suite titles should not be empty or whitespace-only
|
|
6206
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
|
|
6207
|
+
*/
|
|
6208
|
+
'sonarjs/no-empty-test-title'?: Linter.RuleEntry<[]>;
|
|
6157
6209
|
/**
|
|
6158
6210
|
* Equality operators should not be used in "for" loop termination conditions
|
|
6159
6211
|
* @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
|
|
@@ -6174,11 +6226,21 @@ interface SonarjsRules {
|
|
|
6174
6226
|
* @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
|
|
6175
6227
|
*/
|
|
6176
6228
|
'sonarjs/no-fallthrough'?: Linter.RuleEntry<[]>;
|
|
6229
|
+
/**
|
|
6230
|
+
* Floating point numbers should not be tested for equality
|
|
6231
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
|
|
6232
|
+
*/
|
|
6233
|
+
'sonarjs/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
6177
6234
|
/**
|
|
6178
6235
|
* "for in" should not be used with iterables
|
|
6179
6236
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
|
|
6180
6237
|
*/
|
|
6181
6238
|
'sonarjs/no-for-in-iterable'?: Linter.RuleEntry<[]>;
|
|
6239
|
+
/**
|
|
6240
|
+
* Forced browser interactions should not bypass actionability checks
|
|
6241
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
|
|
6242
|
+
*/
|
|
6243
|
+
'sonarjs/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
|
|
6182
6244
|
/**
|
|
6183
6245
|
* Function declarations should not be made within blocks
|
|
6184
6246
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
|
|
@@ -6200,7 +6262,7 @@ interface SonarjsRules {
|
|
|
6200
6262
|
*/
|
|
6201
6263
|
'sonarjs/no-gratuitous-expressions'?: Linter.RuleEntry<[]>;
|
|
6202
6264
|
/**
|
|
6203
|
-
*
|
|
6265
|
+
* IP addresses should not be hardcoded
|
|
6204
6266
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
|
|
6205
6267
|
*/
|
|
6206
6268
|
'sonarjs/no-hardcoded-ip'?: Linter.RuleEntry<[]>;
|
|
@@ -6259,6 +6321,11 @@ interface SonarjsRules {
|
|
|
6259
6321
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
|
|
6260
6322
|
*/
|
|
6261
6323
|
'sonarjs/no-in-misuse'?: Linter.RuleEntry<[]>;
|
|
6324
|
+
/**
|
|
6325
|
+
* Assertions comparing incompatible types should not be made
|
|
6326
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
|
|
6327
|
+
*/
|
|
6328
|
+
'sonarjs/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
|
|
6262
6329
|
/**
|
|
6263
6330
|
* Assertions should be complete
|
|
6264
6331
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
|
|
@@ -6280,8 +6347,9 @@ interface SonarjsRules {
|
|
|
6280
6347
|
*/
|
|
6281
6348
|
'sonarjs/no-internal-api-use'?: Linter.RuleEntry<[]>;
|
|
6282
6349
|
/**
|
|
6283
|
-
*
|
|
6350
|
+
* Sensitive permissions should not be requested unnecessarily
|
|
6284
6351
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
|
|
6352
|
+
* @deprecated
|
|
6285
6353
|
*/
|
|
6286
6354
|
'sonarjs/no-intrusive-permissions'?: Linter.RuleEntry<SonarjsNoIntrusivePermissions>;
|
|
6287
6355
|
/**
|
|
@@ -6300,8 +6368,9 @@ interface SonarjsRules {
|
|
|
6300
6368
|
*/
|
|
6301
6369
|
'sonarjs/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
|
|
6302
6370
|
/**
|
|
6303
|
-
*
|
|
6371
|
+
* Client IP address should not be forwarded to proxies
|
|
6304
6372
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
|
|
6373
|
+
* @deprecated
|
|
6305
6374
|
*/
|
|
6306
6375
|
'sonarjs/no-ip-forward'?: Linter.RuleEntry<[]>;
|
|
6307
6376
|
/**
|
|
@@ -6315,7 +6384,7 @@ interface SonarjsRules {
|
|
|
6315
6384
|
*/
|
|
6316
6385
|
'sonarjs/no-literal-call'?: Linter.RuleEntry<[]>;
|
|
6317
6386
|
/**
|
|
6318
|
-
*
|
|
6387
|
+
* Browsers should not be allowed to perform MIME type sniffing
|
|
6319
6388
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
|
|
6320
6389
|
*/
|
|
6321
6390
|
'sonarjs/no-mime-sniff'?: Linter.RuleEntry<[]>;
|
|
@@ -6330,8 +6399,9 @@ interface SonarjsRules {
|
|
|
6330
6399
|
*/
|
|
6331
6400
|
'sonarjs/no-misleading-character-class'?: Linter.RuleEntry<[]>;
|
|
6332
6401
|
/**
|
|
6333
|
-
*
|
|
6402
|
+
* Content Security Policy should block mixed-content
|
|
6334
6403
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
|
|
6404
|
+
* @deprecated
|
|
6335
6405
|
*/
|
|
6336
6406
|
'sonarjs/no-mixed-content'?: Linter.RuleEntry<[]>;
|
|
6337
6407
|
/**
|
|
@@ -6365,7 +6435,7 @@ interface SonarjsRules {
|
|
|
6365
6435
|
*/
|
|
6366
6436
|
'sonarjs/no-nested-template-literals'?: Linter.RuleEntry<[]>;
|
|
6367
6437
|
/**
|
|
6368
|
-
*
|
|
6438
|
+
* OS commands should not rely on PATH resolution
|
|
6369
6439
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
|
|
6370
6440
|
*/
|
|
6371
6441
|
'sonarjs/no-os-command-from-path'?: Linter.RuleEntry<[]>;
|
|
@@ -6411,7 +6481,7 @@ interface SonarjsRules {
|
|
|
6411
6481
|
*/
|
|
6412
6482
|
'sonarjs/no-reference-error'?: Linter.RuleEntry<[]>;
|
|
6413
6483
|
/**
|
|
6414
|
-
*
|
|
6484
|
+
* HTTP Referrer-Policy should not be set to an unsafe value
|
|
6415
6485
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
|
|
6416
6486
|
*/
|
|
6417
6487
|
'sonarjs/no-referrer-policy'?: Linter.RuleEntry<[]>;
|
|
@@ -6445,6 +6515,11 @@ interface SonarjsRules {
|
|
|
6445
6515
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2301/javascript
|
|
6446
6516
|
*/
|
|
6447
6517
|
'sonarjs/no-selector-parameter'?: Linter.RuleEntry<[]>;
|
|
6518
|
+
/**
|
|
6519
|
+
* Static Assets should not serve session cookies
|
|
6520
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8441/javascript
|
|
6521
|
+
*/
|
|
6522
|
+
'sonarjs/no-session-cookies-on-static-assets'?: Linter.RuleEntry<[]>;
|
|
6448
6523
|
/**
|
|
6449
6524
|
* Tests should not be skipped without providing a reason
|
|
6450
6525
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1607/javascript
|
|
@@ -6471,6 +6546,11 @@ interface SonarjsRules {
|
|
|
6471
6546
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
|
|
6472
6547
|
*/
|
|
6473
6548
|
'sonarjs/no-table-as-layout'?: Linter.RuleEntry<[]>;
|
|
6549
|
+
/**
|
|
6550
|
+
* Assertions should not fail or succeed unconditionally
|
|
6551
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
|
|
6552
|
+
*/
|
|
6553
|
+
'sonarjs/no-trivial-assertions'?: Linter.RuleEntry<[]>;
|
|
6474
6554
|
/**
|
|
6475
6555
|
* Promise rejections should not be caught by "try" blocks
|
|
6476
6556
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
|
|
@@ -6497,8 +6577,9 @@ interface SonarjsRules {
|
|
|
6497
6577
|
*/
|
|
6498
6578
|
'sonarjs/no-uniq-key'?: Linter.RuleEntry<[]>;
|
|
6499
6579
|
/**
|
|
6500
|
-
* Expanding archive files without controlling resource consumption
|
|
6580
|
+
* Expanding archive files should not be done without controlling resource consumption
|
|
6501
6581
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
|
|
6582
|
+
* @deprecated
|
|
6502
6583
|
*/
|
|
6503
6584
|
'sonarjs/no-unsafe-unzip'?: Linter.RuleEntry<[]>;
|
|
6504
6585
|
/**
|
|
@@ -6551,12 +6632,6 @@ interface SonarjsRules {
|
|
|
6551
6632
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
|
|
6552
6633
|
*/
|
|
6553
6634
|
'sonarjs/no-variable-usage-before-declaration'?: Linter.RuleEntry<[]>;
|
|
6554
|
-
/**
|
|
6555
|
-
* Disabling Vue.js built-in escaping is security-sensitive
|
|
6556
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
|
|
6557
|
-
* @deprecated
|
|
6558
|
-
*/
|
|
6559
|
-
'sonarjs/no-vue-bypass-sanitization'?: Linter.RuleEntry<[]>;
|
|
6560
6635
|
/**
|
|
6561
6636
|
* Cipher algorithms should be robust
|
|
6562
6637
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
|
|
@@ -6598,8 +6673,9 @@ interface SonarjsRules {
|
|
|
6598
6673
|
*/
|
|
6599
6674
|
'sonarjs/operation-returning-nan'?: Linter.RuleEntry<[]>;
|
|
6600
6675
|
/**
|
|
6601
|
-
*
|
|
6676
|
+
* OS commands should not be executed using a shell interpreter
|
|
6602
6677
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
|
|
6678
|
+
* @deprecated
|
|
6603
6679
|
*/
|
|
6604
6680
|
'sonarjs/os-command'?: Linter.RuleEntry<[]>;
|
|
6605
6681
|
/**
|
|
@@ -6642,6 +6718,11 @@ interface SonarjsRules {
|
|
|
6642
6718
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
|
|
6643
6719
|
*/
|
|
6644
6720
|
'sonarjs/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
|
|
6721
|
+
/**
|
|
6722
|
+
* The most specific assertion should be used
|
|
6723
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
|
|
6724
|
+
*/
|
|
6725
|
+
'sonarjs/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
|
|
6645
6726
|
/**
|
|
6646
6727
|
* Type predicates should be used
|
|
6647
6728
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
|
|
@@ -6653,18 +6734,12 @@ interface SonarjsRules {
|
|
|
6653
6734
|
*/
|
|
6654
6735
|
'sonarjs/prefer-while'?: Linter.RuleEntry<[]>;
|
|
6655
6736
|
/**
|
|
6656
|
-
*
|
|
6657
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
|
|
6658
|
-
* @deprecated
|
|
6659
|
-
*/
|
|
6660
|
-
'sonarjs/process-argv'?: Linter.RuleEntry<[]>;
|
|
6661
|
-
/**
|
|
6662
|
-
* Delivering code in production with debug features activated is security-sensitive
|
|
6737
|
+
* Debugging features should not be enabled in production
|
|
6663
6738
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
|
|
6664
6739
|
*/
|
|
6665
6740
|
'sonarjs/production-debug'?: Linter.RuleEntry<[]>;
|
|
6666
6741
|
/**
|
|
6667
|
-
*
|
|
6742
|
+
* Pseudorandom number generators (PRNGs) should not be used in security contexts
|
|
6668
6743
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
|
|
6669
6744
|
*/
|
|
6670
6745
|
'sonarjs/pseudo-random'?: Linter.RuleEntry<[]>;
|
|
@@ -6674,7 +6749,7 @@ interface SonarjsRules {
|
|
|
6674
6749
|
*/
|
|
6675
6750
|
'sonarjs/public-static-readonly'?: Linter.RuleEntry<[]>;
|
|
6676
6751
|
/**
|
|
6677
|
-
*
|
|
6752
|
+
* Temporary files should not be created in publicly writable directories
|
|
6678
6753
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
|
|
6679
6754
|
*/
|
|
6680
6755
|
'sonarjs/publicly-writable-directories'?: Linter.RuleEntry<[]>;
|
|
@@ -6693,12 +6768,6 @@ interface SonarjsRules {
|
|
|
6693
6768
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
|
|
6694
6769
|
*/
|
|
6695
6770
|
'sonarjs/regex-complexity'?: Linter.RuleEntry<SonarjsRegexComplexity>;
|
|
6696
|
-
/**
|
|
6697
|
-
* Using regular expressions is security-sensitive
|
|
6698
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
|
|
6699
|
-
* @deprecated
|
|
6700
|
-
*/
|
|
6701
|
-
'sonarjs/regular-expr'?: Linter.RuleEntry<[]>;
|
|
6702
6771
|
/**
|
|
6703
6772
|
* Wallet phrases should not be hard-coded
|
|
6704
6773
|
* @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
|
|
@@ -6725,18 +6794,12 @@ interface SonarjsRules {
|
|
|
6725
6794
|
*/
|
|
6726
6795
|
'sonarjs/single-character-alternation'?: Linter.RuleEntry<[]>;
|
|
6727
6796
|
/**
|
|
6728
|
-
*
|
|
6797
|
+
* Regular expressions should not cause catastrophic backtracking
|
|
6729
6798
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
|
|
6730
6799
|
*/
|
|
6731
6800
|
'sonarjs/slow-regex'?: Linter.RuleEntry<[]>;
|
|
6732
6801
|
/**
|
|
6733
|
-
*
|
|
6734
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
|
|
6735
|
-
* @deprecated
|
|
6736
|
-
*/
|
|
6737
|
-
'sonarjs/sockets'?: Linter.RuleEntry<[]>;
|
|
6738
|
-
/**
|
|
6739
|
-
* Formatting SQL queries is security-sensitive
|
|
6802
|
+
* SQL queries should not be dynamically formatted
|
|
6740
6803
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
|
|
6741
6804
|
*/
|
|
6742
6805
|
'sonarjs/sql-queries'?: Linter.RuleEntry<[]>;
|
|
@@ -6745,19 +6808,13 @@ interface SonarjsRules {
|
|
|
6745
6808
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
|
|
6746
6809
|
*/
|
|
6747
6810
|
'sonarjs/stable-tests'?: Linter.RuleEntry<[]>;
|
|
6748
|
-
/**
|
|
6749
|
-
* Reading the Standard Input is security-sensitive
|
|
6750
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
|
|
6751
|
-
* @deprecated
|
|
6752
|
-
*/
|
|
6753
|
-
'sonarjs/standard-input'?: Linter.RuleEntry<[]>;
|
|
6754
6811
|
/**
|
|
6755
6812
|
* Regular expressions with the global flag should be used with caution
|
|
6756
6813
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
|
|
6757
6814
|
*/
|
|
6758
6815
|
'sonarjs/stateful-regex'?: Linter.RuleEntry<[]>;
|
|
6759
6816
|
/**
|
|
6760
|
-
*
|
|
6817
|
+
* HTTP Strict-Transport-Security policy should not be disabled
|
|
6761
6818
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
|
|
6762
6819
|
*/
|
|
6763
6820
|
'sonarjs/strict-transport-security'?: Linter.RuleEntry<[]>;
|
|
@@ -6767,10 +6824,10 @@ interface SonarjsRules {
|
|
|
6767
6824
|
*/
|
|
6768
6825
|
'sonarjs/strings-comparison'?: Linter.RuleEntry<[]>;
|
|
6769
6826
|
/**
|
|
6770
|
-
*
|
|
6771
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/
|
|
6827
|
+
* Regular expressions should not cause non-linear backtracking
|
|
6828
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
|
|
6772
6829
|
*/
|
|
6773
|
-
'sonarjs/super-
|
|
6830
|
+
'sonarjs/super-linear-regex'?: Linter.RuleEntry<[]>;
|
|
6774
6831
|
/**
|
|
6775
6832
|
* Tables should have headers
|
|
6776
6833
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
|
|
@@ -6869,7 +6926,7 @@ interface SonarjsRules {
|
|
|
6869
6926
|
*/
|
|
6870
6927
|
'sonarjs/web-sql-database'?: Linter.RuleEntry<[]>;
|
|
6871
6928
|
/**
|
|
6872
|
-
*
|
|
6929
|
+
* Web application technologies should not disclose version information
|
|
6873
6930
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
|
|
6874
6931
|
*/
|
|
6875
6932
|
'sonarjs/x-powered-by'?: Linter.RuleEntry<[]>;
|
|
@@ -6878,12 +6935,6 @@ interface SonarjsRules {
|
|
|
6878
6935
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
|
|
6879
6936
|
*/
|
|
6880
6937
|
'sonarjs/xml-parser-xxe'?: Linter.RuleEntry<[]>;
|
|
6881
|
-
/**
|
|
6882
|
-
* Executing XPath expressions is security-sensitive
|
|
6883
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
|
|
6884
|
-
* @deprecated
|
|
6885
|
-
*/
|
|
6886
|
-
'sonarjs/xpath'?: Linter.RuleEntry<[]>;
|
|
6887
6938
|
}
|
|
6888
6939
|
type SonarjsArrowFunctionConvention = [] | [{
|
|
6889
6940
|
requireParameterParentheses?: boolean;
|
|
@@ -6892,7 +6943,7 @@ type SonarjsArrowFunctionConvention = [] | [{
|
|
|
6892
6943
|
type SonarjsClassName = [] | [{
|
|
6893
6944
|
format?: string;
|
|
6894
6945
|
}];
|
|
6895
|
-
type SonarjsCognitiveComplexity = [] | [(number |
|
|
6946
|
+
type SonarjsCognitiveComplexity = [] | [(number | "silence-issues")] | [(number | "silence-issues"), "silence-issues"];
|
|
6896
6947
|
type SonarjsCommentRegex = [] | [{
|
|
6897
6948
|
regularExpression?: string;
|
|
6898
6949
|
message?: string;
|
|
@@ -6905,15 +6956,6 @@ type SonarjsContentLength = [] | [{
|
|
|
6905
6956
|
type SonarjsCyclomaticComplexity = [] | [{
|
|
6906
6957
|
threshold?: number;
|
|
6907
6958
|
}];
|
|
6908
|
-
type SonarjsEnforceTrailingComma = [] | [(_SonarjsEnforceTrailingCommaValue | {
|
|
6909
|
-
arrays?: _SonarjsEnforceTrailingCommaValueWithIgnore;
|
|
6910
|
-
objects?: _SonarjsEnforceTrailingCommaValueWithIgnore;
|
|
6911
|
-
imports?: _SonarjsEnforceTrailingCommaValueWithIgnore;
|
|
6912
|
-
exports?: _SonarjsEnforceTrailingCommaValueWithIgnore;
|
|
6913
|
-
functions?: _SonarjsEnforceTrailingCommaValueWithIgnore;
|
|
6914
|
-
})];
|
|
6915
|
-
type _SonarjsEnforceTrailingCommaValue = ("always-multiline" | "always" | "never" | "only-multiline");
|
|
6916
|
-
type _SonarjsEnforceTrailingCommaValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
|
|
6917
6959
|
type SonarjsExpressionComplexity = [] | [{
|
|
6918
6960
|
max?: number;
|
|
6919
6961
|
}];
|
|
@@ -7089,6 +7131,11 @@ interface PlaywrightRules {
|
|
|
7089
7131
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-hooks.md
|
|
7090
7132
|
*/
|
|
7091
7133
|
'playwright/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
|
|
7134
|
+
/**
|
|
7135
|
+
* Disallow multiple `test.slow()` calls in the same test
|
|
7136
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-slow.md
|
|
7137
|
+
*/
|
|
7138
|
+
'playwright/no-duplicate-slow'?: Linter.RuleEntry<[]>;
|
|
7092
7139
|
/**
|
|
7093
7140
|
* The use of ElementHandle is discouraged, use Locator instead
|
|
7094
7141
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-element-handle.md
|
|
@@ -7154,6 +7201,11 @@ interface PlaywrightRules {
|
|
|
7154
7201
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-matchers.md
|
|
7155
7202
|
*/
|
|
7156
7203
|
'playwright/no-restricted-matchers'?: Linter.RuleEntry<PlaywrightNoRestrictedMatchers>;
|
|
7204
|
+
/**
|
|
7205
|
+
* Disallows the usage of specific roles in getByRole()
|
|
7206
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-roles.md
|
|
7207
|
+
*/
|
|
7208
|
+
'playwright/no-restricted-roles'?: Linter.RuleEntry<PlaywrightNoRestrictedRoles>;
|
|
7157
7209
|
/**
|
|
7158
7210
|
* Prevent usage of the `.skip()` skip test annotation.
|
|
7159
7211
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-skipped-test.md
|
|
@@ -7279,6 +7331,16 @@ interface PlaywrightRules {
|
|
|
7279
7331
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-soft-assertions.md
|
|
7280
7332
|
*/
|
|
7281
7333
|
'playwright/require-soft-assertions'?: Linter.RuleEntry<[]>;
|
|
7334
|
+
/**
|
|
7335
|
+
* Require test blocks to have tags
|
|
7336
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-tags.md
|
|
7337
|
+
*/
|
|
7338
|
+
'playwright/require-tags'?: Linter.RuleEntry<[]>;
|
|
7339
|
+
/**
|
|
7340
|
+
* Require a timeout option for `toPass()`
|
|
7341
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-pass-timeout.md
|
|
7342
|
+
*/
|
|
7343
|
+
'playwright/require-to-pass-timeout'?: Linter.RuleEntry<[]>;
|
|
7282
7344
|
/**
|
|
7283
7345
|
* Require a message for `toThrow()`
|
|
7284
7346
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-throw-message.md
|
|
@@ -7327,6 +7389,7 @@ type PlaywrightMaxNestedDescribe = [] | [{
|
|
|
7327
7389
|
}];
|
|
7328
7390
|
type PlaywrightMissingPlaywrightAwait = [] | [{
|
|
7329
7391
|
customMatchers?: string[];
|
|
7392
|
+
includePageLocatorMethods?: boolean;
|
|
7330
7393
|
}];
|
|
7331
7394
|
type PlaywrightNoHooks = [] | [{
|
|
7332
7395
|
allow?: unknown[];
|
|
@@ -7341,8 +7404,13 @@ type PlaywrightNoRestrictedLocators = [] | [(string | {
|
|
|
7341
7404
|
type PlaywrightNoRestrictedMatchers = [] | [{
|
|
7342
7405
|
[k: string]: (string | null) | undefined;
|
|
7343
7406
|
}];
|
|
7407
|
+
type PlaywrightNoRestrictedRoles = [] | [(string | {
|
|
7408
|
+
message?: string;
|
|
7409
|
+
role: string;
|
|
7410
|
+
})[]];
|
|
7344
7411
|
type PlaywrightNoSkippedTest = [] | [{
|
|
7345
7412
|
allowConditional?: boolean;
|
|
7413
|
+
disallowFixme?: boolean;
|
|
7346
7414
|
}];
|
|
7347
7415
|
type PlaywrightNoSlowedTest = [] | [{
|
|
7348
7416
|
allowConditional?: boolean;
|