源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import { spawnSync } from "node:child_process";
|
||||
import { cp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
||||
import { dirname, resolve } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
async function main() {
|
||||
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
const outputRoot = resolve(packageRoot, "dist/npm");
|
||||
const sourcePackage = JSON.parse(
|
||||
await readFile(resolve(packageRoot, "package.json"), "utf8")
|
||||
);
|
||||
|
||||
const publishedPackage = {
|
||||
name: sourcePackage.name,
|
||||
version: sourcePackage.version,
|
||||
description: sourcePackage.description,
|
||||
type: sourcePackage.type,
|
||||
bin: sourcePackage.bin,
|
||||
repository: sourcePackage.repository,
|
||||
homepage: sourcePackage.homepage,
|
||||
bugs: sourcePackage.bugs,
|
||||
keywords: sourcePackage.keywords,
|
||||
license: sourcePackage.license,
|
||||
publishConfig: sourcePackage.publishConfig
|
||||
};
|
||||
|
||||
await rm(outputRoot, { recursive: true, force: true });
|
||||
await mkdir(resolve(outputRoot, "bin"), { recursive: true });
|
||||
await mkdir(resolve(outputRoot, "dist/bin"), { recursive: true });
|
||||
await cp(
|
||||
resolve(packageRoot, "bin/openwork-server.mjs"),
|
||||
resolve(outputRoot, "bin/openwork-server.mjs")
|
||||
);
|
||||
await cp(
|
||||
resolve(packageRoot, "dist/bin/openwork-server"),
|
||||
resolve(outputRoot, "dist/bin/openwork-server")
|
||||
);
|
||||
await cp(resolve(packageRoot, "README.md"), resolve(outputRoot, "README.md"));
|
||||
await writeFile(
|
||||
resolve(outputRoot, "package.json"),
|
||||
`${JSON.stringify(publishedPackage, null, 2)}\n`
|
||||
);
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
if (args.includes("--prepare-only")) return;
|
||||
|
||||
const pnpmCli = process.env.npm_execpath;
|
||||
if (!pnpmCli) throw new Error("pnpm executable path is unavailable");
|
||||
|
||||
const result = spawnSync(
|
||||
process.execPath,
|
||||
[pnpmCli, "--config.git-checks=false", "publish", ...args],
|
||||
{ cwd: outputRoot, stdio: "inherit" }
|
||||
);
|
||||
if (result.error) throw result.error;
|
||||
process.exit(result.status ?? 1);
|
||||
}
|
||||
|
||||
main().catch(error => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user