From 5aaf60bb2928fc87b108f57a886d912ff0952ac7 Mon Sep 17 00:00:00 2001 From: Joanna Wang Date: Tue, 19 Aug 2025 21:18:08 +0000 Subject: [PATCH 1/2] Delete old build script --- packages/@apphosting/build/package.json | 1 - packages/@apphosting/build/src/bin/build.ts | 57 --------------------- packages/@apphosting/build/tsconfig.json | 1 - 3 files changed, 59 deletions(-) delete mode 100644 packages/@apphosting/build/src/bin/build.ts diff --git a/packages/@apphosting/build/package.json b/packages/@apphosting/build/package.json index 00b84fc9..fab50bf0 100644 --- a/packages/@apphosting/build/package.json +++ b/packages/@apphosting/build/package.json @@ -8,7 +8,6 @@ "url": "git+https://github.com/FirebaseExtended/firebase-framework-tools.git" }, "bin": { - "build": "dist/bin/build.js", "apphosting-local-build": "dist/bin/localbuild.js" }, "author": { diff --git a/packages/@apphosting/build/src/bin/build.ts b/packages/@apphosting/build/src/bin/build.ts deleted file mode 100644 index e1ade71b..00000000 --- a/packages/@apphosting/build/src/bin/build.ts +++ /dev/null @@ -1,57 +0,0 @@ -#! /usr/bin/env node -import { spawn } from "child_process"; -import { program } from "commander"; -import { parse as semverParse } from "semver"; -import { yellow, bgRed, bold } from "colorette"; -// @ts-expect-error TODO add interface -import pickManifest from "npm-pick-manifest"; -import { discover } from "@apphosting/discover"; - -program - .option("--framework ") - .argument("", "path to the project's root directory") - .action(async (cwd, options: { framework?: string; permitPrerelease?: boolean }) => { - const { framework: expectedFramework } = options; - - const discoveryResults = await discover(cwd); - const nonBundledFrameworks = discoveryResults.filter((it) => !it.bundledWith); - if (nonBundledFrameworks.length === 0) throw new Error("Did not discover any frameworks."); - if (nonBundledFrameworks.length > 1) throw new Error("Found conflicting frameworks."); - if (expectedFramework && nonBundledFrameworks[0].framework !== expectedFramework) { - throw new Error("Discovery did not match expected framework."); - } - const { framework, version } = nonBundledFrameworks[0]; - - const parsedVersion = semverParse(version); - if (!parsedVersion) throw new Error("Could not parse framework version"); - - const adapterName = `@apphosting/adapter-${framework}`; - const packumentResponse = await fetch(`https://registry.npmjs.org/${adapterName}`); - if (!packumentResponse.ok) throw new Error(`Something went wrong fetching ${adapterName}`); - // TODO types - const packument = await packumentResponse.json(); - // TODO figure out a pattern for prereleases - const range = [ - `>=${parsedVersion.major}.0.0 <${parsedVersion.major}.${parsedVersion.minor + 1}.0`, - `^${parsedVersion.major}.${parsedVersion.minor}.0`, - ].join(" || "); - let adapterVersion: string | undefined; - try { - adapterVersion = pickManifest(packument, range).version; - } catch (e) { - adapterVersion = packument["dist-tags"]["latest"]; - } - if (!adapterVersion) throw new Error("No matching adapter found."); - - console.log(" 🔥", bgRed(` ${adapterName}@${yellow(bold(adapterVersion))} `), "\n"); - - // Call it via NPX - const buildCommand = `apphosting-adapter-${framework}-build`; - spawn("npx", ["-y", "-p", `${adapterName}@${adapterVersion}`, buildCommand], { - cwd, - shell: true, - stdio: "inherit", - }); - }); - -program.parse(); diff --git a/packages/@apphosting/build/tsconfig.json b/packages/@apphosting/build/tsconfig.json index 91a956e6..e8e1bf77 100644 --- a/packages/@apphosting/build/tsconfig.json +++ b/packages/@apphosting/build/tsconfig.json @@ -16,6 +16,5 @@ ], "exclude": [ "src/*.spec.ts", - "src/bin/build.ts" ] } From 83e4d5428b7706ff9053d7f347d75f492324d952 Mon Sep 17 00:00:00 2001 From: Joanna Wang Date: Tue, 19 Aug 2025 21:45:36 +0000 Subject: [PATCH 2/2] Add @apphosting/common as dependency --- packages/@apphosting/build/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@apphosting/build/package.json b/packages/@apphosting/build/package.json index fab50bf0..7753c164 100644 --- a/packages/@apphosting/build/package.json +++ b/packages/@apphosting/build/package.json @@ -39,7 +39,7 @@ ], "license": "Apache-2.0", "dependencies": { - "@apphosting/discover": "*", + "@apphosting/common": "*", "colorette": "^2.0.20", "commander": "^11.1.0", "npm-pick-manifest": "^9.0.0",