48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
import { createHash } from "node:crypto";
|
|
import { pathToFileURL } from "node:url";
|
|
import path from "node:path";
|
|
import { root, output, run, troveBin } from "./suite.mjs";
|
|
|
|
run(process.execPath, ["curios/harmony-connector/build.mjs"]);
|
|
const directory = path.join(root, "curios/harmony-connector");
|
|
const manifest = JSON.parse(
|
|
await readFile(path.join(directory, "curio.json"), "utf8"),
|
|
);
|
|
const file = path.join(
|
|
output,
|
|
"packages",
|
|
`${manifest.id}-${manifest.version}-${process.arch}.curio`,
|
|
);
|
|
await mkdir(path.dirname(file), { recursive: true });
|
|
run(troveBin, ["curio", "check", directory, "--json"]);
|
|
run(troveBin, [
|
|
"curio",
|
|
"pack",
|
|
directory,
|
|
"--out",
|
|
file,
|
|
"--overwrite",
|
|
"--no-input",
|
|
"--json",
|
|
]);
|
|
const data = await readFile(file);
|
|
const entries = [
|
|
{
|
|
directory: "harmony-connector",
|
|
manifest,
|
|
file,
|
|
artifact: {
|
|
target: `${process.arch === "arm64" ? "aarch64" : "x86_64"}-apple-darwin`,
|
|
url: pathToFileURL(file).href,
|
|
sha256: createHash("sha256").update(data).digest("hex"),
|
|
size: data.length,
|
|
},
|
|
},
|
|
];
|
|
await writeFile(
|
|
path.join(output, "harmony-release.json"),
|
|
JSON.stringify(entries, null, 2) + "\n",
|
|
);
|
|
console.log("Release input: dist/harmony-release.json");
|