From db5720f19c85e8d7581a04708576746da695b5f0 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sat, 5 Oct 2019 09:09:07 +0900 Subject: [PATCH 1/4] :bug: #144 Ssets default output file to .eslintrc.js --- package-lock.json | 2 +- package.json | 2 +- src/cli/runCli.test.ts | 19 ++++++++++++++++++- src/cli/runCli.ts | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 724a9d7c1..14efab339 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "tslint-to-eslint-config", - "version": "0.2.6", + "version": "0.2.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 37a9094d3..7999fe164 100644 --- a/package.json +++ b/package.json @@ -65,5 +65,5 @@ "test:end-to-end:accept": "jest --config=test/jest.config.js --globals=\"{\\\"acceptTestChanges\\\": true }\" --runInBand", "tsc": "tsc" }, - "version": "0.2.6" + "version": "0.2.7" } diff --git a/src/cli/runCli.test.ts b/src/cli/runCli.test.ts index 07fae68bf..ceaba97f1 100644 --- a/src/cli/runCli.test.ts +++ b/src/cli/runCli.test.ts @@ -2,7 +2,7 @@ import { EOL } from "os"; import { version } from "../../package.json"; import { createStubLogger, expectEqualWrites } from "../adapters/logger.stubs"; -import { ResultStatus, TSLintToESLintResult } from "../types"; +import { ResultStatus, TSLintToESLintResult, SucceededResult } from "../types"; import { runCli, RunCliDependencies } from "./runCli"; const createStubArgv = (argv: string[] = []) => ["node", "some/path/bin/file", ...argv]; @@ -129,4 +129,21 @@ describe("runCli", () => { expect(status).toBe(ResultStatus.Succeeded); expectEqualWrites(dependencies.logger.stdout.write, "✅ All is well! ✅"); }); + + it("default output should be .eslintrc.js", async () => { + let defaultConfig; + const dependencies = createStubRunCliDependencies({ + convertConfig: parsedArgs => { + defaultConfig = parsedArgs.config; + return Promise.resolve({ + status: ResultStatus.Succeeded, + }); + }, + }); + + const status = await runCli(dependencies, createStubArgv()); + + expect(status).toBe(ResultStatus.Succeeded); + expect(defaultConfig).toEqual("./.eslintrc.js"); + }); }); diff --git a/src/cli/runCli.ts b/src/cli/runCli.ts index b465fbe08..147891d02 100644 --- a/src/cli/runCli.ts +++ b/src/cli/runCli.ts @@ -27,7 +27,7 @@ export const runCli = async ( .option("-V --version", "output the package version"); const parsedArgv = { - config: "./eslintrc.js", + config: "./.eslintrc.js", ...(command.parse(rawArgv) as Partial), }; From 00b3504b200ee1f74086208b3069c366324a3832 Mon Sep 17 00:00:00 2001 From: kleeut Date: Sat, 5 Oct 2019 16:47:26 +1000 Subject: [PATCH 2/4] :rotating_light: removes unused import --- src/cli/runCli.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/runCli.test.ts b/src/cli/runCli.test.ts index ceaba97f1..99fe90db7 100644 --- a/src/cli/runCli.test.ts +++ b/src/cli/runCli.test.ts @@ -2,7 +2,7 @@ import { EOL } from "os"; import { version } from "../../package.json"; import { createStubLogger, expectEqualWrites } from "../adapters/logger.stubs"; -import { ResultStatus, TSLintToESLintResult, SucceededResult } from "../types"; +import { ResultStatus, TSLintToESLintResult } from "../types"; import { runCli, RunCliDependencies } from "./runCli"; const createStubArgv = (argv: string[] = []) => ["node", "some/path/bin/file", ...argv]; From 6a0ae7e67b75718c28065dfdc8c430423aa43cec Mon Sep 17 00:00:00 2001 From: kleeut Date: Sat, 5 Oct 2019 17:14:11 +1000 Subject: [PATCH 3/4] :green_heart: adds types for eslint-plugin-tslint so end-to-end tests pass --- package-lock.json | 57 ++++++++++++++++++++++++++++++++++++++--------- package.json | 1 + 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14efab339..4ea0fc065 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1207,8 +1207,7 @@ "@types/json-schema": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", - "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", - "dev": true + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==" }, "@types/minimatch": { "version": "3.0.3", @@ -1273,6 +1272,43 @@ } } }, + "@typescript-eslint/eslint-plugin-tslint": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-2.3.2.tgz", + "integrity": "sha512-F1LGRQ8CAH6Vjf7uLbChJmgzAixpSL7eN4/9Jiwn4XVMgj7Ny2BzAu9Q3VNlbzOpTuscGVhQ20iSN+qCtkw9Yw==", + "requires": { + "@typescript-eslint/experimental-utils": "2.3.2", + "lodash.memoize": "^4.1.2" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz", + "integrity": "sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.3.2", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz", + "integrity": "sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA==", + "requires": { + "glob": "^7.1.4", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, "@typescript-eslint/experimental-utils": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz", @@ -2762,7 +2798,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -2812,7 +2847,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -2820,8 +2854,7 @@ "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.2", @@ -4281,8 +4314,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -4300,7 +4332,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -5452,6 +5483,11 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -5461,8 +5497,7 @@ "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", - "dev": true + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" }, "log-symbols": { "version": "3.0.0", diff --git a/package.json b/package.json index 7999fe164..75ae0fb9e 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ }, "description": "Converts your TSLint configuration to the closest possible ESLint equivalent.", "dependencies": { + "@typescript-eslint/eslint-plugin-tslint": "^2.3.2", "chalk": "2.4.2", "commander": "3.0.2", "tslint": "5.20.0", From fc911a6a91ea81ecaaa2f85bf0ec3d79f53f0074 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sun, 6 Oct 2019 18:10:20 -0400 Subject: [PATCH 4/4] Reverted package* to master --- package-lock.json | 57 +++++++++-------------------------------------- package.json | 1 - 2 files changed, 11 insertions(+), 47 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ea0fc065..14efab339 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1207,7 +1207,8 @@ "@types/json-schema": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", - "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==" + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", + "dev": true }, "@types/minimatch": { "version": "3.0.3", @@ -1272,43 +1273,6 @@ } } }, - "@typescript-eslint/eslint-plugin-tslint": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-2.3.2.tgz", - "integrity": "sha512-F1LGRQ8CAH6Vjf7uLbChJmgzAixpSL7eN4/9Jiwn4XVMgj7Ny2BzAu9Q3VNlbzOpTuscGVhQ20iSN+qCtkw9Yw==", - "requires": { - "@typescript-eslint/experimental-utils": "2.3.2", - "lodash.memoize": "^4.1.2" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz", - "integrity": "sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.3.2", - "eslint-scope": "^5.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz", - "integrity": "sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA==", - "requires": { - "glob": "^7.1.4", - "is-glob": "^4.0.1", - "lodash.unescape": "4.0.1", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, "@typescript-eslint/experimental-utils": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz", @@ -2798,6 +2762,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -2847,6 +2812,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -2854,7 +2820,8 @@ "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, "esutils": { "version": "2.0.2", @@ -4314,7 +4281,8 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -4332,6 +4300,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -5483,11 +5452,6 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -5497,7 +5461,8 @@ "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true }, "log-symbols": { "version": "3.0.0", diff --git a/package.json b/package.json index 75ae0fb9e..7999fe164 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ }, "description": "Converts your TSLint configuration to the closest possible ESLint equivalent.", "dependencies": { - "@typescript-eslint/eslint-plugin-tslint": "^2.3.2", "chalk": "2.4.2", "commander": "3.0.2", "tslint": "5.20.0",