From de6c2e461192a02f0bbd211634c41fc5c30c8057 Mon Sep 17 00:00:00 2001 From: Nick Heiner Date: Thu, 7 Jul 2022 22:32:33 -0400 Subject: [PATCH 1/2] Update ts-migrate-server to pass back a list of migrated files --- packages/ts-migrate-server/src/migrate/index.ts | 4 ++-- .../tests/commands/migrate/migrate.test.ts | 13 +++++++++---- packages/ts-migrate/cli.ts | 4 ++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/ts-migrate-server/src/migrate/index.ts b/packages/ts-migrate-server/src/migrate/index.ts index 68c9e97..73022bf 100644 --- a/packages/ts-migrate-server/src/migrate/index.ts +++ b/packages/ts-migrate-server/src/migrate/index.ts @@ -18,7 +18,7 @@ export default async function migrate({ tsConfigDir = rootDir, config, sources, -}: MigrateParams): Promise { +}: MigrateParams): Promise<{ exitCode: number; updatedSourceFiles: Set }> { let exitCode = 0; log.info(`TypeScript version: ${ts.version}`); @@ -113,7 +113,7 @@ export default async function migrate({ log.info(`Wrote ${updatedSourceFiles.size} updated file(s) in ${writeTimer.elapsedStr()}.`); - return exitCode; + return { updatedSourceFiles, exitCode }; } function getSourceFilesToMigrate(project: Project) { diff --git a/packages/ts-migrate-server/tests/commands/migrate/migrate.test.ts b/packages/ts-migrate-server/tests/commands/migrate/migrate.test.ts index b2738d8..39f0e8a 100644 --- a/packages/ts-migrate-server/tests/commands/migrate/migrate.test.ts +++ b/packages/ts-migrate-server/tests/commands/migrate/migrate.test.ts @@ -38,7 +38,7 @@ describe('migrate command', () => { {}, ); - const exitCode = await migrate({ rootDir, config }); + const { exitCode } = await migrate({ rootDir, config }); fs.unlinkSync(path.resolve(rootDir, 'tsconfig.json')); const [rootData, outputData] = getDirData(rootDir, outputDir); expect(rootData).toEqual(outputData); @@ -65,7 +65,7 @@ describe('migrate command', () => { {}, ); - const exitCode = await migrate({ + const { exitCode } = await migrate({ rootDir, config, sources: 'index.ts', @@ -95,7 +95,7 @@ describe('migrate command', () => { {}, ); - const exitCode = await migrate({ + const { exitCode, updatedSourceFiles } = await migrate({ rootDir, config, sources: path.resolve(rootDir, 'index.ts'), @@ -104,6 +104,11 @@ describe('migrate command', () => { const [rootData, outputData] = getDirData(rootDir, outputDir); expect(rootData).toEqual(outputData); expect(exitCode).toBe(0); + + const pathsRelativeToOutputDir = Array.from(updatedSourceFiles).map((filePath) => + path.relative(rootDir, filePath), + ); + expect(pathsRelativeToOutputDir).toEqual(['index.ts']); }); }); @@ -137,7 +142,7 @@ describe('migrate command', () => { {}, ); - const exitCode = await migrate({ rootDir, config }); + const { exitCode } = await migrate({ rootDir, config }); fs.unlinkSync(path.resolve(rootDir, 'tsconfig.json')); const [rootData, outputData] = getDirData(rootDir, outputDir); expect(rootData).toEqual(outputData); diff --git a/packages/ts-migrate/cli.ts b/packages/ts-migrate/cli.ts index d507e04..c0236ad 100644 --- a/packages/ts-migrate/cli.ts +++ b/packages/ts-migrate/cli.ts @@ -182,7 +182,7 @@ yargs .addPlugin(eslintFixPlugin, {}); } - const exitCode = await migrate({ rootDir, config, sources }); + const { exitCode } = await migrate({ rootDir, config, sources }); process.exit(exitCode); }, @@ -235,7 +235,7 @@ yargs }) .addPlugin(eslintFixChangedPlugin, {}); - const exitCode = await migrate({ rootDir, config }); + const { exitCode } = await migrate({ rootDir, config }); process.exit(exitCode); }, From 2471785dce68c4b47d8737036f959ebe579b95f5 Mon Sep 17 00:00:00 2001 From: Sergii Rudenko Date: Thu, 1 Sep 2022 21:28:34 -0700 Subject: [PATCH 2/2] Fix broken test --- packages/ts-migrate/tests/commands/migrate/migrate.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ts-migrate/tests/commands/migrate/migrate.test.ts b/packages/ts-migrate/tests/commands/migrate/migrate.test.ts index 8c1e60b..e4468e9 100644 --- a/packages/ts-migrate/tests/commands/migrate/migrate.test.ts +++ b/packages/ts-migrate/tests/commands/migrate/migrate.test.ts @@ -29,7 +29,7 @@ describe('migrate command', () => { .addPlugin(tsIgnorePlugin, { messagePrefix: 'FIXME' }) .addPlugin(eslintFixPlugin, {}); - const exitCode = await migrate({ rootDir, config }); + const { exitCode } = await migrate({ rootDir, config }); const [rootData, outputData] = getDirData(rootDir, outputDir); expect(rootData).toEqual(outputData); expect(exitCode).toBe(0);