Skip to content

Commit eb7ab20

Browse files
author
Josh Goldberg
authored
Corrected Prettier plugin inclusion in config files (#444)
* Corrected Prettier plugin inclusion in config files * Added correct alias for plugin extension, and deduplicated it
1 parent 688c581 commit eb7ab20

File tree

8 files changed

+17
-22
lines changed

8 files changed

+17
-22
lines changed

src/creation/simplification/retrieveExtendsValues.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ const builtInExtensions = new Map([
1818
["eslint:recommended", "eslint/conf/eslint-recommended"],
1919
]);
2020

21-
const typescriptPluginExtensions = new Map([
21+
const pluginExtensions = new Map([
22+
["eslint-plugin-prettier", "node_modules/eslint-config-prettier/index.js"],
23+
[
24+
"eslint-plugin-prettier/@typescript-eslint",
25+
"node_modules/eslint-config-prettier/@typescript-eslint.js",
26+
],
2227
[
2328
"plugin:@typescript-eslint/all",
2429
"node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.json",
@@ -54,10 +59,10 @@ export const retrieveExtendsValues = async (
5459
return;
5560
}
5661

57-
const typescriptPluginExtension = typescriptPluginExtensions.get(extensionName);
58-
if (typescriptPluginExtension !== undefined) {
62+
const pluginExtension = pluginExtensions.get(extensionName);
63+
if (pluginExtension !== undefined) {
5964
const importedTypeScriptPlugin = (await dependencies.importer(
60-
typescriptPluginExtension,
65+
pluginExtension,
6166
)) as ESLintConfiguration;
6267
importedExtensions.push({
6368
rules: importedTypeScriptPlugin.rules,

src/creation/simplification/simplifyPackageRules.test.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,7 @@ describe("simplifyPackageRules", () => {
6868
expect(simplifiedResults).toEqual({
6969
...ruleConversionResults,
7070
converted: undefined,
71-
extends: [
72-
"plugin:eslint-config-prettier",
73-
"plugin:eslint-config-prettier/@typescript-eslint",
74-
],
71+
extends: ["prettier", "prettier/@typescript-eslint"],
7572
});
7673
});
7774

src/creation/simplification/simplifyPackageRules.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ export const simplifyPackageRules = async (
3636

3737
// 3a. If no output rules conflict with `eslint-config-prettier`, it's added in
3838
if (await dependencies.addPrettierExtensions(ruleConversionResults, prettierRequested)) {
39-
allExtensions.push(
40-
"plugin:eslint-config-prettier",
41-
"plugin:eslint-config-prettier/@typescript-eslint",
42-
);
39+
allExtensions.push("prettier", "prettier/@typescript-eslint");
4340
}
4441

4542
if (allExtensions.length === 0) {
@@ -58,7 +55,7 @@ export const simplifyPackageRules = async (
5855
return {
5956
...ruleConversionResults,
6057
converted,
61-
extends: allExtensions,
58+
extends: uniqueFromSources(allExtensions),
6259
failed: [...ruleConversionResults.failed, ...configurationErrors],
6360
};
6461
};

src/reporting/packages/logMissingPackages.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ describe("logMissingPackages", () => {
7171
// Arrange
7272
const { choosePackageManager, logger } = createStubDependencies();
7373
const ruleConversionResults = createEmptyConversionResults({
74-
extends: ["plugin:eslint-config-prettier"],
74+
extends: ["prettier"],
7575
});
7676

7777
// Act

src/reporting/packages/logMissingPackages.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ export const logMissingPackages = async (
2929
const requiredPackageNames = [
3030
"@typescript-eslint/eslint-plugin",
3131
"@typescript-eslint/parser",
32-
ruleConversionResults.extends?.join("").includes("eslint-config-prettier") &&
33-
"eslint-config-prettier",
32+
ruleConversionResults.extends?.join("").includes("prettier") && "eslint-config-prettier",
3433
ruleConversionResults.missing.length !== 0 && "@typescript-eslint/eslint-plugin-tslint",
3534
"eslint",
3635
...Array.from(ruleConversionResults.plugins),

src/reporting/reportConversionResults.test.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ import { createEmptyConversionResults } from "../conversion/conversionResults.st
55
import { ESLintRuleOptions } from "../rules/types";
66
import { reportConversionResults } from "./reportConversionResults";
77

8-
const basicExtends = [
9-
"plugin:eslint-config-prettier",
10-
"plugin:eslint-config-prettier/@typescript-eslint",
11-
];
8+
const basicExtends = ["prettier", "prettier/@typescript-eslint"];
129

1310
describe("reportConversionResults", () => {
1411
it("logs a successful conversion without notices when there is one converted rule without notices", async () => {

src/reporting/reportConversionResults.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export const reportConversionResults = async (
4242
);
4343
}
4444

45-
if (!ruleConversionResults.extends?.join("").includes("eslint-config-prettier")) {
45+
if (!ruleConversionResults.extends?.join("").includes("prettier")) {
4646
logPrettierExtension(dependencies.logger);
4747
}
4848
};

src/reporting/reportOutputs.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const logSuccessfulConversions = (
1313
converted: Map<string, EditorSetting | ESLintRuleOptions>,
1414
logger: Logger,
1515
) => {
16-
logger.stdout.write(chalk.greenBright(`${EOL} ${converted.size}`));
16+
logger.stdout.write(chalk.greenBright(`${EOL}${converted.size}`));
1717
logger.stdout.write(
1818
converted.size === 1
1919
? chalk.green(` ${conversionTypeName} replaced with its ESLint equivalent.`)

0 commit comments

Comments
 (0)