Skip to content

Commit 8ffc537

Browse files
authored
fix: do not convert next-line to line for comments (#648)
* fix: do not convert next-line to line for comments * fix: check the comment directive
1 parent 1073733 commit 8ffc537

File tree

2 files changed

+27
-23
lines changed

2 files changed

+27
-23
lines changed

src/comments/convertFileComments.test.ts

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,16 @@ export const b = true;
5757
// tslint:enable
5858
export const c = true;
5959
60+
export const d = true; // tslint:disable-line
61+
6062
/* tslint:disable */
61-
export const d = true;
63+
export const e = true;
6264
6365
/* tslint:disable-next-line */
64-
export const e = true;
66+
export const f = true;
6567
6668
/* tslint:enable */
67-
export const f = true;
69+
export const g = true;
6870
`);
6971

7072
// Act
@@ -74,31 +76,33 @@ export const f = true;
7476
expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith(
7577
stubFileName,
7678
`
77-
// eslint-disable
79+
/* eslint-disable */
7880
export const a = true;
7981
80-
// eslint-disable-line
82+
// eslint-disable-next-line
8183
export const b = true;
8284
83-
// eslint-enable
85+
/* eslint-enable */
8486
export const c = true;
8587
86-
/* eslint-disable */
87-
export const d = true;
88+
export const d = true; // eslint-disable-line
8889
89-
/* eslint-disable-line */
90+
/* eslint-disable */
9091
export const e = true;
9192
92-
/* eslint-enable */
93+
/* eslint-disable-next-line */
9394
export const f = true;
95+
96+
/* eslint-enable */
97+
export const g = true;
9498
`,
9599
);
96100
});
97101

98102
it("parses rule names when they exist", async () => {
99103
// Arrange
100104
const dependencies = createStubDependencies(`
101-
// tslint:disable:ts-a
105+
/* tslint:disable:ts-a */
102106
export const a = true;
103107
104108
// tslint:disable-next-line: ts-a ts-b
@@ -112,10 +116,10 @@ export const b = true;
112116
expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith(
113117
stubFileName,
114118
`
115-
// eslint-disable es-a
119+
/* eslint-disable es-a */
116120
export const a = true;
117121
118-
// eslint-disable-line es-a, es-b1, es-b2
122+
// eslint-disable-next-line es-a, es-b1, es-b2
119123
export const b = true;
120124
`,
121125
);
@@ -124,7 +128,7 @@ export const b = true;
124128
it("re-uses a rule conversion from cache when it was already converted", async () => {
125129
// Arrange
126130
const dependencies = createStubDependencies(`
127-
// tslint:disable:ts-a
131+
/* tslint:disable:ts-a */
128132
export const a = true;
129133
`);
130134

@@ -135,7 +139,7 @@ export const a = true;
135139
expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith(
136140
stubFileName,
137141
`
138-
// eslint-disable es-cached
142+
/* eslint-disable es-cached */
139143
export const a = true;
140144
`,
141145
);
@@ -144,7 +148,7 @@ export const a = true;
144148
it("ignores comment text when there is no matching converter", async () => {
145149
// Arrange
146150
const dependencies = createStubDependencies(`
147-
// tslint:disable:ts-z
151+
/* tslint:disable:ts-z */
148152
export const a = true;
149153
`);
150154

@@ -155,7 +159,7 @@ export const a = true;
155159
expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith(
156160
stubFileName,
157161
`
158-
// eslint-disable
162+
/* eslint-disable */
159163
export const a = true;
160164
`,
161165
);
@@ -164,7 +168,7 @@ export const a = true;
164168
it("ignores comment text when its matching converter results in an error", async () => {
165169
// Arrange
166170
const dependencies = createStubDependencies(`
167-
// tslint:disable:ts-error
171+
/* tslint:disable:ts-error */
168172
export const a = true;
169173
`);
170174

@@ -175,7 +179,7 @@ export const a = true;
175179
expect(dependencies.fileSystem.writeFile).toHaveBeenCalledWith(
176180
stubFileName,
177181
`
178-
// eslint-disable
182+
/* eslint-disable */
179183
export const a = true;
180184
`,
181185
);

src/comments/replaceFileComments.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ export const replaceFileComments = (
2929
};
3030

3131
for (const comment of [...comments].reverse()) {
32-
const directive = comment.directive
33-
.replace("tslint:", "eslint-")
34-
.replace("next-line", "line");
32+
const directive = comment.directive.replace("tslint:", "eslint-");
3533
const ruleLists = uniqueFromSources(comment.ruleNames.map(getNewRuleLists)).filter(Boolean);
3634
const [left, right] =
37-
comment.commentKind === ts.SyntaxKind.SingleLineCommentTrivia
35+
comment.commentKind === ts.SyntaxKind.SingleLineCommentTrivia &&
36+
comment.directive !== "tslint:disable" &&
37+
comment.directive !== "tslint:enable"
3838
? ["// ", ""]
3939
: ["/* ", " */"];
4040

0 commit comments

Comments
 (0)