From 7858ddd6af8967ecf39b857dbe56b17534469839 Mon Sep 17 00:00:00 2001 From: KingDarBoja Date: Thu, 23 Jul 2020 18:12:41 -0500 Subject: [PATCH 1/2] fix: do not convert next-line to line for comments --- src/comments/convertFileComments.test.ts | 38 +++++++++++++----------- src/comments/replaceFileComments.ts | 4 +-- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/comments/convertFileComments.test.ts b/src/comments/convertFileComments.test.ts index 244eb87ff..7ea55729d 100644 --- a/src/comments/convertFileComments.test.ts +++ b/src/comments/convertFileComments.test.ts @@ -57,14 +57,16 @@ export const b = true; // tslint:enable export const c = true; +export const d = true; // tslint:disable-line + /* tslint:disable */ -export const d = true; +export const e = true; /* tslint:disable-next-line */ -export const e = true; +export const f = true; /* tslint:enable */ -export const f = true; +export const g = true; `); // Act @@ -77,20 +79,22 @@ export const f = true; // eslint-disable export const a = true; -// eslint-disable-line +// eslint-disable-next-line export const b = true; // eslint-enable export const c = true; -/* eslint-disable */ -export const d = true; +export const d = true; // eslint-disable-line -/* eslint-disable-line */ +/* eslint-disable */ export const e = true; -/* eslint-enable */ +/* eslint-disable-next-line */ export const f = true; + +/* eslint-enable */ +export const g = true; `, ); }); @@ -98,7 +102,7 @@ export const f = true; it("parses rule names when they exist", async () => { // Arrange const dependencies = createStubDependencies(` -// tslint:disable:ts-a +/* tslint:disable:ts-a */ export const a = true; // tslint:disable-next-line: ts-a ts-b @@ -112,10 +116,10 @@ export const b = true; expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith( stubFileName, ` -// eslint-disable es-a +/* eslint-disable es-a */ export const a = true; -// eslint-disable-line es-a, es-b1, es-b2 +// eslint-disable-next-line es-a, es-b1, es-b2 export const b = true; `, ); @@ -124,7 +128,7 @@ export const b = true; it("re-uses a rule conversion from cache when it was already converted", async () => { // Arrange const dependencies = createStubDependencies(` -// tslint:disable:ts-a +/* tslint:disable:ts-a */ export const a = true; `); @@ -135,7 +139,7 @@ export const a = true; expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith( stubFileName, ` -// eslint-disable es-cached +/* eslint-disable es-cached */ export const a = true; `, ); @@ -144,7 +148,7 @@ export const a = true; it("ignores comment text when there is no matching converter", async () => { // Arrange const dependencies = createStubDependencies(` -// tslint:disable:ts-z +/* tslint:disable:ts-z */ export const a = true; `); @@ -155,7 +159,7 @@ export const a = true; expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith( stubFileName, ` -// eslint-disable +/* eslint-disable */ export const a = true; `, ); @@ -164,7 +168,7 @@ export const a = true; it("ignores comment text when its matching converter results in an error", async () => { // Arrange const dependencies = createStubDependencies(` -// tslint:disable:ts-error +/* tslint:disable:ts-error */ export const a = true; `); @@ -175,7 +179,7 @@ export const a = true; expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith( stubFileName, ` -// eslint-disable +/* eslint-disable */ export const a = true; `, ); diff --git a/src/comments/replaceFileComments.ts b/src/comments/replaceFileComments.ts index 81835b16b..917dad48d 100644 --- a/src/comments/replaceFileComments.ts +++ b/src/comments/replaceFileComments.ts @@ -29,9 +29,7 @@ export const replaceFileComments = ( }; for (const comment of [...comments].reverse()) { - const directive = comment.directive - .replace("tslint:", "eslint-") - .replace("next-line", "line"); + const directive = comment.directive.replace("tslint:", "eslint-"); const ruleLists = uniqueFromSources(comment.ruleNames.map(getNewRuleLists)).filter(Boolean); const [left, right] = comment.commentKind === ts.SyntaxKind.SingleLineCommentTrivia From 9d708a05f2f0b56a05176ebce540be55140ea115 Mon Sep 17 00:00:00 2001 From: KingDarBoja Date: Fri, 24 Jul 2020 18:35:50 -0500 Subject: [PATCH 2/2] fix: check the comment directive --- src/comments/convertFileComments.test.ts | 4 ++-- src/comments/replaceFileComments.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/comments/convertFileComments.test.ts b/src/comments/convertFileComments.test.ts index 7ea55729d..808a25f3f 100644 --- a/src/comments/convertFileComments.test.ts +++ b/src/comments/convertFileComments.test.ts @@ -76,13 +76,13 @@ export const g = true; expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith( stubFileName, ` -// eslint-disable +/* eslint-disable */ export const a = true; // eslint-disable-next-line export const b = true; -// eslint-enable +/* eslint-enable */ export const c = true; export const d = true; // eslint-disable-line diff --git a/src/comments/replaceFileComments.ts b/src/comments/replaceFileComments.ts index 917dad48d..7ffd8566e 100644 --- a/src/comments/replaceFileComments.ts +++ b/src/comments/replaceFileComments.ts @@ -32,7 +32,9 @@ export const replaceFileComments = ( const directive = comment.directive.replace("tslint:", "eslint-"); const ruleLists = uniqueFromSources(comment.ruleNames.map(getNewRuleLists)).filter(Boolean); const [left, right] = - comment.commentKind === ts.SyntaxKind.SingleLineCommentTrivia + comment.commentKind === ts.SyntaxKind.SingleLineCommentTrivia && + comment.directive !== "tslint:disable" && + comment.directive !== "tslint:enable" ? ["// ", ""] : ["/* ", " */"];