@vinicunca/eslint-config 2.13.2 → 2.15.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.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Linter } from 'eslint';
2
- import { FlatConfigComposer } from 'eslint-flat-config-utils';
3
2
  import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin';
4
3
  import { ParserOptions } from '@typescript-eslint/parser';
5
4
  import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
6
5
  import { Options } from 'eslint-processor-vue-blocks';
6
+ import { FlatConfigComposer } from 'eslint-flat-config-utils';
7
7
  export { default as pluginComments } from '@eslint-community/eslint-plugin-eslint-comments';
8
8
  export { default as pluginAntfu } from 'eslint-plugin-antfu';
9
9
  import * as eslintPluginImportX from 'eslint-plugin-import-x';
@@ -3535,397 +3535,1593 @@ interface RuleOptions {
3535
3535
  * enforce using character class range
3536
3536
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-range.html
3537
3537
  */
3538
- 'regexp/prefer-range'?: Linter.RuleEntry<RegexpPreferRange>
3538
+ 'regexp/prefer-range'?: Linter.RuleEntry<RegexpPreferRange>
3539
+ /**
3540
+ * enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
3541
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
3542
+ */
3543
+ 'regexp/prefer-regexp-exec'?: Linter.RuleEntry<[]>
3544
+ /**
3545
+ * enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
3546
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
3547
+ */
3548
+ 'regexp/prefer-regexp-test'?: Linter.RuleEntry<[]>
3549
+ /**
3550
+ * enforce using result array `groups`
3551
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
3552
+ */
3553
+ 'regexp/prefer-result-array-groups'?: Linter.RuleEntry<RegexpPreferResultArrayGroups>
3554
+ /**
3555
+ * prefer character class set operations instead of lookarounds
3556
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
3557
+ */
3558
+ 'regexp/prefer-set-operation'?: Linter.RuleEntry<[]>
3559
+ /**
3560
+ * enforce using `*` quantifier
3561
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
3562
+ */
3563
+ 'regexp/prefer-star-quantifier'?: Linter.RuleEntry<[]>
3564
+ /**
3565
+ * enforce use of unicode codepoint escapes
3566
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
3567
+ */
3568
+ 'regexp/prefer-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>
3569
+ /**
3570
+ * enforce using `\w`
3571
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
3572
+ */
3573
+ 'regexp/prefer-w'?: Linter.RuleEntry<[]>
3574
+ /**
3575
+ * enforce the use of the `u` flag
3576
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
3577
+ */
3578
+ 'regexp/require-unicode-regexp'?: Linter.RuleEntry<[]>
3579
+ /**
3580
+ * enforce the use of the `v` flag
3581
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
3582
+ */
3583
+ 'regexp/require-unicode-sets-regexp'?: Linter.RuleEntry<[]>
3584
+ /**
3585
+ * require simplify set operations
3586
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
3587
+ */
3588
+ 'regexp/simplify-set-operations'?: Linter.RuleEntry<[]>
3589
+ /**
3590
+ * sort alternatives if order doesn't matter
3591
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
3592
+ */
3593
+ 'regexp/sort-alternatives'?: Linter.RuleEntry<[]>
3594
+ /**
3595
+ * enforces elements order in character class
3596
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
3597
+ */
3598
+ 'regexp/sort-character-class-elements'?: Linter.RuleEntry<RegexpSortCharacterClassElements>
3599
+ /**
3600
+ * require regex flags to be sorted
3601
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
3602
+ */
3603
+ 'regexp/sort-flags'?: Linter.RuleEntry<[]>
3604
+ /**
3605
+ * disallow not strictly valid regular expressions
3606
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
3607
+ */
3608
+ 'regexp/strict'?: Linter.RuleEntry<[]>
3609
+ /**
3610
+ * enforce consistent usage of unicode escape or unicode codepoint escape
3611
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
3612
+ */
3613
+ 'regexp/unicode-escape'?: Linter.RuleEntry<RegexpUnicodeEscape>
3614
+ /**
3615
+ * enforce consistent naming of unicode properties
3616
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
3617
+ */
3618
+ 'regexp/unicode-property'?: Linter.RuleEntry<RegexpUnicodeProperty>
3619
+ /**
3620
+ * use the `i` flag if it simplifies the pattern
3621
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
3622
+ */
3623
+ 'regexp/use-ignore-case'?: Linter.RuleEntry<[]>
3624
+ /**
3625
+ * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3626
+ * @see https://eslint.org/docs/latest/rules/require-atomic-updates
3627
+ */
3628
+ 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
3629
+ /**
3630
+ * Disallow async functions which have no `await` expression
3631
+ * @see https://eslint.org/docs/latest/rules/require-await
3632
+ */
3633
+ 'require-await'?: Linter.RuleEntry<[]>
3634
+ /**
3635
+ * Enforce the use of `u` or `v` flag on RegExp
3636
+ * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3637
+ */
3638
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>
3639
+ /**
3640
+ * Require generator functions to contain `yield`
3641
+ * @see https://eslint.org/docs/latest/rules/require-yield
3642
+ */
3643
+ 'require-yield'?: Linter.RuleEntry<[]>
3644
+ /**
3645
+ * Enforce spacing between rest and spread operators and their expressions
3646
+ * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
3647
+ * @deprecated
3648
+ */
3649
+ 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
3650
+ /**
3651
+ * Require or disallow semicolons instead of ASI
3652
+ * @see https://eslint.org/docs/latest/rules/semi
3653
+ * @deprecated
3654
+ */
3655
+ 'semi'?: Linter.RuleEntry<Semi>
3656
+ /**
3657
+ * Enforce consistent spacing before and after semicolons
3658
+ * @see https://eslint.org/docs/latest/rules/semi-spacing
3659
+ * @deprecated
3660
+ */
3661
+ 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
3662
+ /**
3663
+ * Enforce location of semicolons
3664
+ * @see https://eslint.org/docs/latest/rules/semi-style
3665
+ * @deprecated
3666
+ */
3667
+ 'semi-style'?: Linter.RuleEntry<SemiStyle>
3668
+ /**
3669
+ * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
3670
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/components-return-once.md
3671
+ */
3672
+ 'solid/components-return-once'?: Linter.RuleEntry<[]>
3673
+ /**
3674
+ * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
3675
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/event-handlers.md
3676
+ */
3677
+ 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>
3678
+ /**
3679
+ * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
3680
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/imports.md
3681
+ */
3682
+ 'solid/imports'?: Linter.RuleEntry<[]>
3683
+ /**
3684
+ * Disallow passing the same prop twice in JSX.
3685
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-duplicate-props.md
3686
+ */
3687
+ 'solid/jsx-no-duplicate-props'?: Linter.RuleEntry<SolidJsxNoDuplicateProps>
3688
+ /**
3689
+ * Disallow javascript: URLs.
3690
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-script-url.md
3691
+ */
3692
+ 'solid/jsx-no-script-url'?: Linter.RuleEntry<[]>
3693
+ /**
3694
+ * Disallow references to undefined variables in JSX. Handles custom directives.
3695
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-undef.md
3696
+ */
3697
+ 'solid/jsx-no-undef'?: Linter.RuleEntry<SolidJsxNoUndef>
3698
+ /**
3699
+ * Prevent variables used in JSX from being marked as unused.
3700
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-uses-vars.md
3701
+ */
3702
+ 'solid/jsx-uses-vars'?: Linter.RuleEntry<[]>
3703
+ /**
3704
+ * Disallow usage of type-unsafe event handlers.
3705
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-array-handlers.md
3706
+ */
3707
+ 'solid/no-array-handlers'?: Linter.RuleEntry<[]>
3708
+ /**
3709
+ * 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.
3710
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-destructure.md
3711
+ */
3712
+ 'solid/no-destructure'?: Linter.RuleEntry<[]>
3713
+ /**
3714
+ * Disallow usage of the innerHTML attribute, which can often lead to security vulnerabilities.
3715
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-innerhtml.md
3716
+ */
3717
+ 'solid/no-innerhtml'?: Linter.RuleEntry<SolidNoInnerhtml>
3718
+ /**
3719
+ * Disallow usage of APIs that use ES6 Proxies, only to target environments that don't support them.
3720
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-proxy-apis.md
3721
+ */
3722
+ 'solid/no-proxy-apis'?: Linter.RuleEntry<[]>
3723
+ /**
3724
+ * Disallow usage of dependency arrays in `createEffect` and `createMemo`.
3725
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-deps.md
3726
+ */
3727
+ 'solid/no-react-deps'?: Linter.RuleEntry<[]>
3728
+ /**
3729
+ * Disallow usage of React-specific `className`/`htmlFor` props, which were deprecated in v1.4.0.
3730
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-specific-props.md
3731
+ */
3732
+ 'solid/no-react-specific-props'?: Linter.RuleEntry<[]>
3733
+ /**
3734
+ * Enforce using only Solid-specific namespaced attribute names (i.e. `'on:'` in `<div on:click={...} />`).
3735
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-unknown-namespaces.md
3736
+ */
3737
+ 'solid/no-unknown-namespaces'?: Linter.RuleEntry<SolidNoUnknownNamespaces>
3738
+ /**
3739
+ * Enforce using the classlist prop over importing a classnames helper. The classlist prop accepts an object `{ [class: string]: boolean }` just like classnames.
3740
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-classlist.md
3741
+ * @deprecated
3742
+ */
3743
+ 'solid/prefer-classlist'?: Linter.RuleEntry<SolidPreferClasslist>
3744
+ /**
3745
+ * Enforce using Solid's `<For />` component for mapping an array to JSX elements.
3746
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-for.md
3747
+ */
3748
+ 'solid/prefer-for'?: Linter.RuleEntry<[]>
3749
+ /**
3750
+ * Enforce using Solid's `<Show />` component for conditionally showing content. Solid's compiler covers this case, so it's a stylistic rule only.
3751
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-show.md
3752
+ */
3753
+ 'solid/prefer-show'?: Linter.RuleEntry<[]>
3754
+ /**
3755
+ * Enforce that reactivity (props, signals, memos, etc.) is properly used, so changes in those values will be tracked and update the view as expected.
3756
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/reactivity.md
3757
+ */
3758
+ 'solid/reactivity'?: Linter.RuleEntry<SolidReactivity>
3759
+ /**
3760
+ * Disallow extra closing tags for components without children.
3761
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/self-closing-comp.md
3762
+ */
3763
+ 'solid/self-closing-comp'?: Linter.RuleEntry<SolidSelfClosingComp>
3764
+ /**
3765
+ * 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.
3766
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/style-prop.md
3767
+ */
3768
+ 'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>
3769
+ /**
3770
+ * Alternatives in regular expressions should be grouped when used with anchors
3771
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5850/javascript
3772
+ */
3773
+ 'sonar/anchor-precedence'?: Linter.RuleEntry<[]>
3774
+ /**
3775
+ * Arguments to built-in functions should match documented types
3776
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3782/javascript
3777
+ */
3778
+ 'sonar/argument-type'?: Linter.RuleEntry<[]>
3779
+ /**
3780
+ * Parameters should be passed in the correct order
3781
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2234/javascript
3782
+ */
3783
+ 'sonar/arguments-order'?: Linter.RuleEntry<SonarArgumentsOrder>
3784
+ /**
3785
+ * "arguments" should not be accessed directly
3786
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3513/javascript
3787
+ */
3788
+ 'sonar/arguments-usage'?: Linter.RuleEntry<SonarArgumentsUsage>
3789
+ /**
3790
+ * Callbacks of array methods should have return statements
3791
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3796/javascript
3792
+ */
3793
+ 'sonar/array-callback-without-return'?: Linter.RuleEntry<[]>
3794
+ /**
3795
+ * Array constructors should not be used
3796
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1528/javascript
3797
+ */
3798
+ 'sonar/array-constructor'?: Linter.RuleEntry<[]>
3799
+ /**
3800
+ * Braces and parentheses should be used consistently with arrow functions
3801
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3524/javascript
3802
+ */
3803
+ 'sonar/arrow-function-convention'?: Linter.RuleEntry<SonarArrowFunctionConvention>
3804
+ /**
3805
+ * Tests should include assertions
3806
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2699/javascript
3807
+ */
3808
+ 'sonar/assertions-in-tests'?: Linter.RuleEntry<[]>
3809
+ /**
3810
+ * Creating public APIs is security-sensitive
3811
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
3812
+ */
3813
+ 'sonar/aws-apigateway-public-api'?: Linter.RuleEntry<[]>
3814
+ /**
3815
+ * Allowing public network access to cloud resources is security-sensitive
3816
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
3817
+ */
3818
+ 'sonar/aws-ec2-rds-dms-public'?: Linter.RuleEntry<[]>
3819
+ /**
3820
+ * Using unencrypted EBS volumes is security-sensitive
3821
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
3822
+ */
3823
+ 'sonar/aws-ec2-unencrypted-ebs-volume'?: Linter.RuleEntry<[]>
3824
+ /**
3825
+ * Using unencrypted EFS file systems is security-sensitive
3826
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
3827
+ */
3828
+ 'sonar/aws-efs-unencrypted'?: Linter.RuleEntry<[]>
3829
+ /**
3830
+ * Policies granting all privileges are security-sensitive
3831
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
3832
+ */
3833
+ 'sonar/aws-iam-all-privileges'?: Linter.RuleEntry<SonarAwsIamAllPrivileges>
3834
+ /**
3835
+ * Policies granting access to all resources of an account are security-sensitive
3836
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
3837
+ */
3838
+ 'sonar/aws-iam-all-resources-accessible'?: Linter.RuleEntry<SonarAwsIamAllResourcesAccessible>
3839
+ /**
3840
+ * AWS IAM policies should limit the scope of permissions given
3841
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6317/javascript
3842
+ */
3843
+ 'sonar/aws-iam-privilege-escalation'?: Linter.RuleEntry<SonarAwsIamPrivilegeEscalation>
3844
+ /**
3845
+ * Policies authorizing public access to resources are security-sensitive
3846
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
3847
+ */
3848
+ 'sonar/aws-iam-public-access'?: Linter.RuleEntry<SonarAwsIamPublicAccess>
3849
+ /**
3850
+ * Using unencrypted Elasticsearch domains is security-sensitive
3851
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
3852
+ */
3853
+ 'sonar/aws-opensearchservice-domain'?: Linter.RuleEntry<[]>
3854
+ /**
3855
+ * Using unencrypted RDS DB resources is security-sensitive
3856
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
3857
+ */
3858
+ 'sonar/aws-rds-unencrypted-databases'?: Linter.RuleEntry<[]>
3859
+ /**
3860
+ * Administration services access should be restricted to specific IP addresses
3861
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6321/javascript
3862
+ */
3863
+ 'sonar/aws-restricted-ip-admin-access'?: Linter.RuleEntry<[]>
3864
+ /**
3865
+ * Granting access to S3 buckets to all or authenticated users is security-sensitive
3866
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
3867
+ */
3868
+ 'sonar/aws-s3-bucket-granted-access'?: Linter.RuleEntry<SonarAwsS3BucketGrantedAccess>
3869
+ /**
3870
+ * Authorizing HTTP communications with S3 buckets is security-sensitive
3871
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
3872
+ */
3873
+ 'sonar/aws-s3-bucket-insecure-http'?: Linter.RuleEntry<[]>
3874
+ /**
3875
+ * Allowing public ACLs or policies on a S3 bucket is security-sensitive
3876
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
3877
+ */
3878
+ 'sonar/aws-s3-bucket-public-access'?: Linter.RuleEntry<SonarAwsS3BucketPublicAccess>
3879
+ /**
3880
+ * Disabling server-side encryption of S3 buckets is security-sensitive
3881
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
3882
+ * @deprecated
3883
+ */
3884
+ 'sonar/aws-s3-bucket-server-encryption'?: Linter.RuleEntry<SonarAwsS3BucketServerEncryption>
3885
+ /**
3886
+ * Disabling versioning of S3 buckets is security-sensitive
3887
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
3888
+ */
3889
+ 'sonar/aws-s3-bucket-versioning'?: Linter.RuleEntry<SonarAwsS3BucketVersioning>
3890
+ /**
3891
+ * Using unencrypted SageMaker notebook instances is security-sensitive
3892
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
3893
+ */
3894
+ 'sonar/aws-sagemaker-unencrypted-notebook'?: Linter.RuleEntry<[]>
3895
+ /**
3896
+ * Using unencrypted SNS topics is security-sensitive
3897
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
3898
+ */
3899
+ 'sonar/aws-sns-unencrypted-topics'?: Linter.RuleEntry<[]>
3900
+ /**
3901
+ * Using unencrypted SQS queues is security-sensitive
3902
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
3903
+ */
3904
+ 'sonar/aws-sqs-unencrypted-queue'?: Linter.RuleEntry<[]>
3905
+ /**
3906
+ * Bitwise operators should not be used in boolean contexts
3907
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1529/javascript
3908
+ */
3909
+ 'sonar/bitwise-operators'?: Linter.RuleEntry<[]>
3910
+ /**
3911
+ * Variables should be used in the blocks where they are declared
3912
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2392/javascript
3913
+ */
3914
+ 'sonar/block-scoped-var'?: Linter.RuleEntry<SonarBlockScopedVar>
3915
+ /**
3916
+ * Optional boolean parameters should have default value
3917
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4798/javascript
3918
+ */
3919
+ 'sonar/bool-param-default'?: Linter.RuleEntry<[]>
3920
+ /**
3921
+ * Function call arguments should not start on new lines
3922
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
3923
+ */
3924
+ 'sonar/call-argument-line'?: Linter.RuleEntry<[]>
3925
+ /**
3926
+ * Disabling Certificate Transparency monitoring is security-sensitive
3927
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
3928
+ */
3929
+ 'sonar/certificate-transparency'?: Linter.RuleEntry<SonarCertificateTransparency>
3930
+ /**
3931
+ * Chai assertions should have only one reason to succeed
3932
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
3933
+ */
3934
+ 'sonar/chai-determinate-assertion'?: Linter.RuleEntry<[]>
3935
+ /**
3936
+ * Class names should comply with a naming convention
3937
+ * @see https://sonarsource.github.io/rspec/#/rspec/S101/javascript
3938
+ */
3939
+ 'sonar/class-name'?: Linter.RuleEntry<SonarClassName>
3940
+ /**
3941
+ * Class methods should be used instead of "prototype" assignments
3942
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3525/javascript
3943
+ */
3944
+ 'sonar/class-prototype'?: Linter.RuleEntry<[]>
3945
+ /**
3946
+ * Dynamically executing code is security-sensitive
3947
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
3948
+ */
3949
+ 'sonar/code-eval'?: Linter.RuleEntry<[]>
3950
+ /**
3951
+ * Cognitive Complexity of functions should not be too high
3952
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3776/javascript
3953
+ */
3954
+ 'sonar/cognitive-complexity'?: Linter.RuleEntry<SonarCognitiveComplexity>
3955
+ /**
3956
+ * Comma and logical OR operators should not be used in switch cases
3957
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3616/javascript
3958
+ */
3959
+ 'sonar/comma-or-logical-or-case'?: Linter.RuleEntry<[]>
3960
+ /**
3961
+ * Track comments matching a regular expression
3962
+ * @see https://sonarsource.github.io/rspec/#/rspec/S124/javascript
3963
+ */
3964
+ 'sonar/comment-regex'?: Linter.RuleEntry<SonarCommentRegex>
3965
+ /**
3966
+ * Regular expression quantifiers and character classes should be used concisely
3967
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6353/javascript
3968
+ */
3969
+ 'sonar/concise-regex'?: Linter.RuleEntry<[]>
3970
+ /**
3971
+ * A conditionally executed single line should be denoted by indentation
3972
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3973/javascript
3973
+ * @deprecated
3974
+ */
3975
+ 'sonar/conditional-indentation'?: Linter.RuleEntry<SonarConditionalIndentation>
3976
+ /**
3977
+ * Allowing confidential information to be logged is security-sensitive
3978
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
3979
+ */
3980
+ 'sonar/confidential-information-logging'?: Linter.RuleEntry<SonarConfidentialInformationLogging>
3981
+ /**
3982
+ * Objects should not be created to be dropped immediately without being used
3983
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1848/javascript
3984
+ */
3985
+ 'sonar/constructor-for-side-effects'?: Linter.RuleEntry<[]>
3986
+ /**
3987
+ * Allowing requests with excessive content length is security-sensitive
3988
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
3989
+ */
3990
+ 'sonar/content-length'?: Linter.RuleEntry<SonarContentLength>
3991
+ /**
3992
+ * Disabling content security policy fetch directives is security-sensitive
3993
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
3994
+ */
3995
+ 'sonar/content-security-policy'?: Linter.RuleEntry<SonarContentSecurityPolicy>
3996
+ /**
3997
+ * Creating cookies without the "HttpOnly" flag is security-sensitive
3998
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
3999
+ */
4000
+ 'sonar/cookie-no-httponly'?: Linter.RuleEntry<SonarCookieNoHttponly>
4001
+ /**
4002
+ * Writing cookies is security-sensitive
4003
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
4004
+ * @deprecated
4005
+ */
4006
+ 'sonar/cookies'?: Linter.RuleEntry<[]>
4007
+ /**
4008
+ * Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
4009
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
4010
+ */
4011
+ 'sonar/cors'?: Linter.RuleEntry<SonarCors>
4012
+ /**
4013
+ * Disabling CSRF protections is security-sensitive
4014
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
4015
+ */
4016
+ 'sonar/csrf'?: Linter.RuleEntry<SonarCsrf>
4017
+ /**
4018
+ * Cyclomatic Complexity of functions should not be too high
4019
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1541/javascript
4020
+ */
4021
+ 'sonar/cyclomatic-complexity'?: Linter.RuleEntry<SonarCyclomaticComplexity>
4022
+ /**
4023
+ * Variables and functions should not be declared in the global scope
4024
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3798/javascript
4025
+ */
4026
+ 'sonar/declarations-in-global-scope'?: Linter.RuleEntry<[]>
4027
+ /**
4028
+ * Deprecated APIs should not be used
4029
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1874/javascript
4030
+ */
4031
+ 'sonar/deprecation'?: Linter.RuleEntry<[]>
4032
+ /**
4033
+ * Destructuring syntax should be used for assignments
4034
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3514/javascript
4035
+ */
4036
+ 'sonar/destructuring-assignment-syntax'?: Linter.RuleEntry<SonarDestructuringAssignmentSyntax>
4037
+ /**
4038
+ * Strict equality operators should not be used with dissimilar types
4039
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3403/javascript
4040
+ */
4041
+ 'sonar/different-types-comparison'?: Linter.RuleEntry<SonarDifferentTypesComparison>
4042
+ /**
4043
+ * Disabling auto-escaping in template engines is security-sensitive
4044
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
4045
+ */
4046
+ 'sonar/disabled-auto-escaping'?: Linter.RuleEntry<SonarDisabledAutoEscaping>
4047
+ /**
4048
+ * Using remote artifacts without integrity checks is security-sensitive
4049
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
4050
+ */
4051
+ 'sonar/disabled-resource-integrity'?: Linter.RuleEntry<[]>
4052
+ /**
4053
+ * Disabling Mocha timeouts should be explicit
4054
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
4055
+ */
4056
+ 'sonar/disabled-timeout'?: Linter.RuleEntry<[]>
4057
+ /**
4058
+ * Allowing browsers to perform DNS prefetching is security-sensitive
4059
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5743/javascript
4060
+ * @deprecated
4061
+ */
4062
+ 'sonar/dns-prefetching'?: Linter.RuleEntry<SonarDnsPrefetching>
4063
+ /**
4064
+ * Character classes in regular expressions should not contain the same character twice
4065
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
4066
+ */
4067
+ 'sonar/duplicates-in-character-class'?: Linter.RuleEntry<SonarDuplicatesInCharacterClass>
4068
+ /**
4069
+ * "if ... else if" constructs should end with "else" clauses
4070
+ * @see https://sonarsource.github.io/rspec/#/rspec/S126/javascript
4071
+ */
4072
+ 'sonar/elseif-without-else'?: Linter.RuleEntry<[]>
4073
+ /**
4074
+ * Repeated patterns in regular expressions should not match the empty string
4075
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
4076
+ */
4077
+ 'sonar/empty-string-repetition'?: Linter.RuleEntry<[]>
4078
+ /**
4079
+ * Encrypting data is security-sensitive
4080
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
4081
+ * @deprecated
4082
+ */
4083
+ 'sonar/encryption'?: Linter.RuleEntry<[]>
4084
+ /**
4085
+ * Encryption algorithms should be used with secure mode and padding scheme
4086
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
4087
+ */
4088
+ 'sonar/encryption-secure-mode'?: Linter.RuleEntry<[]>
4089
+ /**
4090
+ * Trailing commas should be used
4091
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3723/javascript
4092
+ * @deprecated
4093
+ */
4094
+ 'sonar/enforce-trailing-comma'?: Linter.RuleEntry<SonarEnforceTrailingComma>
4095
+ /**
4096
+ * Replacement strings should reference existing regular expression groups
4097
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6328/javascript
4098
+ */
4099
+ 'sonar/existing-groups'?: Linter.RuleEntry<[]>
4100
+ /**
4101
+ * Expressions should not be too complex
4102
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1067/javascript
4103
+ */
4104
+ 'sonar/expression-complexity'?: Linter.RuleEntry<SonarExpressionComplexity>
4105
+ /**
4106
+ * Track lack of copyright and license headers
4107
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1451/javascript
4108
+ */
4109
+ 'sonar/file-header'?: Linter.RuleEntry<SonarFileHeader>
4110
+ /**
4111
+ * Default export names and file names should match
4112
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3317/javascript
4113
+ */
4114
+ 'sonar/file-name-differ-from-class'?: Linter.RuleEntry<[]>
4115
+ /**
4116
+ * Setting loose POSIX file permissions is security-sensitive
4117
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2612/javascript
4118
+ */
4119
+ 'sonar/file-permissions'?: Linter.RuleEntry<[]>
4120
+ /**
4121
+ * File uploads should be restricted
4122
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2598/javascript
4123
+ */
4124
+ 'sonar/file-uploads'?: Linter.RuleEntry<SonarFileUploads>
4125
+ /**
4126
+ * Track uses of "FIXME" tags
4127
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1134/javascript
4128
+ */
4129
+ 'sonar/fixme-tag'?: Linter.RuleEntry<[]>
4130
+ /**
4131
+ * "for...in" loops should filter properties before acting on them
4132
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1535/javascript
4133
+ */
4134
+ 'sonar/for-in'?: Linter.RuleEntry<[]>
4135
+ /**
4136
+ * A "for" loop update clause should move the counter in the right direction
4137
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2251/javascript
4138
+ */
4139
+ 'sonar/for-loop-increment-sign'?: Linter.RuleEntry<SonarForLoopIncrementSign>
4140
+ /**
4141
+ * Disabling content security policy frame-ancestors directive is security-sensitive
4142
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
4143
+ */
4144
+ 'sonar/frame-ancestors'?: Linter.RuleEntry<SonarFrameAncestors>
4145
+ /**
4146
+ * Functions should not be defined inside loops
4147
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1515/javascript
4148
+ */
4149
+ 'sonar/function-inside-loop'?: Linter.RuleEntry<SonarFunctionInsideLoop>
4150
+ /**
4151
+ * Function and method names should comply with a naming convention
4152
+ * @see https://sonarsource.github.io/rspec/#/rspec/S100/javascript
4153
+ */
4154
+ 'sonar/function-name'?: Linter.RuleEntry<SonarFunctionName>
4155
+ /**
4156
+ * Functions should always return the same type
4157
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3800/javascript
4158
+ */
4159
+ 'sonar/function-return-type'?: Linter.RuleEntry<SonarFunctionReturnType>
4160
+ /**
4161
+ * Future reserved words should not be used as identifiers
4162
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1527/javascript
4163
+ */
4164
+ 'sonar/future-reserved-words'?: Linter.RuleEntry<[]>
4165
+ /**
4166
+ * Generators should explicitly "yield" a value
4167
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3531/javascript
4168
+ */
4169
+ 'sonar/generator-without-yield'?: Linter.RuleEntry<[]>
4170
+ /**
4171
+ * Using weak hashing algorithms is security-sensitive
4172
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
4173
+ */
4174
+ 'sonar/hashing'?: Linter.RuleEntry<[]>
4175
+ /**
4176
+ * Statically serving hidden files is security-sensitive
4177
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
4178
+ */
4179
+ 'sonar/hidden-files'?: Linter.RuleEntry<[]>
4180
+ /**
4181
+ * "in" should not be used with primitive types
4182
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
4183
+ */
4184
+ 'sonar/in-operator-type-error'?: Linter.RuleEntry<SonarInOperatorTypeError>
4185
+ /**
4186
+ * Functions should be called consistently with or without "new"
4187
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3686/javascript
4188
+ */
4189
+ 'sonar/inconsistent-function-call'?: Linter.RuleEntry<SonarInconsistentFunctionCall>
4190
+ /**
4191
+ * "indexOf" checks should not be for positive numbers
4192
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2692/javascript
4193
+ */
4194
+ 'sonar/index-of-compare-to-positive-number'?: Linter.RuleEntry<[]>
4195
+ /**
4196
+ * Creating cookies without the "secure" flag is security-sensitive
4197
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
4198
+ */
4199
+ 'sonar/insecure-cookie'?: Linter.RuleEntry<SonarInsecureCookie>
4200
+ /**
4201
+ * JWT should be signed and verified with strong cipher algorithms
4202
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5659/javascript
4203
+ */
4204
+ 'sonar/insecure-jwt-token'?: Linter.RuleEntry<SonarInsecureJwtToken>
4205
+ /**
4206
+ * Assertion arguments should be passed in the correct order
4207
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3415/javascript
4208
+ */
4209
+ 'sonar/inverted-assertion-arguments'?: Linter.RuleEntry<SonarInvertedAssertionArguments>
4210
+ /**
4211
+ * React components should not render non-boolean condition values
4212
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6439/javascript
4213
+ */
4214
+ 'sonar/jsx-no-leaked-render'?: Linter.RuleEntry<[]>
4215
+ /**
4216
+ * Only "while", "do", "for" and "switch" statements should be labelled
4217
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1439/javascript
4218
+ */
4219
+ 'sonar/label-position'?: Linter.RuleEntry<[]>
4220
+ /**
4221
+ * Authorizing an opened window to access back to the originating window is security-sensitive
4222
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
4223
+ */
4224
+ 'sonar/link-with-target-blank'?: Linter.RuleEntry<[]>
4225
+ /**
4226
+ * Files should not have too many lines of code
4227
+ * @see https://sonarsource.github.io/rspec/#/rspec/S104/javascript
4228
+ */
4229
+ 'sonar/max-lines'?: Linter.RuleEntry<SonarMaxLines>
4230
+ /**
4231
+ * Functions should not have too many lines of code
4232
+ * @see https://sonarsource.github.io/rspec/#/rspec/S138/javascript
4233
+ */
4234
+ 'sonar/max-lines-per-function'?: Linter.RuleEntry<SonarMaxLinesPerFunction>
4235
+ /**
4236
+ * "switch" statements should not have too many "case" clauses
4237
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1479/javascript
4238
+ */
4239
+ 'sonar/max-switch-cases'?: Linter.RuleEntry<SonarMaxSwitchCases>
4240
+ /**
4241
+ * Union types should not have too many elements
4242
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4622/javascript
4243
+ */
4244
+ 'sonar/max-union-size'?: Linter.RuleEntry<SonarMaxUnionSize>
4245
+ /**
4246
+ * "for" loop increment clauses should modify the loops' counters
4247
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1994/javascript
4248
+ */
4249
+ 'sonar/misplaced-loop-counter'?: Linter.RuleEntry<[]>
4250
+ /**
4251
+ * Control flow statements "if", "for", "while", "switch" and "try" should not be nested too deeply
4252
+ * @see https://sonarsource.github.io/rspec/#/rspec/S134/javascript
4253
+ */
4254
+ 'sonar/nested-control-flow'?: Linter.RuleEntry<SonarNestedControlFlow>
4255
+ /**
4256
+ * "new" should only be used with functions and classes
4257
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2999/javascript
4258
+ */
4259
+ 'sonar/new-operator-misuse'?: Linter.RuleEntry<SonarNewOperatorMisuse>
4260
+ /**
4261
+ * All branches in a conditional structure should not have exactly the same implementation
4262
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3923/javascript
4263
+ */
4264
+ 'sonar/no-all-duplicated-branches'?: Linter.RuleEntry<[]>
4265
+ /**
4266
+ * "Array.prototype.sort()" and "Array.prototype.toSorted()" should use a compare function
4267
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2871/javascript
4268
+ */
4269
+ 'sonar/no-alphabetical-sort'?: Linter.RuleEntry<[]>
4270
+ /**
4271
+ * Disabling Angular built-in sanitization is security-sensitive
4272
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
4273
+ */
4274
+ 'sonar/no-angular-bypass-sanitization'?: Linter.RuleEntry<[]>
4275
+ /**
4276
+ * "delete" should not be used on arrays
4277
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2870/javascript
4278
+ */
4279
+ 'sonar/no-array-delete'?: Linter.RuleEntry<[]>
4280
+ /**
4281
+ * Array indexes should be numeric
4282
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3579/javascript
4283
+ */
4284
+ 'sonar/no-associative-arrays'?: Linter.RuleEntry<[]>
4285
+ /**
4286
+ * Constructors should not contain asynchronous operations
4287
+ * @see https://sonarsource.github.io/rspec/#/rspec/S7059/javascript
4288
+ */
4289
+ 'sonar/no-async-constructor'?: Linter.RuleEntry<[]>
4290
+ /**
4291
+ * Built-in objects should not be overridden
4292
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2424/javascript
4293
+ */
4294
+ 'sonar/no-built-in-override'?: Linter.RuleEntry<[]>
4295
+ /**
4296
+ * "switch" statements should not contain non-case labels
4297
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1219/javascript
4298
+ */
4299
+ 'sonar/no-case-label-in-switch'?: Linter.RuleEntry<[]>
4300
+ /**
4301
+ * Using clear-text protocols is security-sensitive
4302
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
4303
+ */
4304
+ 'sonar/no-clear-text-protocols'?: Linter.RuleEntry<[]>
4305
+ /**
4306
+ * Tests should not execute any code after "done()" is called
4307
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6079/javascript
4308
+ */
4309
+ 'sonar/no-code-after-done'?: Linter.RuleEntry<SonarNoCodeAfterDone>
4310
+ /**
4311
+ * Mergeable "if" statements should be combined
4312
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1066/javascript
4313
+ */
4314
+ 'sonar/no-collapsible-if'?: Linter.RuleEntry<SonarNoCollapsibleIf>
4315
+ /**
4316
+ * Collection size and array length comparisons should make sense
4317
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3981/javascript
4318
+ */
4319
+ 'sonar/no-collection-size-mischeck'?: Linter.RuleEntry<[]>
4320
+ /**
4321
+ * Sections of code should not be commented out
4322
+ * @see https://sonarsource.github.io/rspec/#/rspec/S125/javascript
4323
+ */
4324
+ 'sonar/no-commented-code'?: Linter.RuleEntry<[]>
4325
+ /**
4326
+ * Regular expressions should not contain control characters
4327
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6324/javascript
4328
+ */
4329
+ 'sonar/no-control-regex'?: Linter.RuleEntry<[]>
4330
+ /**
4331
+ * Unused assignments should be removed
4332
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1854/javascript
4333
+ */
4334
+ 'sonar/no-dead-store'?: Linter.RuleEntry<[]>
4335
+ /**
4336
+ * "delete" should be used only with object properties
4337
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3001/javascript
4338
+ */
4339
+ 'sonar/no-delete-var'?: Linter.RuleEntry<[]>
4340
+ /**
4341
+ * Union and intersection types should not include duplicated constituents
4342
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4621/javascript
4343
+ */
4344
+ 'sonar/no-duplicate-in-composite'?: Linter.RuleEntry<SonarNoDuplicateInComposite>
4345
+ /**
4346
+ * String literals should not be duplicated
4347
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
4348
+ */
4349
+ 'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>
4350
+ /**
4351
+ * Two branches in a conditional structure should not have exactly the same implementation
4352
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
4353
+ */
4354
+ 'sonar/no-duplicated-branches'?: Linter.RuleEntry<SonarNoDuplicatedBranches>
4355
+ /**
4356
+ * Collection elements should not be replaced unconditionally
4357
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4143/javascript
4358
+ */
4359
+ 'sonar/no-element-overwrite'?: Linter.RuleEntry<SonarNoElementOverwrite>
4360
+ /**
4361
+ * Reluctant quantifiers in regular expressions should be followed by an expression that can't match the empty string
4362
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6019/javascript
4363
+ */
4364
+ 'sonar/no-empty-after-reluctant'?: Linter.RuleEntry<[]>
4365
+ /**
4366
+ * Alternation in regular expressions should not contain empty alternatives
4367
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6323/javascript
4368
+ */
4369
+ 'sonar/no-empty-alternatives'?: Linter.RuleEntry<[]>
4370
+ /**
4371
+ * Empty character classes should not be used
4372
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2639/javascript
4373
+ */
4374
+ 'sonar/no-empty-character-class'?: Linter.RuleEntry<[]>
4375
+ /**
4376
+ * Empty collections should not be accessed or iterated
4377
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4158/javascript
4378
+ */
4379
+ 'sonar/no-empty-collection'?: Linter.RuleEntry<[]>
4380
+ /**
4381
+ * Regular expressions should not contain empty groups
4382
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6331/javascript
4383
+ */
4384
+ 'sonar/no-empty-group'?: Linter.RuleEntry<[]>
4385
+ /**
4386
+ * Test files should contain at least one test case
4387
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
4388
+ */
4389
+ 'sonar/no-empty-test-file'?: Linter.RuleEntry<[]>
4390
+ /**
4391
+ * Equality operators should not be used in "for" loop termination conditions
4392
+ * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
4393
+ */
4394
+ 'sonar/no-equals-in-for-termination'?: Linter.RuleEntry<[]>
4395
+ /**
4396
+ * Exclusive tests should not be commited to version control
4397
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6426/javascript
4398
+ */
4399
+ 'sonar/no-exclusive-tests'?: Linter.RuleEntry<[]>
4400
+ /**
4401
+ * Function calls should not pass extra arguments
4402
+ * @see https://sonarsource.github.io/rspec/#/rspec/S930/javascript
4403
+ */
4404
+ 'sonar/no-extra-arguments'?: Linter.RuleEntry<SonarNoExtraArguments>
4405
+ /**
4406
+ * Switch cases should end with an unconditional "break" statement
4407
+ * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
4408
+ */
4409
+ 'sonar/no-fallthrough'?: Linter.RuleEntry<[]>
4410
+ /**
4411
+ * "for in" should not be used with iterables
4412
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
4413
+ */
4414
+ 'sonar/no-for-in-iterable'?: Linter.RuleEntry<[]>
4415
+ /**
4416
+ * Function declarations should not be made within blocks
4417
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
4418
+ */
4419
+ 'sonar/no-function-declaration-in-block'?: Linter.RuleEntry<[]>
4420
+ /**
4421
+ * The global "this" object should not be used
4422
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2990/javascript
4423
+ */
4424
+ 'sonar/no-global-this'?: Linter.RuleEntry<[]>
4425
+ /**
4426
+ * Special identifiers should not be bound or assigned
4427
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2137/javascript
4428
+ */
4429
+ 'sonar/no-globals-shadowing'?: Linter.RuleEntry<[]>
4430
+ /**
4431
+ * Boolean expressions should not be gratuitous
4432
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2589/javascript
4433
+ */
4434
+ 'sonar/no-gratuitous-expressions'?: Linter.RuleEntry<SonarNoGratuitousExpressions>
4435
+ /**
4436
+ * Using hardcoded IP addresses is security-sensitive
4437
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
4438
+ */
4439
+ 'sonar/no-hardcoded-ip'?: Linter.RuleEntry<[]>
4440
+ /**
4441
+ * Hard-coded passwords are security-sensitive
4442
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2068/javascript
4443
+ */
4444
+ 'sonar/no-hardcoded-passwords'?: Linter.RuleEntry<SonarNoHardcodedPasswords>
4445
+ /**
4446
+ * Hard-coded secrets are security-sensitive
4447
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6418/javascript
4448
+ */
4449
+ 'sonar/no-hardcoded-secrets'?: Linter.RuleEntry<SonarNoHardcodedSecrets>
4450
+ /**
4451
+ * React's useState hook should not be used directly in the render function or body of a component
4452
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6442/javascript
4453
+ */
4454
+ 'sonar/no-hook-setter-in-body'?: Linter.RuleEntry<[]>
4455
+ /**
4456
+ * "if/else if" chains and "switch" cases should not have the same condition
4457
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1862/javascript
4458
+ */
4459
+ 'sonar/no-identical-conditions'?: Linter.RuleEntry<SonarNoIdenticalConditions>
4460
+ /**
4461
+ * Identical expressions should not be used on both sides of a binary operator
4462
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1764/javascript
4463
+ */
4464
+ 'sonar/no-identical-expressions'?: Linter.RuleEntry<SonarNoIdenticalExpressions>
4465
+ /**
4466
+ * Functions should not have identical implementations
4467
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4144/javascript
4468
+ */
4469
+ 'sonar/no-identical-functions'?: Linter.RuleEntry<SonarNoIdenticalFunctions>
4470
+ /**
4471
+ * Exceptions should not be ignored
4472
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2486/javascript
4473
+ */
4474
+ 'sonar/no-ignored-exceptions'?: Linter.RuleEntry<[]>
4475
+ /**
4476
+ * Return values from functions without side effects should not be ignored
4477
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2201/javascript
4478
+ */
4479
+ 'sonar/no-ignored-return'?: Linter.RuleEntry<[]>
4480
+ /**
4481
+ * Dependencies should be explicit
4482
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4328/javascript
4483
+ */
4484
+ 'sonar/no-implicit-dependencies'?: Linter.RuleEntry<SonarNoImplicitDependencies>
4485
+ /**
4486
+ * Variables should be declared explicitly
4487
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2703/javascript
4488
+ */
4489
+ 'sonar/no-implicit-global'?: Linter.RuleEntry<[]>
4490
+ /**
4491
+ * "in" should not be used on arrays
4492
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
4493
+ */
4494
+ 'sonar/no-in-misuse'?: Linter.RuleEntry<[]>
4495
+ /**
4496
+ * Assertions should be complete
4497
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
4498
+ */
4499
+ 'sonar/no-incomplete-assertions'?: Linter.RuleEntry<[]>
4500
+ /**
4501
+ * Functions should use "return" consistently
4502
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3801/javascript
4503
+ */
4504
+ 'sonar/no-inconsistent-returns'?: Linter.RuleEntry<SonarNoInconsistentReturns>
4505
+ /**
4506
+ * Strings and non-strings should not be added
4507
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3402/javascript
4508
+ */
4509
+ 'sonar/no-incorrect-string-concat'?: Linter.RuleEntry<SonarNoIncorrectStringConcat>
4510
+ /**
4511
+ * Users should not use internal APIs
4512
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6627/javascript
4513
+ */
4514
+ 'sonar/no-internal-api-use'?: Linter.RuleEntry<[]>
4515
+ /**
4516
+ * Using intrusive permissions is security-sensitive
4517
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
4518
+ */
4519
+ 'sonar/no-intrusive-permissions'?: Linter.RuleEntry<SonarNoIntrusivePermissions>
4520
+ /**
4521
+ * "await" should only be used with promises
4522
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4123/javascript
4523
+ */
4524
+ 'sonar/no-invalid-await'?: Linter.RuleEntry<[]>
4525
+ /**
4526
+ * Regular expressions should be syntactically valid
4527
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5856/javascript
4528
+ */
4529
+ 'sonar/no-invalid-regexp'?: Linter.RuleEntry<[]>
4530
+ /**
4531
+ * Function returns should not be invariant
4532
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3516/javascript
4533
+ */
4534
+ 'sonar/no-invariant-returns'?: Linter.RuleEntry<SonarNoInvariantReturns>
4535
+ /**
4536
+ * Boolean checks should not be inverted
4537
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1940/javascript
4538
+ */
4539
+ 'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>
4540
+ /**
4541
+ * Forwarding client IP address is security-sensitive
4542
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
4543
+ */
4544
+ 'sonar/no-ip-forward'?: Linter.RuleEntry<SonarNoIpForward>
4545
+ /**
4546
+ * Labels should not be used
4547
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1119/javascript
4548
+ */
4549
+ 'sonar/no-labels'?: Linter.RuleEntry<[]>
4550
+ /**
4551
+ * Literals should not be used as functions
4552
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6958/javascript
4553
+ */
4554
+ 'sonar/no-literal-call'?: Linter.RuleEntry<[]>
4555
+ /**
4556
+ * Allowing browsers to sniff MIME types is security-sensitive
4557
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
4558
+ */
4559
+ 'sonar/no-mime-sniff'?: Linter.RuleEntry<SonarNoMimeSniff>
4560
+ /**
4561
+ * Array-mutating methods should not be used misleadingly
4562
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4043/javascript
4563
+ */
4564
+ 'sonar/no-misleading-array-reverse'?: Linter.RuleEntry<[]>
4565
+ /**
4566
+ * Unicode Grapheme Clusters should be avoided inside regex character classes
4567
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5868/javascript
4568
+ */
4569
+ 'sonar/no-misleading-character-class'?: Linter.RuleEntry<[]>
4570
+ /**
4571
+ * Allowing mixed-content is security-sensitive
4572
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
4573
+ */
4574
+ 'sonar/no-mixed-content'?: Linter.RuleEntry<SonarNoMixedContent>
4575
+ /**
4576
+ * Assignments should not be made from within sub-expressions
4577
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1121/javascript
4578
+ */
4579
+ 'sonar/no-nested-assignment'?: Linter.RuleEntry<[]>
4580
+ /**
4581
+ * Ternary operators should not be nested
4582
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3358/javascript
4583
+ */
4584
+ 'sonar/no-nested-conditional'?: Linter.RuleEntry<[]>
4585
+ /**
4586
+ * Functions should not be nested too deeply
4587
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2004/javascript
4588
+ */
4589
+ 'sonar/no-nested-functions'?: Linter.RuleEntry<SonarNoNestedFunctions>
4590
+ /**
4591
+ * Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
4592
+ * @see https://sonarsource.github.io/rspec/#/rspec/S881/javascript
4593
+ */
4594
+ 'sonar/no-nested-incdec'?: Linter.RuleEntry<[]>
4595
+ /**
4596
+ * "switch" statements should not be nested
4597
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1821/javascript
4598
+ */
4599
+ 'sonar/no-nested-switch'?: Linter.RuleEntry<[]>
4600
+ /**
4601
+ * Template literals should not be nested
4602
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4624/javascript
4603
+ */
4604
+ 'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>
4605
+ /**
4606
+ * Loops with at most one iteration should be refactored
4607
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1751/javascript
4608
+ */
4609
+ 'sonar/no-one-iteration-loop'?: Linter.RuleEntry<[]>
4610
+ /**
4611
+ * Searching OS commands in PATH is security-sensitive
4612
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
4613
+ */
4614
+ 'sonar/no-os-command-from-path'?: Linter.RuleEntry<[]>
4615
+ /**
4616
+ * Initial values of parameters, caught exceptions, and loop variables should not be ignored
4617
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1226/javascript
4618
+ */
4619
+ 'sonar/no-parameter-reassignment'?: Linter.RuleEntry<[]>
4620
+ /**
4621
+ * Wrapper objects should not be used for primitive types
4622
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1533/javascript
4623
+ */
4624
+ 'sonar/no-primitive-wrappers'?: Linter.RuleEntry<[]>
4625
+ /**
4626
+ * Assignments should not be redundant
4627
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4165/javascript
4628
+ */
4629
+ 'sonar/no-redundant-assignments'?: Linter.RuleEntry<[]>
4630
+ /**
4631
+ * Boolean literals should not be used in comparisons
4632
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1125/javascript
4633
+ */
4634
+ 'sonar/no-redundant-boolean'?: Linter.RuleEntry<[]>
4635
+ /**
4636
+ * Jump statements should not be redundant
4637
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3626/javascript
4638
+ */
4639
+ 'sonar/no-redundant-jump'?: Linter.RuleEntry<[]>
4640
+ /**
4641
+ * Optional property declarations should not use both '?' and 'undefined' syntax
4642
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4782/javascript
4643
+ */
4644
+ 'sonar/no-redundant-optional'?: Linter.RuleEntry<SonarNoRedundantOptional>
4645
+ /**
4646
+ * Redundant pairs of parentheses should be removed
4647
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1110/javascript
4648
+ * @deprecated
4649
+ */
4650
+ 'sonar/no-redundant-parentheses'?: Linter.RuleEntry<SonarNoRedundantParentheses>
4651
+ /**
4652
+ * Variables should be defined before being used
4653
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3827/javascript
4654
+ */
4655
+ 'sonar/no-reference-error'?: Linter.RuleEntry<SonarNoReferenceError>
4656
+ /**
4657
+ * Disabling strict HTTP no-referrer policy is security-sensitive
4658
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
4659
+ */
4660
+ 'sonar/no-referrer-policy'?: Linter.RuleEntry<SonarNoReferrerPolicy>
4661
+ /**
4662
+ * Regular expressions should not contain multiple spaces
4663
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6326/javascript
4664
+ */
4665
+ 'sonar/no-regex-spaces'?: Linter.RuleEntry<[]>
4666
+ /**
4667
+ * "import" should be used to include external code
4668
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3533/javascript
4669
+ */
4670
+ 'sonar/no-require-or-define'?: Linter.RuleEntry<[]>
4671
+ /**
4672
+ * Primitive return types should be used
4673
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4324/javascript
4674
+ */
4675
+ 'sonar/no-return-type-any'?: Linter.RuleEntry<[]>
4676
+ /**
4677
+ * Assertions should not be given twice the same argument
4678
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5863/javascript
4679
+ */
4680
+ 'sonar/no-same-argument-assert'?: Linter.RuleEntry<SonarNoSameArgumentAssert>
4681
+ /**
4682
+ * Conditionals should start on new lines
4683
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3972/javascript
4684
+ */
4685
+ 'sonar/no-same-line-conditional'?: Linter.RuleEntry<SonarNoSameLineConditional>
4686
+ /**
4687
+ * Methods should not contain selector parameters
4688
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2301/javascript
4689
+ */
4690
+ 'sonar/no-selector-parameter'?: Linter.RuleEntry<SonarNoSelectorParameter>
4691
+ /**
4692
+ * Tests should not be skipped without providing a reason
4693
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1607/javascript
4694
+ */
4695
+ 'sonar/no-skipped-tests'?: Linter.RuleEntry<[]>
4696
+ /**
4697
+ * "if" statements should be preferred over "switch" when simpler
4698
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1301/javascript
4699
+ */
4700
+ 'sonar/no-small-switch'?: Linter.RuleEntry<[]>
4701
+ /**
4702
+ * Track uses of "NOSONAR" comments
4703
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1291/javascript
4704
+ */
4705
+ 'sonar/no-sonar-comments'?: Linter.RuleEntry<[]>
4706
+ /**
4707
+ * Tabulation characters should not be used
4708
+ * @see https://sonarsource.github.io/rspec/#/rspec/S105/javascript
4709
+ * @deprecated
4710
+ */
4711
+ 'sonar/no-tab'?: Linter.RuleEntry<[]>
4712
+ /**
4713
+ * HTML "<table>" should not be used for layout purposes
4714
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
4715
+ */
4716
+ 'sonar/no-table-as-layout'?: Linter.RuleEntry<[]>
4717
+ /**
4718
+ * Promise rejections should not be caught by "try" blocks
4719
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
4720
+ */
4721
+ 'sonar/no-try-promise'?: Linter.RuleEntry<SonarNoTryPromise>
4722
+ /**
4723
+ * "undefined" should not be passed as the value of optional parameters
4724
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4623/javascript
4725
+ */
4726
+ 'sonar/no-undefined-argument'?: Linter.RuleEntry<[]>
4727
+ /**
4728
+ * "undefined" should not be assigned
4729
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2138/javascript
4730
+ */
4731
+ 'sonar/no-undefined-assignment'?: Linter.RuleEntry<[]>
3539
4732
  /**
3540
- * enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
3541
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
4733
+ * Multiline blocks should be enclosed in curly braces
4734
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2681/javascript
3542
4735
  */
3543
- 'regexp/prefer-regexp-exec'?: Linter.RuleEntry<[]>
4736
+ 'sonar/no-unenclosed-multiline-block'?: Linter.RuleEntry<[]>
3544
4737
  /**
3545
- * enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
3546
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
4738
+ * JSX list components keys should match up between renders
4739
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6486/javascript
3547
4740
  */
3548
- 'regexp/prefer-regexp-test'?: Linter.RuleEntry<[]>
4741
+ 'sonar/no-uniq-key'?: Linter.RuleEntry<[]>
3549
4742
  /**
3550
- * enforce using result array `groups`
3551
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
4743
+ * Expanding archive files without controlling resource consumption is security-sensitive
4744
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
3552
4745
  */
3553
- 'regexp/prefer-result-array-groups'?: Linter.RuleEntry<RegexpPreferResultArrayGroups>
4746
+ 'sonar/no-unsafe-unzip'?: Linter.RuleEntry<[]>
3554
4747
  /**
3555
- * prefer character class set operations instead of lookarounds
3556
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
4748
+ * Errors should not be created without being thrown
4749
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3984/javascript
3557
4750
  */
3558
- 'regexp/prefer-set-operation'?: Linter.RuleEntry<[]>
4751
+ 'sonar/no-unthrown-error'?: Linter.RuleEntry<[]>
3559
4752
  /**
3560
- * enforce using `*` quantifier
3561
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
4753
+ * Collection contents should be used
4754
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4030/javascript
3562
4755
  */
3563
- 'regexp/prefer-star-quantifier'?: Linter.RuleEntry<[]>
4756
+ 'sonar/no-unused-collection'?: Linter.RuleEntry<[]>
3564
4757
  /**
3565
- * enforce use of unicode codepoint escapes
3566
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
4758
+ * Unused function parameters should be removed
4759
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1172/javascript
3567
4760
  */
3568
- 'regexp/prefer-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>
4761
+ 'sonar/no-unused-function-argument'?: Linter.RuleEntry<[]>
3569
4762
  /**
3570
- * enforce using `\w`
3571
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
4763
+ * Unused local variables and functions should be removed
4764
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1481/javascript
3572
4765
  */
3573
- 'regexp/prefer-w'?: Linter.RuleEntry<[]>
4766
+ 'sonar/no-unused-vars'?: Linter.RuleEntry<[]>
3574
4767
  /**
3575
- * enforce the use of the `u` flag
3576
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
4768
+ * The return value of void functions should not be used
4769
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3699/javascript
3577
4770
  */
3578
- 'regexp/require-unicode-regexp'?: Linter.RuleEntry<[]>
4771
+ 'sonar/no-use-of-empty-return-value'?: Linter.RuleEntry<[]>
3579
4772
  /**
3580
- * enforce the use of the `v` flag
3581
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
4773
+ * "catch" clauses should do more than rethrow
4774
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2737/javascript
3582
4775
  */
3583
- 'regexp/require-unicode-sets-regexp'?: Linter.RuleEntry<[]>
4776
+ 'sonar/no-useless-catch'?: Linter.RuleEntry<[]>
3584
4777
  /**
3585
- * require simplify set operations
3586
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
4778
+ * Values should not be uselessly incremented
4779
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2123/javascript
3587
4780
  */
3588
- 'regexp/simplify-set-operations'?: Linter.RuleEntry<[]>
4781
+ 'sonar/no-useless-increment'?: Linter.RuleEntry<[]>
3589
4782
  /**
3590
- * sort alternatives if order doesn't matter
3591
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
4783
+ * Type intersections should use meaningful types
4784
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4335/javascript
3592
4785
  */
3593
- 'regexp/sort-alternatives'?: Linter.RuleEntry<[]>
4786
+ 'sonar/no-useless-intersection'?: Linter.RuleEntry<[]>
3594
4787
  /**
3595
- * enforces elements order in character class
3596
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
4788
+ * React state setter function should not be called with its matching state variable
4789
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6443/javascript
3597
4790
  */
3598
- 'regexp/sort-character-class-elements'?: Linter.RuleEntry<RegexpSortCharacterClassElements>
4791
+ 'sonar/no-useless-react-setstate'?: Linter.RuleEntry<[]>
3599
4792
  /**
3600
- * require regex flags to be sorted
3601
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
4793
+ * Variables declared with "var" should be declared before they are used
4794
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
3602
4795
  */
3603
- 'regexp/sort-flags'?: Linter.RuleEntry<[]>
4796
+ 'sonar/no-variable-usage-before-declaration'?: Linter.RuleEntry<SonarNoVariableUsageBeforeDeclaration>
3604
4797
  /**
3605
- * disallow not strictly valid regular expressions
3606
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
4798
+ * Disabling Vue.js built-in escaping is security-sensitive
4799
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
4800
+ * @deprecated
3607
4801
  */
3608
- 'regexp/strict'?: Linter.RuleEntry<[]>
4802
+ 'sonar/no-vue-bypass-sanitization'?: Linter.RuleEntry<[]>
3609
4803
  /**
3610
- * enforce consistent usage of unicode escape or unicode codepoint escape
3611
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
4804
+ * Cipher algorithms should be robust
4805
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
3612
4806
  */
3613
- 'regexp/unicode-escape'?: Linter.RuleEntry<RegexpUnicodeEscape>
4807
+ 'sonar/no-weak-cipher'?: Linter.RuleEntry<[]>
3614
4808
  /**
3615
- * enforce consistent naming of unicode properties
3616
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
4809
+ * Cryptographic keys should be robust
4810
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4426/javascript
3617
4811
  */
3618
- 'regexp/unicode-property'?: Linter.RuleEntry<RegexpUnicodeProperty>
4812
+ 'sonar/no-weak-keys'?: Linter.RuleEntry<[]>
3619
4813
  /**
3620
- * use the `i` flag if it simplifies the pattern
3621
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
4814
+ * Wildcard imports should not be used
4815
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2208/javascript
3622
4816
  */
3623
- 'regexp/use-ignore-case'?: Linter.RuleEntry<[]>
4817
+ 'sonar/no-wildcard-import'?: Linter.RuleEntry<[]>
3624
4818
  /**
3625
- * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3626
- * @see https://eslint.org/docs/latest/rules/require-atomic-updates
4819
+ * Non-existent operators '=+', '=-' and '=!' should not be used
4820
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2757/javascript
3627
4821
  */
3628
- 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
4822
+ 'sonar/non-existent-operator'?: Linter.RuleEntry<[]>
3629
4823
  /**
3630
- * Disallow async functions which have no `await` expression
3631
- * @see https://eslint.org/docs/latest/rules/require-await
4824
+ * Arithmetic operators should only have numbers as operands
4825
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3760/javascript
3632
4826
  */
3633
- 'require-await'?: Linter.RuleEntry<[]>
4827
+ 'sonar/non-number-in-arithmetic-expression'?: Linter.RuleEntry<SonarNonNumberInArithmeticExpression>
3634
4828
  /**
3635
- * Enforce the use of `u` or `v` flag on RegExp
3636
- * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
4829
+ * Properties of variables with "null" or "undefined" values should not be accessed
4830
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2259/javascript
3637
4831
  */
3638
- 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>
4832
+ 'sonar/null-dereference'?: Linter.RuleEntry<[]>
3639
4833
  /**
3640
- * Require generator functions to contain `yield`
3641
- * @see https://eslint.org/docs/latest/rules/require-yield
4834
+ * "<object>" tags should provide an alternative content
4835
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5264/javascript
3642
4836
  */
3643
- 'require-yield'?: Linter.RuleEntry<[]>
4837
+ 'sonar/object-alt-content'?: Linter.RuleEntry<[]>
3644
4838
  /**
3645
- * Enforce spacing between rest and spread operators and their expressions
3646
- * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
3647
- * @deprecated
4839
+ * Arithmetic operations should not result in "NaN"
4840
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3757/javascript
3648
4841
  */
3649
- 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
4842
+ 'sonar/operation-returning-nan'?: Linter.RuleEntry<[]>
3650
4843
  /**
3651
- * Require or disallow semicolons instead of ASI
3652
- * @see https://eslint.org/docs/latest/rules/semi
3653
- * @deprecated
4844
+ * Using shell interpreter when executing OS commands is security-sensitive
4845
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
3654
4846
  */
3655
- 'semi'?: Linter.RuleEntry<Semi>
4847
+ 'sonar/os-command'?: Linter.RuleEntry<[]>
3656
4848
  /**
3657
- * Enforce consistent spacing before and after semicolons
3658
- * @see https://eslint.org/docs/latest/rules/semi-spacing
3659
- * @deprecated
4849
+ * Origins should be verified during cross-origin communications
4850
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2819/javascript
3660
4851
  */
3661
- 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
4852
+ 'sonar/post-message'?: Linter.RuleEntry<[]>
3662
4853
  /**
3663
- * Enforce location of semicolons
3664
- * @see https://eslint.org/docs/latest/rules/semi-style
3665
- * @deprecated
4854
+ * "default" clauses should be last
4855
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4524/javascript
3666
4856
  */
3667
- 'semi-style'?: Linter.RuleEntry<SemiStyle>
4857
+ 'sonar/prefer-default-last'?: Linter.RuleEntry<[]>
3668
4858
  /**
3669
- * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
3670
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/components-return-once.md
4859
+ * Local variables should not be declared and then immediately returned or thrown
4860
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1488/javascript
3671
4861
  */
3672
- 'solid/components-return-once'?: Linter.RuleEntry<[]>
4862
+ 'sonar/prefer-immediate-return'?: Linter.RuleEntry<[]>
3673
4863
  /**
3674
- * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
3675
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/event-handlers.md
4864
+ * Object literal syntax should be used
4865
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2428/javascript
3676
4866
  */
3677
- 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>
4867
+ 'sonar/prefer-object-literal'?: Linter.RuleEntry<[]>
3678
4868
  /**
3679
- * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
3680
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/imports.md
4869
+ * Shorthand promises should be used
4870
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4634/javascript
3681
4871
  */
3682
- 'solid/imports'?: Linter.RuleEntry<[]>
4872
+ 'sonar/prefer-promise-shorthand'?: Linter.RuleEntry<[]>
3683
4873
  /**
3684
- * Disallow passing the same prop twice in JSX.
3685
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-duplicate-props.md
4874
+ * React props should be read-only
4875
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6759/javascript
3686
4876
  */
3687
- 'solid/jsx-no-duplicate-props'?: Linter.RuleEntry<SolidJsxNoDuplicateProps>
4877
+ 'sonar/prefer-read-only-props'?: Linter.RuleEntry<[]>
3688
4878
  /**
3689
- * Disallow javascript: URLs.
3690
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-script-url.md
4879
+ * "RegExp.exec()" should be preferred over "String.match()"
4880
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6594/javascript
3691
4881
  */
3692
- 'solid/jsx-no-script-url'?: Linter.RuleEntry<[]>
4882
+ 'sonar/prefer-regexp-exec'?: Linter.RuleEntry<[]>
3693
4883
  /**
3694
- * Disallow references to undefined variables in JSX. Handles custom directives.
3695
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-no-undef.md
4884
+ * Return of boolean expressions should not be wrapped into an "if-then-else" statement
4885
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
3696
4886
  */
3697
- 'solid/jsx-no-undef'?: Linter.RuleEntry<SolidJsxNoUndef>
4887
+ 'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>
3698
4888
  /**
3699
- * Prevent variables used in JSX from being marked as unused.
3700
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/jsx-uses-vars.md
4889
+ * Type predicates should be used
4890
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
3701
4891
  */
3702
- 'solid/jsx-uses-vars'?: Linter.RuleEntry<[]>
4892
+ 'sonar/prefer-type-guard'?: Linter.RuleEntry<[]>
3703
4893
  /**
3704
- * Disallow usage of type-unsafe event handlers.
3705
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-array-handlers.md
4894
+ * A "while" loop should be used instead of a "for" loop
4895
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1264/javascript
3706
4896
  */
3707
- 'solid/no-array-handlers'?: Linter.RuleEntry<[]>
4897
+ 'sonar/prefer-while'?: Linter.RuleEntry<[]>
3708
4898
  /**
3709
- * 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.
3710
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-destructure.md
4899
+ * Using command line arguments is security-sensitive
4900
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
4901
+ * @deprecated
3711
4902
  */
3712
- 'solid/no-destructure'?: Linter.RuleEntry<[]>
4903
+ 'sonar/process-argv'?: Linter.RuleEntry<[]>
3713
4904
  /**
3714
- * Disallow usage of the innerHTML attribute, which can often lead to security vulnerabilities.
3715
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-innerhtml.md
4905
+ * Delivering code in production with debug features activated is security-sensitive
4906
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
3716
4907
  */
3717
- 'solid/no-innerhtml'?: Linter.RuleEntry<SolidNoInnerhtml>
4908
+ 'sonar/production-debug'?: Linter.RuleEntry<[]>
3718
4909
  /**
3719
- * Disallow usage of APIs that use ES6 Proxies, only to target environments that don't support them.
3720
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-proxy-apis.md
4910
+ * Using pseudorandom number generators (PRNGs) is security-sensitive
4911
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
3721
4912
  */
3722
- 'solid/no-proxy-apis'?: Linter.RuleEntry<[]>
4913
+ 'sonar/pseudo-random'?: Linter.RuleEntry<[]>
3723
4914
  /**
3724
- * Disallow usage of dependency arrays in `createEffect` and `createMemo`.
3725
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-deps.md
4915
+ * Public "static" fields should be read-only
4916
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1444/javascript
3726
4917
  */
3727
- 'solid/no-react-deps'?: Linter.RuleEntry<[]>
4918
+ 'sonar/public-static-readonly'?: Linter.RuleEntry<[]>
3728
4919
  /**
3729
- * Disallow usage of React-specific `className`/`htmlFor` props, which were deprecated in v1.4.0.
3730
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-react-specific-props.md
4920
+ * Using publicly writable directories is security-sensitive
4921
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
3731
4922
  */
3732
- 'solid/no-react-specific-props'?: Linter.RuleEntry<[]>
4923
+ 'sonar/publicly-writable-directories'?: Linter.RuleEntry<[]>
3733
4924
  /**
3734
- * Enforce using only Solid-specific namespaced attribute names (i.e. `'on:'` in `<div on:click={...} />`).
3735
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/no-unknown-namespaces.md
4925
+ * "Array.reduce()" calls should include an initial value
4926
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6959/javascript
3736
4927
  */
3737
- 'solid/no-unknown-namespaces'?: Linter.RuleEntry<SolidNoUnknownNamespaces>
4928
+ 'sonar/reduce-initial-value'?: Linter.RuleEntry<[]>
3738
4929
  /**
3739
- * Enforce using the classlist prop over importing a classnames helper. The classlist prop accepts an object `{ [class: string]: boolean }` just like classnames.
3740
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-classlist.md
3741
- * @deprecated
4930
+ * Redundant type aliases should not be used
4931
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6564/javascript
3742
4932
  */
3743
- 'solid/prefer-classlist'?: Linter.RuleEntry<SolidPreferClasslist>
4933
+ 'sonar/redundant-type-aliases'?: Linter.RuleEntry<[]>
3744
4934
  /**
3745
- * Enforce using Solid's `<For />` component for mapping an array to JSX elements.
3746
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-for.md
4935
+ * Regular expressions should not be too complicated
4936
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
3747
4937
  */
3748
- 'solid/prefer-for'?: Linter.RuleEntry<[]>
4938
+ 'sonar/regex-complexity'?: Linter.RuleEntry<SonarRegexComplexity>
3749
4939
  /**
3750
- * Enforce using Solid's `<Show />` component for conditionally showing content. Solid's compiler covers this case, so it's a stylistic rule only.
3751
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/prefer-show.md
4940
+ * Using regular expressions is security-sensitive
4941
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
4942
+ * @deprecated
3752
4943
  */
3753
- 'solid/prefer-show'?: Linter.RuleEntry<[]>
4944
+ 'sonar/regular-expr'?: Linter.RuleEntry<[]>
3754
4945
  /**
3755
- * Enforce that reactivity (props, signals, memos, etc.) is properly used, so changes in those values will be tracked and update the view as expected.
3756
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/reactivity.md
4946
+ * A new session should be created during user authentication
4947
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5876/javascript
3757
4948
  */
3758
- 'solid/reactivity'?: Linter.RuleEntry<SolidReactivity>
4949
+ 'sonar/session-regeneration'?: Linter.RuleEntry<[]>
3759
4950
  /**
3760
- * Disallow extra closing tags for components without children.
3761
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/self-closing-comp.md
4951
+ * Shorthand object properties should be grouped at the beginning or end of an object declaration
4952
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3499/javascript
3762
4953
  */
3763
- 'solid/self-closing-comp'?: Linter.RuleEntry<SolidSelfClosingComp>
4954
+ 'sonar/shorthand-property-grouping'?: Linter.RuleEntry<SonarShorthandPropertyGrouping>
3764
4955
  /**
3765
- * 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.
3766
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/packages/eslint-plugin-solid/docs/style-prop.md
4956
+ * Character classes in regular expressions should not contain only one character
4957
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6397/javascript
3767
4958
  */
3768
- 'solid/style-prop'?: Linter.RuleEntry<SolidStyleProp>
4959
+ 'sonar/single-char-in-character-classes'?: Linter.RuleEntry<[]>
3769
4960
  /**
3770
- * Cognitive Complexity of functions should not be too high
3771
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/cognitive-complexity.md
4961
+ * Single-character alternations in regular expressions should be replaced with character classes
4962
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6035/javascript
3772
4963
  */
3773
- 'sonar/cognitive-complexity'?: Linter.RuleEntry<SonarCognitiveComplexity>
4964
+ 'sonar/single-character-alternation'?: Linter.RuleEntry<[]>
3774
4965
  /**
3775
- * "if ... else if" constructs should end with "else" clauses
3776
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/elseif-without-else.md
4966
+ * Using slow regular expressions is security-sensitive
4967
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
3777
4968
  */
3778
- 'sonar/elseif-without-else'?: Linter.RuleEntry<[]>
4969
+ 'sonar/slow-regex'?: Linter.RuleEntry<[]>
3779
4970
  /**
3780
- * "switch" statements should not have too many "case" clauses
3781
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/max-switch-cases.md
4971
+ * Using Sockets is security-sensitive
4972
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
4973
+ * @deprecated
3782
4974
  */
3783
- 'sonar/max-switch-cases'?: Linter.RuleEntry<SonarMaxSwitchCases>
4975
+ 'sonar/sockets'?: Linter.RuleEntry<[]>
3784
4976
  /**
3785
- * All branches in a conditional structure should not have exactly the same implementation
3786
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-all-duplicated-branches.md
4977
+ * Formatting SQL queries is security-sensitive
4978
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
3787
4979
  */
3788
- 'sonar/no-all-duplicated-branches'?: Linter.RuleEntry<[]>
4980
+ 'sonar/sql-queries'?: Linter.RuleEntry<[]>
3789
4981
  /**
3790
- * Collapsible "if" statements should be merged
3791
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-collapsible-if.md
4982
+ * Tests should be stable
4983
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
3792
4984
  */
3793
- 'sonar/no-collapsible-if'?: Linter.RuleEntry<SonarNoCollapsibleIf>
4985
+ 'sonar/stable-tests'?: Linter.RuleEntry<[]>
3794
4986
  /**
3795
- * Collection sizes and array length comparisons should make sense
3796
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-collection-size-mischeck.md
4987
+ * Reading the Standard Input is security-sensitive
4988
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
4989
+ * @deprecated
3797
4990
  */
3798
- 'sonar/no-collection-size-mischeck'?: Linter.RuleEntry<[]>
4991
+ 'sonar/standard-input'?: Linter.RuleEntry<[]>
3799
4992
  /**
3800
- * String literals should not be duplicated
3801
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-duplicate-string.md
4993
+ * Regular expressions with the global flag should be used with caution
4994
+ * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
3802
4995
  */
3803
- 'sonar/no-duplicate-string'?: Linter.RuleEntry<SonarNoDuplicateString>
4996
+ 'sonar/stateful-regex'?: Linter.RuleEntry<SonarStatefulRegex>
3804
4997
  /**
3805
- * Two branches in a conditional structure should not have exactly the same implementation
3806
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-duplicated-branches.md
4998
+ * Disabling Strict-Transport-Security policy is security-sensitive
4999
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
3807
5000
  */
3808
- 'sonar/no-duplicated-branches'?: Linter.RuleEntry<SonarNoDuplicatedBranches>
5001
+ 'sonar/strict-transport-security'?: Linter.RuleEntry<SonarStrictTransportSecurity>
3809
5002
  /**
3810
- * Collection elements should not be replaced unconditionally
3811
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-element-overwrite.md
5003
+ * Comparison operators should not be used with strings
5004
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
3812
5005
  */
3813
- 'sonar/no-element-overwrite'?: Linter.RuleEntry<SonarNoElementOverwrite>
5006
+ 'sonar/strings-comparison'?: Linter.RuleEntry<SonarStringsComparison>
3814
5007
  /**
3815
- * Empty collections should not be accessed or iterated
3816
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-empty-collection.md
5008
+ * "super()" should be invoked appropriately
5009
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3854/javascript
3817
5010
  */
3818
- 'sonar/no-empty-collection'?: Linter.RuleEntry<[]>
5011
+ 'sonar/super-invocation'?: Linter.RuleEntry<[]>
3819
5012
  /**
3820
- * Function calls should not pass extra arguments
3821
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-extra-arguments.md
5013
+ * Tables should have headers
5014
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
3822
5015
  */
3823
- 'sonar/no-extra-arguments'?: Linter.RuleEntry<SonarNoExtraArguments>
5016
+ 'sonar/table-header'?: Linter.RuleEntry<[]>
3824
5017
  /**
3825
- * Boolean expressions should not be gratuitous
3826
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-gratuitous-expressions.md
5018
+ * Table cells should reference their headers
5019
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5260/javascript
3827
5020
  */
3828
- 'sonar/no-gratuitous-expressions'?: Linter.RuleEntry<SonarNoGratuitousExpressions>
5021
+ 'sonar/table-header-reference'?: Linter.RuleEntry<[]>
3829
5022
  /**
3830
- * Related "if-else-if" and "switch-case" statements should not have the same condition
3831
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-identical-conditions.md
5023
+ * Tests should check which exception is thrown
5024
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5958/javascript
3832
5025
  */
3833
- 'sonar/no-identical-conditions'?: Linter.RuleEntry<SonarNoIdenticalConditions>
5026
+ 'sonar/test-check-exception'?: Linter.RuleEntry<[]>
3834
5027
  /**
3835
- * Identical expressions should not be used on both sides of a binary operator
3836
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-identical-expressions.md
5028
+ * Track uses of "TODO" tags
5029
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1135/javascript
3837
5030
  */
3838
- 'sonar/no-identical-expressions'?: Linter.RuleEntry<SonarNoIdenticalExpressions>
5031
+ 'sonar/todo-tag'?: Linter.RuleEntry<[]>
3839
5032
  /**
3840
- * Functions should not have identical implementations
3841
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-identical-functions.md
5033
+ * Loops should not contain more than a single "break" or "continue" statement
5034
+ * @see https://sonarsource.github.io/rspec/#/rspec/S135/javascript
3842
5035
  */
3843
- 'sonar/no-identical-functions'?: Linter.RuleEntry<SonarNoIdenticalFunctions>
5036
+ 'sonar/too-many-break-or-continue-in-loop'?: Linter.RuleEntry<SonarTooManyBreakOrContinueInLoop>
3844
5037
  /**
3845
- * Return values from functions without side effects should not be ignored
3846
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-ignored-return.md
5038
+ * Regular expressions using Unicode character classes or property escapes should enable the unicode flag
5039
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5867/javascript
3847
5040
  */
3848
- 'sonar/no-ignored-return'?: Linter.RuleEntry<[]>
5041
+ 'sonar/unicode-aware-regex'?: Linter.RuleEntry<SonarUnicodeAwareRegex>
3849
5042
  /**
3850
- * Boolean checks should not be inverted
3851
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-inverted-boolean-check.md
5043
+ * Unnecessary imports should be removed
5044
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1128/javascript
3852
5045
  */
3853
- 'sonar/no-inverted-boolean-check'?: Linter.RuleEntry<[]>
5046
+ 'sonar/unused-import'?: Linter.RuleEntry<[]>
3854
5047
  /**
3855
- * "switch" statements should not be nested
3856
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-nested-switch.md
5048
+ * Names of regular expressions named groups should be used
5049
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5860/javascript
3857
5050
  */
3858
- 'sonar/no-nested-switch'?: Linter.RuleEntry<[]>
5051
+ 'sonar/unused-named-groups'?: Linter.RuleEntry<SonarUnusedNamedGroups>
3859
5052
  /**
3860
- * Template literals should not be nested
3861
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-nested-template-literals.md
5053
+ * Server certificates should be verified during SSL/TLS connections
5054
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4830/javascript
3862
5055
  */
3863
- 'sonar/no-nested-template-literals'?: Linter.RuleEntry<[]>
5056
+ 'sonar/unverified-certificate'?: Linter.RuleEntry<SonarUnverifiedCertificate>
3864
5057
  /**
3865
- * Loops with at most one iteration should be refactored
3866
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-one-iteration-loop.md
5058
+ * Server hostnames should be verified during SSL/TLS connections
5059
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5527/javascript
3867
5060
  */
3868
- 'sonar/no-one-iteration-loop'?: Linter.RuleEntry<[]>
5061
+ 'sonar/unverified-hostname'?: Linter.RuleEntry<SonarUnverifiedHostname>
3869
5062
  /**
3870
- * Boolean literals should not be redundant
3871
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-redundant-boolean.md
5063
+ * "const" variables should not be reassigned
5064
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3500/javascript
3872
5065
  */
3873
- 'sonar/no-redundant-boolean'?: Linter.RuleEntry<[]>
5066
+ 'sonar/updated-const-var'?: Linter.RuleEntry<SonarUpdatedConstVar>
3874
5067
  /**
3875
- * Jump statements should not be redundant
3876
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-redundant-jump.md
5068
+ * Loop counters should not be assigned within the loop body
5069
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2310/javascript
3877
5070
  */
3878
- 'sonar/no-redundant-jump'?: Linter.RuleEntry<[]>
5071
+ 'sonar/updated-loop-counter'?: Linter.RuleEntry<SonarUpdatedLoopCounter>
3879
5072
  /**
3880
- * Conditionals should start on new lines
3881
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-same-line-conditional.md
5073
+ * Type aliases should be used
5074
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4323/javascript
3882
5075
  */
3883
- 'sonar/no-same-line-conditional'?: Linter.RuleEntry<SonarNoSameLineConditional>
5076
+ 'sonar/use-type-alias'?: Linter.RuleEntry<SonarUseTypeAlias>
3884
5077
  /**
3885
- * "switch" statements should have at least 3 "case" clauses
3886
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-small-switch.md
5078
+ * Results of operations on strings should not be ignored
5079
+ * @see https://sonarsource.github.io/rspec/#/rspec/S1154/javascript
5080
+ * @deprecated
3887
5081
  */
3888
- 'sonar/no-small-switch'?: Linter.RuleEntry<[]>
5082
+ 'sonar/useless-string-operation'?: Linter.RuleEntry<[]>
3889
5083
  /**
3890
- * Collection and array contents should be used
3891
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-unused-collection.md
5084
+ * Values not convertible to numbers should not be used in numeric comparisons
5085
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3758/javascript
3892
5086
  */
3893
- 'sonar/no-unused-collection'?: Linter.RuleEntry<[]>
5087
+ 'sonar/values-not-convertible-to-numbers'?: Linter.RuleEntry<[]>
3894
5088
  /**
3895
- * The output of functions that don't return anything should not be used
3896
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-use-of-empty-return-value.md
5089
+ * Variable, property and parameter names should comply with a naming convention
5090
+ * @see https://sonarsource.github.io/rspec/#/rspec/S117/javascript
3897
5091
  */
3898
- 'sonar/no-use-of-empty-return-value'?: Linter.RuleEntry<[]>
5092
+ 'sonar/variable-name'?: Linter.RuleEntry<SonarVariableName>
3899
5093
  /**
3900
- * "catch" clauses should do more than rethrow
3901
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/no-useless-catch.md
5094
+ * "void" should not be used
5095
+ * @see https://sonarsource.github.io/rspec/#/rspec/S3735/javascript
3902
5096
  */
3903
- 'sonar/no-useless-catch'?: Linter.RuleEntry<[]>
5097
+ 'sonar/void-use'?: Linter.RuleEntry<[]>
3904
5098
  /**
3905
- * Non-existent operators "=+", "=-" and "=!" should not be used
3906
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/non-existent-operator.md
5099
+ * Weak SSL/TLS protocols should not be used
5100
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4423/javascript
3907
5101
  */
3908
- 'sonar/non-existent-operator'?: Linter.RuleEntry<[]>
5102
+ 'sonar/weak-ssl'?: Linter.RuleEntry<[]>
3909
5103
  /**
3910
- * Local variables should not be declared and then immediately returned or thrown
3911
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/prefer-immediate-return.md
5104
+ * Web SQL databases should not be used
5105
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2817/javascript
5106
+ * @deprecated
3912
5107
  */
3913
- 'sonar/prefer-immediate-return'?: Linter.RuleEntry<[]>
5108
+ 'sonar/web-sql-database'?: Linter.RuleEntry<[]>
3914
5109
  /**
3915
- * Object literal syntax should be used
3916
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/prefer-object-literal.md
5110
+ * Disclosing fingerprints from web application technologies is security-sensitive
5111
+ * @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
3917
5112
  */
3918
- 'sonar/prefer-object-literal'?: Linter.RuleEntry<[]>
5113
+ 'sonar/x-powered-by'?: Linter.RuleEntry<[]>
3919
5114
  /**
3920
- * Return of boolean expressions should not be wrapped into an "if-then-else" statement
3921
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/prefer-single-boolean-return.md
5115
+ * XML parsers should not be vulnerable to XXE attacks
5116
+ * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
3922
5117
  */
3923
- 'sonar/prefer-single-boolean-return'?: Linter.RuleEntry<[]>
5118
+ 'sonar/xml-parser-xxe'?: Linter.RuleEntry<SonarXmlParserXxe>
3924
5119
  /**
3925
- * A "while" loop should be used instead of a "for" loop
3926
- * @see https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/docs/rules/prefer-while.md
5120
+ * Executing XPath expressions is security-sensitive
5121
+ * @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
5122
+ * @deprecated
3927
5123
  */
3928
- 'sonar/prefer-while'?: Linter.RuleEntry<[]>
5124
+ 'sonar/xpath'?: Linter.RuleEntry<[]>
3929
5125
  /**
3930
5126
  * Enforce sorted import declarations within modules
3931
5127
  * @see https://eslint.org/docs/latest/rules/sort-imports
@@ -11248,9 +12444,10 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
11248
12444
  })]
11249
12445
  // ----- react-refresh/only-export-components -----
11250
12446
  type ReactRefreshOnlyExportComponents = []|[{
12447
+ allowExportNames?: string[]
11251
12448
  allowConstantExport?: boolean
12449
+ customHOCs?: string[]
11252
12450
  checkJS?: boolean
11253
- allowExportNames?: string[]
11254
12451
  }]
11255
12452
  // ----- react/no-useless-fragment -----
11256
12453
  type ReactNoUselessFragment = []|[{
@@ -11455,38 +12652,270 @@ type SolidStyleProp = []|[{
11455
12652
 
11456
12653
  allowString?: boolean
11457
12654
  }]
12655
+ // ----- sonar/arguments-order -----
12656
+ type SonarArgumentsOrder = []|[("sonar-runtime" | "metric")]
12657
+ // ----- sonar/arguments-usage -----
12658
+ type SonarArgumentsUsage = []|[("sonar-runtime" | "metric")]
12659
+ // ----- sonar/arrow-function-convention -----
12660
+ type SonarArrowFunctionConvention = []|[{
12661
+ requireParameterParentheses?: boolean
12662
+ requireBodyBraces?: boolean
12663
+ }]
12664
+ // ----- sonar/aws-iam-all-privileges -----
12665
+ type SonarAwsIamAllPrivileges = []|[("sonar-runtime" | "metric")]
12666
+ // ----- sonar/aws-iam-all-resources-accessible -----
12667
+ type SonarAwsIamAllResourcesAccessible = []|[("sonar-runtime" | "metric")]
12668
+ // ----- sonar/aws-iam-privilege-escalation -----
12669
+ type SonarAwsIamPrivilegeEscalation = []|[("sonar-runtime" | "metric")]
12670
+ // ----- sonar/aws-iam-public-access -----
12671
+ type SonarAwsIamPublicAccess = []|[("sonar-runtime" | "metric")]
12672
+ // ----- sonar/aws-s3-bucket-granted-access -----
12673
+ type SonarAwsS3BucketGrantedAccess = []|[("sonar-runtime" | "metric")]
12674
+ // ----- sonar/aws-s3-bucket-public-access -----
12675
+ type SonarAwsS3BucketPublicAccess = []|[("sonar-runtime" | "metric")]
12676
+ // ----- sonar/aws-s3-bucket-server-encryption -----
12677
+ type SonarAwsS3BucketServerEncryption = []|[("sonar-runtime" | "metric")]
12678
+ // ----- sonar/aws-s3-bucket-versioning -----
12679
+ type SonarAwsS3BucketVersioning = []|[("sonar-runtime" | "metric")]
12680
+ // ----- sonar/block-scoped-var -----
12681
+ type SonarBlockScopedVar = []|[("sonar-runtime" | "metric")]
12682
+ // ----- sonar/certificate-transparency -----
12683
+ type SonarCertificateTransparency = []|[("sonar-runtime" | "metric")]
12684
+ // ----- sonar/class-name -----
12685
+ type SonarClassName = []|[{
12686
+ format?: string
12687
+ }]
11458
12688
  // ----- sonar/cognitive-complexity -----
11459
12689
  type SonarCognitiveComplexity = []|[number]|[number, ("sonar-runtime" | "metric")]
12690
+ // ----- sonar/comment-regex -----
12691
+ type SonarCommentRegex = []|[{
12692
+ regularExpression?: string
12693
+ message?: string
12694
+ flags?: string
12695
+ }]
12696
+ // ----- sonar/conditional-indentation -----
12697
+ type SonarConditionalIndentation = []|[("sonar-runtime" | "metric")]
12698
+ // ----- sonar/confidential-information-logging -----
12699
+ type SonarConfidentialInformationLogging = []|[("sonar-runtime" | "metric")]
12700
+ // ----- sonar/content-length -----
12701
+ type SonarContentLength = []|[{
12702
+ fileUploadSizeLimit?: number
12703
+ standardSizeLimit?: number
12704
+ }]
12705
+ // ----- sonar/content-security-policy -----
12706
+ type SonarContentSecurityPolicy = []|[("sonar-runtime" | "metric")]
12707
+ // ----- sonar/cookie-no-httponly -----
12708
+ type SonarCookieNoHttponly = []|[("sonar-runtime" | "metric")]
12709
+ // ----- sonar/cors -----
12710
+ type SonarCors = []|[("sonar-runtime" | "metric")]
12711
+ // ----- sonar/csrf -----
12712
+ type SonarCsrf = []|[("sonar-runtime" | "metric")]
12713
+ // ----- sonar/cyclomatic-complexity -----
12714
+ type SonarCyclomaticComplexity = []|[{
12715
+ threshold?: number
12716
+ }]|[{
12717
+ threshold?: number
12718
+ }, ("sonar-runtime" | "metric")]
12719
+ // ----- sonar/destructuring-assignment-syntax -----
12720
+ type SonarDestructuringAssignmentSyntax = []|[("sonar-runtime" | "metric")]
12721
+ // ----- sonar/different-types-comparison -----
12722
+ type SonarDifferentTypesComparison = []|[("sonar-runtime" | "metric")]
12723
+ // ----- sonar/disabled-auto-escaping -----
12724
+ type SonarDisabledAutoEscaping = []|[("sonar-runtime" | "metric")]
12725
+ // ----- sonar/dns-prefetching -----
12726
+ type SonarDnsPrefetching = []|[("sonar-runtime" | "metric")]
12727
+ // ----- sonar/duplicates-in-character-class -----
12728
+ type SonarDuplicatesInCharacterClass = []|[("sonar-runtime" | "metric")]
12729
+ // ----- sonar/enforce-trailing-comma -----
12730
+ type SonarEnforceTrailingComma = []|[(_SonarEnforceTrailingCommaValue | {
12731
+ arrays?: _SonarEnforceTrailingCommaValueWithIgnore
12732
+ objects?: _SonarEnforceTrailingCommaValueWithIgnore
12733
+ imports?: _SonarEnforceTrailingCommaValueWithIgnore
12734
+ exports?: _SonarEnforceTrailingCommaValueWithIgnore
12735
+ functions?: _SonarEnforceTrailingCommaValueWithIgnore
12736
+ })]
12737
+ type _SonarEnforceTrailingCommaValue = ("always-multiline" | "always" | "never" | "only-multiline")
12738
+ type _SonarEnforceTrailingCommaValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline")
12739
+ // ----- sonar/expression-complexity -----
12740
+ type SonarExpressionComplexity = []|[{
12741
+ max?: number
12742
+ }]|[{
12743
+ max?: number
12744
+ }, ("sonar-runtime" | "metric")]
12745
+ // ----- sonar/file-header -----
12746
+ type SonarFileHeader = []|[{
12747
+ headerFormat?: string
12748
+ isRegularExpression?: boolean
12749
+ }]
12750
+ // ----- sonar/file-uploads -----
12751
+ type SonarFileUploads = []|[("sonar-runtime" | "metric")]
12752
+ // ----- sonar/for-loop-increment-sign -----
12753
+ type SonarForLoopIncrementSign = []|[("sonar-runtime" | "metric")]
12754
+ // ----- sonar/frame-ancestors -----
12755
+ type SonarFrameAncestors = []|[("sonar-runtime" | "metric")]
12756
+ // ----- sonar/function-inside-loop -----
12757
+ type SonarFunctionInsideLoop = []|[("sonar-runtime" | "metric")]
12758
+ // ----- sonar/function-name -----
12759
+ type SonarFunctionName = []|[{
12760
+ format?: string
12761
+ }]
12762
+ // ----- sonar/function-return-type -----
12763
+ type SonarFunctionReturnType = []|[("sonar-runtime" | "metric")]
12764
+ // ----- sonar/in-operator-type-error -----
12765
+ type SonarInOperatorTypeError = []|[("sonar-runtime" | "metric")]
12766
+ // ----- sonar/inconsistent-function-call -----
12767
+ type SonarInconsistentFunctionCall = []|[("sonar-runtime" | "metric")]
12768
+ // ----- sonar/insecure-cookie -----
12769
+ type SonarInsecureCookie = []|[("sonar-runtime" | "metric")]
12770
+ // ----- sonar/insecure-jwt-token -----
12771
+ type SonarInsecureJwtToken = []|[("sonar-runtime" | "metric")]
12772
+ // ----- sonar/inverted-assertion-arguments -----
12773
+ type SonarInvertedAssertionArguments = []|[("sonar-runtime" | "metric")]
12774
+ // ----- sonar/max-lines -----
12775
+ type SonarMaxLines = []|[{
12776
+ maximum?: number
12777
+ }]
12778
+ // ----- sonar/max-lines-per-function -----
12779
+ type SonarMaxLinesPerFunction = []|[{
12780
+ maximum?: number
12781
+ }]
11460
12782
  // ----- sonar/max-switch-cases -----
11461
12783
  type SonarMaxSwitchCases = []|[number]
12784
+ // ----- sonar/max-union-size -----
12785
+ type SonarMaxUnionSize = []|[{
12786
+ threshold?: number
12787
+ }]
12788
+ // ----- sonar/nested-control-flow -----
12789
+ type SonarNestedControlFlow = []|[{
12790
+ maximumNestingLevel?: number
12791
+ }]|[{
12792
+ maximumNestingLevel?: number
12793
+ }, ("sonar-runtime" | "metric")]
12794
+ // ----- sonar/new-operator-misuse -----
12795
+ type SonarNewOperatorMisuse = []|[{
12796
+ considerJSDoc?: boolean
12797
+ }]|[{
12798
+ considerJSDoc?: boolean
12799
+ }, unknown]
12800
+ // ----- sonar/no-code-after-done -----
12801
+ type SonarNoCodeAfterDone = []|[("sonar-runtime" | "metric")]
11462
12802
  // ----- sonar/no-collapsible-if -----
11463
- type SonarNoCollapsibleIf = []|["sonar-runtime"]
12803
+ type SonarNoCollapsibleIf = []|[("sonar-runtime" | "metric")]
12804
+ // ----- sonar/no-duplicate-in-composite -----
12805
+ type SonarNoDuplicateInComposite = []|[("sonar-runtime" | "metric")]
11464
12806
  // ----- sonar/no-duplicate-string -----
11465
12807
  type SonarNoDuplicateString = []|[{
11466
12808
  threshold?: number
11467
12809
  ignoreStrings?: string
11468
- [k: string]: unknown | undefined
11469
12810
  }]|[{
11470
12811
  threshold?: number
11471
12812
  ignoreStrings?: string
11472
- [k: string]: unknown | undefined
11473
- }, "sonar-runtime"]
12813
+ }, ("sonar-runtime" | "metric")]
11474
12814
  // ----- sonar/no-duplicated-branches -----
11475
- type SonarNoDuplicatedBranches = []|["sonar-runtime"]
12815
+ type SonarNoDuplicatedBranches = []|[("sonar-runtime" | "metric")]
11476
12816
  // ----- sonar/no-element-overwrite -----
11477
- type SonarNoElementOverwrite = []|["sonar-runtime"]
12817
+ type SonarNoElementOverwrite = []|[("sonar-runtime" | "metric")]
11478
12818
  // ----- sonar/no-extra-arguments -----
11479
- type SonarNoExtraArguments = []|["sonar-runtime"]
12819
+ type SonarNoExtraArguments = []|[("sonar-runtime" | "metric")]
11480
12820
  // ----- sonar/no-gratuitous-expressions -----
11481
- type SonarNoGratuitousExpressions = []|["sonar-runtime"]
12821
+ type SonarNoGratuitousExpressions = []|[("sonar-runtime" | "metric")]
12822
+ // ----- sonar/no-hardcoded-passwords -----
12823
+ type SonarNoHardcodedPasswords = []|[{
12824
+ passwordWords?: string[]
12825
+ }]
12826
+ // ----- sonar/no-hardcoded-secrets -----
12827
+ type SonarNoHardcodedSecrets = []|[{
12828
+ secretWords?: string
12829
+ randomnessSensibility?: number
12830
+ }]
11482
12831
  // ----- sonar/no-identical-conditions -----
11483
- type SonarNoIdenticalConditions = []|["sonar-runtime"]
12832
+ type SonarNoIdenticalConditions = []|[("sonar-runtime" | "metric")]
11484
12833
  // ----- sonar/no-identical-expressions -----
11485
- type SonarNoIdenticalExpressions = []|["sonar-runtime"]
12834
+ type SonarNoIdenticalExpressions = []|[("sonar-runtime" | "metric")]
11486
12835
  // ----- sonar/no-identical-functions -----
11487
- type SonarNoIdenticalFunctions = []|[number]|[number, "sonar-runtime"]
12836
+ type SonarNoIdenticalFunctions = []|[number]|[number, ("sonar-runtime" | "metric")]
12837
+ // ----- sonar/no-implicit-dependencies -----
12838
+ type SonarNoImplicitDependencies = []|[{
12839
+ whitelist?: string[]
12840
+ }]
12841
+ // ----- sonar/no-inconsistent-returns -----
12842
+ type SonarNoInconsistentReturns = []|[("sonar-runtime" | "metric")]
12843
+ // ----- sonar/no-incorrect-string-concat -----
12844
+ type SonarNoIncorrectStringConcat = []|[("sonar-runtime" | "metric")]
12845
+ // ----- sonar/no-intrusive-permissions -----
12846
+ type SonarNoIntrusivePermissions = []|[{
12847
+ permissions?: string[]
12848
+ }]
12849
+ // ----- sonar/no-invariant-returns -----
12850
+ type SonarNoInvariantReturns = []|[("sonar-runtime" | "metric")]
12851
+ // ----- sonar/no-ip-forward -----
12852
+ type SonarNoIpForward = []|[("sonar-runtime" | "metric")]
12853
+ // ----- sonar/no-mime-sniff -----
12854
+ type SonarNoMimeSniff = []|[("sonar-runtime" | "metric")]
12855
+ // ----- sonar/no-mixed-content -----
12856
+ type SonarNoMixedContent = []|[("sonar-runtime" | "metric")]
12857
+ // ----- sonar/no-nested-functions -----
12858
+ type SonarNoNestedFunctions = []|[{
12859
+ threshold?: number
12860
+ }]|[{
12861
+ threshold?: number
12862
+ }, ("sonar-runtime" | "metric")]
12863
+ // ----- sonar/no-redundant-optional -----
12864
+ type SonarNoRedundantOptional = []|[("sonar-runtime" | "metric")]
12865
+ // ----- sonar/no-redundant-parentheses -----
12866
+ type SonarNoRedundantParentheses = []|[("sonar-runtime" | "metric")]
12867
+ // ----- sonar/no-reference-error -----
12868
+ type SonarNoReferenceError = []|[("sonar-runtime" | "metric")]
12869
+ // ----- sonar/no-referrer-policy -----
12870
+ type SonarNoReferrerPolicy = []|[("sonar-runtime" | "metric")]
12871
+ // ----- sonar/no-same-argument-assert -----
12872
+ type SonarNoSameArgumentAssert = []|[("sonar-runtime" | "metric")]
11488
12873
  // ----- sonar/no-same-line-conditional -----
11489
- type SonarNoSameLineConditional = []|["sonar-runtime"]
12874
+ type SonarNoSameLineConditional = []|[("sonar-runtime" | "metric")]
12875
+ // ----- sonar/no-selector-parameter -----
12876
+ type SonarNoSelectorParameter = []|[("sonar-runtime" | "metric")]
12877
+ // ----- sonar/no-try-promise -----
12878
+ type SonarNoTryPromise = []|[("sonar-runtime" | "metric")]
12879
+ // ----- sonar/no-variable-usage-before-declaration -----
12880
+ type SonarNoVariableUsageBeforeDeclaration = []|[("sonar-runtime" | "metric")]
12881
+ // ----- sonar/non-number-in-arithmetic-expression -----
12882
+ type SonarNonNumberInArithmeticExpression = []|[("sonar-runtime" | "metric")]
12883
+ // ----- sonar/regex-complexity -----
12884
+ type SonarRegexComplexity = []|[{
12885
+ threshold?: number
12886
+ }]|[{
12887
+ threshold?: number
12888
+ }, ("sonar-runtime" | "metric")]
12889
+ // ----- sonar/shorthand-property-grouping -----
12890
+ type SonarShorthandPropertyGrouping = []|[("sonar-runtime" | "metric")]
12891
+ // ----- sonar/stateful-regex -----
12892
+ type SonarStatefulRegex = []|[("sonar-runtime" | "metric")]
12893
+ // ----- sonar/strict-transport-security -----
12894
+ type SonarStrictTransportSecurity = []|[("sonar-runtime" | "metric")]
12895
+ // ----- sonar/strings-comparison -----
12896
+ type SonarStringsComparison = []|[("sonar-runtime" | "metric")]
12897
+ // ----- sonar/too-many-break-or-continue-in-loop -----
12898
+ type SonarTooManyBreakOrContinueInLoop = []|[("sonar-runtime" | "metric")]
12899
+ // ----- sonar/unicode-aware-regex -----
12900
+ type SonarUnicodeAwareRegex = []|[("sonar-runtime" | "metric")]
12901
+ // ----- sonar/unused-named-groups -----
12902
+ type SonarUnusedNamedGroups = []|[("sonar-runtime" | "metric")]
12903
+ // ----- sonar/unverified-certificate -----
12904
+ type SonarUnverifiedCertificate = []|[("sonar-runtime" | "metric")]
12905
+ // ----- sonar/unverified-hostname -----
12906
+ type SonarUnverifiedHostname = []|[("sonar-runtime" | "metric")]
12907
+ // ----- sonar/updated-const-var -----
12908
+ type SonarUpdatedConstVar = []|[("sonar-runtime" | "metric")]
12909
+ // ----- sonar/updated-loop-counter -----
12910
+ type SonarUpdatedLoopCounter = []|[("sonar-runtime" | "metric")]
12911
+ // ----- sonar/use-type-alias -----
12912
+ type SonarUseTypeAlias = []|[("sonar-runtime" | "metric")]
12913
+ // ----- sonar/variable-name -----
12914
+ type SonarVariableName = []|[{
12915
+ format?: string
12916
+ }]
12917
+ // ----- sonar/xml-parser-xxe -----
12918
+ type SonarXmlParserXxe = []|[("sonar-runtime" | "metric")]
11490
12919
  // ----- sort-imports -----
11491
12920
  type SortImports = []|[{
11492
12921
  ignoreCase?: boolean
@@ -14025,6 +15454,10 @@ type TsPreferOptionalChain = []|[{
14025
15454
  type TsPreferPromiseRejectErrors = []|[{
14026
15455
 
14027
15456
  allowEmptyReject?: boolean
15457
+
15458
+ allowThrowingAny?: boolean
15459
+
15460
+ allowThrowingUnknown?: boolean
14028
15461
  }]
14029
15462
  // ----- ts/prefer-readonly -----
14030
15463
  type TsPreferReadonly = []|[{
@@ -15892,11 +17325,8 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
15892
17325
  onlyEquality?: boolean
15893
17326
  }]
15894
17327
  // Names of all the configs
15895
- type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/imports/disables/bin' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/regexp/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sonar/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules'
17328
+ type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/imports/disables/bin' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sonar/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules'
15896
17329
 
15897
- /**
15898
- * Vendor types from Prettier so we don't rely on the dependency.
15899
- */
15900
17330
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
15901
17331
  interface VendoredPrettierOptionsRequired {
15902
17332
  /**
@@ -16346,6 +17776,7 @@ declare const defaultPluginRenaming: {
16346
17776
  vitest: string;
16347
17777
  yml: string;
16348
17778
  };
17779
+ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
16349
17780
  /**
16350
17781
  * Construct an array of ESLint flat config items.
16351
17782
  *
@@ -16357,7 +17788,6 @@ declare const defaultPluginRenaming: {
16357
17788
  * The merged ESLint configurations.
16358
17789
  */
16359
17790
  declare function vinicuncaESLint(options?: OptionsConfig & TypedFlatConfigItem, ...userConfigs: Array<Awaitable<Array<Linter.Config> | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
16360
- type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
16361
17791
 
16362
17792
  declare function astro(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
16363
17793
 
@@ -16390,7 +17820,7 @@ declare function node(): Promise<Array<TypedFlatConfigItem>>;
16390
17820
  */
16391
17821
  declare function perfectionist(): Promise<Array<TypedFlatConfigItem>>;
16392
17822
 
16393
- declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
17823
+ declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
16394
17824
 
16395
17825
  declare function regexp(options?: OptionsOverrides & OptionsRegExp): Promise<Array<TypedFlatConfigItem>>;
16396
17826