@component-hook/eslint-plugin 1.4.4 → 1.5.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/README.md +2 -2
- package/dist/index.cjs +85 -94
- package/dist/index.d.cts +288 -157
- package/dist/index.d.mts +288 -157
- package/dist/index.mjs +51 -57
- 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
|
}];
|
|
@@ -1728,6 +1751,7 @@ interface VueRules {
|
|
|
1728
1751
|
/**
|
|
1729
1752
|
* Disallow function declarations that contain unsafe references inside loop statements
|
|
1730
1753
|
* @see https://typescript-eslint.io/rules/no-loop-func
|
|
1754
|
+
* @deprecated
|
|
1731
1755
|
*/
|
|
1732
1756
|
'@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>;
|
|
1733
1757
|
/**
|
|
@@ -1804,6 +1828,7 @@ interface VueRules {
|
|
|
1804
1828
|
/**
|
|
1805
1829
|
* Disallow specified modules when loaded by `import`
|
|
1806
1830
|
* @see https://typescript-eslint.io/rules/no-restricted-imports
|
|
1831
|
+
* @deprecated
|
|
1807
1832
|
*/
|
|
1808
1833
|
'@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>;
|
|
1809
1834
|
/**
|
|
@@ -2675,7 +2700,7 @@ interface VueRules {
|
|
|
2675
2700
|
* disallow object, array, and function literals in template
|
|
2676
2701
|
* @see https://eslint.vuejs.org/rules/no-literals-in-template.html
|
|
2677
2702
|
*/
|
|
2678
|
-
'vue/no-literals-in-template'?: Linter.RuleEntry<
|
|
2703
|
+
'vue/no-literals-in-template'?: Linter.RuleEntry<VueNoLiteralsInTemplate>;
|
|
2679
2704
|
/**
|
|
2680
2705
|
* disallow unnecessary `<template>`
|
|
2681
2706
|
* @see https://eslint.vuejs.org/rules/no-lone-template.html
|
|
@@ -3068,6 +3093,11 @@ interface VueRules {
|
|
|
3068
3093
|
* @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
|
|
3069
3094
|
*/
|
|
3070
3095
|
'vue/prefer-separate-static-class'?: Linter.RuleEntry<[]>;
|
|
3096
|
+
/**
|
|
3097
|
+
* enforce passing a single argument to custom event emissions
|
|
3098
|
+
* @see https://eslint.vuejs.org/rules/prefer-single-event-payload.html
|
|
3099
|
+
*/
|
|
3100
|
+
'vue/prefer-single-event-payload'?: Linter.RuleEntry<[]>;
|
|
3071
3101
|
/**
|
|
3072
3102
|
* Require template literals instead of string concatenation in `<template>`
|
|
3073
3103
|
* @see https://eslint.vuejs.org/rules/prefer-template.html
|
|
@@ -3083,6 +3113,11 @@ interface VueRules {
|
|
|
3083
3113
|
* @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
|
|
3084
3114
|
*/
|
|
3085
3115
|
'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>;
|
|
3116
|
+
/**
|
|
3117
|
+
* enforce using `v-model` instead of `:prop`/`@update:prop` pair
|
|
3118
|
+
* @see https://eslint.vuejs.org/rules/prefer-v-model.html
|
|
3119
|
+
*/
|
|
3120
|
+
'vue/prefer-v-model'?: Linter.RuleEntry<[]>;
|
|
3086
3121
|
/**
|
|
3087
3122
|
* enforce specific casing for the Prop name in Vue components
|
|
3088
3123
|
* @see https://eslint.vuejs.org/rules/prop-name-casing.html
|
|
@@ -3364,7 +3399,7 @@ interface VueRules {
|
|
|
3364
3399
|
* enforce valid `v-for` directives
|
|
3365
3400
|
* @see https://eslint.vuejs.org/rules/valid-v-for.html
|
|
3366
3401
|
*/
|
|
3367
|
-
'vue/valid-v-for'?: Linter.RuleEntry<
|
|
3402
|
+
'vue/valid-v-for'?: Linter.RuleEntry<VueValidVFor>;
|
|
3368
3403
|
/**
|
|
3369
3404
|
* enforce valid `v-html` directives
|
|
3370
3405
|
* @see https://eslint.vuejs.org/rules/valid-v-html.html
|
|
@@ -4188,6 +4223,18 @@ type TypescriptEslintPreferOptionalChain = [] | [{
|
|
|
4188
4223
|
requireNullish?: boolean;
|
|
4189
4224
|
}];
|
|
4190
4225
|
type TypescriptEslintPreferPromiseRejectErrors = [] | [{
|
|
4226
|
+
allow?: (string | {
|
|
4227
|
+
from: "file";
|
|
4228
|
+
name: (string | [string, ...(string)[]]);
|
|
4229
|
+
path?: string;
|
|
4230
|
+
} | {
|
|
4231
|
+
from: "lib";
|
|
4232
|
+
name: (string | [string, ...(string)[]]);
|
|
4233
|
+
} | {
|
|
4234
|
+
from: "package";
|
|
4235
|
+
name: (string | [string, ...(string)[]]);
|
|
4236
|
+
package: string;
|
|
4237
|
+
})[];
|
|
4191
4238
|
allowEmptyReject?: boolean;
|
|
4192
4239
|
allowThrowingAny?: boolean;
|
|
4193
4240
|
allowThrowingUnknown?: boolean;
|
|
@@ -4337,6 +4384,7 @@ type VueAttributesOrder = [] | [{
|
|
|
4337
4384
|
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
4385
|
alphabetical?: boolean;
|
|
4339
4386
|
sortLineLength?: boolean;
|
|
4387
|
+
ignoreVBindObject?: boolean;
|
|
4340
4388
|
}];
|
|
4341
4389
|
type VueBlockLang = [] | [{
|
|
4342
4390
|
[k: string]: {
|
|
@@ -4409,7 +4457,7 @@ type VueDefineMacrosOrder = [] | [{
|
|
|
4409
4457
|
}];
|
|
4410
4458
|
type VueDefinePropsDeclaration = [] | [("type-based" | "runtime")];
|
|
4411
4459
|
type VueDefinePropsDestructuring = [] | [{
|
|
4412
|
-
destructure?: ("always" | "never");
|
|
4460
|
+
destructure?: ("only-when-assigned" | "always" | "never");
|
|
4413
4461
|
}];
|
|
4414
4462
|
type VueDotLocation = [] | [("object" | "property")];
|
|
4415
4463
|
type VueDotNotation = [] | [{
|
|
@@ -5005,6 +5053,9 @@ type VueNoIrregularWhitespace = [] | [{
|
|
|
5005
5053
|
skipHTMLAttributeValues?: boolean;
|
|
5006
5054
|
skipHTMLTextContents?: boolean;
|
|
5007
5055
|
}];
|
|
5056
|
+
type VueNoLiteralsInTemplate = [] | [{
|
|
5057
|
+
ignores?: string[];
|
|
5058
|
+
}];
|
|
5008
5059
|
type VueNoLoneTemplate = [] | [{
|
|
5009
5060
|
ignoreAccessible?: boolean;
|
|
5010
5061
|
}];
|
|
@@ -5158,7 +5209,7 @@ type VueNoUnusedComponents = [] | [{
|
|
|
5158
5209
|
ignoreWhenBindingPresent?: boolean;
|
|
5159
5210
|
}];
|
|
5160
5211
|
type VueNoUnusedProperties = [] | [{
|
|
5161
|
-
groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup")[];
|
|
5212
|
+
groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup" | "inject")[];
|
|
5162
5213
|
deepData?: boolean;
|
|
5163
5214
|
ignorePublicMembers?: boolean;
|
|
5164
5215
|
unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[];
|
|
@@ -5308,6 +5359,7 @@ type VueSortKeys = [] | [("asc" | "desc")] | [("asc" | "desc"), {
|
|
|
5308
5359
|
ignoreGrandchildrenOf?: unknown[];
|
|
5309
5360
|
minKeys?: number;
|
|
5310
5361
|
natural?: boolean;
|
|
5362
|
+
allowLineSeparatedGroups?: boolean;
|
|
5311
5363
|
}];
|
|
5312
5364
|
type VueSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
|
|
5313
5365
|
exceptions?: ("{}" | "[]" | "()" | "empty")[];
|
|
@@ -5346,6 +5398,9 @@ type VueVSlotStyle = [] | [(("shorthand" | "longform") | {
|
|
|
5346
5398
|
default?: ("shorthand" | "longform" | "v-slot");
|
|
5347
5399
|
named?: ("shorthand" | "longform");
|
|
5348
5400
|
})];
|
|
5401
|
+
type VueValidVFor = [] | [{
|
|
5402
|
+
allowEmptyAlias?: boolean;
|
|
5403
|
+
}];
|
|
5349
5404
|
type VueValidVOn = [] | [{
|
|
5350
5405
|
modifiers?: unknown[];
|
|
5351
5406
|
}];
|
|
@@ -5360,6 +5415,11 @@ interface MarkdownRules {
|
|
|
5360
5415
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
|
|
5361
5416
|
*/
|
|
5362
5417
|
'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>;
|
|
5418
|
+
/**
|
|
5419
|
+
* Require or disallow metadata for fenced code blocks
|
|
5420
|
+
* @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
|
|
5421
|
+
*/
|
|
5422
|
+
'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>;
|
|
5363
5423
|
/**
|
|
5364
5424
|
* Enforce heading levels increment by one
|
|
5365
5425
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
|
|
@@ -5459,12 +5519,14 @@ interface MarkdownRules {
|
|
|
5459
5519
|
type MarkdownFencedCodeLanguage = [] | [{
|
|
5460
5520
|
required?: string[];
|
|
5461
5521
|
}];
|
|
5522
|
+
type MarkdownFencedCodeMeta = [] | [("always" | "never")];
|
|
5462
5523
|
type MarkdownHeadingIncrement = [] | [{
|
|
5463
5524
|
frontmatterTitle?: string;
|
|
5464
5525
|
}];
|
|
5465
5526
|
type MarkdownNoDuplicateDefinitions = [] | [{
|
|
5466
5527
|
allowDefinitions?: string[];
|
|
5467
5528
|
allowFootnoteDefinitions?: string[];
|
|
5529
|
+
checkFootnoteDefinitions?: boolean;
|
|
5468
5530
|
}];
|
|
5469
5531
|
type MarkdownNoDuplicateHeadings = [] | [{
|
|
5470
5532
|
checkSiblingsOnly?: boolean;
|
|
@@ -5497,6 +5559,7 @@ type MarkdownNoSpaceInEmphasis = [] | [{
|
|
|
5497
5559
|
type MarkdownNoUnusedDefinitions = [] | [{
|
|
5498
5560
|
allowDefinitions?: string[];
|
|
5499
5561
|
allowFootnoteDefinitions?: string[];
|
|
5562
|
+
checkFootnoteDefinitions?: boolean;
|
|
5500
5563
|
}];
|
|
5501
5564
|
type MarkdownTableColumnCount = [] | [{
|
|
5502
5565
|
checkMissingCells?: boolean;
|
|
@@ -5557,38 +5620,48 @@ interface SonarjsRules {
|
|
|
5557
5620
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3524/javascript
|
|
5558
5621
|
*/
|
|
5559
5622
|
'sonarjs/arrow-function-convention'?: Linter.RuleEntry<SonarjsArrowFunctionConvention>;
|
|
5623
|
+
/**
|
|
5624
|
+
* Assertions should be placed inside test cases or hooks
|
|
5625
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8784/javascript
|
|
5626
|
+
*/
|
|
5627
|
+
'sonarjs/assertions-in-test-cases'?: Linter.RuleEntry<[]>;
|
|
5560
5628
|
/**
|
|
5561
5629
|
* Tests should include assertions
|
|
5562
5630
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2699/javascript
|
|
5563
5631
|
*/
|
|
5564
5632
|
'sonarjs/assertions-in-tests'?: Linter.RuleEntry<[]>;
|
|
5565
5633
|
/**
|
|
5566
|
-
*
|
|
5634
|
+
* Async test assertions should be awaited or returned
|
|
5635
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
|
|
5636
|
+
*/
|
|
5637
|
+
'sonarjs/async-test-assertions'?: Linter.RuleEntry<[]>;
|
|
5638
|
+
/**
|
|
5639
|
+
* AWS API Gateway should require authentication
|
|
5567
5640
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
|
|
5568
5641
|
*/
|
|
5569
5642
|
'sonarjs/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
|
|
5570
5643
|
/**
|
|
5571
|
-
*
|
|
5644
|
+
* Public network access to cloud resources should be disabled
|
|
5572
5645
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
|
|
5573
5646
|
*/
|
|
5574
5647
|
'sonarjs/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
|
|
5575
5648
|
/**
|
|
5576
|
-
*
|
|
5649
|
+
* EBS volumes should be encrypted
|
|
5577
5650
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
|
|
5578
5651
|
*/
|
|
5579
5652
|
'sonarjs/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
|
|
5580
5653
|
/**
|
|
5581
|
-
*
|
|
5654
|
+
* Amazon EFS file systems should be encrypted
|
|
5582
5655
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
|
|
5583
5656
|
*/
|
|
5584
5657
|
'sonarjs/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
|
|
5585
5658
|
/**
|
|
5586
|
-
* Policies
|
|
5659
|
+
* Policies should not grant all privileges
|
|
5587
5660
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
|
|
5588
5661
|
*/
|
|
5589
5662
|
'sonarjs/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
|
|
5590
5663
|
/**
|
|
5591
|
-
*
|
|
5664
|
+
* IAM policies should not grant access to all account resources
|
|
5592
5665
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
|
|
5593
5666
|
*/
|
|
5594
5667
|
'sonarjs/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
|
|
@@ -5598,17 +5671,17 @@ interface SonarjsRules {
|
|
|
5598
5671
|
*/
|
|
5599
5672
|
'sonarjs/aws-iam-privilege-escalation'?: Linter.RuleEntry<[]>;
|
|
5600
5673
|
/**
|
|
5601
|
-
*
|
|
5674
|
+
* AWS resource-based policies should not grant public access
|
|
5602
5675
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
|
|
5603
5676
|
*/
|
|
5604
5677
|
'sonarjs/aws-iam-public-access'?: Linter.RuleEntry<[]>;
|
|
5605
5678
|
/**
|
|
5606
|
-
*
|
|
5679
|
+
* OpenSearch domains should have encryption at rest enabled
|
|
5607
5680
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
|
|
5608
5681
|
*/
|
|
5609
5682
|
'sonarjs/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>;
|
|
5610
5683
|
/**
|
|
5611
|
-
*
|
|
5684
|
+
* Amazon RDS resources should be encrypted at rest
|
|
5612
5685
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
|
|
5613
5686
|
*/
|
|
5614
5687
|
'sonarjs/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>;
|
|
@@ -5618,43 +5691,37 @@ interface SonarjsRules {
|
|
|
5618
5691
|
*/
|
|
5619
5692
|
'sonarjs/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>;
|
|
5620
5693
|
/**
|
|
5621
|
-
*
|
|
5694
|
+
* S3 buckets should not grant access to all users or authenticated users
|
|
5622
5695
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
|
|
5623
5696
|
*/
|
|
5624
5697
|
'sonarjs/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
|
|
5625
5698
|
/**
|
|
5626
|
-
*
|
|
5699
|
+
* S3 buckets should enforce HTTPS-only access
|
|
5627
5700
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
|
|
5628
5701
|
*/
|
|
5629
5702
|
'sonarjs/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
|
|
5630
5703
|
/**
|
|
5631
|
-
*
|
|
5704
|
+
* Amazon S3 bucket public access should be fully blocked
|
|
5632
5705
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
|
|
5633
5706
|
*/
|
|
5634
5707
|
'sonarjs/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
|
|
5635
5708
|
/**
|
|
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
|
|
5709
|
+
* Amazon S3 buckets should have versioning enabled
|
|
5643
5710
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
|
|
5644
5711
|
*/
|
|
5645
5712
|
'sonarjs/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
|
|
5646
5713
|
/**
|
|
5647
|
-
*
|
|
5714
|
+
* SageMaker notebook instances should be encrypted at rest
|
|
5648
5715
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
|
|
5649
5716
|
*/
|
|
5650
5717
|
'sonarjs/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
|
|
5651
5718
|
/**
|
|
5652
|
-
*
|
|
5719
|
+
* Amazon SNS topics should be encrypted at rest
|
|
5653
5720
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
|
|
5654
5721
|
*/
|
|
5655
5722
|
'sonarjs/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
|
|
5656
5723
|
/**
|
|
5657
|
-
*
|
|
5724
|
+
* SQS queues should be encrypted
|
|
5658
5725
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
|
|
5659
5726
|
*/
|
|
5660
5727
|
'sonarjs/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>;
|
|
@@ -5678,12 +5745,6 @@ interface SonarjsRules {
|
|
|
5678
5745
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
|
|
5679
5746
|
*/
|
|
5680
5747
|
'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
5748
|
/**
|
|
5688
5749
|
* Chai assertions should have only one reason to succeed
|
|
5689
5750
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
|
|
@@ -5700,7 +5761,7 @@ interface SonarjsRules {
|
|
|
5700
5761
|
*/
|
|
5701
5762
|
'sonarjs/class-prototype'?: Linter.RuleEntry<[]>;
|
|
5702
5763
|
/**
|
|
5703
|
-
*
|
|
5764
|
+
* Dynamic code execution should not use user-controlled data
|
|
5704
5765
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
|
|
5705
5766
|
*/
|
|
5706
5767
|
'sonarjs/code-eval'?: Linter.RuleEntry<[]>;
|
|
@@ -5731,8 +5792,9 @@ interface SonarjsRules {
|
|
|
5731
5792
|
*/
|
|
5732
5793
|
'sonarjs/conditional-indentation'?: Linter.RuleEntry<[]>;
|
|
5733
5794
|
/**
|
|
5734
|
-
*
|
|
5795
|
+
* Confidential information should not be logged
|
|
5735
5796
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
|
|
5797
|
+
* @deprecated
|
|
5736
5798
|
*/
|
|
5737
5799
|
'sonarjs/confidential-information-logging'?: Linter.RuleEntry<[]>;
|
|
5738
5800
|
/**
|
|
@@ -5741,33 +5803,27 @@ interface SonarjsRules {
|
|
|
5741
5803
|
*/
|
|
5742
5804
|
'sonarjs/constructor-for-side-effects'?: Linter.RuleEntry<[]>;
|
|
5743
5805
|
/**
|
|
5744
|
-
*
|
|
5806
|
+
* HTTP request content length should be limited
|
|
5745
5807
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
|
|
5746
5808
|
*/
|
|
5747
5809
|
'sonarjs/content-length'?: Linter.RuleEntry<SonarjsContentLength>;
|
|
5748
5810
|
/**
|
|
5749
|
-
*
|
|
5811
|
+
* Content security policy fetch directives should not be disabled
|
|
5750
5812
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
|
|
5751
5813
|
*/
|
|
5752
5814
|
'sonarjs/content-security-policy'?: Linter.RuleEntry<[]>;
|
|
5753
5815
|
/**
|
|
5754
|
-
*
|
|
5816
|
+
* Cookies should have the "HttpOnly" flag
|
|
5755
5817
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
|
|
5756
5818
|
*/
|
|
5757
5819
|
'sonarjs/cookie-no-httponly'?: Linter.RuleEntry<[]>;
|
|
5758
5820
|
/**
|
|
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
|
|
5821
|
+
* Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
|
|
5766
5822
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
|
|
5767
5823
|
*/
|
|
5768
5824
|
'sonarjs/cors'?: Linter.RuleEntry<[]>;
|
|
5769
5825
|
/**
|
|
5770
|
-
*
|
|
5826
|
+
* CSRF protections should not be disabled
|
|
5771
5827
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
|
|
5772
5828
|
*/
|
|
5773
5829
|
'sonarjs/csrf'?: Linter.RuleEntry<[]>;
|
|
@@ -5797,12 +5853,12 @@ interface SonarjsRules {
|
|
|
5797
5853
|
*/
|
|
5798
5854
|
'sonarjs/different-types-comparison'?: Linter.RuleEntry<[]>;
|
|
5799
5855
|
/**
|
|
5800
|
-
*
|
|
5856
|
+
* Auto-escaping in HTML template engines should not be disabled
|
|
5801
5857
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
|
|
5802
5858
|
*/
|
|
5803
5859
|
'sonarjs/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
|
|
5804
5860
|
/**
|
|
5805
|
-
*
|
|
5861
|
+
* Remote artifacts should not be used without integrity checks
|
|
5806
5862
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
|
|
5807
5863
|
*/
|
|
5808
5864
|
'sonarjs/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
|
|
@@ -5812,11 +5868,10 @@ interface SonarjsRules {
|
|
|
5812
5868
|
*/
|
|
5813
5869
|
'sonarjs/disabled-timeout'?: Linter.RuleEntry<[]>;
|
|
5814
5870
|
/**
|
|
5815
|
-
*
|
|
5816
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/
|
|
5817
|
-
* @deprecated
|
|
5871
|
+
* DOMPurify configuration should not be bypassable
|
|
5872
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
|
|
5818
5873
|
*/
|
|
5819
|
-
'sonarjs/
|
|
5874
|
+
'sonarjs/dompurify-unsafe-config'?: Linter.RuleEntry<[]>;
|
|
5820
5875
|
/**
|
|
5821
5876
|
* Character classes in regular expressions should not contain the same character twice
|
|
5822
5877
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
|
|
@@ -5837,28 +5892,21 @@ interface SonarjsRules {
|
|
|
5837
5892
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
|
|
5838
5893
|
*/
|
|
5839
5894
|
'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
5895
|
/**
|
|
5847
5896
|
* Encryption algorithms should be used with secure mode and padding scheme
|
|
5848
5897
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
|
|
5849
5898
|
*/
|
|
5850
5899
|
'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
5900
|
/**
|
|
5858
5901
|
* Replacement strings should reference existing regular expression groups
|
|
5859
5902
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6328/javascript
|
|
5860
5903
|
*/
|
|
5861
5904
|
'sonarjs/existing-groups'?: Linter.RuleEntry<[]>;
|
|
5905
|
+
/**
|
|
5906
|
+
* Tests should be skipped explicitly
|
|
5907
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8968/javascript
|
|
5908
|
+
*/
|
|
5909
|
+
'sonarjs/explicit-test-skip'?: Linter.RuleEntry<[]>;
|
|
5862
5910
|
/**
|
|
5863
5911
|
* Expressions should not be too complex
|
|
5864
5912
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1067/javascript
|
|
@@ -5875,7 +5923,7 @@ interface SonarjsRules {
|
|
|
5875
5923
|
*/
|
|
5876
5924
|
'sonarjs/file-name-differ-from-class'?: Linter.RuleEntry<[]>;
|
|
5877
5925
|
/**
|
|
5878
|
-
*
|
|
5926
|
+
* File permissions should not be set to world-accessible values
|
|
5879
5927
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2612/javascript
|
|
5880
5928
|
*/
|
|
5881
5929
|
'sonarjs/file-permissions'?: Linter.RuleEntry<[]>;
|
|
@@ -5900,8 +5948,9 @@ interface SonarjsRules {
|
|
|
5900
5948
|
*/
|
|
5901
5949
|
'sonarjs/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
|
|
5902
5950
|
/**
|
|
5903
|
-
*
|
|
5951
|
+
* Content Security Policy frame-ancestors directive should not be disabled
|
|
5904
5952
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
|
|
5953
|
+
* @deprecated
|
|
5905
5954
|
*/
|
|
5906
5955
|
'sonarjs/frame-ancestors'?: Linter.RuleEntry<[]>;
|
|
5907
5956
|
/**
|
|
@@ -5935,15 +5984,21 @@ interface SonarjsRules {
|
|
|
5935
5984
|
*/
|
|
5936
5985
|
'sonarjs/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
|
|
5937
5986
|
/**
|
|
5938
|
-
*
|
|
5987
|
+
* Weak hashing algorithms should not be used
|
|
5939
5988
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
|
|
5940
5989
|
*/
|
|
5941
5990
|
'sonarjs/hashing'?: Linter.RuleEntry<[]>;
|
|
5942
5991
|
/**
|
|
5943
|
-
*
|
|
5992
|
+
* Hidden files should not be served statically
|
|
5944
5993
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
|
|
5994
|
+
* @deprecated
|
|
5945
5995
|
*/
|
|
5946
5996
|
'sonarjs/hidden-files'?: Linter.RuleEntry<[]>;
|
|
5997
|
+
/**
|
|
5998
|
+
* Lifecycle hooks should not be interleaved with test cases or nested suites
|
|
5999
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
|
|
6000
|
+
*/
|
|
6001
|
+
'sonarjs/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
|
|
5947
6002
|
/**
|
|
5948
6003
|
* "in" should not be used with primitive types
|
|
5949
6004
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
|
|
@@ -5960,7 +6015,7 @@ interface SonarjsRules {
|
|
|
5960
6015
|
*/
|
|
5961
6016
|
'sonarjs/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>;
|
|
5962
6017
|
/**
|
|
5963
|
-
*
|
|
6018
|
+
* Cookies should have the "secure" flag
|
|
5964
6019
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
|
|
5965
6020
|
*/
|
|
5966
6021
|
'sonarjs/insecure-cookie'?: Linter.RuleEntry<[]>;
|
|
@@ -5985,7 +6040,7 @@ interface SonarjsRules {
|
|
|
5985
6040
|
*/
|
|
5986
6041
|
'sonarjs/label-position'?: Linter.RuleEntry<[]>;
|
|
5987
6042
|
/**
|
|
5988
|
-
*
|
|
6043
|
+
* Opened windows should not have access to the originating page
|
|
5989
6044
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
|
|
5990
6045
|
*/
|
|
5991
6046
|
'sonarjs/link-with-target-blank'?: Linter.RuleEntry<[]>;
|
|
@@ -6009,6 +6064,11 @@ interface SonarjsRules {
|
|
|
6009
6064
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4622/javascript
|
|
6010
6065
|
*/
|
|
6011
6066
|
'sonarjs/max-union-size'?: Linter.RuleEntry<SonarjsMaxUnionSize>;
|
|
6067
|
+
/**
|
|
6068
|
+
* Lodash and Underscore.js `memoize` calls on functions with multiple parameters should use an explicit cache key function
|
|
6069
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8932/javascript
|
|
6070
|
+
*/
|
|
6071
|
+
'sonarjs/memoize-cache-key'?: Linter.RuleEntry<[]>;
|
|
6012
6072
|
/**
|
|
6013
6073
|
* "for" loop increment clauses should modify the loops' counters
|
|
6014
6074
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1994/javascript
|
|
@@ -6035,7 +6095,7 @@ interface SonarjsRules {
|
|
|
6035
6095
|
*/
|
|
6036
6096
|
'sonarjs/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
|
|
6037
6097
|
/**
|
|
6038
|
-
*
|
|
6098
|
+
* Angular built-in sanitization should not be disabled
|
|
6039
6099
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
|
|
6040
6100
|
*/
|
|
6041
6101
|
'sonarjs/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
|
|
@@ -6065,7 +6125,7 @@ interface SonarjsRules {
|
|
|
6065
6125
|
*/
|
|
6066
6126
|
'sonarjs/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
|
|
6067
6127
|
/**
|
|
6068
|
-
*
|
|
6128
|
+
* Clear-text protocols should not be used
|
|
6069
6129
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
|
|
6070
6130
|
*/
|
|
6071
6131
|
'sonarjs/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
|
|
@@ -6099,6 +6159,16 @@ interface SonarjsRules {
|
|
|
6099
6159
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1854/javascript
|
|
6100
6160
|
*/
|
|
6101
6161
|
'sonarjs/no-dead-store'?: Linter.RuleEntry<[]>;
|
|
6162
|
+
/**
|
|
6163
|
+
* UI test debug commands should not be committed to version control
|
|
6164
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8959/javascript
|
|
6165
|
+
*/
|
|
6166
|
+
'sonarjs/no-debug-commands-in-ui-tests'?: Linter.RuleEntry<[]>;
|
|
6167
|
+
/**
|
|
6168
|
+
* Default imports from modular utility libraries should not be used
|
|
6169
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8927/javascript
|
|
6170
|
+
*/
|
|
6171
|
+
'sonarjs/no-default-utility-imports'?: Linter.RuleEntry<[]>;
|
|
6102
6172
|
/**
|
|
6103
6173
|
* "delete" should be used only with object properties
|
|
6104
6174
|
* @see https://sonarsource.github.io/rspec/#/rspec/S3001/javascript
|
|
@@ -6114,6 +6184,11 @@ interface SonarjsRules {
|
|
|
6114
6184
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
|
|
6115
6185
|
*/
|
|
6116
6186
|
'sonarjs/no-duplicate-string'?: Linter.RuleEntry<SonarjsNoDuplicateString>;
|
|
6187
|
+
/**
|
|
6188
|
+
* Test titles should be unique within the same suite
|
|
6189
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
|
|
6190
|
+
*/
|
|
6191
|
+
'sonarjs/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
|
|
6117
6192
|
/**
|
|
6118
6193
|
* Two branches in a conditional structure should not have exactly the same implementation
|
|
6119
6194
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
|
|
@@ -6154,6 +6229,11 @@ interface SonarjsRules {
|
|
|
6154
6229
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
|
|
6155
6230
|
*/
|
|
6156
6231
|
'sonarjs/no-empty-test-file'?: Linter.RuleEntry<[]>;
|
|
6232
|
+
/**
|
|
6233
|
+
* Test and suite titles should not be empty or whitespace-only
|
|
6234
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
|
|
6235
|
+
*/
|
|
6236
|
+
'sonarjs/no-empty-test-title'?: Linter.RuleEntry<[]>;
|
|
6157
6237
|
/**
|
|
6158
6238
|
* Equality operators should not be used in "for" loop termination conditions
|
|
6159
6239
|
* @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
|
|
@@ -6174,11 +6254,26 @@ interface SonarjsRules {
|
|
|
6174
6254
|
* @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
|
|
6175
6255
|
*/
|
|
6176
6256
|
'sonarjs/no-fallthrough'?: Linter.RuleEntry<[]>;
|
|
6257
|
+
/**
|
|
6258
|
+
* Fixed waits should not be used in tests
|
|
6259
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S2925/javascript
|
|
6260
|
+
*/
|
|
6261
|
+
'sonarjs/no-fixed-wait-in-tests'?: Linter.RuleEntry<[]>;
|
|
6262
|
+
/**
|
|
6263
|
+
* Floating point numbers should not be tested for equality
|
|
6264
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
|
|
6265
|
+
*/
|
|
6266
|
+
'sonarjs/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
6177
6267
|
/**
|
|
6178
6268
|
* "for in" should not be used with iterables
|
|
6179
6269
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
|
|
6180
6270
|
*/
|
|
6181
6271
|
'sonarjs/no-for-in-iterable'?: Linter.RuleEntry<[]>;
|
|
6272
|
+
/**
|
|
6273
|
+
* Forced browser interactions should not bypass actionability checks
|
|
6274
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
|
|
6275
|
+
*/
|
|
6276
|
+
'sonarjs/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
|
|
6182
6277
|
/**
|
|
6183
6278
|
* Function declarations should not be made within blocks
|
|
6184
6279
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
|
|
@@ -6200,7 +6295,7 @@ interface SonarjsRules {
|
|
|
6200
6295
|
*/
|
|
6201
6296
|
'sonarjs/no-gratuitous-expressions'?: Linter.RuleEntry<[]>;
|
|
6202
6297
|
/**
|
|
6203
|
-
*
|
|
6298
|
+
* IP addresses should not be hardcoded
|
|
6204
6299
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
|
|
6205
6300
|
*/
|
|
6206
6301
|
'sonarjs/no-hardcoded-ip'?: Linter.RuleEntry<[]>;
|
|
@@ -6259,6 +6354,11 @@ interface SonarjsRules {
|
|
|
6259
6354
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
|
|
6260
6355
|
*/
|
|
6261
6356
|
'sonarjs/no-in-misuse'?: Linter.RuleEntry<[]>;
|
|
6357
|
+
/**
|
|
6358
|
+
* Assertions comparing incompatible types should not be made
|
|
6359
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
|
|
6360
|
+
*/
|
|
6361
|
+
'sonarjs/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
|
|
6262
6362
|
/**
|
|
6263
6363
|
* Assertions should be complete
|
|
6264
6364
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
|
|
@@ -6280,8 +6380,14 @@ interface SonarjsRules {
|
|
|
6280
6380
|
*/
|
|
6281
6381
|
'sonarjs/no-internal-api-use'?: Linter.RuleEntry<[]>;
|
|
6282
6382
|
/**
|
|
6283
|
-
*
|
|
6383
|
+
* Inline snapshots should not contain interpolations
|
|
6384
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8967/javascript
|
|
6385
|
+
*/
|
|
6386
|
+
'sonarjs/no-interpolation-in-inline-snapshots'?: Linter.RuleEntry<[]>;
|
|
6387
|
+
/**
|
|
6388
|
+
* Sensitive permissions should not be requested unnecessarily
|
|
6284
6389
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
|
|
6390
|
+
* @deprecated
|
|
6285
6391
|
*/
|
|
6286
6392
|
'sonarjs/no-intrusive-permissions'?: Linter.RuleEntry<SonarjsNoIntrusivePermissions>;
|
|
6287
6393
|
/**
|
|
@@ -6300,8 +6406,9 @@ interface SonarjsRules {
|
|
|
6300
6406
|
*/
|
|
6301
6407
|
'sonarjs/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
|
|
6302
6408
|
/**
|
|
6303
|
-
*
|
|
6409
|
+
* Client IP address should not be forwarded to proxies
|
|
6304
6410
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
|
|
6411
|
+
* @deprecated
|
|
6305
6412
|
*/
|
|
6306
6413
|
'sonarjs/no-ip-forward'?: Linter.RuleEntry<[]>;
|
|
6307
6414
|
/**
|
|
@@ -6315,7 +6422,7 @@ interface SonarjsRules {
|
|
|
6315
6422
|
*/
|
|
6316
6423
|
'sonarjs/no-literal-call'?: Linter.RuleEntry<[]>;
|
|
6317
6424
|
/**
|
|
6318
|
-
*
|
|
6425
|
+
* Browsers should not be allowed to perform MIME type sniffing
|
|
6319
6426
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
|
|
6320
6427
|
*/
|
|
6321
6428
|
'sonarjs/no-mime-sniff'?: Linter.RuleEntry<[]>;
|
|
@@ -6330,8 +6437,14 @@ interface SonarjsRules {
|
|
|
6330
6437
|
*/
|
|
6331
6438
|
'sonarjs/no-misleading-character-class'?: Linter.RuleEntry<[]>;
|
|
6332
6439
|
/**
|
|
6333
|
-
*
|
|
6440
|
+
* Test and hook callbacks should use a single completion style
|
|
6441
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8960/javascript
|
|
6442
|
+
*/
|
|
6443
|
+
'sonarjs/no-mixed-completion-style'?: Linter.RuleEntry<[]>;
|
|
6444
|
+
/**
|
|
6445
|
+
* Content Security Policy should block mixed-content
|
|
6334
6446
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
|
|
6447
|
+
* @deprecated
|
|
6335
6448
|
*/
|
|
6336
6449
|
'sonarjs/no-mixed-content'?: Linter.RuleEntry<[]>;
|
|
6337
6450
|
/**
|
|
@@ -6365,7 +6478,7 @@ interface SonarjsRules {
|
|
|
6365
6478
|
*/
|
|
6366
6479
|
'sonarjs/no-nested-template-literals'?: Linter.RuleEntry<[]>;
|
|
6367
6480
|
/**
|
|
6368
|
-
*
|
|
6481
|
+
* OS commands should not rely on PATH resolution
|
|
6369
6482
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
|
|
6370
6483
|
*/
|
|
6371
6484
|
'sonarjs/no-os-command-from-path'?: Linter.RuleEntry<[]>;
|
|
@@ -6400,7 +6513,7 @@ interface SonarjsRules {
|
|
|
6400
6513
|
*/
|
|
6401
6514
|
'sonarjs/no-redundant-optional'?: Linter.RuleEntry<[]>;
|
|
6402
6515
|
/**
|
|
6403
|
-
*
|
|
6516
|
+
* Unnecessary parentheses should be removed
|
|
6404
6517
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1110/javascript
|
|
6405
6518
|
* @deprecated
|
|
6406
6519
|
*/
|
|
@@ -6411,7 +6524,7 @@ interface SonarjsRules {
|
|
|
6411
6524
|
*/
|
|
6412
6525
|
'sonarjs/no-reference-error'?: Linter.RuleEntry<[]>;
|
|
6413
6526
|
/**
|
|
6414
|
-
*
|
|
6527
|
+
* HTTP Referrer-Policy should not be set to an unsafe value
|
|
6415
6528
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
|
|
6416
6529
|
*/
|
|
6417
6530
|
'sonarjs/no-referrer-policy'?: Linter.RuleEntry<[]>;
|
|
@@ -6445,6 +6558,11 @@ interface SonarjsRules {
|
|
|
6445
6558
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2301/javascript
|
|
6446
6559
|
*/
|
|
6447
6560
|
'sonarjs/no-selector-parameter'?: Linter.RuleEntry<[]>;
|
|
6561
|
+
/**
|
|
6562
|
+
* Static Assets should not serve session cookies
|
|
6563
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8441/javascript
|
|
6564
|
+
*/
|
|
6565
|
+
'sonarjs/no-session-cookies-on-static-assets'?: Linter.RuleEntry<[]>;
|
|
6448
6566
|
/**
|
|
6449
6567
|
* Tests should not be skipped without providing a reason
|
|
6450
6568
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1607/javascript
|
|
@@ -6471,6 +6589,11 @@ interface SonarjsRules {
|
|
|
6471
6589
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
|
|
6472
6590
|
*/
|
|
6473
6591
|
'sonarjs/no-table-as-layout'?: Linter.RuleEntry<[]>;
|
|
6592
|
+
/**
|
|
6593
|
+
* Assertions should not be trivially true
|
|
6594
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
|
|
6595
|
+
*/
|
|
6596
|
+
'sonarjs/no-trivial-assertions'?: Linter.RuleEntry<[]>;
|
|
6474
6597
|
/**
|
|
6475
6598
|
* Promise rejections should not be caught by "try" blocks
|
|
6476
6599
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
|
|
@@ -6497,8 +6620,9 @@ interface SonarjsRules {
|
|
|
6497
6620
|
*/
|
|
6498
6621
|
'sonarjs/no-uniq-key'?: Linter.RuleEntry<[]>;
|
|
6499
6622
|
/**
|
|
6500
|
-
* Expanding archive files without controlling resource consumption
|
|
6623
|
+
* Expanding archive files should not be done without controlling resource consumption
|
|
6501
6624
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
|
|
6625
|
+
* @deprecated
|
|
6502
6626
|
*/
|
|
6503
6627
|
'sonarjs/no-unsafe-unzip'?: Linter.RuleEntry<[]>;
|
|
6504
6628
|
/**
|
|
@@ -6551,12 +6675,6 @@ interface SonarjsRules {
|
|
|
6551
6675
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
|
|
6552
6676
|
*/
|
|
6553
6677
|
'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
6678
|
/**
|
|
6561
6679
|
* Cipher algorithms should be robust
|
|
6562
6680
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
|
|
@@ -6598,10 +6716,16 @@ interface SonarjsRules {
|
|
|
6598
6716
|
*/
|
|
6599
6717
|
'sonarjs/operation-returning-nan'?: Linter.RuleEntry<[]>;
|
|
6600
6718
|
/**
|
|
6601
|
-
*
|
|
6719
|
+
* OS commands should not be executed using a shell interpreter
|
|
6602
6720
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
|
|
6721
|
+
* @deprecated
|
|
6603
6722
|
*/
|
|
6604
6723
|
'sonarjs/os-command'?: Linter.RuleEntry<[]>;
|
|
6724
|
+
/**
|
|
6725
|
+
* Similar tests should be grouped in a single Parameterized test
|
|
6726
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5976/javascript
|
|
6727
|
+
*/
|
|
6728
|
+
'sonarjs/parameterized-tests'?: Linter.RuleEntry<[]>;
|
|
6605
6729
|
/**
|
|
6606
6730
|
* Origins should be verified during cross-origin communications
|
|
6607
6731
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2819/javascript
|
|
@@ -6617,6 +6741,11 @@ interface SonarjsRules {
|
|
|
6617
6741
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1488/javascript
|
|
6618
6742
|
*/
|
|
6619
6743
|
'sonarjs/prefer-immediate-return'?: Linter.RuleEntry<[]>;
|
|
6744
|
+
/**
|
|
6745
|
+
* Native APIs should be preferred over Lodash and Underscore.js methods
|
|
6746
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8907/javascript
|
|
6747
|
+
*/
|
|
6748
|
+
'sonarjs/prefer-native-lodash-alternative'?: Linter.RuleEntry<[]>;
|
|
6620
6749
|
/**
|
|
6621
6750
|
* Object literal syntax should be used
|
|
6622
6751
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2428/javascript
|
|
@@ -6642,6 +6771,11 @@ interface SonarjsRules {
|
|
|
6642
6771
|
* @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
|
|
6643
6772
|
*/
|
|
6644
6773
|
'sonarjs/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
|
|
6774
|
+
/**
|
|
6775
|
+
* The most specific assertion should be used
|
|
6776
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
|
|
6777
|
+
*/
|
|
6778
|
+
'sonarjs/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
|
|
6645
6779
|
/**
|
|
6646
6780
|
* Type predicates should be used
|
|
6647
6781
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
|
|
@@ -6653,18 +6787,12 @@ interface SonarjsRules {
|
|
|
6653
6787
|
*/
|
|
6654
6788
|
'sonarjs/prefer-while'?: Linter.RuleEntry<[]>;
|
|
6655
6789
|
/**
|
|
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
|
|
6790
|
+
* Debugging features should not be enabled in production
|
|
6663
6791
|
* @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
|
|
6664
6792
|
*/
|
|
6665
6793
|
'sonarjs/production-debug'?: Linter.RuleEntry<[]>;
|
|
6666
6794
|
/**
|
|
6667
|
-
*
|
|
6795
|
+
* Pseudorandom number generators (PRNGs) should not be used in security contexts
|
|
6668
6796
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
|
|
6669
6797
|
*/
|
|
6670
6798
|
'sonarjs/pseudo-random'?: Linter.RuleEntry<[]>;
|
|
@@ -6674,7 +6802,7 @@ interface SonarjsRules {
|
|
|
6674
6802
|
*/
|
|
6675
6803
|
'sonarjs/public-static-readonly'?: Linter.RuleEntry<[]>;
|
|
6676
6804
|
/**
|
|
6677
|
-
*
|
|
6805
|
+
* Temporary files should not be created in publicly writable directories
|
|
6678
6806
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
|
|
6679
6807
|
*/
|
|
6680
6808
|
'sonarjs/publicly-writable-directories'?: Linter.RuleEntry<[]>;
|
|
@@ -6693,12 +6821,6 @@ interface SonarjsRules {
|
|
|
6693
6821
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
|
|
6694
6822
|
*/
|
|
6695
6823
|
'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
6824
|
/**
|
|
6703
6825
|
* Wallet phrases should not be hard-coded
|
|
6704
6826
|
* @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
|
|
@@ -6725,18 +6847,12 @@ interface SonarjsRules {
|
|
|
6725
6847
|
*/
|
|
6726
6848
|
'sonarjs/single-character-alternation'?: Linter.RuleEntry<[]>;
|
|
6727
6849
|
/**
|
|
6728
|
-
*
|
|
6850
|
+
* Regular expressions should not cause catastrophic backtracking
|
|
6729
6851
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
|
|
6730
6852
|
*/
|
|
6731
6853
|
'sonarjs/slow-regex'?: Linter.RuleEntry<[]>;
|
|
6732
6854
|
/**
|
|
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
|
|
6855
|
+
* SQL queries should not be dynamically formatted
|
|
6740
6856
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
|
|
6741
6857
|
*/
|
|
6742
6858
|
'sonarjs/sql-queries'?: Linter.RuleEntry<[]>;
|
|
@@ -6745,19 +6861,13 @@ interface SonarjsRules {
|
|
|
6745
6861
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
|
|
6746
6862
|
*/
|
|
6747
6863
|
'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
6864
|
/**
|
|
6755
6865
|
* Regular expressions with the global flag should be used with caution
|
|
6756
6866
|
* @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
|
|
6757
6867
|
*/
|
|
6758
6868
|
'sonarjs/stateful-regex'?: Linter.RuleEntry<[]>;
|
|
6759
6869
|
/**
|
|
6760
|
-
*
|
|
6870
|
+
* HTTP Strict-Transport-Security policy should not be disabled
|
|
6761
6871
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
|
|
6762
6872
|
*/
|
|
6763
6873
|
'sonarjs/strict-transport-security'?: Linter.RuleEntry<[]>;
|
|
@@ -6767,10 +6877,15 @@ interface SonarjsRules {
|
|
|
6767
6877
|
*/
|
|
6768
6878
|
'sonarjs/strings-comparison'?: Linter.RuleEntry<[]>;
|
|
6769
6879
|
/**
|
|
6770
|
-
*
|
|
6771
|
-
* @see https://sonarsource.github.io/rspec/#/rspec/
|
|
6880
|
+
* Regular expressions should not cause non-linear backtracking
|
|
6881
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
|
|
6882
|
+
*/
|
|
6883
|
+
'sonarjs/super-linear-regex'?: Linter.RuleEntry<[]>;
|
|
6884
|
+
/**
|
|
6885
|
+
* Tests should not be registered asynchronously in suite callbacks
|
|
6886
|
+
* @see https://sonarsource.github.io/rspec/#/rspec/S8785/javascript
|
|
6772
6887
|
*/
|
|
6773
|
-
'sonarjs/
|
|
6888
|
+
'sonarjs/synchronous-suite-callback'?: Linter.RuleEntry<[]>;
|
|
6774
6889
|
/**
|
|
6775
6890
|
* Tables should have headers
|
|
6776
6891
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
|
|
@@ -6869,7 +6984,7 @@ interface SonarjsRules {
|
|
|
6869
6984
|
*/
|
|
6870
6985
|
'sonarjs/web-sql-database'?: Linter.RuleEntry<[]>;
|
|
6871
6986
|
/**
|
|
6872
|
-
*
|
|
6987
|
+
* Web application technologies should not disclose version information
|
|
6873
6988
|
* @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
|
|
6874
6989
|
*/
|
|
6875
6990
|
'sonarjs/x-powered-by'?: Linter.RuleEntry<[]>;
|
|
@@ -6878,12 +6993,6 @@ interface SonarjsRules {
|
|
|
6878
6993
|
* @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
|
|
6879
6994
|
*/
|
|
6880
6995
|
'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
6996
|
}
|
|
6888
6997
|
type SonarjsArrowFunctionConvention = [] | [{
|
|
6889
6998
|
requireParameterParentheses?: boolean;
|
|
@@ -6892,7 +7001,7 @@ type SonarjsArrowFunctionConvention = [] | [{
|
|
|
6892
7001
|
type SonarjsClassName = [] | [{
|
|
6893
7002
|
format?: string;
|
|
6894
7003
|
}];
|
|
6895
|
-
type SonarjsCognitiveComplexity = [] | [(number |
|
|
7004
|
+
type SonarjsCognitiveComplexity = [] | [(number | "silence-issues")] | [(number | "silence-issues"), "silence-issues"];
|
|
6896
7005
|
type SonarjsCommentRegex = [] | [{
|
|
6897
7006
|
regularExpression?: string;
|
|
6898
7007
|
message?: string;
|
|
@@ -6905,15 +7014,6 @@ type SonarjsContentLength = [] | [{
|
|
|
6905
7014
|
type SonarjsCyclomaticComplexity = [] | [{
|
|
6906
7015
|
threshold?: number;
|
|
6907
7016
|
}];
|
|
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
7017
|
type SonarjsExpressionComplexity = [] | [{
|
|
6918
7018
|
max?: number;
|
|
6919
7019
|
}];
|
|
@@ -7089,6 +7189,11 @@ interface PlaywrightRules {
|
|
|
7089
7189
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-hooks.md
|
|
7090
7190
|
*/
|
|
7091
7191
|
'playwright/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
|
|
7192
|
+
/**
|
|
7193
|
+
* Disallow multiple `test.slow()` calls in the same test
|
|
7194
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-slow.md
|
|
7195
|
+
*/
|
|
7196
|
+
'playwright/no-duplicate-slow'?: Linter.RuleEntry<[]>;
|
|
7092
7197
|
/**
|
|
7093
7198
|
* The use of ElementHandle is discouraged, use Locator instead
|
|
7094
7199
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-element-handle.md
|
|
@@ -7154,6 +7259,11 @@ interface PlaywrightRules {
|
|
|
7154
7259
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-matchers.md
|
|
7155
7260
|
*/
|
|
7156
7261
|
'playwright/no-restricted-matchers'?: Linter.RuleEntry<PlaywrightNoRestrictedMatchers>;
|
|
7262
|
+
/**
|
|
7263
|
+
* Disallows the usage of specific roles in getByRole()
|
|
7264
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-roles.md
|
|
7265
|
+
*/
|
|
7266
|
+
'playwright/no-restricted-roles'?: Linter.RuleEntry<PlaywrightNoRestrictedRoles>;
|
|
7157
7267
|
/**
|
|
7158
7268
|
* Prevent usage of the `.skip()` skip test annotation.
|
|
7159
7269
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-skipped-test.md
|
|
@@ -7169,6 +7279,11 @@ interface PlaywrightRules {
|
|
|
7169
7279
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-standalone-expect.md
|
|
7170
7280
|
*/
|
|
7171
7281
|
'playwright/no-standalone-expect'?: Linter.RuleEntry<[]>;
|
|
7282
|
+
/**
|
|
7283
|
+
* Disallow assertions on a Locator that can never fail
|
|
7284
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-unnecessary-assertions.md
|
|
7285
|
+
*/
|
|
7286
|
+
'playwright/no-unnecessary-assertions'?: Linter.RuleEntry<[]>;
|
|
7172
7287
|
/**
|
|
7173
7288
|
* Prevent unsafe variable references in page.evaluate() and page.addInitScript()
|
|
7174
7289
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/no-unsafe-references.md
|
|
@@ -7279,6 +7394,16 @@ interface PlaywrightRules {
|
|
|
7279
7394
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-soft-assertions.md
|
|
7280
7395
|
*/
|
|
7281
7396
|
'playwright/require-soft-assertions'?: Linter.RuleEntry<[]>;
|
|
7397
|
+
/**
|
|
7398
|
+
* Require test blocks to have tags
|
|
7399
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-tags.md
|
|
7400
|
+
*/
|
|
7401
|
+
'playwright/require-tags'?: Linter.RuleEntry<[]>;
|
|
7402
|
+
/**
|
|
7403
|
+
* Require a timeout option for `toPass()`
|
|
7404
|
+
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-pass-timeout.md
|
|
7405
|
+
*/
|
|
7406
|
+
'playwright/require-to-pass-timeout'?: Linter.RuleEntry<[]>;
|
|
7282
7407
|
/**
|
|
7283
7408
|
* Require a message for `toThrow()`
|
|
7284
7409
|
* @see https://github.com/mskelton/eslint-plugin-playwright/tree/main/docs/rules/require-to-throw-message.md
|
|
@@ -7327,6 +7452,7 @@ type PlaywrightMaxNestedDescribe = [] | [{
|
|
|
7327
7452
|
}];
|
|
7328
7453
|
type PlaywrightMissingPlaywrightAwait = [] | [{
|
|
7329
7454
|
customMatchers?: string[];
|
|
7455
|
+
includePageLocatorMethods?: boolean;
|
|
7330
7456
|
}];
|
|
7331
7457
|
type PlaywrightNoHooks = [] | [{
|
|
7332
7458
|
allow?: unknown[];
|
|
@@ -7341,8 +7467,13 @@ type PlaywrightNoRestrictedLocators = [] | [(string | {
|
|
|
7341
7467
|
type PlaywrightNoRestrictedMatchers = [] | [{
|
|
7342
7468
|
[k: string]: (string | null) | undefined;
|
|
7343
7469
|
}];
|
|
7470
|
+
type PlaywrightNoRestrictedRoles = [] | [(string | {
|
|
7471
|
+
message?: string;
|
|
7472
|
+
role: string;
|
|
7473
|
+
})[]];
|
|
7344
7474
|
type PlaywrightNoSkippedTest = [] | [{
|
|
7345
7475
|
allowConditional?: boolean;
|
|
7476
|
+
disallowFixme?: boolean;
|
|
7346
7477
|
}];
|
|
7347
7478
|
type PlaywrightNoSlowedTest = [] | [{
|
|
7348
7479
|
allowConditional?: boolean;
|