@gooddata/eslint-config 11.18.0-alpha.0 → 11.18.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/base.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments"
9
8
  ],
10
9
  "extends": [
@@ -641,7 +640,6 @@
641
640
  "regexp/prefer-w": "off",
642
641
  "sonarjs/no-duplicate-string": "off",
643
642
  "sonarjs/cognitive-complexity": "warn",
644
- "tsdoc/syntax": "error",
645
643
  "eslint-comments/no-unused-disable": "error",
646
644
  "no-caller": 2,
647
645
  "no-eval": 2,
@@ -759,6 +757,22 @@
759
757
  ]
760
758
  }
761
759
  },
760
+ {
761
+ "files": [
762
+ "**/*.{js,cjs,mjs,jsx}"
763
+ ],
764
+ "plugins": [
765
+ "jsdoc"
766
+ ],
767
+ "settings": {
768
+ "jsdoc": {
769
+ "mode": "jsdoc"
770
+ }
771
+ },
772
+ "rules": {
773
+ "jsdoc/require-param": "error"
774
+ }
775
+ },
762
776
  {
763
777
  "parser": "@typescript-eslint/parser",
764
778
  "files": [
@@ -778,6 +792,53 @@
778
792
  "rules": {
779
793
  "sonarjs/no-identical-functions": "off"
780
794
  }
795
+ },
796
+ {
797
+ "parser": "@typescript-eslint/parser",
798
+ "files": [
799
+ "**/*.ts",
800
+ "**/*.tsx"
801
+ ],
802
+ "parserOptions": {
803
+ "ecmaVersion": 2022,
804
+ "sourceType": "module"
805
+ },
806
+ "plugins": [
807
+ "tsdoc",
808
+ "jsdoc"
809
+ ],
810
+ "settings": {
811
+ "jsdoc": {
812
+ "mode": "typescript"
813
+ }
814
+ },
815
+ "rules": {
816
+ "tsdoc/syntax": "error",
817
+ "jsdoc/require-param": [
818
+ "error",
819
+ {
820
+ "contexts": [
821
+ {
822
+ "context": "FunctionDeclaration",
823
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
824
+ },
825
+ {
826
+ "context": "FunctionExpression",
827
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
828
+ },
829
+ {
830
+ "context": "ArrowFunctionExpression",
831
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
832
+ },
833
+ {
834
+ "context": "MethodDefinition",
835
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
836
+ }
837
+ ]
838
+ }
839
+ ],
840
+ "jsdoc/require-param-type": "off"
841
+ }
781
842
  }
782
843
  ],
783
844
  "settings": {},
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "import-esm"
10
9
  ],
@@ -643,7 +642,6 @@
643
642
  "regexp/prefer-w": "off",
644
643
  "sonarjs/no-duplicate-string": "off",
645
644
  "sonarjs/cognitive-complexity": "warn",
646
- "tsdoc/syntax": "error",
647
645
  "eslint-comments/no-unused-disable": "error",
648
646
  "no-caller": 2,
649
647
  "no-eval": 2,
@@ -761,6 +759,22 @@
761
759
  ]
762
760
  }
763
761
  },
762
+ {
763
+ "files": [
764
+ "**/*.{js,cjs,mjs,jsx}"
765
+ ],
766
+ "plugins": [
767
+ "jsdoc"
768
+ ],
769
+ "settings": {
770
+ "jsdoc": {
771
+ "mode": "jsdoc"
772
+ }
773
+ },
774
+ "rules": {
775
+ "jsdoc/require-param": "error"
776
+ }
777
+ },
764
778
  {
765
779
  "parser": "@typescript-eslint/parser",
766
780
  "files": [
@@ -780,6 +794,53 @@
780
794
  "rules": {
781
795
  "sonarjs/no-identical-functions": "off"
782
796
  }
797
+ },
798
+ {
799
+ "parser": "@typescript-eslint/parser",
800
+ "files": [
801
+ "**/*.ts",
802
+ "**/*.tsx"
803
+ ],
804
+ "parserOptions": {
805
+ "ecmaVersion": 2022,
806
+ "sourceType": "module"
807
+ },
808
+ "plugins": [
809
+ "tsdoc",
810
+ "jsdoc"
811
+ ],
812
+ "settings": {
813
+ "jsdoc": {
814
+ "mode": "typescript"
815
+ }
816
+ },
817
+ "rules": {
818
+ "tsdoc/syntax": "error",
819
+ "jsdoc/require-param": [
820
+ "error",
821
+ {
822
+ "contexts": [
823
+ {
824
+ "context": "FunctionDeclaration",
825
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
826
+ },
827
+ {
828
+ "context": "FunctionExpression",
829
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
830
+ },
831
+ {
832
+ "context": "ArrowFunctionExpression",
833
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
834
+ },
835
+ {
836
+ "context": "MethodDefinition",
837
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
838
+ }
839
+ ]
840
+ }
841
+ ],
842
+ "jsdoc/require-param-type": "off"
843
+ }
783
844
  }
784
845
  ],
