From 0428d4744e8aacea32b406c15ef76a9af0c34ebc Mon Sep 17 00:00:00 2001 From: Sean Massa Date: Fri, 15 Jul 2022 11:16:31 -0500 Subject: [PATCH] [cli] write config.json when exiting because of error in builder (#8163) Co-authored-by: Steven --- packages/cli/src/commands/build.ts | 11 ++++++++++- packages/cli/test/unit/commands/build.test.ts | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/commands/build.ts b/packages/cli/src/commands/build.ts index 0b9095cfd..79d5ae70e 100644 --- a/packages/cli/src/commands/build.ts +++ b/packages/cli/src/commands/build.ts @@ -406,7 +406,16 @@ export default async function main(client: Client): Promise { ) ); } catch (err: any) { - await writeBuildsJsonPromise; + const configJson = { + version: 3, + }; + const configJsonPromise = fs.writeJSON( + join(outputDir, 'config.json'), + configJson, + { spaces: 2 } + ); + + await Promise.all([writeBuildsJsonPromise, configJsonPromise]); const buildJsonBuild = buildsJsonBuilds.get(build); if (buildJsonBuild) { diff --git a/packages/cli/test/unit/commands/build.test.ts b/packages/cli/test/unit/commands/build.test.ts index 598e358f9..39a7d7f3c 100644 --- a/packages/cli/test/unit/commands/build.test.ts +++ b/packages/cli/test/unit/commands/build.test.ts @@ -642,6 +642,10 @@ describe('build', () => { expect(errorBuilds[0].error.message).toMatch(`',' expected.`); expect(errorBuilds[0].error.hideStackTrace).toEqual(true); expect(errorBuilds[0].error.code).toEqual('NODE_TYPESCRIPT_ERROR'); + + // `config.json`` contains `version` + const configJson = await fs.readJSON(join(output, 'config.json')); + expect(configJson.version).toBe(3); } finally { process.chdir(originalCwd); delete process.env.__VERCEL_BUILD_RUNNING;