Files
clean-architecture-frontend…/scripts/generate-build-manifest.mjs
T

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`,
);