785
846
  "settings": {},
package/dist/browser.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments"
9
8
  ],
10
9
  "extends": [
@@ -641,7 +640,6 @@
641
640
  "regexp/prefer-w": "off",
642
641
  "sonarjs/no-duplicate-string": "off",
643
642
  "sonarjs/cognitive-complexity": "warn",
644
- "tsdoc/syntax": "error",
645
643
  "eslint-comments/no-unused-disable": "error",
646
644
  "no-caller": 2,
647
645
  "no-eval": 2,
@@ -759,6 +757,22 @@
759
757
  ]
760
758
  }
761
759
  },
760
+ {
761
+ "files": [
762
+ "**/*.{js,cjs,mjs,jsx}"
763
+ ],
764
+ "plugins": [
765
+ "jsdoc"
766
+ ],
767
+ "settings": {
768
+ "jsdoc": {
769
+ "mode": "jsdoc"
770
+ }
771
+ },
772
+ "rules": {
773
+ "jsdoc/require-param": "error"
774
+ }
775
+ },
762
776
  {
763
777
  "parser": "@typescript-eslint/parser",
764
778
  "files": [
@@ -778,6 +792,53 @@
778
792
  "rules": {
779
793
  "sonarjs/no-identical-functions": "off"
780
794
  }
795
+ },
796
+ {
797
+ "parser": "@typescript-eslint/parser",
798
+ "files": [
799
+ "**/*.ts",
800
+ "**/*.tsx"
801
+ ],
802
+ "parserOptions": {
803
+ "ecmaVersion": 2022,
804
+ "sourceType": "module"
805
+ },
806
+ "plugins": [
807
+ "tsdoc",
808
+ "jsdoc"
809
+ ],
810
+ "settings": {
811
+ "jsdoc": {
812
+ "mode": "typescript"
813
+ }
814
+ },
815
+ "rules": {
816
+ "tsdoc/syntax": "error",
817
+ "jsdoc/require-param": [
818
+ "error",
819
+ {
820
+ "contexts": [
821
+ {
822
+ "context": "FunctionDeclaration",
823
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
824
+ },
825
+ {
826
+ "context": "FunctionExpression",
827
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
828
+ },
829
+ {
830
+ "context": "ArrowFunctionExpression",
831
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
832
+ },
833
+ {
834
+ "context": "MethodDefinition",
835
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
836
+ }
837
+ ]
838
+ }
839
+ ],
840
+ "jsdoc/require-param-type": "off"
841
+ }
781
842
  }
782
843
  ],
783
844
  "settings": {},
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -649,7 +648,6 @@
649
648
  "regexp/prefer-w": "off",
650
649
  "sonarjs/no-duplicate-string": "off",
651
650
  "sonarjs/cognitive-complexity": "warn",
652
- "tsdoc/syntax": "error",
653
651
  "eslint-comments/no-unused-disable": "error",
654
652
  "no-caller": 2,
655
653
  "no-eval": 2,
@@ -797,6 +795,22 @@
797
795
  ]
798
796
  }
799
797
  },
798
+ {
799
+ "files": [
800
+ "**/*.{js,cjs,mjs,jsx}"
801
+ ],
802
+ "plugins": [
803
+ "jsdoc"
804
+ ],
805
+ "settings": {
806
+ "jsdoc": {
807
+ "mode": "jsdoc"
808
+ }
809
+ },
810
+ "rules": {
811
+ "jsdoc/require-param": "error"
812
+ }
813
+ },
800
814
  {
801
815
  "parser": "@typescript-eslint/parser",
802
816
  "files": [
@@ -817,6 +831,53 @@
817
831
  "sonarjs/no-identical-functions": "off"
818
832
  }
819
833
  },
834
+ {
835
+ "parser": "@typescript-eslint/parser",
836
+ "files": [
837
+ "**/*.ts",
838
+ "**/*.tsx"
839
+ ],
840
+ "parserOptions": {
841
+ "ecmaVersion": 2022,
842
+ "sourceType": "module"
843
+ },
844
+ "plugins": [
845
+ "tsdoc",
846
+ "jsdoc"
847
+ ],
848
+ "settings": {
849
+ "jsdoc": {
850
+ "mode": "typescript"
851
+ }
852
+ },
853
+ "rules": {
854
+ "tsdoc/syntax": "error",
855
+ "jsdoc/require-param": [
856
+ "error",
857
+ {
858
+ "contexts": [
859
+ {
860
+ "context": "FunctionDeclaration",
861
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
862
+ },
863
+ {
864
+ "context": "FunctionExpression",
865
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
866
+ },
867
+ {
868
+ "context": "ArrowFunctionExpression",
869
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
870
+ },
871
+ {
872
+ "context": "MethodDefinition",
873
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
874
+ }
875
+ ]
876
+ }
877
+ ],
878
+ "jsdoc/require-param-type": "off"
879
+ }
880
+ },
820
881
  {
821
882
  "parser": "@typescript-eslint/parser",
822
883
  "files": [
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -648,7 +647,6 @@
648
647
  "regexp/prefer-w": "off",
649
648
  "sonarjs/no-duplicate-string": "off",
650
649
  "sonarjs/cognitive-complexity": "warn",
651
- "tsdoc/syntax": "error",
652
650
  "eslint-comments/no-unused-disable": "error",
653
651
  "no-caller": 2,
654
652
  "no-eval": 2,
@@ -798,6 +796,22 @@
798
796
  ]
799
797
  }
800
798
  },
799
+ {
800
+ "files": [
801
+ "**/*.{js,cjs,mjs,jsx}"
802
+ ],
803
+ "plugins": [
804
+ "jsdoc"
805
+ ],
806
+ "settings": {
807
+ "jsdoc": {
808
+ "mode": "jsdoc"
809
+ }
810
+ },
811
+ "rules": {
812
+ "jsdoc/require-param": "error"
813
+ }
814
+ },
801
815
  {
802
816
  "parser": "@typescript-eslint/parser",
803
817
  "files": [
@@ -818,6 +832,53 @@
818
832
  "sonarjs/no-identical-functions": "off"
819
833
  }
820
834
  },
835
+ {
836
+ "parser": "@typescript-eslint/parser",
837
+ "files": [
838
+ "**/*.ts",
839
+ "**/*.tsx"
840
+ ],
841
+ "parserOptions": {
842
+ "ecmaVersion": 2022,
843
+ "sourceType": "module"
844
+ },
845
+ "plugins": [
846
+ "tsdoc",
847
+ "jsdoc"
848
+ ],
849
+ "settings": {
850
+ "jsdoc": {
851
+ "mode": "typescript"
852
+ }
853
+ },
854
+ "rules": {
855
+ "tsdoc/syntax": "error",
856
+ "jsdoc/require-param": [
857
+ "error",
858
+ {
859
+ "contexts": [
860
+ {
861
+ "context": "FunctionDeclaration",
862
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
863
+ },
864
+ {
865
+ "context": "FunctionExpression",
866
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
867
+ },
868
+ {
869
+ "context": "ArrowFunctionExpression",
870
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
871
+ },
872
+ {
873
+ "context": "MethodDefinition",
874
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
875
+ }
876
+ ]
877
+ }
878
+ ],
879
+ "jsdoc/require-param-type": "off"
880
+ }
881
+ },
821
882
  {
822
883
  "files": [
823
884
  "**/*.stories.tsx"
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -648,7 +647,6 @@
648
647
  "regexp/prefer-w": "off",
649
648
  "sonarjs/no-duplicate-string": "off",
650
649
  "sonarjs/cognitive-complexity": "warn",
651
- "tsdoc/syntax": "error",
652
650
  "eslint-comments/no-unused-disable": "error",
653
651
  "no-caller": 2,
654
652
  "no-eval": 2,
@@ -798,6 +796,22 @@
798
796
  ]
799
797
  }
800
798
  },
799
+ {
800
+ "files": [
801
+ "**/*.{js,cjs,mjs,jsx}"
802
+ ],
803
+ "plugins": [
804
+ "jsdoc"
805
+ ],
806
+ "settings": {
807
+ "jsdoc": {
808
+ "mode": "jsdoc"
809
+ }
810
+ },
811
+ "rules": {
812
+ "jsdoc/require-param": "error"
813
+ }
814
+ },
801
815
  {
802
816
  "parser": "@typescript-eslint/parser",
803
817
  "files": [
@@ -817,6 +831,53 @@
817
831
  "rules": {
818
832
  "sonarjs/no-identical-functions": "off"
819
833
  }
834
+ },
835
+ {
836
+ "parser": "@typescript-eslint/parser",
837
+ "files": [
838
+ "**/*.ts",
839
+ "**/*.tsx"
840
+ ],
841
+ "parserOptions": {
842
+ "ecmaVersion": 2022,
843
+ "sourceType": "module"
844
+ },
845
+ "plugins": [
846
+ "tsdoc",
847
+ "jsdoc"
848
+ ],
849
+ "settings": {
850
+ "jsdoc": {
851
+ "mode": "typescript"
852
+ }
853
+ },
854
+ "rules": {
855
+ "tsdoc/syntax": "error",
856
+ "jsdoc/require-param": [
857
+ "error",
858
+ {
859
+ "contexts": [
860
+ {
861
+ "context": "FunctionDeclaration",
862
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
863
+ },
864
+ {
865
+ "context": "FunctionExpression",
866
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
867
+ },
868
+ {
869
+ "context": "ArrowFunctionExpression",
870
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
871
+ },
872
+ {
873
+ "context": "MethodDefinition",
874
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
875
+ }
876
+ ]
877
+ }
878
+ ],
879
+ "jsdoc/require-param-type": "off"
880
+ }
820
881
  }
821
882
  ],
822
883
  "settings": {
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -646,7 +645,6 @@
646
645
  "regexp/prefer-w": "off",
647
646
  "sonarjs/no-duplicate-string": "off",
648
647
  "sonarjs/cognitive-complexity": "warn",
649
- "tsdoc/syntax": "error",
650
648
  "eslint-comments/no-unused-disable": "error",
651
649
  "no-caller": 2,
652
650
  "no-eval": 2,
@@ -789,6 +787,22 @@
789
787
  ]
790
788
  }
791
789
  },
790
+ {
791
+ "files": [
792
+ "**/*.{js,cjs,mjs,jsx}"
793
+ ],
794
+ "plugins": [
795
+ "jsdoc"
796
+ ],
797
+ "settings": {
798
+ "jsdoc": {
799
+ "mode": "jsdoc"
800
+ }
801
+ },
802
+ "rules": {
803
+ "jsdoc/require-param": "error"
804
+ }
805
+ },
792
806
  {
793
807
  "parser": "@typescript-eslint/parser",
794
808
  "files": [
@@ -808,6 +822,53 @@
808
822
  "rules": {
809
823
  "sonarjs/no-identical-functions": "off"
810
824
  }
825
+ },
826
+ {
827
+ "parser": "@typescript-eslint/parser",
828
+ "files": [
829
+ "**/*.ts",
830
+ "**/*.tsx"
831
+ ],
832
+ "parserOptions": {
833
+ "ecmaVersion": 2022,
834
+ "sourceType": "module"
835
+ },
836
+ "plugins": [
837
+ "tsdoc",
838
+ "jsdoc"
839
+ ],
840
+ "settings": {
841
+ "jsdoc": {
842
+ "mode": "typescript"
843
+ }
844
+ },
845
+ "rules": {
846
+ "tsdoc/syntax": "error",
847
+ "jsdoc/require-param": [
848
+ "error",
849
+ {
850
+ "contexts": [
851
+ {
852
+ "context": "FunctionDeclaration",
853
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
854
+ },
855
+ {
856
+ "context": "FunctionExpression",
857
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
858
+ },
859
+ {
860
+ "context": "ArrowFunctionExpression",
861
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
862
+ },
863
+ {
864
+ "context": "MethodDefinition",
865
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
866
+ }
867
+ ]
868
+ }
869
+ ],
870
+ "jsdoc/require-param-type": "off"
871
+ }
811
872
  }
812
873
  ],
813
874
  "settings": {
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "import-esm",
10
9
  "@vitest"
@@ -645,7 +644,6 @@
645
644
  "regexp/prefer-w": "off",
646
645
  "sonarjs/no-duplicate-string": "off",
647
646
  "sonarjs/cognitive-complexity": "warn",
648
- "tsdoc/syntax": "error",
649
647
  "eslint-comments/no-unused-disable": "error",
650
648
  "no-caller": 2,
651
649
  "no-eval": 2,
@@ -770,6 +768,22 @@
770
768
  ]
771
769
  }
772
770
  },
771
+ {
772
+ "files": [
773
+ "**/*.{js,cjs,mjs,jsx}"
774
+ ],
775
+ "plugins": [
776
+ "jsdoc"
777
+ ],
778
+ "settings": {
779
+ "jsdoc": {
780
+ "mode": "jsdoc"
781
+ }
782
+ },
783
+ "rules": {
784
+ "jsdoc/require-param": "error"
785
+ }
786
+ },
773
787
  {
774
788
  "parser": "@typescript-eslint/parser",
775
789
  "files": [
@@ -789,6 +803,53 @@
789
803
  "rules": {
790
804
  "sonarjs/no-identical-functions": "off"
791
805
  }
806
+ },
807
+ {
808
+ "parser": "@typescript-eslint/parser",
809
+ "files": [
810
+ "**/*.ts",
811
+ "**/*.tsx"
812
+ ],
813
+ "parserOptions": {
814
+ "ecmaVersion": 2022,
815
+ "sourceType": "module"
816
+ },
817
+ "plugins": [
818
+ "tsdoc",
819
+ "jsdoc"
820
+ ],
821
+ "settings": {
822
+ "jsdoc": {
823
+ "mode": "typescript"
824
+ }
825
+ },
826
+ "rules": {
827
+ "tsdoc/syntax": "error",
828
+ "jsdoc/require-param": [
829
+ "error",
830
+ {
831
+ "contexts": [
832
+ {
833
+ "context": "FunctionDeclaration",
834
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
835
+ },
836
+ {
837
+ "context": "FunctionExpression",
838
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
839
+ },
840
+ {
841
+ "context": "ArrowFunctionExpression",
842
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
843
+ },
844
+ {
845
+ "context": "MethodDefinition",
846
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
847
+ }
848
+ ]
849
+ }
850
+ ],
851
+ "jsdoc/require-param-type": "off"
852
+ }
792
853
  }
793
854
  ],
794
855
  "settings": {},
package/dist/esm.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "import-esm"
10
9
  ],
@@ -643,7 +642,6 @@
643
642
  "regexp/prefer-w": "off",
644
643
  "sonarjs/no-duplicate-string": "off",
645
644
  "sonarjs/cognitive-complexity": "warn",
646
- "tsdoc/syntax": "error",
647
645
  "eslint-comments/no-unused-disable": "error",
648
646
  "no-caller": 2,
649
647
  "no-eval": 2,
@@ -761,6 +759,22 @@
761
759
  ]
762
760
  }
763
761
  },
762
+ {
763
+ "files": [
764
+ "**/*.{js,cjs,mjs,jsx}"
765
+ ],
766
+ "plugins": [
767
+ "jsdoc"
768
+ ],
769
+ "settings": {
770
+ "jsdoc": {
771
+ "mode": "jsdoc"
772
+ }
773
+ },
774
+ "rules": {
775
+ "jsdoc/require-param": "error"
776
+ }
777
+ },
764
778
  {
765
779
  "parser": "@typescript-eslint/parser",
766
780
  "files": [
@@ -780,6 +794,53 @@
780
794
  "rules": {
781
795
  "sonarjs/no-identical-functions": "off"
782
796
  }
797
+ },
798
+ {
799
+ "parser": "@typescript-eslint/parser",
800
+ "files": [
801
+ "**/*.ts",
802
+ "**/*.tsx"
803
+ ],
804
+ "parserOptions": {
805
+ "ecmaVersion": 2022,
806
+ "sourceType": "module"
807
+ },
808
+ "plugins": [
809
+ "tsdoc",
810
+ "jsdoc"
811
+ ],
812
+ "settings": {
813
+ "jsdoc": {
814
+ "mode": "typescript"
815
+ }
816
+ },
817
+ "rules": {
818
+ "tsdoc/syntax": "error",
819
+ "jsdoc/require-param": [
820
+ "error",
821
+ {
822
+ "contexts": [
823
+ {
824
+ "context": "FunctionDeclaration",
825
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
826
+ },
827
+ {
828
+ "context": "FunctionExpression",
829
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
830
+ },
831
+ {
832
+ "context": "ArrowFunctionExpression",
833
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
834
+ },
835
+ {
836
+ "context": "MethodDefinition",
837
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
838
+ }
839
+ ]
840
+ }
841
+ ],
842
+ "jsdoc/require-param-type": "off"
843
+ }
783
844
  }
784
845
  ],
785
846
  "settings": {},
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -647,7 +646,6 @@
647
646
  "regexp/prefer-w": "off",
648
647
  "sonarjs/no-duplicate-string": "off",
649
648
  "sonarjs/cognitive-complexity": "warn",
650
- "tsdoc/syntax": "error",
651
649
  "eslint-comments/no-unused-disable": "error",
652
650
  "no-caller": 2,
653
651
  "no-eval": 2,
@@ -795,6 +793,22 @@
795
793
  ]
796
794
  }
797
795
  },
796
+ {
797
+ "files": [
798
+ "**/*.{js,cjs,mjs,jsx}"
799
+ ],
800
+ "plugins": [
801
+ "jsdoc"
802
+ ],
803
+ "settings": {
804
+ "jsdoc": {
805
+ "mode": "jsdoc"
806
+ }
807
+ },
808
+ "rules": {
809
+ "jsdoc/require-param": "error"
810
+ }
811
+ },
798
812
  {
799
813
  "parser": "@typescript-eslint/parser",
800
814
  "files": [
@@ -815,6 +829,53 @@
815
829
  "sonarjs/no-identical-functions": "off"
816
830
  }
817
831
  },
832
+ {
833
+ "parser": "@typescript-eslint/parser",
834
+ "files": [
835
+ "**/*.ts",
836
+ "**/*.tsx"
837
+ ],
838
+ "parserOptions": {
839
+ "ecmaVersion": 2022,
840
+ "sourceType": "module"
841
+ },
842
+ "plugins": [
843
+ "tsdoc",
844
+ "jsdoc"
845
+ ],
846
+ "settings": {
847
+ "jsdoc": {
848
+ "mode": "typescript"
849
+ }
850
+ },
851
+ "rules": {
852
+ "tsdoc/syntax": "error",
853
+ "jsdoc/require-param": [
854
+ "error",
855
+ {
856
+ "contexts": [
857
+ {
858
+ "context": "FunctionDeclaration",
859
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
860
+ },
861
+ {
862
+ "context": "FunctionExpression",
863
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
864
+ },
865
+ {
866
+ "context": "ArrowFunctionExpression",
867
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
868
+ },
869
+ {
870
+ "context": "MethodDefinition",
871
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
872
+ }
873
+ ]
874
+ }
875
+ ],
876
+ "jsdoc/require-param-type": "off"
877
+ }
878
+ },
818
879
  {
819
880
  "parser": "@typescript-eslint/parser",
820
881
  "files": [
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks",
@@ -646,7 +645,6 @@
646
645
  "regexp/prefer-w": "off",
647
646
  "sonarjs/no-duplicate-string": "off",
648
647
  "sonarjs/cognitive-complexity": "warn",
649
- "tsdoc/syntax": "error",
650
648
  "eslint-comments/no-unused-disable": "error",
651
649
  "no-caller": 2,
652
650
  "no-eval": 2,
@@ -796,6 +794,22 @@
796
794
  ]
797
795
  }
798
796
  },
797
+ {
798
+ "files": [
799
+ "**/*.{js,cjs,mjs,jsx}"
800
+ ],
801
+ "plugins": [
802
+ "jsdoc"
803
+ ],
804
+ "settings": {
805
+ "jsdoc": {
806
+ "mode": "jsdoc"
807
+ }
808
+ },
809
+ "rules": {
810
+ "jsdoc/require-param": "error"
811
+ }
812
+ },
799
813
  {
800
814
  "parser": "@typescript-eslint/parser",
801
815
  "files": [
@@ -815,6 +829,53 @@
815
829
  "rules": {
816
830
  "sonarjs/no-identical-functions": "off"
817
831
  }
832
+ },
833
+ {
834
+ "parser": "@typescript-eslint/parser",
835
+ "files": [
836
+ "**/*.ts",
837
+ "**/*.tsx"
838
+ ],
839
+ "parserOptions": {
840
+ "ecmaVersion": 2022,
841
+ "sourceType": "module"
842
+ },
843
+ "plugins": [
844
+ "tsdoc",
845
+ "jsdoc"
846
+ ],
847
+ "settings": {
848
+ "jsdoc": {
849
+ "mode": "typescript"
850
+ }
851
+ },
852
+ "rules": {
853
+ "tsdoc/syntax": "error",
854
+ "jsdoc/require-param": [
855
+ "error",
856
+ {
857
+ "contexts": [
858
+ {
859
+ "context": "FunctionDeclaration",
860
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
861
+ },
862
+ {
863
+ "context": "FunctionExpression",
864
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
865
+ },
866
+ {
867
+ "context": "ArrowFunctionExpression",
868
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
869
+ },
870
+ {
871
+ "context": "MethodDefinition",
872
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
873
+ }
874
+ ]
875
+ }
876
+ ],
877
+ "jsdoc/require-param-type": "off"
878
+ }
818
879
  }
819
880
  ],
820
881
  "settings": {
package/dist/react.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "react",
10
9
  "react-hooks"
@@ -644,7 +643,6 @@
644
643
  "regexp/prefer-w": "off",
645
644
  "sonarjs/no-duplicate-string": "off",
646
645
  "sonarjs/cognitive-complexity": "warn",
647
- "tsdoc/syntax": "error",
648
646
  "eslint-comments/no-unused-disable": "error",
649
647
  "no-caller": 2,
650
648
  "no-eval": 2,
@@ -787,6 +785,22 @@
787
785
  ]
788
786
  }
789
787
  },
788
+ {
789
+ "files": [
790
+ "**/*.{js,cjs,mjs,jsx}"
791
+ ],
792
+ "plugins": [
793
+ "jsdoc"
794
+ ],
795
+ "settings": {
796
+ "jsdoc": {
797
+ "mode": "jsdoc"
798
+ }
799
+ },
800
+ "rules": {
801
+ "jsdoc/require-param": "error"
802
+ }
803
+ },
790
804
  {
791
805
  "parser": "@typescript-eslint/parser",
792
806
  "files": [
@@ -806,6 +820,53 @@
806
820
  "rules": {
807
821
  "sonarjs/no-identical-functions": "off"
808
822
  }
823
+ },
824
+ {
825
+ "parser": "@typescript-eslint/parser",
826
+ "files": [
827
+ "**/*.ts",
828
+ "**/*.tsx"
829
+ ],
830
+ "parserOptions": {
831
+ "ecmaVersion": 2022,
832
+ "sourceType": "module"
833
+ },
834
+ "plugins": [
835
+ "tsdoc",
836
+ "jsdoc"
837
+ ],
838
+ "settings": {
839
+ "jsdoc": {
840
+ "mode": "typescript"
841
+ }
842
+ },
843
+ "rules": {
844
+ "tsdoc/syntax": "error",
845
+ "jsdoc/require-param": [
846
+ "error",
847
+ {
848
+ "contexts": [
849
+ {
850
+ "context": "FunctionDeclaration",
851
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
852
+ },
853
+ {
854
+ "context": "FunctionExpression",
855
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
856
+ },
857
+ {
858
+ "context": "ArrowFunctionExpression",
859
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
860
+ },
861
+ {
862
+ "context": "MethodDefinition",
863
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
864
+ }
865
+ ]
866
+ }
867
+ ],
868
+ "jsdoc/require-param-type": "off"
869
+ }
809
870
  }
810
871
  ],
