@antfu/eslint-config 9.4.0 → 9.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/dist/index.d.mts CHANGED
@@ -3718,6 +3718,11 @@ interface RuleOptions {
3718
3718
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-valid-catalog.test.ts
3719
3719
  */
3720
3720
  'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
3721
+ /**
3722
+ * Require blank lines around multi-line entries in `pnpm-workspace.yaml`, and disallow them between single-line entries
3723
+ * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-blank-lines.test.ts
3724
+ */
3725
+ 'pnpm/yaml-blank-lines'?: Linter.RuleEntry<[]>;
3721
3726
  /**
3722
3727
  * Enforce settings in `pnpm-workspace.yaml`
3723
3728
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-enforce-settings.test.ts
@@ -4841,312 +4846,1748 @@ interface RuleOptions {
4841
4846
  * enforce using `+` quantifier
4842
4847
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-plus-quantifier.html
4843
4848
  */
4844
- 'regexp/prefer-plus-quantifier'?: Linter.RuleEntry<[]>;
4849
+ 'regexp/prefer-plus-quantifier'?: Linter.RuleEntry<[]>;
4850
+ /**
4851
+ * prefer predefined assertion over equivalent lookarounds
4852
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-predefined-assertion.html
4853
+ */
4854
+ 'regexp/prefer-predefined-assertion'?: Linter.RuleEntry<[]>;
4855
+ /**
4856
+ * enforce using quantifier
4857
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
4858
+ */
4859
+ 'regexp/prefer-quantifier'?: Linter.RuleEntry<RegexpPreferQuantifier>;
4860
+ /**
4861
+ * enforce using `?` quantifier
4862
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
4863
+ */
4864
+ 'regexp/prefer-question-quantifier'?: Linter.RuleEntry<[]>;
4865
+ /**
4866
+ * enforce using character class range
4867
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-range.html
4868
+ */
4869
+ 'regexp/prefer-range'?: Linter.RuleEntry<RegexpPreferRange>;
4870
+ /**
4871
+ * enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
4872
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
4873
+ */
4874
+ 'regexp/prefer-regexp-exec'?: Linter.RuleEntry<[]>;
4875
+ /**
4876
+ * enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
4877
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
4878
+ */
4879
+ 'regexp/prefer-regexp-test'?: Linter.RuleEntry<[]>;
4880
+ /**
4881
+ * enforce using result array `groups`
4882
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
4883
+ */
4884
+ 'regexp/prefer-result-array-groups'?: Linter.RuleEntry<RegexpPreferResultArrayGroups>;
4885
+ /**
4886
+ * prefer character class set operations instead of lookarounds
4887
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
4888
+ */
4889
+ 'regexp/prefer-set-operation'?: Linter.RuleEntry<[]>;
4890
+ /**
4891
+ * enforce using `*` quantifier
4892
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
4893
+ */
4894
+ 'regexp/prefer-star-quantifier'?: Linter.RuleEntry<[]>;
4895
+ /**
4896
+ * enforce use of unicode codepoint escapes
4897
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
4898
+ */
4899
+ 'regexp/prefer-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
4900
+ /**
4901
+ * enforce using `\w`
4902
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
4903
+ */
4904
+ 'regexp/prefer-w'?: Linter.RuleEntry<[]>;
4905
+ /**
4906
+ * enforce the use of the `u` flag
4907
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
4908
+ */
4909
+ 'regexp/require-unicode-regexp'?: Linter.RuleEntry<[]>;
4910
+ /**
4911
+ * enforce the use of the `v` flag
4912
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
4913
+ */
4914
+ 'regexp/require-unicode-sets-regexp'?: Linter.RuleEntry<[]>;
4915
+ /**
4916
+ * require simplify set operations
4917
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
4918
+ */
4919
+ 'regexp/simplify-set-operations'?: Linter.RuleEntry<[]>;
4920
+ /**
4921
+ * sort alternatives if order doesn't matter
4922
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
4923
+ */
4924
+ 'regexp/sort-alternatives'?: Linter.RuleEntry<[]>;
4925
+ /**
4926
+ * enforces elements order in character class
4927
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
4928
+ */
4929
+ 'regexp/sort-character-class-elements'?: Linter.RuleEntry<RegexpSortCharacterClassElements>;
4930
+ /**
4931
+ * require regex flags to be sorted
4932
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
4933
+ */
4934
+ 'regexp/sort-flags'?: Linter.RuleEntry<[]>;
4935
+ /**
4936
+ * disallow not strictly valid regular expressions
4937
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
4938
+ */
4939
+ 'regexp/strict'?: Linter.RuleEntry<[]>;
4940
+ /**
4941
+ * enforce consistent usage of unicode escape or unicode codepoint escape
4942
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
4943
+ */
4944
+ 'regexp/unicode-escape'?: Linter.RuleEntry<RegexpUnicodeEscape>;
4945
+ /**
4946
+ * enforce consistent naming of unicode properties
4947
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
4948
+ */
4949
+ 'regexp/unicode-property'?: Linter.RuleEntry<RegexpUnicodeProperty>;
4950
+ /**
4951
+ * use the `i` flag if it simplifies the pattern
4952
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
4953
+ */
4954
+ 'regexp/use-ignore-case'?: Linter.RuleEntry<[]>;
4955
+ /**
4956
+ * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
4957
+ * @see https://eslint.org/docs/latest/rules/require-atomic-updates
4958
+ */
4959
+ 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>;
4960
+ /**
4961
+ * Disallow async functions which have no `await` expression
4962
+ * @see https://eslint.org/docs/latest/rules/require-await
4963
+ */
4964
+ 'require-await'?: Linter.RuleEntry<[]>;
4965
+ /**
4966
+ * Enforce the use of `u` or `v` flag on regular expressions
4967
+ * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
4968
+ */
4969
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>;
4970
+ /**
4971
+ * Require generator functions to contain `yield`
4972
+ * @see https://eslint.org/docs/latest/rules/require-yield
4973
+ */
4974
+ 'require-yield'?: Linter.RuleEntry<[]>;
4975
+ /**
4976
+ * Enforce spacing between rest and spread operators and their expressions
4977
+ * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
4978
+ * @deprecated
4979
+ */
4980
+ 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>;
4981
+ /**
4982
+ * Require or disallow semicolons instead of ASI
4983
+ * @see https://eslint.org/docs/latest/rules/semi
4984
+ * @deprecated
4985
+ */
4986
+ 'semi'?: Linter.RuleEntry<Semi>;
4987
+ /**
4988
+ * Enforce consistent spacing before and after semicolons
4989
+ * @see https://eslint.org/docs/latest/rules/semi-spacing
4990
+ * @deprecated
4991
+ */
4992
+ 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>;
4993
+ /**
4994
+ * Enforce location of semicolons
4995
+ * @see https://eslint.org/docs/latest/rules/semi-style
4996
+ * @deprecated
4997
+ */
4998
+ 'semi-style'?: Linter.RuleEntry<SemiStyle>;
4999
+ /**
5000
+ * Limit comments by word count.
5001
+ */
5002
+ 'slop/max-comment-length'?: Linter.RuleEntry<SlopMaxCommentLength>;
5003
+ /**
5004
+ * Disallow chains of TypeScript type assertions.
5005
+ */
5006
+ 'slop/no-chained-type-assertions'?: Linter.RuleEntry<SlopNoChainedTypeAssertions>;
5007
+ /**
5008
+ * Disallow em dashes in source text.
5009
+ */
5010
+ 'slop/no-em-dash'?: Linter.RuleEntry<SlopNoEmDash>;
5011
+ /**
5012
+ * Disallow inflated vocabulary in comments.
5013
+ */
5014
+ 'slop/no-jargon'?: Linter.RuleEntry<SlopNoJargon>;
5015
+ /**
5016
+ * Disallow low-use top-level forwarding and property-access functions.
5017
+ */
5018
+ 'slop/no-trivial-functions'?: Linter.RuleEntry<SlopNoTrivialFunctions>;
5019
+ /**
5020
+ * Disallow type aliases that resolve only to a primitive or unknown.
5021
+ */
5022
+ 'slop/no-trivial-type-aliases'?: Linter.RuleEntry<SlopNoTrivialTypeAliases>;
5023
+ /**
5024
+ * Require /** *\/ rather than // for the comment documenting an export or member.
5025
+ */
5026
+ 'slop/prefer-jsdoc'?: Linter.RuleEntry<SlopPreferJsdoc>;
5027
+ /**
5028
+ * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
5029
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/components-return-once.md
5030
+ */
5031
+ 'solid/components-return-once'?: Linter.RuleEntry<[]>;
5032
+ /**
5033
+ * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
5034
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/event-handlers.md
5035
+ */
5036
+ 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>;
5037
+ /**
5038
+ * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
5039
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/imports.md
5040
+ */
5041
+ 'solid/imports'?: Linter.RuleEntry<[]>;
5042
+ /**
5043
+ * Disallow passing the same prop twice in JSX.
5044
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-duplicate-props.md
5045
+ */
5046
+ 'solid/jsx-no-duplicate-props'?: Linter.RuleEntry<SolidJsxNoDuplicateProps>;
5047
+ /**
5048
+ * Disallow javascript: URLs.
5049
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-script-url.md
5050
+ */
5051
+ 'solid/jsx-no-script-url'?: Linter.RuleEntry<[]>;
5052
+ /**
5053
+ * Disallow references to undefined variables in JSX. Handles custom directives.
5054
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-undef.md
5055
+ */
5056
+ 'solid/jsx-no-undef'?: Linter.RuleEntry<SolidJsxNoUndef>;
5057
+ /**
5058
+ * Prevent variables used in JSX from being marked as unused.
5059
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-uses-vars.md
5060
+ */
5061
+ 'solid/jsx-uses-vars'?: Linter.RuleEntry<[]>;
5062
+ /**
5063
+ * Disallow passing uncalled signal accessors or other functions as value-typed DOM element attributes.
5064
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-accessor-as-prop.md
5065
+ */
5066
+ 'solid/no-accessor-as-prop'?: Linter.RuleEntry<[]>;
5067
+ /**
5068
+ * Disallow usage of type-unsafe event handlers.
5069
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-array-handlers.md
5070
+ */
5071
+ 'solid/no-array-handlers'?: Linter.RuleEntry<[]>;
5072
+ /**
5073
+ * Disallow browser-only globals inside server functions, which run exclusively on the server.
5074
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-browser-globals-in-server-function.md
5075
+ */
5076
+ 'solid/no-browser-globals-in-server-function'?: Linter.RuleEntry<[]>;
5077
+ /**
5078
+ * Disallow destructuring props. In Solid, props must be used with property accesses (`props.foo`) to preserve reactivity. This rule only tracks destructuring in the parameter list.
5079
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-destructure.md
5080
+ */
5081
+ 'solid/no-destructure'?: Linter.RuleEntry<[]>;
5082
+ /**
5083
+ * Disallow usage of the innerHTML attribute, which can often lead to security vulnerabilities.
5084
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-innerhtml.md
5085
+ */
5086
+ 'solid/no-innerhtml'?: Linter.RuleEntry<SolidNoInnerhtml>;
5087
+ /**
5088
+ * Disallow server functions from capturing variables in enclosing non-module scopes, mirroring the compiler's build-time validation.
5089
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-invalid-server-capture.md
5090
+ */
5091
+ 'solid/no-invalid-server-capture'?: Linter.RuleEntry<[]>;
5092
+ /**
5093
+ * Disallow reactive primitives at module scope, where state is shared across SSR requests.
5094
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-module-scope-reactive-primitive.md
5095
+ */
5096
+ 'solid/no-module-scope-reactive-primitive'?: Linter.RuleEntry<[]>;
5097
+ /**
5098
+ * Disallow usage of APIs that use ES6 Proxies, only to target environments that don't support them.
5099
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-proxy-apis.md
5100
+ */
5101
+ 'solid/no-proxy-apis'?: Linter.RuleEntry<[]>;
5102
+ /**
5103
+ * Disallow usage of dependency arrays in `createEffect` and `createMemo`.
5104
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-deps.md
5105
+ */
5106
+ 'solid/no-react-deps'?: Linter.RuleEntry<[]>;
5107
+ /**
5108
+ * Disallow usage of React-specific `className`/`htmlFor` props, which were deprecated in v1.4.0.
5109
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-specific-props.md
5110
+ */
5111
+ 'solid/no-react-specific-props'?: Linter.RuleEntry<[]>;
5112
+ /**
5113
+ * Disallow restating a prop or option value that is already the default.
5114
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-restated-default-options.md
5115
+ */
5116
+ 'solid/no-restated-default-options'?: Linter.RuleEntry<[]>;
5117
+ /**
5118
+ * Require the two-argument `createEffect(compute, effect)` form used by Solid 2.0.
5119
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-single-arg-create-effect.md
5120
+ */
5121
+ 'solid/no-single-arg-create-effect'?: Linter.RuleEntry<[]>;
5122
+ /**
5123
+ * Enforce using only Solid-specific namespaced attribute names (i.e. `'on:'` in `<div on:click={...} />`).
5124
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-unknown-namespaces.md
5125
+ */
5126
+ 'solid/no-unknown-namespaces'?: Linter.RuleEntry<SolidNoUnknownNamespaces>;
5127
+ /**
5128
+ * Enforce using the classlist prop over importing a classnames helper. The classlist prop accepts an object `{ [class: string]: boolean }` just like classnames.
5129
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-classlist.md
5130
+ * @deprecated
5131
+ */
5132
+ 'solid/prefer-classlist'?: Linter.RuleEntry<SolidPreferClasslist>;
5133
+ /**
5134
+ * Enforce using Solid's `<For />` component for mapping an array to JSX elements.
5135
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-for.md
5136
+ */
5137
+ 'solid/prefer-for'?: Linter.RuleEntry<[]>;
5138
+ /**
5139
+ * Enforce running side-effectful setup (timers, global listeners, observers) inside `onSettled` instead of the component body.
5140
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-onSettled-for-side-effects.md
5141
+ */
5142
+ 'solid/prefer-onSettled-for-side-effects'?: Linter.RuleEntry<[]>;
5143
+ /**
5144
+ * Enforce using Solid's `<Show />` component for conditionally showing content. Solid's compiler covers this case, so it's a stylistic rule only.
5145
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-show.md
5146
+ */
5147
+ 'solid/prefer-show'?: Linter.RuleEntry<[]>;
5148
+ /**
5149
+ * Enforce using the structured array/object forms of the `class` prop over manually-built class strings.
5150
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-structured-class.md
5151
+ */
5152
+ 'solid/prefer-structured-class'?: Linter.RuleEntry<[]>;
5153
+ /**
5154
+ * Enforce that reactivity (props, signals, memos, etc.) is properly used, so changes in those values will be tracked and update the view as expected.
5155
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/reactivity.md
5156
+ */
5157
+ 'solid/reactivity'?: Linter.RuleEntry<SolidReactivity>;
5158
+ /**
5159
+ * Disallow Solid 1.x APIs that were removed or renamed in Solid 2.0, with migration guidance.
5160
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/removed-api.md
5161
+ */
5162
+ 'solid/removed-api'?: Linter.RuleEntry<[]>;
5163
+ /**
5164
+ * Require server functions to be async, matching their client-side contract.
5165
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/require-async-server-function.md
5166
+ */
5167
+ 'solid/require-async-server-function'?: Linter.RuleEntry<[]>;
5168
+ /**
5169
+ * Disallow extra closing tags for components without children.
5170
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/self-closing-comp.md
5171
+ */
5172
+ 'solid/self-closing-comp'?: Linter.RuleEntry<SolidSelfClosingComp>;
5173
+ /**
5174
+ * Require CSS properties in the `style` prop to be valid and kebab-cased (ex. 'font-size'), not camel-cased (ex. 'fontSize') like in React, and that property values with dimensions are strings, not numbers with implicit 'px' units.
5175
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/style-prop.md
5176
+ */
5177
+ 'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>;
5178
+ /**
5179
+ * Enforce that "use server" directives are placed where the compiler honors them, and that module-level directive files export working server functions.
5180
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/valid-use-server.md
5181
+ */
5182
+ 'solid/valid-use-server'?: Linter.RuleEntry<SolidValidUseServer>;
5183
+ /**
5184
+ * Alternatives in regular expressions should be grouped when used with anchors
5185
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5850/javascript
5186
+ */
5187
+ 'sonarjs/anchor-precedence'?: Linter.RuleEntry<[]>;
5188
+ /**
5189
+ * Arguments to built-in functions should match documented types
5190
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3782/javascript
5191
+ */
5192
+ 'sonarjs/argument-type'?: Linter.RuleEntry<[]>;
5193
+ /**
5194
+ * Parameters should be passed in the correct order
5195
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2234/javascript
5196
+ */
5197
+ 'sonarjs/arguments-order'?: Linter.RuleEntry<[]>;
5198
+ /**
5199
+ * "arguments" should not be accessed directly
5200
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3513/javascript
5201
+ */
5202
+ 'sonarjs/arguments-usage'?: Linter.RuleEntry<[]>;
5203
+ /**
5204
+ * Callbacks of array methods should have return statements
5205
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3796/javascript
5206
+ */
5207
+ 'sonarjs/array-callback-without-return'?: Linter.RuleEntry<[]>;
5208
+ /**
5209
+ * Array constructors should not be used
5210
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1528/javascript
5211
+ */
5212
+ 'sonarjs/array-constructor'?: Linter.RuleEntry<[]>;
5213
+ /**
5214
+ * Braces and parentheses should be used consistently with arrow functions
5215
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3524/javascript
5216
+ */
5217
+ 'sonarjs/arrow-function-convention'?: Linter.RuleEntry<SonarjsArrowFunctionConvention>;
5218
+ /**
5219
+ * Assertions should be placed inside test cases or hooks
5220
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8784/javascript
5221
+ */
5222
+ 'sonarjs/assertions-in-test-cases'?: Linter.RuleEntry<[]>;
5223
+ /**
5224
+ * Tests should include assertions
5225
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2699/javascript
5226
+ */
5227
+ 'sonarjs/assertions-in-tests'?: Linter.RuleEntry<[]>;
5228
+ /**
5229
+ * Async test assertions should be awaited or returned
5230
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8780/javascript
5231
+ */
5232
+ 'sonarjs/async-test-assertions'?: Linter.RuleEntry<[]>;
5233
+ /**
5234
+ * AWS API Gateway should require authentication
5235
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
5236
+ */
5237
+ 'sonarjs/aws-apigateway-public-api'?: Linter.RuleEntry<[]>;
5238
+ /**
5239
+ * Public network access to cloud resources should be disabled
5240
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
5241
+ */
5242
+ 'sonarjs/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>;
5243
+ /**
5244
+ * EBS volumes should be encrypted
5245
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
5246
+ */
5247
+ 'sonarjs/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>;
5248
+ /**
5249
+ * Amazon EFS file systems should be encrypted
5250
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
5251
+ */
5252
+ 'sonarjs/aws-efs-unencrypted'?: Linter.RuleEntry<[]>;
5253
+ /**
5254
+ * Policies should not grant all privileges
5255
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
5256
+ */
5257
+ 'sonarjs/aws-iam-all-privileges'?: Linter.RuleEntry<[]>;
5258
+ /**
5259
+ * IAM policies should not grant access to all account resources
5260
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
5261
+ */
5262
+ 'sonarjs/aws-iam-all-resources-accessible'?: Linter.RuleEntry<[]>;
5263
+ /**
5264
+ * AWS IAM policies should limit the scope of permissions given
5265
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6317/javascript
5266
+ */
5267
+ 'sonarjs/aws-iam-privilege-escalation'?: Linter.RuleEntry<[]>;
5268
+ /**
5269
+ * AWS resource-based policies should not grant public access
5270
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
5271
+ */
5272
+ 'sonarjs/aws-iam-public-access'?: Linter.RuleEntry<[]>;
5273
+ /**
5274
+ * OpenSearch domains should have encryption at rest enabled
5275
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
5276
+ */
5277
+ 'sonarjs/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>;
5278
+ /**
5279
+ * Amazon RDS resources should be encrypted at rest
5280
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
5281
+ */
5282
+ 'sonarjs/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>;
5283
+ /**
5284
+ * Administration services access should be restricted to specific IP addresses
5285
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6321/javascript
5286
+ */
5287
+ 'sonarjs/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>;
5288
+ /**
5289
+ * S3 buckets should not grant access to all users or authenticated users
5290
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
5291
+ */
5292
+ 'sonarjs/aws-s3-bucket-granted-access'?: Linter.RuleEntry<[]>;
5293
+ /**
5294
+ * S3 buckets should enforce HTTPS-only access
5295
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
5296
+ */
5297
+ 'sonarjs/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>;
5298
+ /**
5299
+ * Amazon S3 bucket public access should be fully blocked
5300
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
5301
+ */
5302
+ 'sonarjs/aws-s3-bucket-public-access'?: Linter.RuleEntry<[]>;
5303
+ /**
5304
+ * Amazon S3 buckets should have versioning enabled
5305
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
5306
+ */
5307
+ 'sonarjs/aws-s3-bucket-versioning'?: Linter.RuleEntry<[]>;
5308
+ /**
5309
+ * SageMaker notebook instances should be encrypted at rest
5310
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
5311
+ */
5312
+ 'sonarjs/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>;
5313
+ /**
5314
+ * Amazon SNS topics should be encrypted at rest
5315
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
5316
+ */
5317
+ 'sonarjs/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>;
5318
+ /**
5319
+ * SQS queues should be encrypted
5320
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
5321
+ */
5322
+ 'sonarjs/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>;
5323
+ /**
5324
+ * Bitwise operators should not be used in boolean contexts
5325
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1529/javascript
5326
+ */
5327
+ 'sonarjs/bitwise-operators'?: Linter.RuleEntry<[]>;
5328
+ /**
5329
+ * Variables should be used in the blocks where they are declared
5330
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2392/javascript
5331
+ */
5332
+ 'sonarjs/block-scoped-var'?: Linter.RuleEntry<[]>;
5333
+ /**
5334
+ * Optional boolean parameters should have default value
5335
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4798/javascript
5336
+ */
5337
+ 'sonarjs/bool-param-default'?: Linter.RuleEntry<[]>;
5338
+ /**
5339
+ * Function call arguments should not start on new lines
5340
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
5341
+ */
5342
+ 'sonarjs/call-argument-line'?: Linter.RuleEntry<[]>;
5343
+ /**
5344
+ * Chai assertions should have only one reason to succeed
5345
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
5346
+ */
5347
+ 'sonarjs/chai-determinate-assertion'?: Linter.RuleEntry<[]>;
5348
+ /**
5349
+ * Class names should comply with a naming convention
5350
+ * @see https://sonarsource.github.io/rspec/#/rspec/S101/javascript
5351
+ */
5352
+ 'sonarjs/class-name'?: Linter.RuleEntry<SonarjsClassName>;
5353
+ /**
5354
+ * Class methods should be used instead of "prototype" assignments
5355
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3525/javascript
5356
+ */
5357
+ 'sonarjs/class-prototype'?: Linter.RuleEntry<[]>;
5358
+ /**
5359
+ * Dynamic code execution should not use user-controlled data
5360
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
5361
+ */
5362
+ 'sonarjs/code-eval'?: Linter.RuleEntry<[]>;
5363
+ /**
5364
+ * Cognitive Complexity of functions should not be too high
5365
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3776/javascript
5366
+ */
5367
+ 'sonarjs/cognitive-complexity'?: Linter.RuleEntry<SonarjsCognitiveComplexity>;
5368
+ /**
5369
+ * Comma and logical OR operators should not be used in switch cases
5370
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3616/javascript
5371
+ */
5372
+ 'sonarjs/comma-or-logical-or-case'?: Linter.RuleEntry<[]>;
5373
+ /**
5374
+ * Track comments matching a regular expression
5375
+ * @see https://sonarsource.github.io/rspec/#/rspec/S124/javascript
5376
+ */
5377
+ 'sonarjs/comment-regex'?: Linter.RuleEntry<SonarjsCommentRegex>;
5378
+ /**
5379
+ * Regular expression quantifiers and character classes should be used concisely
5380
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6353/javascript
5381
+ */
5382
+ 'sonarjs/concise-regex'?: Linter.RuleEntry<[]>;
5383
+ /**
5384
+ * A conditionally executed single line should be denoted by indentation
5385
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3973/javascript
5386
+ * @deprecated
5387
+ */
5388
+ 'sonarjs/conditional-indentation'?: Linter.RuleEntry<[]>;
5389
+ /**
5390
+ * Confidential information should not be logged
5391
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
5392
+ * @deprecated
5393
+ */
5394
+ 'sonarjs/confidential-information-logging'?: Linter.RuleEntry<[]>;
5395
+ /**
5396
+ * Objects should not be created to be dropped immediately without being used
5397
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1848/javascript
5398
+ */
5399
+ 'sonarjs/constructor-for-side-effects'?: Linter.RuleEntry<[]>;
5400
+ /**
5401
+ * HTTP request content length should be limited
5402
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
5403
+ */
5404
+ 'sonarjs/content-length'?: Linter.RuleEntry<SonarjsContentLength>;
5405
+ /**
5406
+ * Content security policy fetch directives should not be disabled
5407
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
5408
+ */
5409
+ 'sonarjs/content-security-policy'?: Linter.RuleEntry<[]>;
5410
+ /**
5411
+ * Cookies should have the "HttpOnly" flag
5412
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
5413
+ */
5414
+ 'sonarjs/cookie-no-httponly'?: Linter.RuleEntry<[]>;
5415
+ /**
5416
+ * Cross-Origin Resource Sharing (CORS) policy should be restricted to trusted origins
5417
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
5418
+ */
5419
+ 'sonarjs/cors'?: Linter.RuleEntry<[]>;
5420
+ /**
5421
+ * CSRF protections should not be disabled
5422
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
5423
+ */
5424
+ 'sonarjs/csrf'?: Linter.RuleEntry<[]>;
5425
+ /**
5426
+ * Cyclomatic Complexity of functions should not be too high
5427
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1541/javascript
5428
+ */
5429
+ 'sonarjs/cyclomatic-complexity'?: Linter.RuleEntry<SonarjsCyclomaticComplexity>;
5430
+ /**
5431
+ * Variables and functions should not be declared in the global scope
5432
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3798/javascript
5433
+ */
5434
+ 'sonarjs/declarations-in-global-scope'?: Linter.RuleEntry<[]>;
5435
+ /**
5436
+ * Deprecated APIs should not be used
5437
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1874/javascript
5438
+ */
5439
+ 'sonarjs/deprecation'?: Linter.RuleEntry<[]>;
5440
+ /**
5441
+ * Destructuring syntax should be used for assignments
5442
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3514/javascript
5443
+ */
5444
+ 'sonarjs/destructuring-assignment-syntax'?: Linter.RuleEntry<[]>;
5445
+ /**
5446
+ * Strict equality operators should not be used with dissimilar types
5447
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3403/javascript
5448
+ */
5449
+ 'sonarjs/different-types-comparison'?: Linter.RuleEntry<[]>;
5450
+ /**
5451
+ * Auto-escaping in HTML template engines should not be disabled
5452
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
5453
+ */
5454
+ 'sonarjs/disabled-auto-escaping'?: Linter.RuleEntry<[]>;
5455
+ /**
5456
+ * Remote artifacts should not be used without integrity checks
5457
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
5458
+ */
5459
+ 'sonarjs/disabled-resource-integrity'?: Linter.RuleEntry<[]>;
5460
+ /**
5461
+ * Disabling Mocha timeouts should be explicit
5462
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
5463
+ */
5464
+ 'sonarjs/disabled-timeout'?: Linter.RuleEntry<[]>;
5465
+ /**
5466
+ * DOMPurify configuration should not be bypassable
5467
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8479/javascript
5468
+ */
5469
+ 'sonarjs/dompurify-unsafe-config'?: Linter.RuleEntry<[]>;
5470
+ /**
5471
+ * Character classes in regular expressions should not contain the same character twice
5472
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
5473
+ */
5474
+ 'sonarjs/duplicates-in-character-class'?: Linter.RuleEntry<[]>;
5475
+ /**
5476
+ * Templates should not be constructed dynamically
5477
+ * @see https://sonarsource.github.io/rspec/#/rspec/S7790/javascript
5478
+ */
5479
+ 'sonarjs/dynamically-constructed-templates'?: Linter.RuleEntry<[]>;
5480
+ /**
5481
+ * "if ... else if" constructs should end with "else" clauses
5482
+ * @see https://sonarsource.github.io/rspec/#/rspec/S126/javascript
5483
+ */
5484
+ 'sonarjs/elseif-without-else'?: Linter.RuleEntry<[]>;
5485
+ /**
5486
+ * Repeated patterns in regular expressions should not match the empty string
5487
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
5488
+ */
5489
+ 'sonarjs/empty-string-repetition'?: Linter.RuleEntry<[]>;
5490
+ /**
5491
+ * Encryption algorithms should be used with secure mode and padding scheme
5492
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
5493
+ */
5494
+ 'sonarjs/encryption-secure-mode'?: Linter.RuleEntry<[]>;
5495
+ /**
5496
+ * Replacement strings should reference existing regular expression groups
5497
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6328/javascript
5498
+ */
5499
+ 'sonarjs/existing-groups'?: Linter.RuleEntry<[]>;
5500
+ /**
5501
+ * Tests should be skipped explicitly
5502
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8968/javascript
5503
+ */
5504
+ 'sonarjs/explicit-test-skip'?: Linter.RuleEntry<[]>;
5505
+ /**
5506
+ * Expressions should not be too complex
5507
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1067/javascript
5508
+ */
5509
+ 'sonarjs/expression-complexity'?: Linter.RuleEntry<SonarjsExpressionComplexity>;
5510
+ /**
5511
+ * Track lack of copyright and license headers
5512
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1451/javascript
5513
+ */
5514
+ 'sonarjs/file-header'?: Linter.RuleEntry<SonarjsFileHeader>;
5515
+ /**
5516
+ * Default export names and file names should match
5517
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3317/javascript
5518
+ */
5519
+ 'sonarjs/file-name-differ-from-class'?: Linter.RuleEntry<[]>;
5520
+ /**
5521
+ * File permissions should not be set to world-accessible values
5522
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2612/javascript
5523
+ */
5524
+ 'sonarjs/file-permissions'?: Linter.RuleEntry<[]>;
5525
+ /**
5526
+ * File uploads should be restricted
5527
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2598/javascript
5528
+ */
5529
+ 'sonarjs/file-uploads'?: Linter.RuleEntry<[]>;
5530
+ /**
5531
+ * Track uses of "FIXME" tags
5532
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1134/javascript
5533
+ */
5534
+ 'sonarjs/fixme-tag'?: Linter.RuleEntry<[]>;
5535
+ /**
5536
+ * "for...in" loops should filter properties before acting on them
5537
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1535/javascript
5538
+ */
5539
+ 'sonarjs/for-in'?: Linter.RuleEntry<[]>;
5540
+ /**
5541
+ * A "for" loop update clause should move the counter in the right direction
5542
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2251/javascript
5543
+ */
5544
+ 'sonarjs/for-loop-increment-sign'?: Linter.RuleEntry<[]>;
5545
+ /**
5546
+ * Content Security Policy frame-ancestors directive should not be disabled
5547
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
5548
+ * @deprecated
5549
+ */
5550
+ 'sonarjs/frame-ancestors'?: Linter.RuleEntry<[]>;
5551
+ /**
5552
+ * Functions should not be defined inside loops
5553
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1515/javascript
5554
+ */
5555
+ 'sonarjs/function-inside-loop'?: Linter.RuleEntry<[]>;
5556
+ /**
5557
+ * Function and method names should comply with a naming convention
5558
+ * @see https://sonarsource.github.io/rspec/#/rspec/S100/javascript
5559
+ */
5560
+ 'sonarjs/function-name'?: Linter.RuleEntry<SonarjsFunctionName>;
5561
+ /**
5562
+ * Functions should always return the same type
5563
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3800/javascript
5564
+ */
5565
+ 'sonarjs/function-return-type'?: Linter.RuleEntry<[]>;
5566
+ /**
5567
+ * Future reserved words should not be used as identifiers
5568
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1527/javascript
5569
+ */
5570
+ 'sonarjs/future-reserved-words'?: Linter.RuleEntry<[]>;
5571
+ /**
5572
+ * Generators should explicitly "yield" a value
5573
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3531/javascript
5574
+ */
5575
+ 'sonarjs/generator-without-yield'?: Linter.RuleEntry<[]>;
5576
+ /**
5577
+ * Credentials should not be hard-coded
5578
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6437/javascript
5579
+ */
5580
+ 'sonarjs/hardcoded-secret-signatures'?: Linter.RuleEntry<[]>;
5581
+ /**
5582
+ * Weak hashing algorithms should not be used
5583
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
5584
+ */
5585
+ 'sonarjs/hashing'?: Linter.RuleEntry<[]>;
5586
+ /**
5587
+ * Hidden files should not be served statically
5588
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
5589
+ * @deprecated
5590
+ */
5591
+ 'sonarjs/hidden-files'?: Linter.RuleEntry<[]>;
5592
+ /**
5593
+ * Lifecycle hooks should not be interleaved with test cases or nested suites
5594
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8782/javascript
5595
+ */
5596
+ 'sonarjs/hooks-before-test-cases'?: Linter.RuleEntry<[]>;
5597
+ /**
5598
+ * "in" should not be used with primitive types
5599
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
5600
+ */
5601
+ 'sonarjs/in-operator-type-error'?: Linter.RuleEntry<[]>;
5602
+ /**
5603
+ * Functions should be called consistently with or without "new"
5604
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3686/javascript
5605
+ */
5606
+ 'sonarjs/inconsistent-function-call'?: Linter.RuleEntry<[]>;
5607
+ /**
5608
+ * "indexOf" checks should not be for positive numbers
5609
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2692/javascript
5610
+ */
5611
+ 'sonarjs/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>;
5612
+ /**
5613
+ * Cookies should have the "secure" flag
5614
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
5615
+ */
5616
+ 'sonarjs/insecure-cookie'?: Linter.RuleEntry<[]>;
5617
+ /**
5618
+ * JWT should be signed and verified with strong cipher algorithms
5619
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5659/javascript
5620
+ */
5621
+ 'sonarjs/insecure-jwt-token'?: Linter.RuleEntry<[]>;
5622
+ /**
5623
+ * Assertion arguments should be passed in the correct order
5624
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3415/javascript
5625
+ */
5626
+ 'sonarjs/inverted-assertion-arguments'?: Linter.RuleEntry<[]>;
5627
+ /**
5628
+ * React components should not render non-boolean condition values
5629
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6439/javascript
5630
+ */
5631
+ 'sonarjs/jsx-no-leaked-render'?: Linter.RuleEntry<[]>;
5632
+ /**
5633
+ * Only "while", "do", "for" and "switch" statements should be labelled
5634
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1439/javascript
5635
+ */
5636
+ 'sonarjs/label-position'?: Linter.RuleEntry<[]>;
5637
+ /**
5638
+ * Opened windows should not have access to the originating page
5639
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
5640
+ */
5641
+ 'sonarjs/link-with-target-blank'?: Linter.RuleEntry<[]>;
5642
+ /**
5643
+ * Files should not have too many lines of code
5644
+ * @see https://sonarsource.github.io/rspec/#/rspec/S104/javascript
5645
+ */
5646
+ 'sonarjs/max-lines'?: Linter.RuleEntry<SonarjsMaxLines>;
5647
+ /**
5648
+ * Functions should not have too many lines of code
5649
+ * @see https://sonarsource.github.io/rspec/#/rspec/S138/javascript
5650
+ */
5651
+ 'sonarjs/max-lines-per-function'?: Linter.RuleEntry<SonarjsMaxLinesPerFunction>;
5652
+ /**
5653
+ * "switch" statements should not have too many "case" clauses
5654
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1479/javascript
5655
+ */
5656
+ 'sonarjs/max-switch-cases'?: Linter.RuleEntry<SonarjsMaxSwitchCases>;
5657
+ /**
5658
+ * Union types should not have too many elements
5659
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4622/javascript
5660
+ */
5661
+ 'sonarjs/max-union-size'?: Linter.RuleEntry<SonarjsMaxUnionSize>;
5662
+ /**
5663
+ * Lodash and Underscore.js `memoize` calls on functions with multiple parameters should use an explicit cache key function
5664
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8932/javascript
5665
+ */
5666
+ 'sonarjs/memoize-cache-key'?: Linter.RuleEntry<[]>;
5667
+ /**
5668
+ * "for" loop increment clauses should modify the loops' counters
5669
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1994/javascript
5670
+ */
5671
+ 'sonarjs/misplaced-loop-counter'?: Linter.RuleEntry<[]>;
5672
+ /**
5673
+ * Control flow statements "if", "for", "while", "switch" and "try" should not be nested too deeply
5674
+ * @see https://sonarsource.github.io/rspec/#/rspec/S134/javascript
5675
+ */
5676
+ 'sonarjs/nested-control-flow'?: Linter.RuleEntry<SonarjsNestedControlFlow>;
5677
+ /**
5678
+ * "new" should only be used with functions and classes
5679
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2999/javascript
5680
+ */
5681
+ 'sonarjs/new-operator-misuse'?: Linter.RuleEntry<SonarjsNewOperatorMisuse>;
5682
+ /**
5683
+ * All branches in a conditional structure should not have exactly the same implementation
5684
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3923/javascript
5685
+ */
5686
+ 'sonarjs/no-all-duplicated-branches'?: Linter.RuleEntry<[]>;
5687
+ /**
5688
+ * "Array.prototype.sort()" and "Array.prototype.toSorted()" should use a compare function
5689
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2871/javascript
5690
+ */
5691
+ 'sonarjs/no-alphabetical-sort'?: Linter.RuleEntry<[]>;
5692
+ /**
5693
+ * Angular built-in sanitization should not be disabled
5694
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
5695
+ */
5696
+ 'sonarjs/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>;
5697
+ /**
5698
+ * "delete" should not be used on arrays
5699
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2870/javascript
5700
+ */
5701
+ 'sonarjs/no-array-delete'?: Linter.RuleEntry<[]>;
5702
+ /**
5703
+ * Array indexes should be numeric
5704
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3579/javascript
5705
+ */
5706
+ 'sonarjs/no-associative-arrays'?: Linter.RuleEntry<[]>;
5707
+ /**
5708
+ * Constructors should not contain asynchronous operations
5709
+ * @see https://sonarsource.github.io/rspec/#/rspec/S7059/javascript
5710
+ */
5711
+ 'sonarjs/no-async-constructor'?: Linter.RuleEntry<[]>;
5712
+ /**
5713
+ * Built-in objects should not be overridden
5714
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2424/javascript
5715
+ */
5716
+ 'sonarjs/no-built-in-override'?: Linter.RuleEntry<[]>;
5717
+ /**
5718
+ * "switch" statements should not contain non-case labels
5719
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1219/javascript
5720
+ */
5721
+ 'sonarjs/no-case-label-in-switch'?: Linter.RuleEntry<[]>;
5722
+ /**
5723
+ * Clear-text protocols should not be used
5724
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
5725
+ */
5726
+ 'sonarjs/no-clear-text-protocols'?: Linter.RuleEntry<[]>;
5727
+ /**
5728
+ * Tests should not execute any code after "done()" is called
5729
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6079/javascript
5730
+ */
5731
+ 'sonarjs/no-code-after-done'?: Linter.RuleEntry<[]>;
5732
+ /**
5733
+ * Mergeable "if" statements should be combined
5734
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1066/javascript
5735
+ */
5736
+ 'sonarjs/no-collapsible-if'?: Linter.RuleEntry<[]>;
5737
+ /**
5738
+ * Collection size and array length comparisons should make sense
5739
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3981/javascript
5740
+ */
5741
+ 'sonarjs/no-collection-size-mischeck'?: Linter.RuleEntry<[]>;
5742
+ /**
5743
+ * Sections of code should not be commented out
5744
+ * @see https://sonarsource.github.io/rspec/#/rspec/S125/javascript
5745
+ */
5746
+ 'sonarjs/no-commented-code'?: Linter.RuleEntry<[]>;
5747
+ /**
5748
+ * Regular expressions should not contain control characters
5749
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6324/javascript
5750
+ */
5751
+ 'sonarjs/no-control-regex'?: Linter.RuleEntry<[]>;
5752
+ /**
5753
+ * Unused assignments should be removed
5754
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1854/javascript
5755
+ */
5756
+ 'sonarjs/no-dead-store'?: Linter.RuleEntry<[]>;
5757
+ /**
5758
+ * UI test debug commands should not be committed to version control
5759
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8959/javascript
5760
+ */
5761
+ 'sonarjs/no-debug-commands-in-ui-tests'?: Linter.RuleEntry<[]>;
5762
+ /**
5763
+ * Default imports from modular utility libraries should not be used
5764
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8927/javascript
5765
+ */
5766
+ 'sonarjs/no-default-utility-imports'?: Linter.RuleEntry<[]>;
5767
+ /**
5768
+ * "delete" should be used only with object properties
5769
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3001/javascript
5770
+ */
5771
+ 'sonarjs/no-delete-var'?: Linter.RuleEntry<[]>;
5772
+ /**
5773
+ * Union and intersection types should not include duplicated constituents
5774
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4621/javascript
5775
+ */
5776
+ 'sonarjs/no-duplicate-in-composite'?: Linter.RuleEntry<[]>;
5777
+ /**
5778
+ * String literals should not be duplicated
5779
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
5780
+ */
5781
+ 'sonarjs/no-duplicate-string'?: Linter.RuleEntry<SonarjsNoDuplicateString>;
5782
+ /**
5783
+ * Test titles should be unique within the same suite
5784
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8754/javascript
5785
+ */
5786
+ 'sonarjs/no-duplicate-test-title'?: Linter.RuleEntry<[]>;
5787
+ /**
5788
+ * Two branches in a conditional structure should not have exactly the same implementation
5789
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
5790
+ */
5791
+ 'sonarjs/no-duplicated-branches'?: Linter.RuleEntry<[]>;
5792
+ /**
5793
+ * Collection elements should not be replaced unconditionally
5794
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4143/javascript
5795
+ */
5796
+ 'sonarjs/no-element-overwrite'?: Linter.RuleEntry<[]>;
5797
+ /**
5798
+ * Reluctant quantifiers in regular expressions should be followed by an expression that can't match the empty string
5799
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6019/javascript
5800
+ */
5801
+ 'sonarjs/no-empty-after-reluctant'?: Linter.RuleEntry<[]>;
5802
+ /**
5803
+ * Alternation in regular expressions should not contain empty alternatives
5804
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6323/javascript
5805
+ */
5806
+ 'sonarjs/no-empty-alternatives'?: Linter.RuleEntry<[]>;
5807
+ /**
5808
+ * Empty character classes should not be used
5809
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2639/javascript
5810
+ */
5811
+ 'sonarjs/no-empty-character-class'?: Linter.RuleEntry<[]>;
5812
+ /**
5813
+ * Empty collections should not be accessed or iterated
5814
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4158/javascript
5815
+ */
5816
+ 'sonarjs/no-empty-collection'?: Linter.RuleEntry<[]>;
5817
+ /**
5818
+ * Regular expressions should not contain empty groups
5819
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6331/javascript
5820
+ */
5821
+ 'sonarjs/no-empty-group'?: Linter.RuleEntry<[]>;
5822
+ /**
5823
+ * Test files should contain at least one test case
5824
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
5825
+ */
5826
+ 'sonarjs/no-empty-test-file'?: Linter.RuleEntry<[]>;
5827
+ /**
5828
+ * Test and suite titles should not be empty or whitespace-only
5829
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8781/javascript
5830
+ */
5831
+ 'sonarjs/no-empty-test-title'?: Linter.RuleEntry<[]>;
5832
+ /**
5833
+ * Equality operators should not be used in "for" loop termination conditions
5834
+ * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
5835
+ */
5836
+ 'sonarjs/no-equals-in-for-termination'?: Linter.RuleEntry<[]>;
5837
+ /**
5838
+ * Exclusive tests should not be committed to version control
5839
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6426/javascript
5840
+ */
5841
+ 'sonarjs/no-exclusive-tests'?: Linter.RuleEntry<[]>;
5842
+ /**
5843
+ * Function calls should not pass extra arguments
5844
+ * @see https://sonarsource.github.io/rspec/#/rspec/S930/javascript
5845
+ */
5846
+ 'sonarjs/no-extra-arguments'?: Linter.RuleEntry<[]>;
5847
+ /**
5848
+ * Switch cases should end with an unconditional "break" statement
5849
+ * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
5850
+ */
5851
+ 'sonarjs/no-fallthrough'?: Linter.RuleEntry<[]>;
5852
+ /**
5853
+ * Fixed waits should not be used in tests
5854
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2925/javascript
5855
+ */
5856
+ 'sonarjs/no-fixed-wait-in-tests'?: Linter.RuleEntry<[]>;
5857
+ /**
5858
+ * Floating point numbers should not be tested for equality
5859
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
5860
+ */
5861
+ 'sonarjs/no-floating-point-equality'?: Linter.RuleEntry<[]>;
5862
+ /**
5863
+ * "for in" should not be used with iterables
5864
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
5865
+ */
5866
+ 'sonarjs/no-for-in-iterable'?: Linter.RuleEntry<[]>;
5867
+ /**
5868
+ * Forced browser interactions should not bypass actionability checks
5869
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8783/javascript
5870
+ */
5871
+ 'sonarjs/no-forced-browser-interaction'?: Linter.RuleEntry<[]>;
5872
+ /**
5873
+ * Function declarations should not be made within blocks
5874
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
5875
+ */
5876
+ 'sonarjs/no-function-declaration-in-block'?: Linter.RuleEntry<[]>;
5877
+ /**
5878
+ * The global "this" object should not be used
5879
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2990/javascript
5880
+ */
5881
+ 'sonarjs/no-global-this'?: Linter.RuleEntry<[]>;
5882
+ /**
5883
+ * Special identifiers should not be bound or assigned
5884
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2137/javascript
5885
+ */
5886
+ 'sonarjs/no-globals-shadowing'?: Linter.RuleEntry<[]>;
5887
+ /**
5888
+ * Boolean expressions should not be gratuitous
5889
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2589/javascript
5890
+ */
5891
+ 'sonarjs/no-gratuitous-expressions'?: Linter.RuleEntry<[]>;
5892
+ /**
5893
+ * IP addresses should not be hardcoded
5894
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
5895
+ */
5896
+ 'sonarjs/no-hardcoded-ip'?: Linter.RuleEntry<[]>;
5897
+ /**
5898
+ * Credentials should not be hard-coded
5899
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2068/javascript
5900
+ */
5901
+ 'sonarjs/no-hardcoded-passwords'?: Linter.RuleEntry<SonarjsNoHardcodedPasswords>;
5902
+ /**
5903
+ * Secrets should not be hard-coded
5904
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6418/javascript
5905
+ */
5906
+ 'sonarjs/no-hardcoded-secrets'?: Linter.RuleEntry<SonarjsNoHardcodedSecrets>;
5907
+ /**
5908
+ * React's useState hook should not be used directly in the render function or body of a component
5909
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6442/javascript
5910
+ */
5911
+ 'sonarjs/no-hook-setter-in-body'?: Linter.RuleEntry<[]>;
5912
+ /**
5913
+ * "if/else if" chains and "switch" cases should not have the same condition
5914
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1862/javascript
5915
+ */
5916
+ 'sonarjs/no-identical-conditions'?: Linter.RuleEntry<[]>;
5917
+ /**
5918
+ * Identical expressions should not be used on both sides of a binary operator
5919
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1764/javascript
5920
+ */
5921
+ 'sonarjs/no-identical-expressions'?: Linter.RuleEntry<[]>;
5922
+ /**
5923
+ * Functions should not have identical implementations
5924
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4144/javascript
5925
+ */
5926
+ 'sonarjs/no-identical-functions'?: Linter.RuleEntry<SonarjsNoIdenticalFunctions>;
5927
+ /**
5928
+ * Exceptions should not be ignored
5929
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2486/javascript
5930
+ */
5931
+ 'sonarjs/no-ignored-exceptions'?: Linter.RuleEntry<[]>;
5932
+ /**
5933
+ * Return values from functions without side effects should not be ignored
5934
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2201/javascript
5935
+ */
5936
+ 'sonarjs/no-ignored-return'?: Linter.RuleEntry<[]>;
5937
+ /**
5938
+ * Dependencies should be explicit
5939
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4328/javascript
5940
+ */
5941
+ 'sonarjs/no-implicit-dependencies'?: Linter.RuleEntry<SonarjsNoImplicitDependencies>;
5942
+ /**
5943
+ * Variables should be declared explicitly
5944
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2703/javascript
5945
+ */
5946
+ 'sonarjs/no-implicit-global'?: Linter.RuleEntry<[]>;
5947
+ /**
5948
+ * "in" should not be used on arrays
5949
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
5950
+ */
5951
+ 'sonarjs/no-in-misuse'?: Linter.RuleEntry<[]>;
5952
+ /**
5953
+ * Assertions comparing incompatible types should not be made
5954
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5845/javascript
5955
+ */
5956
+ 'sonarjs/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
5957
+ /**
5958
+ * Assertions should be complete
5959
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
5960
+ */
5961
+ 'sonarjs/no-incomplete-assertions'?: Linter.RuleEntry<[]>;
5962
+ /**
5963
+ * Functions should use "return" consistently
5964
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3801/javascript
5965
+ */
5966
+ 'sonarjs/no-inconsistent-returns'?: Linter.RuleEntry<[]>;
5967
+ /**
5968
+ * Strings and non-strings should not be added
5969
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3402/javascript
5970
+ */
5971
+ 'sonarjs/no-incorrect-string-concat'?: Linter.RuleEntry<[]>;
5972
+ /**
5973
+ * Users should not use internal APIs
5974
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6627/javascript
5975
+ */
5976
+ 'sonarjs/no-internal-api-use'?: Linter.RuleEntry<[]>;
5977
+ /**
5978
+ * Inline snapshots should not contain interpolations
5979
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8967/javascript
5980
+ */
5981
+ 'sonarjs/no-interpolation-in-inline-snapshots'?: Linter.RuleEntry<[]>;
5982
+ /**
5983
+ * Sensitive permissions should not be requested unnecessarily
5984
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
5985
+ * @deprecated
5986
+ */
5987
+ 'sonarjs/no-intrusive-permissions'?: Linter.RuleEntry<SonarjsNoIntrusivePermissions>;
5988
+ /**
5989
+ * Regular expressions should be syntactically valid
5990
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5856/javascript
5991
+ */
5992
+ 'sonarjs/no-invalid-regexp'?: Linter.RuleEntry<[]>;
5993
+ /**
5994
+ * Function returns should not be invariant
5995
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3516/javascript
5996
+ */
5997
+ 'sonarjs/no-invariant-returns'?: Linter.RuleEntry<[]>;
5998
+ /**
5999
+ * Boolean checks should not be inverted
6000
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1940/javascript
6001
+ */
6002
+ 'sonarjs/no-inverted-boolean-check'?: Linter.RuleEntry<[]>;
6003
+ /**
6004
+ * Client IP address should not be forwarded to proxies
6005
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
6006
+ * @deprecated
6007
+ */
6008
+ 'sonarjs/no-ip-forward'?: Linter.RuleEntry<[]>;
6009
+ /**
6010
+ * Labels should not be used
6011
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1119/javascript
6012
+ */
6013
+ 'sonarjs/no-labels'?: Linter.RuleEntry<[]>;
6014
+ /**
6015
+ * Literals should not be used as functions
6016
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6958/javascript
6017
+ */
6018
+ 'sonarjs/no-literal-call'?: Linter.RuleEntry<[]>;
6019
+ /**
6020
+ * Browsers should not be allowed to perform MIME type sniffing
6021
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
6022
+ */
6023
+ 'sonarjs/no-mime-sniff'?: Linter.RuleEntry<[]>;
6024
+ /**
6025
+ * Array-mutating methods should not be used misleadingly
6026
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4043/javascript
6027
+ */
6028
+ 'sonarjs/no-misleading-array-reverse'?: Linter.RuleEntry<[]>;
6029
+ /**
6030
+ * Unicode Grapheme Clusters should be avoided inside regex character classes
6031
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5868/javascript
6032
+ */
6033
+ 'sonarjs/no-misleading-character-class'?: Linter.RuleEntry<[]>;
6034
+ /**
6035
+ * Test and hook callbacks should use a single completion style
6036
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8960/javascript
6037
+ */
6038
+ 'sonarjs/no-mixed-completion-style'?: Linter.RuleEntry<[]>;
6039
+ /**
6040
+ * Content Security Policy should block mixed-content
6041
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
6042
+ * @deprecated
6043
+ */
6044
+ 'sonarjs/no-mixed-content'?: Linter.RuleEntry<[]>;
6045
+ /**
6046
+ * Assignments should not be made from within sub-expressions
6047
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1121/javascript
6048
+ */
6049
+ 'sonarjs/no-nested-assignment'?: Linter.RuleEntry<[]>;
6050
+ /**
6051
+ * Ternary operators should not be nested
6052
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3358/javascript
6053
+ */
6054
+ 'sonarjs/no-nested-conditional'?: Linter.RuleEntry<[]>;
6055
+ /**
6056
+ * Functions should not be nested too deeply
6057
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2004/javascript
6058
+ */
6059
+ 'sonarjs/no-nested-functions'?: Linter.RuleEntry<SonarjsNoNestedFunctions>;
6060
+ /**
6061
+ * Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
6062
+ * @see https://sonarsource.github.io/rspec/#/rspec/S881/javascript
6063
+ */
6064
+ 'sonarjs/no-nested-incdec'?: Linter.RuleEntry<[]>;
6065
+ /**
6066
+ * "switch" statements should not be nested
6067
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1821/javascript
6068
+ */
6069
+ 'sonarjs/no-nested-switch'?: Linter.RuleEntry<[]>;
6070
+ /**
6071
+ * Template literals should not be nested
6072
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4624/javascript
6073
+ */
6074
+ 'sonarjs/no-nested-template-literals'?: Linter.RuleEntry<[]>;
6075
+ /**
6076
+ * OS commands should not rely on PATH resolution
6077
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
6078
+ */
6079
+ 'sonarjs/no-os-command-from-path'?: Linter.RuleEntry<[]>;
6080
+ /**
6081
+ * Initial values of parameters, caught exceptions, and loop variables should not be ignored
6082
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1226/javascript
6083
+ */
6084
+ 'sonarjs/no-parameter-reassignment'?: Linter.RuleEntry<[]>;
6085
+ /**
6086
+ * Wrapper objects should not be used for primitive types
6087
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1533/javascript
6088
+ */
6089
+ 'sonarjs/no-primitive-wrappers'?: Linter.RuleEntry<[]>;
6090
+ /**
6091
+ * Assignments should not be redundant
6092
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4165/javascript
6093
+ */
6094
+ 'sonarjs/no-redundant-assignments'?: Linter.RuleEntry<[]>;
6095
+ /**
6096
+ * Boolean literals should not be used in comparisons
6097
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1125/javascript
6098
+ */
6099
+ 'sonarjs/no-redundant-boolean'?: Linter.RuleEntry<[]>;
6100
+ /**
6101
+ * Jump statements should not be redundant
6102
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3626/javascript
6103
+ */
6104
+ 'sonarjs/no-redundant-jump'?: Linter.RuleEntry<[]>;
6105
+ /**
6106
+ * Optional property declarations should not use both '?' and 'undefined' syntax
6107
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4782/javascript
6108
+ */
6109
+ 'sonarjs/no-redundant-optional'?: Linter.RuleEntry<[]>;
6110
+ /**
6111
+ * Unnecessary parentheses should be removed
6112
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1110/javascript
6113
+ * @deprecated
6114
+ */
6115
+ 'sonarjs/no-redundant-parentheses'?: Linter.RuleEntry<[]>;
6116
+ /**
6117
+ * Variables should be defined before being used
6118
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3827/javascript
6119
+ */
6120
+ 'sonarjs/no-reference-error'?: Linter.RuleEntry<[]>;
6121
+ /**
6122
+ * HTTP Referrer-Policy should not be set to an unsafe value
6123
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
6124
+ */
6125
+ 'sonarjs/no-referrer-policy'?: Linter.RuleEntry<[]>;
6126
+ /**
6127
+ * Regular expressions should not contain multiple spaces
6128
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6326/javascript
6129
+ */
6130
+ 'sonarjs/no-regex-spaces'?: Linter.RuleEntry<[]>;
6131
+ /**
6132
+ * "import" should be used to include external code
6133
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3533/javascript
6134
+ */
6135
+ 'sonarjs/no-require-or-define'?: Linter.RuleEntry<[]>;
6136
+ /**
6137
+ * Primitive return types should be used
6138
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4324/javascript
6139
+ */
6140
+ 'sonarjs/no-return-type-any'?: Linter.RuleEntry<[]>;
6141
+ /**
6142
+ * Assertions should not be given twice the same argument
6143
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5863/javascript
6144
+ */
6145
+ 'sonarjs/no-same-argument-assert'?: Linter.RuleEntry<[]>;
6146
+ /**
6147
+ * Conditionals should start on new lines
6148
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3972/javascript
6149
+ */
6150
+ 'sonarjs/no-same-line-conditional'?: Linter.RuleEntry<[]>;
6151
+ /**
6152
+ * Methods should not contain selector parameters
6153
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2301/javascript
6154
+ */
6155
+ 'sonarjs/no-selector-parameter'?: Linter.RuleEntry<[]>;
6156
+ /**
6157
+ * Static Assets should not serve session cookies
6158
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8441/javascript
6159
+ */
6160
+ 'sonarjs/no-session-cookies-on-static-assets'?: Linter.RuleEntry<[]>;
6161
+ /**
6162
+ * Tests should not be skipped without providing a reason
6163
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1607/javascript
6164
+ */
6165
+ 'sonarjs/no-skipped-tests'?: Linter.RuleEntry<[]>;
6166
+ /**
6167
+ * "if" statements should be preferred over "switch" when simpler
6168
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1301/javascript
6169
+ */
6170
+ 'sonarjs/no-small-switch'?: Linter.RuleEntry<[]>;
6171
+ /**
6172
+ * Track uses of "NOSONAR" comments
6173
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1291/javascript
6174
+ */
6175
+ 'sonarjs/no-sonar-comments'?: Linter.RuleEntry<[]>;
6176
+ /**
6177
+ * Tabulation characters should not be used
6178
+ * @see https://sonarsource.github.io/rspec/#/rspec/S105/javascript
6179
+ * @deprecated
6180
+ */
6181
+ 'sonarjs/no-tab'?: Linter.RuleEntry<[]>;
6182
+ /**
6183
+ * HTML "<table>" should not be used for layout purposes
6184
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
6185
+ */
6186
+ 'sonarjs/no-table-as-layout'?: Linter.RuleEntry<[]>;
6187
+ /**
6188
+ * Assertions should not be trivially true
6189
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5914/javascript
6190
+ */
6191
+ 'sonarjs/no-trivial-assertions'?: Linter.RuleEntry<[]>;
6192
+ /**
6193
+ * Promise rejections should not be caught by "try" blocks
6194
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
6195
+ */
6196
+ 'sonarjs/no-try-promise'?: Linter.RuleEntry<[]>;
6197
+ /**
6198
+ * "undefined" should not be passed as the value of optional parameters
6199
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4623/javascript
6200
+ */
6201
+ 'sonarjs/no-undefined-argument'?: Linter.RuleEntry<[]>;
6202
+ /**
6203
+ * "undefined" should not be assigned
6204
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2138/javascript
6205
+ */
6206
+ 'sonarjs/no-undefined-assignment'?: Linter.RuleEntry<[]>;
6207
+ /**
6208
+ * Multiline blocks should be enclosed in curly braces
6209
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2681/javascript
6210
+ */
6211
+ 'sonarjs/no-unenclosed-multiline-block'?: Linter.RuleEntry<[]>;
6212
+ /**
6213
+ * JSX list components keys should match up between renders
6214
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6486/javascript
6215
+ */
6216
+ 'sonarjs/no-uniq-key'?: Linter.RuleEntry<[]>;
6217
+ /**
6218
+ * Expanding archive files should not be done without controlling resource consumption
6219
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
6220
+ * @deprecated
6221
+ */
6222
+ 'sonarjs/no-unsafe-unzip'?: Linter.RuleEntry<[]>;
6223
+ /**
6224
+ * Errors should not be created without being thrown
6225
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3984/javascript
6226
+ */
6227
+ 'sonarjs/no-unthrown-error'?: Linter.RuleEntry<[]>;
6228
+ /**
6229
+ * Collection contents should be used
6230
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4030/javascript
6231
+ */
6232
+ 'sonarjs/no-unused-collection'?: Linter.RuleEntry<[]>;
6233
+ /**
6234
+ * Unused function parameters should be removed
6235
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1172/javascript
6236
+ */
6237
+ 'sonarjs/no-unused-function-argument'?: Linter.RuleEntry<[]>;
6238
+ /**
6239
+ * Unused local variables and functions should be removed
6240
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1481/javascript
6241
+ */
6242
+ 'sonarjs/no-unused-vars'?: Linter.RuleEntry<[]>;
6243
+ /**
6244
+ * The return value of void functions should not be used
6245
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3699/javascript
6246
+ */
6247
+ 'sonarjs/no-use-of-empty-return-value'?: Linter.RuleEntry<[]>;
6248
+ /**
6249
+ * "catch" clauses should do more than rethrow
6250
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2737/javascript
6251
+ */
6252
+ 'sonarjs/no-useless-catch'?: Linter.RuleEntry<[]>;
6253
+ /**
6254
+ * Values should not be uselessly incremented
6255
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2123/javascript
6256
+ */
6257
+ 'sonarjs/no-useless-increment'?: Linter.RuleEntry<[]>;
6258
+ /**
6259
+ * Type intersections should use meaningful types
6260
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4335/javascript
6261
+ */
6262
+ 'sonarjs/no-useless-intersection'?: Linter.RuleEntry<[]>;
6263
+ /**
6264
+ * React state setter function should not be called with its matching state variable
6265
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6443/javascript
6266
+ */
6267
+ 'sonarjs/no-useless-react-setstate'?: Linter.RuleEntry<[]>;
6268
+ /**
6269
+ * Variables declared with "var" should be declared before they are used
6270
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
6271
+ */
6272
+ 'sonarjs/no-variable-usage-before-declaration'?: Linter.RuleEntry<[]>;
6273
+ /**
6274
+ * Cipher algorithms should be robust
6275
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
6276
+ */
6277
+ 'sonarjs/no-weak-cipher'?: Linter.RuleEntry<[]>;
6278
+ /**
6279
+ * Cryptographic keys should be robust
6280
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4426/javascript
6281
+ */
6282
+ 'sonarjs/no-weak-keys'?: Linter.RuleEntry<[]>;
6283
+ /**
6284
+ * Wildcard imports should not be used
6285
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2208/javascript
6286
+ */
6287
+ 'sonarjs/no-wildcard-import'?: Linter.RuleEntry<[]>;
4845
6288
  /**
4846
- * prefer predefined assertion over equivalent lookarounds
4847
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-predefined-assertion.html
6289
+ * Non-existent operators '=+', '=-' and '=!' should not be used
6290
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2757/javascript
4848
6291
  */
4849
- 'regexp/prefer-predefined-assertion'?: Linter.RuleEntry<[]>;
6292
+ 'sonarjs/non-existent-operator'?: Linter.RuleEntry<[]>;
4850
6293
  /**
4851
- * enforce using quantifier
4852
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
6294
+ * Arithmetic operators should only have numbers as operands
6295
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3760/javascript
4853
6296
  */
4854
- 'regexp/prefer-quantifier'?: Linter.RuleEntry<RegexpPreferQuantifier>;
6297
+ 'sonarjs/non-number-in-arithmetic-expression'?: Linter.RuleEntry<[]>;
4855
6298
  /**
4856
- * enforce using `?` quantifier
4857
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
6299
+ * Properties of variables with "null" or "undefined" values should not be accessed
6300
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2259/javascript
4858
6301
  */
4859
- 'regexp/prefer-question-quantifier'?: Linter.RuleEntry<[]>;
6302
+ 'sonarjs/null-dereference'?: Linter.RuleEntry<[]>;
4860
6303
  /**
4861
- * enforce using character class range
4862
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-range.html
6304
+ * "<object>" tags should provide an alternative content
6305
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5264/javascript
4863
6306
  */
4864
- 'regexp/prefer-range'?: Linter.RuleEntry<RegexpPreferRange>;
6307
+ 'sonarjs/object-alt-content'?: Linter.RuleEntry<[]>;
4865
6308
  /**
4866
- * enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
4867
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
6309
+ * Arithmetic operations should not result in "NaN"
6310
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3757/javascript
4868
6311
  */
4869
- 'regexp/prefer-regexp-exec'?: Linter.RuleEntry<[]>;
6312
+ 'sonarjs/operation-returning-nan'?: Linter.RuleEntry<[]>;
4870
6313
  /**
4871
- * enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
4872
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
6314
+ * OS commands should not be executed using a shell interpreter
6315
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
6316
+ * @deprecated
4873
6317
  */
4874
- 'regexp/prefer-regexp-test'?: Linter.RuleEntry<[]>;
6318
+ 'sonarjs/os-command'?: Linter.RuleEntry<[]>;
4875
6319
  /**
4876
- * enforce using result array `groups`
4877
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
6320
+ * Similar tests should be grouped in a single Parameterized test
6321
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5976/javascript
4878
6322
  */
4879
- 'regexp/prefer-result-array-groups'?: Linter.RuleEntry<RegexpPreferResultArrayGroups>;
6323
+ 'sonarjs/parameterized-tests'?: Linter.RuleEntry<[]>;
4880
6324
  /**
4881
- * prefer character class set operations instead of lookarounds
4882
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
6325
+ * Origins should be verified during cross-origin communications
6326
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2819/javascript
4883
6327
  */
4884
- 'regexp/prefer-set-operation'?: Linter.RuleEntry<[]>;
6328
+ 'sonarjs/post-message'?: Linter.RuleEntry<[]>;
4885
6329
  /**
4886
- * enforce using `*` quantifier
4887
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
6330
+ * "default" clauses should be last
6331
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4524/javascript
4888
6332
  */
4889
- 'regexp/prefer-star-quantifier'?: Linter.RuleEntry<[]>;
6333
+ 'sonarjs/prefer-default-last'?: Linter.RuleEntry<[]>;
4890
6334
  /**
4891
- * enforce use of unicode codepoint escapes
4892
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
6335
+ * Local variables should not be declared and then immediately returned or thrown
6336
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1488/javascript
4893
6337
  */
4894
- 'regexp/prefer-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
6338
+ 'sonarjs/prefer-immediate-return'?: Linter.RuleEntry<[]>;
4895
6339
  /**
4896
- * enforce using `\w`
4897
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
6340
+ * Native APIs should be preferred over Lodash and Underscore.js methods
6341
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8907/javascript
4898
6342
  */
4899
- 'regexp/prefer-w'?: Linter.RuleEntry<[]>;
6343
+ 'sonarjs/prefer-native-lodash-alternative'?: Linter.RuleEntry<[]>;
4900
6344
  /**
4901
- * enforce the use of the `u` flag
4902
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
6345
+ * Object literal syntax should be used
6346
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2428/javascript
4903
6347
  */
4904
- 'regexp/require-unicode-regexp'?: Linter.RuleEntry<[]>;
6348
+ 'sonarjs/prefer-object-literal'?: Linter.RuleEntry<[]>;
4905
6349
  /**
4906
- * enforce the use of the `v` flag
4907
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
6350
+ * Shorthand promises should be used
6351
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4634/javascript
4908
6352
  */
4909
- 'regexp/require-unicode-sets-regexp'?: Linter.RuleEntry<[]>;
6353
+ 'sonarjs/prefer-promise-shorthand'?: Linter.RuleEntry<[]>;
4910
6354
  /**
4911
- * require simplify set operations
4912
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
6355
+ * React props should be read-only
6356
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6759/javascript
4913
6357
  */
4914
- 'regexp/simplify-set-operations'?: Linter.RuleEntry<[]>;
6358
+ 'sonarjs/prefer-read-only-props'?: Linter.RuleEntry<[]>;
4915
6359
  /**
4916
- * sort alternatives if order doesn't matter
4917
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
6360
+ * "RegExp.exec()" should be preferred over "String.match()"
6361
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6594/javascript
4918
6362
  */
4919
- 'regexp/sort-alternatives'?: Linter.RuleEntry<[]>;
6363
+ 'sonarjs/prefer-regexp-exec'?: Linter.RuleEntry<[]>;
4920
6364
  /**
4921
- * enforces elements order in character class
4922
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
6365
+ * Return of boolean expressions should not be wrapped into an "if-then-else" statement
6366
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
4923
6367
  */
4924
- 'regexp/sort-character-class-elements'?: Linter.RuleEntry<RegexpSortCharacterClassElements>;
6368
+ 'sonarjs/prefer-single-boolean-return'?: Linter.RuleEntry<[]>;
4925
6369
  /**
4926
- * require regex flags to be sorted
4927
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
6370
+ * The most specific assertion should be used
6371
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5906/javascript
4928
6372
  */
4929
- 'regexp/sort-flags'?: Linter.RuleEntry<[]>;
6373
+ 'sonarjs/prefer-specific-assertions'?: Linter.RuleEntry<[]>;
4930
6374
  /**
4931
- * disallow not strictly valid regular expressions
4932
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
6375
+ * Type predicates should be used
6376
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
4933
6377
  */
4934
- 'regexp/strict'?: Linter.RuleEntry<[]>;
6378
+ 'sonarjs/prefer-type-guard'?: Linter.RuleEntry<[]>;
4935
6379
  /**
4936
- * enforce consistent usage of unicode escape or unicode codepoint escape
4937
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
6380
+ * A "while" loop should be used instead of a "for" loop
6381
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1264/javascript
4938
6382
  */
4939
- 'regexp/unicode-escape'?: Linter.RuleEntry<RegexpUnicodeEscape>;
6383
+ 'sonarjs/prefer-while'?: Linter.RuleEntry<[]>;
4940
6384
  /**
4941
- * enforce consistent naming of unicode properties
4942
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
6385
+ * Debugging features should not be enabled in production
6386
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
4943
6387
  */
4944
- 'regexp/unicode-property'?: Linter.RuleEntry<RegexpUnicodeProperty>;
6388
+ 'sonarjs/production-debug'?: Linter.RuleEntry<[]>;
4945
6389
  /**
4946
- * use the `i` flag if it simplifies the pattern
4947
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
6390
+ * Pseudorandom number generators (PRNGs) should not be used in security contexts
6391
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
4948
6392
  */
4949
- 'regexp/use-ignore-case'?: Linter.RuleEntry<[]>;
6393
+ 'sonarjs/pseudo-random'?: Linter.RuleEntry<[]>;
4950
6394
  /**
4951
- * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
4952
- * @see https://eslint.org/docs/latest/rules/require-atomic-updates
6395
+ * Public "static" fields should be read-only
6396
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1444/javascript
4953
6397
  */
4954
- 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>;
6398
+ 'sonarjs/public-static-readonly'?: Linter.RuleEntry<[]>;
4955
6399
  /**
4956
- * Disallow async functions which have no `await` expression
4957
- * @see https://eslint.org/docs/latest/rules/require-await
6400
+ * Temporary files should not be created in publicly writable directories
6401
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
4958
6402
  */
4959
- 'require-await'?: Linter.RuleEntry<[]>;
6403
+ 'sonarjs/publicly-writable-directories'?: Linter.RuleEntry<[]>;
4960
6404
  /**
4961
- * Enforce the use of `u` or `v` flag on regular expressions
4962
- * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
6405
+ * "Array.reduce()" calls should include an initial value
6406
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6959/javascript
4963
6407
  */
4964
- 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>;
6408
+ 'sonarjs/reduce-initial-value'?: Linter.RuleEntry<[]>;
4965
6409
  /**
4966
- * Require generator functions to contain `yield`
4967
- * @see https://eslint.org/docs/latest/rules/require-yield
6410
+ * Redundant type aliases should not be used
6411
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6564/javascript
4968
6412
  */
4969
- 'require-yield'?: Linter.RuleEntry<[]>;
6413
+ 'sonarjs/redundant-type-aliases'?: Linter.RuleEntry<[]>;
4970
6414
  /**
4971
- * Enforce spacing between rest and spread operators and their expressions
4972
- * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
4973
- * @deprecated
6415
+ * Regular expressions should not be too complicated
6416
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
4974
6417
  */
4975
- 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>;
6418
+ 'sonarjs/regex-complexity'?: Linter.RuleEntry<SonarjsRegexComplexity>;
4976
6419
  /**
4977
- * Require or disallow semicolons instead of ASI
4978
- * @see https://eslint.org/docs/latest/rules/semi
4979
- * @deprecated
6420
+ * Wallet phrases should not be hard-coded
6421
+ * @see https://sonarsource.github.io/rspec/#/rspec/S7639/javascript
4980
6422
  */
4981
- 'semi'?: Linter.RuleEntry<Semi>;
6423
+ 'sonarjs/review-blockchain-mnemonic'?: Linter.RuleEntry<[]>;
4982
6424
  /**
4983
- * Enforce consistent spacing before and after semicolons
4984
- * @see https://eslint.org/docs/latest/rules/semi-spacing
4985
- * @deprecated
6425
+ * A new session should be created during user authentication
6426
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5876/javascript
4986
6427
  */
4987
- 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>;
6428
+ 'sonarjs/session-regeneration'?: Linter.RuleEntry<[]>;
4988
6429
  /**
4989
- * Enforce location of semicolons
4990
- * @see https://eslint.org/docs/latest/rules/semi-style
4991
- * @deprecated
6430
+ * Shorthand object properties should be grouped at the beginning or end of an object declaration
6431
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3499/javascript
4992
6432
  */
4993
- 'semi-style'?: Linter.RuleEntry<SemiStyle>;
6433
+ 'sonarjs/shorthand-property-grouping'?: Linter.RuleEntry<[]>;
4994
6434
  /**
4995
- * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
4996
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/components-return-once.md
6435
+ * Character classes in regular expressions should not contain only one character
6436
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6397/javascript
4997
6437
  */
4998
- 'solid/components-return-once'?: Linter.RuleEntry<[]>;
6438
+ 'sonarjs/single-char-in-character-classes'?: Linter.RuleEntry<[]>;
4999
6439
  /**
5000
- * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
5001
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/event-handlers.md
6440
+ * Single-character alternations in regular expressions should be replaced with character classes
6441
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6035/javascript
5002
6442
  */
5003
- 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>;
6443
+ 'sonarjs/single-character-alternation'?: Linter.RuleEntry<[]>;
5004
6444
  /**
5005
- * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
5006
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/imports.md
6445
+ * Regular expressions should not cause catastrophic backtracking
6446
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
5007
6447
  */
5008
- 'solid/imports'?: Linter.RuleEntry<[]>;
6448
+ 'sonarjs/slow-regex'?: Linter.RuleEntry<[]>;
5009
6449
  /**
5010
- * Disallow passing the same prop twice in JSX.
5011
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-duplicate-props.md
6450
+ * SQL queries should not be dynamically formatted
6451
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
5012
6452
  */
5013
- 'solid/jsx-no-duplicate-props'?: Linter.RuleEntry<SolidJsxNoDuplicateProps>;
6453
+ 'sonarjs/sql-queries'?: Linter.RuleEntry<[]>;
5014
6454
  /**
5015
- * Disallow javascript: URLs.
5016
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-script-url.md
6455
+ * Tests should be stable
6456
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
5017
6457
  */
5018
- 'solid/jsx-no-script-url'?: Linter.RuleEntry<[]>;
6458
+ 'sonarjs/stable-tests'?: Linter.RuleEntry<[]>;
5019
6459
  /**
5020
- * Disallow references to undefined variables in JSX. Handles custom directives.
5021
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-undef.md
6460
+ * Regular expressions with the global flag should be used with caution
6461
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
5022
6462
  */
5023
- 'solid/jsx-no-undef'?: Linter.RuleEntry<SolidJsxNoUndef>;
6463
+ 'sonarjs/stateful-regex'?: Linter.RuleEntry<[]>;
5024
6464
  /**
5025
- * Prevent variables used in JSX from being marked as unused.
5026
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-uses-vars.md
6465
+ * HTTP Strict-Transport-Security policy should not be disabled
6466
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
5027
6467
  */
5028
- 'solid/jsx-uses-vars'?: Linter.RuleEntry<[]>;
6468
+ 'sonarjs/strict-transport-security'?: Linter.RuleEntry<[]>;
5029
6469
  /**
5030
- * Disallow passing uncalled signal accessors or other functions as value-typed DOM element attributes.
5031
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-accessor-as-prop.md
6470
+ * Comparison operators should not be used with strings
6471
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
5032
6472
  */
5033
- 'solid/no-accessor-as-prop'?: Linter.RuleEntry<[]>;
6473
+ 'sonarjs/strings-comparison'?: Linter.RuleEntry<[]>;
5034
6474
  /**
5035
- * Disallow usage of type-unsafe event handlers.
5036
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-array-handlers.md
6475
+ * Regular expressions should not cause non-linear backtracking
6476
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
5037
6477
  */
5038
- 'solid/no-array-handlers'?: Linter.RuleEntry<[]>;
6478
+ 'sonarjs/super-linear-regex'?: Linter.RuleEntry<[]>;
5039
6479
  /**
5040
- * Disallow browser-only globals inside server functions, which run exclusively on the server.
5041
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-browser-globals-in-server-function.md
6480
+ * Tests should not be registered asynchronously in suite callbacks
6481
+ * @see https://sonarsource.github.io/rspec/#/rspec/S8785/javascript
5042
6482
  */
5043
- 'solid/no-browser-globals-in-server-function'?: Linter.RuleEntry<[]>;
6483
+ 'sonarjs/synchronous-suite-callback'?: Linter.RuleEntry<[]>;
5044
6484
  /**
5045
- * Disallow destructuring props. In Solid, props must be used with property accesses (`props.foo`) to preserve reactivity. This rule only tracks destructuring in the parameter list.
5046
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-destructure.md
6485
+ * Tables should have headers
6486
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
5047
6487
  */
5048
- 'solid/no-destructure'?: Linter.RuleEntry<[]>;
6488
+ 'sonarjs/table-header'?: Linter.RuleEntry<[]>;
5049
6489
  /**
5050
- * Disallow usage of the innerHTML attribute, which can often lead to security vulnerabilities.
5051
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-innerhtml.md
6490
+ * Table cells should reference their headers
6491
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5260/javascript
5052
6492
  */
5053
- 'solid/no-innerhtml'?: Linter.RuleEntry<SolidNoInnerhtml>;
6493
+ 'sonarjs/table-header-reference'?: Linter.RuleEntry<[]>;
5054
6494
  /**
5055
- * Disallow server functions from capturing variables in enclosing non-module scopes, mirroring the compiler's build-time validation.
5056
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-invalid-server-capture.md
6495
+ * Tests should check which exception is thrown
6496
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5958/javascript
5057
6497
  */
5058
- 'solid/no-invalid-server-capture'?: Linter.RuleEntry<[]>;
6498
+ 'sonarjs/test-check-exception'?: Linter.RuleEntry<[]>;
5059
6499
  /**
5060
- * Disallow reactive primitives at module scope, where state is shared across SSR requests.
5061
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-module-scope-reactive-primitive.md
6500
+ * Track uses of "TODO" tags
6501
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1135/javascript
5062
6502
  */
5063
- 'solid/no-module-scope-reactive-primitive'?: Linter.RuleEntry<[]>;
6503
+ 'sonarjs/todo-tag'?: Linter.RuleEntry<[]>;
5064
6504
  /**
5065
- * Disallow usage of APIs that use ES6 Proxies, only to target environments that don't support them.
5066
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-proxy-apis.md
6505
+ * Loops should not contain more than a single "break" or "continue" statement
6506
+ * @see https://sonarsource.github.io/rspec/#/rspec/S135/javascript
5067
6507
  */
5068
- 'solid/no-proxy-apis'?: Linter.RuleEntry<[]>;
6508
+ 'sonarjs/too-many-break-or-continue-in-loop'?: Linter.RuleEntry<[]>;
5069
6509
  /**
5070
- * Disallow usage of dependency arrays in `createEffect` and `createMemo`.
5071
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-deps.md
6510
+ * Regular expressions using Unicode character classes or property escapes should enable the unicode flag
6511
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5867/javascript
5072
6512
  */
5073
- 'solid/no-react-deps'?: Linter.RuleEntry<[]>;
6513
+ 'sonarjs/unicode-aware-regex'?: Linter.RuleEntry<[]>;
5074
6514
  /**
5075
- * Disallow usage of React-specific `className`/`htmlFor` props, which were deprecated in v1.4.0.
5076
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-specific-props.md
6515
+ * Unnecessary imports should be removed
6516
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1128/javascript
5077
6517
  */
5078
- 'solid/no-react-specific-props'?: Linter.RuleEntry<[]>;
6518
+ 'sonarjs/unused-import'?: Linter.RuleEntry<[]>;
5079
6519
  /**
5080
- * Disallow restating a prop or option value that is already the default.
5081
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-restated-default-options.md
6520
+ * Names of regular expressions named groups should be used
6521
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5860/javascript
5082
6522
  */
5083
- 'solid/no-restated-default-options'?: Linter.RuleEntry<[]>;
6523
+ 'sonarjs/unused-named-groups'?: Linter.RuleEntry<[]>;
5084
6524
  /**
5085
- * Require the two-argument `createEffect(compute, effect)` form used by Solid 2.0.
5086
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-single-arg-create-effect.md
6525
+ * Server certificates should be verified during SSL/TLS connections
6526
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4830/javascript
5087
6527
  */
5088
- 'solid/no-single-arg-create-effect'?: Linter.RuleEntry<[]>;
6528
+ 'sonarjs/unverified-certificate'?: Linter.RuleEntry<[]>;
5089
6529
  /**
5090
- * Enforce using only Solid-specific namespaced attribute names (i.e. `'on:'` in `<div on:click={...} />`).
5091
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-unknown-namespaces.md
6530
+ * Server hostnames should be verified during SSL/TLS connections
6531
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5527/javascript
5092
6532
  */
5093
- 'solid/no-unknown-namespaces'?: Linter.RuleEntry<SolidNoUnknownNamespaces>;
6533
+ 'sonarjs/unverified-hostname'?: Linter.RuleEntry<[]>;
5094
6534
  /**
5095
- * Enforce using the classlist prop over importing a classnames helper. The classlist prop accepts an object `{ [class: string]: boolean }` just like classnames.
5096
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-classlist.md
5097
- * @deprecated
6535
+ * "const" variables should not be reassigned
6536
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3500/javascript
5098
6537
  */
5099
- 'solid/prefer-classlist'?: Linter.RuleEntry<SolidPreferClasslist>;
6538
+ 'sonarjs/updated-const-var'?: Linter.RuleEntry<[]>;
5100
6539
  /**
5101
- * Enforce using Solid's `<For />` component for mapping an array to JSX elements.
5102
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-for.md
6540
+ * Loop counters should not be assigned within the loop body
6541
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2310/javascript
5103
6542
  */
5104
- 'solid/prefer-for'?: Linter.RuleEntry<[]>;
6543
+ 'sonarjs/updated-loop-counter'?: Linter.RuleEntry<[]>;
5105
6544
  /**
5106
- * Enforce running side-effectful setup (timers, global listeners, observers) inside `onSettled` instead of the component body.
5107
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-onSettled-for-side-effects.md
6545
+ * Type aliases should be used
6546
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4323/javascript
5108
6547
  */
5109
- 'solid/prefer-onSettled-for-side-effects'?: Linter.RuleEntry<[]>;
6548
+ 'sonarjs/use-type-alias'?: Linter.RuleEntry<[]>;
5110
6549
  /**
5111
- * Enforce using Solid's `<Show />` component for conditionally showing content. Solid's compiler covers this case, so it's a stylistic rule only.
5112
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-show.md
6550
+ * Results of operations on strings should not be ignored
6551
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1154/javascript
6552
+ * @deprecated
5113
6553
  */
5114
- 'solid/prefer-show'?: Linter.RuleEntry<[]>;
6554
+ 'sonarjs/useless-string-operation'?: Linter.RuleEntry<[]>;
5115
6555
  /**
5116
- * Enforce using the structured array/object forms of the `class` prop over manually-built class strings.
5117
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-structured-class.md
6556
+ * Values not convertible to numbers should not be used in numeric comparisons
6557
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3758/javascript
5118
6558
  */
5119
- 'solid/prefer-structured-class'?: Linter.RuleEntry<[]>;
6559
+ 'sonarjs/values-not-convertible-to-numbers'?: Linter.RuleEntry<[]>;
5120
6560
  /**
5121
- * Enforce that reactivity (props, signals, memos, etc.) is properly used, so changes in those values will be tracked and update the view as expected.
5122
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/reactivity.md
6561
+ * Variable, property and parameter names should comply with a naming convention
6562
+ * @see https://sonarsource.github.io/rspec/#/rspec/S117/javascript
5123
6563
  */
5124
- 'solid/reactivity'?: Linter.RuleEntry<SolidReactivity>;
6564
+ 'sonarjs/variable-name'?: Linter.RuleEntry<SonarjsVariableName>;
5125
6565
  /**
5126
- * Disallow Solid 1.x APIs that were removed or renamed in Solid 2.0, with migration guidance.
5127
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/removed-api.md
6566
+ * "void" should not be used
6567
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3735/javascript
5128
6568
  */
5129
- 'solid/removed-api'?: Linter.RuleEntry<[]>;
6569
+ 'sonarjs/void-use'?: Linter.RuleEntry<[]>;
5130
6570
  /**
5131
- * Require server functions to be async, matching their client-side contract.
5132
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/require-async-server-function.md
6571
+ * Weak SSL/TLS protocols should not be used
6572
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4423/javascript
5133
6573
  */
5134
- 'solid/require-async-server-function'?: Linter.RuleEntry<[]>;
6574
+ 'sonarjs/weak-ssl'?: Linter.RuleEntry<[]>;
5135
6575
  /**
5136
- * Disallow extra closing tags for components without children.
5137
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/self-closing-comp.md
6576
+ * Web SQL databases should not be used
6577
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2817/javascript
6578
+ * @deprecated
5138
6579
  */
5139
- 'solid/self-closing-comp'?: Linter.RuleEntry<SolidSelfClosingComp>;
6580
+ 'sonarjs/web-sql-database'?: Linter.RuleEntry<[]>;
5140
6581
  /**
5141
- * Require CSS properties in the `style` prop to be valid and kebab-cased (ex. 'font-size'), not camel-cased (ex. 'fontSize') like in React, and that property values with dimensions are strings, not numbers with implicit 'px' units.
5142
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/style-prop.md
6582
+ * Web application technologies should not disclose version information
6583
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
5143
6584
  */
5144
- 'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>;
6585
+ 'sonarjs/x-powered-by'?: Linter.RuleEntry<[]>;
5145
6586
  /**
5146
- * Enforce that "use server" directives are placed where the compiler honors them, and that module-level directive files export working server functions.
5147
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/valid-use-server.md
6587
+ * XML parsers should not be vulnerable to XXE attacks
6588
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
5148
6589
  */
5149
- 'solid/valid-use-server'?: Linter.RuleEntry<SolidValidUseServer>;
6590
+ 'sonarjs/xml-parser-xxe'?: Linter.RuleEntry<[]>;
5150
6591
  /**
5151
6592
  * Enforce sorted `import` declarations within modules
5152
6593
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -16909,6 +18350,69 @@ type SemiSpacing = [] | [{
16909
18350
  }];
16910
18351
  // ----- semi-style -----
16911
18352
  type SemiStyle = [] | [("last" | "first")];
18353
+ // ----- slop/max-comment-length -----
18354
+ type SlopMaxCommentLength = [] | [{
18355
+ cwd?: string;
18356
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18357
+ mode: ("full" | "uncommitted" | "recent-changes");
18358
+ tracebackCommits?: number;
18359
+ });
18360
+ ignoreJSDoc?: boolean;
18361
+ maximumWords?: number;
18362
+ }];
18363
+ // ----- slop/no-chained-type-assertions -----
18364
+ type SlopNoChainedTypeAssertions = [] | [{
18365
+ cwd?: string;
18366
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18367
+ mode: ("full" | "uncommitted" | "recent-changes");
18368
+ tracebackCommits?: number;
18369
+ });
18370
+ }];
18371
+ // ----- slop/no-em-dash -----
18372
+ type SlopNoEmDash = [] | [{
18373
+ cwd?: string;
18374
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18375
+ mode: ("full" | "uncommitted" | "recent-changes");
18376
+ tracebackCommits?: number;
18377
+ });
18378
+ }];
18379
+ // ----- slop/no-jargon -----
18380
+ type SlopNoJargon = [] | [{
18381
+ cwd?: string;
18382
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18383
+ mode: ("full" | "uncommitted" | "recent-changes");
18384
+ tracebackCommits?: number;
18385
+ });
18386
+ allow?: string[];
18387
+ extraWords?: string[];
18388
+ ignoreJSDoc?: boolean;
18389
+ words?: string[];
18390
+ }];
18391
+ // ----- slop/no-trivial-functions -----
18392
+ type SlopNoTrivialFunctions = [] | [{
18393
+ cwd?: string;
18394
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18395
+ mode: ("full" | "uncommitted" | "recent-changes");
18396
+ tracebackCommits?: number;
18397
+ });
18398
+ minimumReferences?: number;
18399
+ }];
18400
+ // ----- slop/no-trivial-type-aliases -----
18401
+ type SlopNoTrivialTypeAliases = [] | [{
18402
+ cwd?: string;
18403
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18404
+ mode: ("full" | "uncommitted" | "recent-changes");
18405
+ tracebackCommits?: number;
18406
+ });
18407
+ }];
18408
+ // ----- slop/prefer-jsdoc -----
18409
+ type SlopPreferJsdoc = [] | [{
18410
+ cwd?: string;
18411
+ inspection?: (("full" | "uncommitted" | "recent-changes") | {
18412
+ mode: ("full" | "uncommitted" | "recent-changes");
18413
+ tracebackCommits?: number;
18414
+ });
18415
+ }];
16912
18416
  // ----- solid/event-handlers -----
16913
18417
  type SolidEventHandlers = [] | [{
16914
18418
  ignoreCase?: boolean;
@@ -16954,6 +18458,103 @@ type SolidStyleProp = [] | [{
16954
18458
  type SolidValidUseServer = [] | [{
16955
18459
  clientWrappers?: string[];
16956
18460
  }];
18461
+ // ----- sonarjs/arrow-function-convention -----
18462
+ type SonarjsArrowFunctionConvention = [] | [{
18463
+ requireParameterParentheses?: boolean;
18464
+ requireBodyBraces?: boolean;
18465
+ }];
18466
+ // ----- sonarjs/class-name -----
18467
+ type SonarjsClassName = [] | [{
18468
+ format?: string;
18469
+ }];
18470
+ // ----- sonarjs/cognitive-complexity -----
18471
+ type SonarjsCognitiveComplexity = [] | [(number | "silence-issues")] | [(number | "silence-issues"), "silence-issues"];
18472
+ // ----- sonarjs/comment-regex -----
18473
+ type SonarjsCommentRegex = [] | [{
18474
+ regularExpression?: string;
18475
+ message?: string;
18476
+ flags?: string;
18477
+ }];
18478
+ // ----- sonarjs/content-length -----
18479
+ type SonarjsContentLength = [] | [{
18480
+ fileUploadSizeLimit?: number;
18481
+ standardSizeLimit?: number;
18482
+ }];
18483
+ // ----- sonarjs/cyclomatic-complexity -----
18484
+ type SonarjsCyclomaticComplexity = [] | [{
18485
+ threshold?: number;
18486
+ }];
18487
+ // ----- sonarjs/expression-complexity -----
18488
+ type SonarjsExpressionComplexity = [] | [{
18489
+ max?: number;
18490
+ }];
18491
+ // ----- sonarjs/file-header -----
18492
+ type SonarjsFileHeader = [] | [{
18493
+ headerFormat?: string;
18494
+ isRegularExpression?: boolean;
18495
+ }];
18496
+ // ----- sonarjs/function-name -----
18497
+ type SonarjsFunctionName = [] | [{
18498
+ format?: string;
18499
+ }];
18500
+ // ----- sonarjs/max-lines -----
18501
+ type SonarjsMaxLines = [] | [{
18502
+ maximum?: number;
18503
+ }];
18504
+ // ----- sonarjs/max-lines-per-function -----
18505
+ type SonarjsMaxLinesPerFunction = [] | [{
18506
+ maximum?: number;
18507
+ }];
18508
+ // ----- sonarjs/max-switch-cases -----
18509
+ type SonarjsMaxSwitchCases = [] | [number];
18510
+ // ----- sonarjs/max-union-size -----
18511
+ type SonarjsMaxUnionSize = [] | [{
18512
+ threshold?: number;
18513
+ }];
18514
+ // ----- sonarjs/nested-control-flow -----
18515
+ type SonarjsNestedControlFlow = [] | [{
18516
+ maximumNestingLevel?: number;
18517
+ }];
18518
+ // ----- sonarjs/new-operator-misuse -----
18519
+ type SonarjsNewOperatorMisuse = [] | [{
18520
+ considerJSDoc?: boolean;
18521
+ }];
18522
+ // ----- sonarjs/no-duplicate-string -----
18523
+ type SonarjsNoDuplicateString = [] | [{
18524
+ threshold?: number;
18525
+ ignoreStrings?: string;
18526
+ }];
18527
+ // ----- sonarjs/no-hardcoded-passwords -----
18528
+ type SonarjsNoHardcodedPasswords = [] | [{
18529
+ passwordWords?: string[];
18530
+ }];
18531
+ // ----- sonarjs/no-hardcoded-secrets -----
18532
+ type SonarjsNoHardcodedSecrets = [] | [{
18533
+ secretWords?: string;
18534
+ randomnessSensibility?: number;
18535
+ }];
18536
+ // ----- sonarjs/no-identical-functions -----
18537
+ type SonarjsNoIdenticalFunctions = [] | [number];
18538
+ // ----- sonarjs/no-implicit-dependencies -----
18539
+ type SonarjsNoImplicitDependencies = [] | [{
18540
+ whitelist?: string[];
18541
+ }];
18542
+ // ----- sonarjs/no-intrusive-permissions -----
18543
+ type SonarjsNoIntrusivePermissions = [] | [{
18544
+ permissions?: string[];
18545
+ }];
18546
+ // ----- sonarjs/no-nested-functions -----
18547
+ type SonarjsNoNestedFunctions = [] | [{
18548
+ threshold?: number;
18549
+ }];
18550
+ // ----- sonarjs/regex-complexity -----
18551
+ type SonarjsRegexComplexity = [] | [{
18552
+ threshold?: number;
18553
+ }];
18554
+ // ----- sonarjs/variable-name -----
18555
+ type SonarjsVariableName = [] | [{
18556
+ format?: string;
18557
+ }];
16957
18558
  // ----- sort-imports -----
16958
18559
  type SortImports = [] | [{
16959
18560
  ignoreCase?: boolean;
@@ -21817,7 +23418,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
21817
23418
  onlyEquality?: boolean;
21818
23419
  }];
21819
23420
  // Names of all the configs
21820
- type ConfigNames = 'antfu/gitignore' | 'antfu/ignores' | 'antfu/javascript/setup' | 'antfu/javascript/rules' | 'antfu/eslint-comments/rules' | 'antfu/command/rules' | 'antfu/perfectionist/setup' | 'antfu/node/setup' | 'antfu/node/rules' | 'antfu/jsdoc/setup' | 'antfu/jsdoc/rules' | 'antfu/imports/rules' | 'antfu/e18e/rules' | 'antfu/unicorn/setup' | 'antfu/unicorn/rules' | 'antfu/jsx/setup' | 'antfu/typescript/setup' | 'antfu/typescript/parser' | 'antfu/typescript/type-aware-parser' | 'antfu/typescript/rules' | 'antfu/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'antfu/stylistic/rules' | 'antfu/regexp/rules' | 'antfu/test/setup' | 'antfu/test/rules' | 'antfu/vue/setup' | 'antfu/vue/rules' | 'antfu/react/setup' | 'antfu/react/rules' | 'antfu/react/typescript' | 'antfu/react/type-aware-rules' | 'antfu/nextjs/setup' | 'antfu/nextjs/rules' | 'antfu/solid/setup' | 'antfu/solid/rules' | 'antfu/svelte/setup' | 'antfu/svelte/rules' | 'antfu/unocss' | 'antfu/astro/setup' | 'antfu/astro/rules' | 'antfu/angular/setup' | 'antfu/angular/rules/ts' | 'antfu/angular/rules/template' | 'antfu/jsonc/setup' | 'antfu/jsonc/rules' | 'antfu/sort/package-json' | 'antfu/sort/tsconfig-json' | 'antfu/pnpm/package-json' | 'antfu/pnpm/pnpm-workspace-yaml' | 'antfu/pnpm/pnpm-workspace-yaml-sort' | 'antfu/yaml/setup' | 'antfu/yaml/rules' | 'antfu/toml/setup' | 'antfu/toml/rules' | 'antfu/markdown/setup' | 'antfu/markdown/processor' | 'antfu/markdown/parser' | 'antfu/markdown/rules' | 'antfu/markdown/disables/code' | 'antfu/formatter/setup' | 'antfu/formatter/css' | 'antfu/formatter/scss' | 'antfu/formatter/less' | 'antfu/formatter/html' | 'antfu/formatter/xml' | 'antfu/formatter/svg' | 'antfu/formatter/markdown' | 'antfu/formatter/astro' | 'antfu/formatter/astro/disables' | 'antfu/formatter/graphql' | 'antfu/disables/scripts' | 'antfu/disables/cli' | 'antfu/disables/bin' | 'antfu/disables/dts' | 'antfu/disables/cjs' | 'antfu/disables/config-files';
23421
+ type ConfigNames = 'antfu/gitignore' | 'antfu/ignores' | 'antfu/javascript/setup' | 'antfu/javascript/rules' | 'antfu/eslint-comments/rules' | 'antfu/command/rules' | 'antfu/perfectionist/setup' | 'antfu/node/setup' | 'antfu/node/rules' | 'antfu/jsdoc/setup' | 'antfu/jsdoc/rules' | 'antfu/imports/rules' | 'antfu/e18e/rules' | 'antfu/unicorn/setup' | 'antfu/unicorn/rules' | 'antfu/jsx/setup' | 'antfu/typescript/setup' | 'antfu/typescript/parser' | 'antfu/typescript/type-aware-parser' | 'antfu/typescript/rules' | 'antfu/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'antfu/antislop/rules' | 'antfu/stylistic/rules' | 'antfu/regexp/rules' | 'antfu/test/setup' | 'antfu/test/rules' | 'antfu/vue/setup' | 'antfu/vue/rules' | 'antfu/react/setup' | 'antfu/react/rules' | 'antfu/react/typescript' | 'antfu/react/type-aware-rules' | 'antfu/nextjs/setup' | 'antfu/nextjs/rules' | 'antfu/solid/setup' | 'antfu/solid/rules' | 'antfu/svelte/setup' | 'antfu/svelte/rules' | 'antfu/unocss' | 'antfu/astro/setup' | 'antfu/astro/rules' | 'antfu/angular/setup' | 'antfu/angular/rules/ts' | 'antfu/angular/rules/template' | 'antfu/jsonc/setup' | 'antfu/jsonc/rules' | 'antfu/sort/package-json' | 'antfu/sort/tsconfig-json' | 'antfu/pnpm/package-json' | 'antfu/pnpm/pnpm-workspace-yaml' | 'antfu/pnpm/pnpm-workspace-yaml-stylistic' | 'antfu/pnpm/pnpm-workspace-yaml-sort' | 'antfu/yaml/setup' | 'antfu/yaml/rules' | 'antfu/toml/setup' | 'antfu/toml/rules' | 'antfu/markdown/setup' | 'antfu/markdown/processor' | 'antfu/markdown/parser' | 'antfu/markdown/rules' | 'antfu/markdown/disables/code' | 'antfu/formatter/setup' | 'antfu/formatter/css' | 'antfu/formatter/scss' | 'antfu/formatter/less' | 'antfu/formatter/html' | 'antfu/formatter/xml' | 'antfu/formatter/svg' | 'antfu/formatter/markdown' | 'antfu/formatter/astro' | 'antfu/formatter/astro/disables' | 'antfu/formatter/graphql' | 'antfu/disables/scripts' | 'antfu/disables/cli' | 'antfu/disables/bin' | 'antfu/disables/dts' | 'antfu/disables/cjs' | 'antfu/disables/config-files';
21821
23422
  //#endregion
21822
23423
  //#region src/vender/prettier-types.d.ts
21823
23424
  /**
@@ -22099,6 +23700,34 @@ interface OptionsE18e extends OptionsOverrides {
22099
23700
  */
22100
23701
  performanceImprovements?: boolean;
22101
23702
  }
