32 lines
1.2 KiB
JavaScript
32 lines
1.2 KiB
JavaScript
import { mkdir, writeFile } from "node:fs/promises";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { createManifest } from "./manifest.mjs";
|
|
import { createLatestManifest } from "./write-latest-manifest-data.mjs";
|
|
import { resolveReleaseVersion } from "./release-version.mjs";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
const projectRoot = path.resolve(__dirname, "..");
|
|
const releaseDir = path.join(projectRoot, "release");
|
|
const releaseManifest = createManifest({ target: "release" });
|
|
const latestVersion =
|
|
process.env.LATEST_VERSION ?? resolveReleaseVersion(process.env, releaseManifest.version);
|
|
const publicBaseUrl =
|
|
process.env.UPDATE_PUBLIC_BASE_URL ??
|
|
`https://wksgx-1343191620.cos.ap-nanjing.myqcloud.com/star-chart-search-enhancer/releases/${latestVersion}`;
|
|
const latestManifest = createLatestManifest({
|
|
latestVersion,
|
|
minSupportedVersion: releaseManifest.version,
|
|
publicBaseUrl
|
|
});
|
|
|
|
await mkdir(releaseDir, { recursive: true });
|
|
await writeFile(
|
|
path.join(releaseDir, "latest.json"),
|
|
`${JSON.stringify(latestManifest, null, 2)}\n`,
|
|
"utf8"
|
|
);
|
|
|
|
console.log(`Update manifest written to ${path.join(releaseDir, "latest.json")}`);
|