Repository: typescript-eslint/tslint-to-eslint-config (ts)

Issue:
Missing converter: no-redundant-jsdoc to jsdoc/no-types
### 💥 Missing Converter

-   `tslint-to-eslint-config` version: 0.3.1
-   `typescript-eslint` version: 2.10.0

#### TSLint Rule Name

no-redundant-jsdoc

#### ESLint Rule Name

jsdoc/no-types

#### Example

````
"no-redundant-jsdoc": true,
````
should be converted to:
```
"jsdoc/no-types": "error"
```
and `eslint-plugin-jsdoc` should be added.


Pull request description:
feat: add no-redundant-jsdoc converter #278
<!--
👋 Hi, thanks for sending a PR to tslint-to-eslint-config! 💖
Please fill out all fields below to ensure your PR is reviewed quickly.
-->

## PR Checklist

-   [x] Addresses an existing issue: fixes #278
-   [x] That issue was marked as [`status: accepting prs`](https://github.com/typescript-eslint/tslint-to-eslint-config/labels/status%3A%20accepting%20prs)

## Overview

Adding converter for [no-redundant-jsdoc](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) --> [jsdoc/no-types](https://www.npmjs.com/package/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types)

Patch:
diff --git a/src/rules/converters.ts b/src/rules/converters.ts
index 4a4ce1a..69aa786 100644
--- a/src/rules/converters.ts
+++ b/src/rules/converters.ts
@@ -74,6 +74,7 @@ import { convertNoObjectLiteralTypeAssertion } from "./converters/no-object-lite
 import { convertNoOctalLiteral } from "./converters/no-octal-literal";
 import { convertNoParameterProperties } from "./converters/no-parameter-properties";
 import { convertNoParameterReassignment } from "./converters/no-parameter-reassignment";
+import { convertNoRedundantJsdoc } from "./converters/no-redundant-jsdoc";
 import { convertNoReference } from "./converters/no-reference";
 import { convertNoRegexSpaces } from "./converters/no-regex-spaces";
 import { convertNoRequireImports } from "./converters/no-require-imports";
@@ -210,6 +211,7 @@ export const converters = new Map([
     ["no-octal-literal", convertNoOctalLiteral],
     ["no-parameter-properties", convertNoParameterProperties],
     ["no-parameter-reassignment", convertNoParameterReassignment],
+    ["no-redundant-jsdoc", convertNoRedundantJsdoc],
     ["no-reference", convertNoReference],
     ["no-regex-spaces", convertNoRegexSpaces],
     ["no-require-imports", convertNoRequireImports],
diff --git a/src/rules/converters/newline-before-return.ts b/src/rules/converters/newline-before-return.ts
index 3e6916a..102362e 100644
--- a/src/rules/converters/newline-before-return.ts
+++ b/src/rules/converters/newline-before-return.ts
@@ -6,7 +6,6 @@ export const convertNewlineBeforeReturn: RuleConverter = () => {
             {
                 ruleName: "padding-line-between-statements",
                 ruleArguments: [
-                    "error",
                     {
                         blankLine: "always",
                         prev: "*",
diff --git a/src/rules/converters/no-redundant-jsdoc.ts b/src/rules/converters/no-redundant-jsdoc.ts
new file mode 100644
index 0000000..7318520
--- /dev/null
+++ b/src/rules/converters/no-redundant-jsdoc.ts
@@ -0,0 +1,10 @@
+import { RuleConverter } from "../converter";
+
+export const convertNoRedundantJsdoc: RuleConverter = () => ({
+    rules: [
+        {
+            ruleName: "jsdoc/no-types",
+        },
+    ],
+    plugins: ["eslint-plugin-jsdoc"],
+});
diff --git a/src/rules/converters/no-use-before-declare.ts b/src/rules/converters/no-use-before-declare.ts
index b83d1e4..b5c3727 100644
--- a/src/rules/converters/no-use-before-declare.ts
+++ b/src/rules/converters/no-use-before-declare.ts
@@ -4,7 +4,7 @@ export const convertNoUseBeforeDeclare: RuleConverter = () => {
     return {
         rules: [
             {
-                ruleName: "@typescript-eslint/no-use-before-declare",
+                ruleName: "@typescript-eslint/no-use-before-define",
             },
         ],
     };
diff --git a/src/rules/converters/semicolon.ts b/src/rules/converters/semicolon.ts
index ec75e7d..51d1ea5 100644
--- a/src/rules/converters/semicolon.ts
+++ b/src/rules/converters/semicolon.ts
@@ -24,7 +24,6 @@ export const convertSemicolon: RuleConverter = tslintRule => {
                 : [
                       {
                           ruleArguments: [
-                              "error",
                               {
                                   multiline: {
                                       delimiter: getMultilineDelimiter(tslintRule.ruleArguments[0]),


Test patch:
diff --git a/src/rules/converters/tests/newline-before-return.test.ts b/src/rules/converters/tests/newline-before-return.test.ts
index 97f8dc7..d216ce6 100644
--- a/src/rules/converters/tests/newline-before-return.test.ts
+++ b/src/rules/converters/tests/newline-before-return.test.ts
@@ -11,7 +11,6 @@ describe(convertNewlineBeforeReturn, () => {
                 {
                     ruleName: "padding-line-between-statements",
                     ruleArguments: [
-                        "error",
                         {
                             blankLine: "always",
                             next: "return",
diff --git a/src/rules/converters/tests/no-redundant-jsdoc.test.ts b/src/rules/converters/tests/no-redundant-jsdoc.test.ts
new file mode 100644
index 0000000..7d060fc
--- /dev/null
+++ b/src/rules/converters/tests/no-redundant-jsdoc.test.ts
@@ -0,0 +1,18 @@
+import { convertNoRedundantJsdoc } from "../no-redundant-jsdoc";
+
+describe(convertNoRedundantJsdoc, () => {
+    test("conversion without arguments", () => {
+        const result = convertNoRedundantJsdoc({
+            ruleArguments: [],
+        });
+
+        expect(result).toEqual({
+            rules: [
+                {
+                    ruleName: "jsdoc/no-types",
+                },
+            ],
+            plugins: ["eslint-plugin-jsdoc"],
+        });
+    });
+});
diff --git a/src/rules/converters/tests/no-use-before-declare.test.ts b/src/rules/converters/tests/no-use-before-declare.test.ts
index 1e4b663..0631a48 100644
--- a/src/rules/converters/tests/no-use-before-declare.test.ts
+++ b/src/rules/converters/tests/no-use-before-declare.test.ts
@@ -9,7 +9,7 @@ describe(convertNoUseBeforeDeclare, () => {
         expect(result).toEqual({
             rules: [
                 {
-                    ruleName: "@typescript-eslint/no-use-before-declare",
+                    ruleName: "@typescript-eslint/no-use-before-define",
                 },
             ],
         });
diff --git a/src/rules/converters/tests/semicolon.test.ts b/src/rules/converters/tests/semicolon.test.ts
index 55c96ff..f7cb30a 100644
--- a/src/rules/converters/tests/semicolon.test.ts
+++ b/src/rules/converters/tests/semicolon.test.ts
@@ -14,7 +14,6 @@ describe(convertSemicolon, () => {
                 },
                 {
                     ruleArguments: [
-                        "error",
                         {
                             multiline: {
                                 delimiter: "semi",
@@ -45,7 +44,6 @@ describe(convertSemicolon, () => {
                 },
                 {
                     ruleArguments: [
-                        "error",
                         {
                             multiline: {
                                 delimiter: "none",
@@ -77,7 +75,6 @@ describe(convertSemicolon, () => {
                 {
                     ruleName: "@typescript-eslint/member-delimiter-style",
                     ruleArguments: [
-                        "error",
                         {
                             multiline: {
                                 delimiter: "semi",
@@ -111,7 +108,6 @@ describe(convertSemicolon, () => {
                 {
                     ruleName: "@typescript-eslint/member-delimiter-style",
                     ruleArguments: [
-                        "error",
                         {
                             multiline: {
                                 delimiter: "none",