23703
+ interface OptionsSlop {
23704
+ cwd?: string;
23705
+ inspection?: 'full' | 'uncommitted' | 'recent-changes' | {
23706
+ mode: 'full' | 'uncommitted';
23707
+ } | {
23708
+ mode: 'recent-changes';
23709
+ tracebackCommits?: number;
23710
+ };
23711
+ }
23712
+ interface OptionsAntislop extends OptionsOverrides {
23713
+ /**
23714
+ * Enable rules from `eslint-plugin-slop`.
23715
+ *
23716
+ * Passing an object enables the rules and forwards it to the plugin
23717
+ * via `settings.slop`, controlling the working directory and inspection mode.
23718
+ *
23719
+ * @see https://github.com/antfu/eslint-plugin-slop
23720
+ * @default true
23721
+ */
23722
+ slop?: boolean | OptionsSlop;
23723
+ /**
23724
+ * Enable the curated subset of rules from `eslint-plugin-sonarjs`.
23725
+ *
23726
+ * @see https://github.com/SonarSource/SonarJS
23727
+ * @default true
23728
+ */
23729
+ sonarjs?: boolean;
23730
+ }
22102
23731
  interface OptionsUnicorn extends OptionsOverrides {
22103
23732
  /**
22104
23733
  * Include all rules recommended by `eslint-plugin-unicorn`, instead of only ones picked by Anthony.
@@ -22182,7 +23811,7 @@ interface OptionsRegExp {
22182
23811
  interface OptionsIsInEditor {
22183
23812
  isInEditor?: boolean;
22184
23813
  }
22185
- interface OptionsPnpm extends OptionsIsInEditor {
23814
+ interface OptionsPnpm extends OptionsIsInEditor, OptionsStylistic {
22186
23815
  /**
22187
23816
  * Requires catalogs usage
22188
23817
  *
@@ -22359,6 +23988,26 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
22359
23988
  * @default false
22360
23989
  */
22361
23990
  angular?: boolean | OptionsOverrides;
23991
+ /**
23992
+ * Enable anti-slop rules, guarding against low-value code patterns
23993
+ * commonly introduced by AI agents.
23994
+ *
23995
+ * Enables [eslint-plugin-slop](https://github.com/antfu/eslint-plugin-slop) and
23996
+ * a curated subset of [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS).
23997
+ *
23998
+ * We also recommend pairing this with [jscpd](https://github.com/kucherenko/jscpd)
23999
+ * and [knip](https://github.com/webpro-nl/knip) to catch copy-paste duplication
24000
+ * and unused files, dependencies, and exports.
24001
+ *
24002
+ * Requires installing:
24003
+ * - `eslint-plugin-slop`
24004
+ * - `eslint-plugin-sonarjs`
24005
+ *
24006
+ * @experimental The enabled rule set is maintained in-house and may change
24007
+ * in any release without following semver.
24008
+ * @default false
24009
+ */
24010
+ antislop?: boolean | OptionsAntislop;
22362
24011
  /**
22363
24012
  * Enable linting for **code snippets** in Markdown and the markdown content itself.
22364
24013
  *
@@ -22513,6 +24162,9 @@ declare const CONFIG_PRESET_FULL_OFF: OptionsConfig;
22513
24162
  //#region src/configs/angular.d.ts
22514
24163
  declare function angular(options?: OptionsOverrides): Promise<TypedFlatConfigItem[]>;
22515
24164
  //#endregion
24165
+ //#region src/configs/antislop.d.ts
24166
+ declare function antislop(options?: OptionsAntislop & OptionsHasTypeScript): Promise<TypedFlatConfigItem[]>;
24167
+ //#endregion
22516
24168
  //#region src/configs/astro.d.ts
22517
24169
  declare function astro(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<TypedFlatConfigItem[]>;
22518
24170
  //#endregion
@@ -22725,4 +24377,4 @@ declare function ensurePackages(packages: (string | undefined)[]): Promise<void>
22725
24377
  declare function isInEditorEnv(): boolean;
22726
24378
  declare function isInGitHooksOrLintStaged(): boolean;
22727
24379
  //#endregion
22728
- export { Awaitable, CONFIG_PRESET_FULL_OFF, CONFIG_PRESET_FULL_ON, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsE18e, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsMarkdown, OptionsOverrides, OptionsPnpm, OptionsProjectType, OptionsReact, OptionsRegExp, OptionsStylistic, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, type RuleOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, angular, antfu, antfu as default, astro, combine, command, comments, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
24380
+ export { Awaitable, CONFIG_PRESET_FULL_OFF, CONFIG_PRESET_FULL_ON, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsAntislop, OptionsComponentExts, OptionsConfig, OptionsE18e, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsMarkdown, OptionsOverrides, OptionsPnpm, OptionsProjectType, OptionsReact, OptionsRegExp, OptionsSlop, OptionsStylistic, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, type RuleOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, angular, antfu, antfu as default, antislop, astro, combine, command, comments, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };