refactor: reduce approval context overhead
CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s
CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s
This commit is contained in:
@@ -61,13 +61,18 @@ try {
|
||||
const body = readFileSync(join(root, "client", "package", String(target)), "utf8");
|
||||
if (!body.startsWith("#!/usr/bin/env node\n")) throw new Error(`客户端 CLI 缺少 Node shebang:${target}`);
|
||||
}
|
||||
if (!existsFile(join(root, "client", "package", "skill", "dingtalk-approval", "SKILL.md"))
|
||||
|| !existsFile(join(root, "client", "package", "skill", "dingtalk-approval", "references", "create-approval.md"))) {
|
||||
throw new Error("客户端包缺少完整 Skill 与创建审批 reference");
|
||||
}
|
||||
const offlineRoot = join(root, "offline-install");
|
||||
execFileSync("npm", [
|
||||
"install", "--prefix", offlineRoot, "--cache", join(root, "empty-cache"), "--offline",
|
||||
"--omit=dev", "--ignore-scripts", "--no-audit", "--no-fund", join(releaseDir, artifactName(manifest.artifacts.client, "client")),
|
||||
], { stdio: "pipe", env: { ...process.env, npm_config_update_notifier: "false" } });
|
||||
if (!existsFile(join(offlineRoot, "node_modules", "dingtalk-approval-client", "dist", "src", "bridge.js"))
|
||||
|| !existsFile(join(offlineRoot, "node_modules", "dingtalk-approval-client", "dist", "src", "approval-contract.js"))) {
|
||||
|| !existsFile(join(offlineRoot, "node_modules", "dingtalk-approval-client", "dist", "src", "approval-contract.js"))
|
||||
|| !existsFile(join(offlineRoot, "node_modules", "dingtalk-approval-client", "skill", "dingtalk-approval", "references", "create-approval.md"))) {
|
||||
throw new Error("签名客户端无法在空缓存中离线安装");
|
||||
}
|
||||
const installer = readFileSync(join(releaseDir, artifactName(manifest.artifacts.installer, "installer")), "utf8");
|
||||
|
||||
Reference in New Issue
Block a user