star-chart-search-enhancer/scripts/write-latest-manifest.mjs

36 lines
1.3 KiB
JavaScript

import { mkdir, writeFile } from "node:fs/promises";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { createManifest } from "./manifest.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 ?? releaseManifest.version;
const publicBaseUrl =
process.env.UPDATE_PUBLIC_BASE_URL ??
`https://example.com/star-chart-search-enhancer/releases/${latestVersion}`;
const latestManifest = {
guideUrl: `${publicBaseUrl}/星图增强插件-超简单安装使用指南.pdf`,
latestVersion,
minSupportedVersion: releaseManifest.version,
publishedAt: new Date().toISOString().slice(0, 10),
releaseNotes: [
"支持在插件弹窗中检查新版本",
"支持一键下载最新版插件压缩包和使用说明"
],
zipUrl: `${publicBaseUrl}/star-chart-search-enhancer-internal.zip`
};
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")}`);