UNPKG

firebase-tools

Version:
43 lines (42 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.localBuild = localBuild; const build_1 = require("@apphosting/build"); async function localBuild(projectRoot, framework, env = {}) { const originalEnv = { ...process.env }; const addedEnv = toProcessEnv(env); for (const [key, value] of Object.entries(addedEnv)) { process.env[key] = value; } let apphostingBuildOutput; try { apphostingBuildOutput = await (0, build_1.localBuild)(projectRoot, framework); } finally { for (const key in process.env) { if (!(key in originalEnv)) { delete process.env[key]; } } for (const [key, value] of Object.entries(originalEnv)) { process.env[key] = value; } } const annotations = Object.fromEntries(Object.entries(apphostingBuildOutput.metadata).map(([key, value]) => [key, String(value)])); const discoveredEnv = apphostingBuildOutput.runConfig.environmentVariables?.map(({ variable, value, availability }) => ({ variable, value, availability, })); return { outputFiles: apphostingBuildOutput.outputFiles?.serverApp.include ?? [], annotations, buildConfig: { runCommand: apphostingBuildOutput.runConfig.runCommand, env: discoveredEnv ?? [], }, }; } function toProcessEnv(env) { return Object.fromEntries(Object.entries(env).map(([key, value]) => [key, value.value || ""])); }