811
872
  "settings": {
package/dist/vitest.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "import",
5
5
  "no-only-tests",
6
6
  "sonarjs",
7
- "tsdoc",
8
7
  "eslint-comments",
9
8
  "@vitest"
10
9
  ],
@@ -643,7 +642,6 @@
643
642
  "regexp/prefer-w": "off",
644
643
  "sonarjs/no-duplicate-string": "off",
645
644
  "sonarjs/cognitive-complexity": "warn",
646
- "tsdoc/syntax": "error",
647
645
  "eslint-comments/no-unused-disable": "error",
648
646
  "no-caller": 2,
649
647
  "no-eval": 2,
@@ -768,6 +766,22 @@
768
766
  ]
769
767
  }
770
768
  },
769
+ {
770
+ "files": [
771
+ "**/*.{js,cjs,mjs,jsx}"
772
+ ],
773
+ "plugins": [
774
+ "jsdoc"
775
+ ],
776
+ "settings": {
777
+ "jsdoc": {
778
+ "mode": "jsdoc"
779
+ }
780
+ },
781
+ "rules": {
782
+ "jsdoc/require-param": "error"
783
+ }
784
+ },
771
785
  {
772
786
  "parser": "@typescript-eslint/parser",
773
787
  "files": [
@@ -787,6 +801,53 @@
787
801
  "rules": {
788
802
  "sonarjs/no-identical-functions": "off"
789
803
  }
804
+ },
805
+ {
806
+ "parser": "@typescript-eslint/parser",
807
+ "files": [
808
+ "**/*.ts",
809
+ "**/*.tsx"
810
+ ],
811
+ "parserOptions": {
812
+ "ecmaVersion": 2022,
813
+ "sourceType": "module"
814
+ },
815
+ "plugins": [
816
+ "tsdoc",
817
+ "jsdoc"
818
+ ],
819
+ "settings": {
820
+ "jsdoc": {
821
+ "mode": "typescript"
822
+ }
823
+ },
824
+ "rules": {
825
+ "tsdoc/syntax": "error",
826
+ "jsdoc/require-param": [
827
+ "error",
828
+ {
829
+ "contexts": [
830
+ {
831
+ "context": "FunctionDeclaration",
832
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
833
+ },
834
+ {
835
+ "context": "FunctionExpression",
836
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
837
+ },
838
+ {
839
+ "context": "ArrowFunctionExpression",
840
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
841
+ },
842
+ {
843
+ "context": "MethodDefinition",
844
+ "comment": "JsdocBlock > JsdocTag[tag=\"param\"]"
845
+ }
846
+ ]
847
+ }
848
+ ],
849
+ "jsdoc/require-param-type": "off"
850
+ }
790
851
  }
791
852
  ],
792
853
  "settings": {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/eslint-config",
3
- "version": "11.18.0-alpha.0",
3
+ "version": "11.18.0-alpha.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/gooddata/gooddata-ui-sdk.git",
@@ -45,6 +45,7 @@
45
45
  "eslint-plugin-header": "3.1.1",
46
46
  "eslint-plugin-import": "2.32.0",
47
47
  "eslint-plugin-import-esm": "1.2.1",
48
+ "eslint-plugin-jsdoc": "62.1.0",
48
49
  "eslint-plugin-no-only-tests": "2.6.0",
49
50
  "eslint-plugin-prettier": "5.5.4",
50
51
  "eslint-plugin-react": "7.37.5",
@@ -69,6 +70,7 @@
69
70
  "eslint-plugin-eslint-comments": "3.2.0",
70
71
  "eslint-plugin-header": "3.1.1",
71
72
  "eslint-plugin-import": "2.32.0",
73
+ "eslint-plugin-jsdoc": "62.1.0",
72
74
  "eslint-plugin-no-only-tests": "2.6.0",
73
75
  "eslint-plugin-prettier": "5.5.4",
74
76
  "eslint-plugin-regexp": "1.15.0",