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

Issue:
Explicit error message asking for an updated tslint version
### 🚀 Feature Request

Following #106: if a project has explicitly set their `tslint` dependency too low, they might still get the `unknown option '--print-config'` complaint.

#### Existing Behavior

Output from `npx tslint-to-eslint-config`:

```
❌ Could not start tslint-to-eslint: ❌
Command failed: tslint --print-config "./tslint.json"
error: unknown option `--print-config'
```

#### Change Proposal

If the error from TSLint is this very specific one, change it to:

```
❌ Could not start tslint-to-eslint: ❌
TSLint v5.18 required. Please update your version.
```

Pull request description:
Added an explicit error message for TSLint versions too low
## PR Checklist

-   [x] Addresses an existing issue: fixes #120
-   [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/tslint-to-eslint-config/labels/status%3A%20accepting%20prs)

## Overview

If the TSLint error message contains a complaint that `--print-config` is outdated, this gives a better error message.

Patch:
diff --git a/src/input/findTSLintConfiguration.ts b/src/input/findTSLintConfiguration.ts
index 129be08..97962ff 100644
--- a/src/input/findTSLintConfiguration.ts
+++ b/src/input/findTSLintConfiguration.ts
@@ -29,10 +29,16 @@ export const findTSLintConfiguration = async (
         config || "./tslint.json",
     );
 
-    return rawConfiguration instanceof Error
-        ? rawConfiguration
-        : {
-              ...defaultTSLintConfiguration,
-              ...rawConfiguration,
-          };
+    if (rawConfiguration instanceof Error) {
+        if (rawConfiguration.message.includes("unknown option `--print-config")) {
+            return new Error("TSLint v5.18 required. Please update your version.");
+        }
+
+        return rawConfiguration;
+    }
+
+    return {
+        ...defaultTSLintConfiguration,
+        ...rawConfiguration,
+    };
 };


Test patch:
diff --git a/src/input/findTslintConfiguration.test.ts b/src/input/findTslintConfiguration.test.ts
index 3acbff3..a429a8f 100644
--- a/src/input/findTslintConfiguration.test.ts
+++ b/src/input/findTslintConfiguration.test.ts
@@ -18,6 +18,22 @@ describe("findTSLintConfiguration", () => {
         );
     });
 
+    it("replaces an error with a v5.18 request when the --print-config option is unsupported", async () => {
+        // Arrange
+        const stderr = "unknown option `--print-config";
+        const dependencies = { exec: createStubThrowingExec({ stderr }) };
+
+        // Act
+        const result = await findTSLintConfiguration(dependencies, undefined);
+
+        // Assert
+        expect(result).toEqual(
+            expect.objectContaining({
+                message: "TSLint v5.18 required. Please update your version.",
+            }),
+        );
+    });
+
     it("defaults the configuration file when one isn't provided", async () => {
         // Arrange
         const dependencies = { exec: createStubExec() };