31 lines
915 B
JavaScript
31 lines
915 B
JavaScript
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
import process from "node:process";
|
|
|
|
const packageJson = JSON.parse(await readFile("package.json", "utf8"));
|
|
const packageManagerVersion = packageJson.packageManager.split("@").at(-1);
|
|
const buildId = process.env.VITE_BUILD_ID ?? "local-build";
|
|
const commitSha = process.env.VITE_COMMIT_SHA ?? "local";
|
|
const runnerImage = process.env.CI_RUNNER_IMAGE ?? `${process.platform}-${process.arch}`;
|
|
|
|
const manifest = {
|
|
schemaVersion: 1,
|
|
buildId,
|
|
commitSha,
|
|
generatedAt: new Date().toISOString(),
|
|
buildContext: {
|
|
nodeVersion: process.version,
|
|
packageManagerVersion,
|
|
runnerImage,
|
|
},
|
|
outputs: {
|
|
directory: "dist",
|
|
viteManifest: "dist/.vite/manifest.json",
|
|
},
|
|
};
|
|
|
|
await mkdir("artifacts/release", { recursive: true });
|
|
await writeFile(
|
|
"artifacts/release/build-manifest.json",
|
|
`${JSON.stringify(manifest, null, 2)}\n`,
|
|
);
|