diff --git a/src/reporting/packages/logMissingPackages.test.ts b/src/reporting/packages/logMissingPackages.test.ts index a0c3c2117..7396d2570 100644 --- a/src/reporting/packages/logMissingPackages.test.ts +++ b/src/reporting/packages/logMissingPackages.test.ts @@ -9,6 +9,25 @@ const createStubDependencies = (packageManager = PackageManager.npm) => ({ }); describe("logMissingPackages", () => { + it("does nothing when no package are missing", async () => { + // Arrange + const { choosePackageManager, logger } = createStubDependencies(PackageManager.npm); + const ruleConversionResults = createEmptyConversionResults(); + + // Act + await logMissingPackages({ choosePackageManager, logger }, ruleConversionResults, { + dependencies: { + "@typescript-eslint/eslint-plugin": "*", + "@typescript-eslint/parser": "*", + eslint: "*", + }, + devDependencies: {}, + }); + + // Assert + expectEqualWrites(logger.stdout.write); + }); + it("reports a singular message when one package is missing", async () => { // Arrange const { choosePackageManager, logger } = createStubDependencies(PackageManager.npm); diff --git a/src/reporting/packages/logMissingPackages.ts b/src/reporting/packages/logMissingPackages.ts index 504650b8f..8a662e6a1 100644 --- a/src/reporting/packages/logMissingPackages.ts +++ b/src/reporting/packages/logMissingPackages.ts @@ -39,6 +39,10 @@ export const logMissingPackages = async ( .filter((packageName) => !existingPackageNames.has(packageName)) .sort(); + if (missingPackageNames.length === 0) { + return; + } + dependencies.logger.stdout.write(chalk.cyanBright(`${EOL}⚡ ${missingPackageNames.length}`)); dependencies.logger.stdout.write( chalk.cyan(