import { spawn } from "node:child_process"; const scripts = [ "smoke:tenant", "smoke:mfa", "smoke:security-events", "smoke:device-risk", "smoke:audit", "smoke:identity", "smoke:system-users", "smoke:commercial-governance", "smoke:invitations", "smoke:commercial-ops", "smoke:commercial-approvals", "smoke:entitlements", "smoke:plan-templates", "smoke:billing-ledger", "smoke:release-workflow", "smoke:delivery-portal", "smoke:delivery-clearance", "smoke:oidc", "smoke:creator-suite", "smoke:knowledge-rag", "smoke:knowledge-governance", "smoke:asset-governance", "smoke:style-kits", "smoke:model-connectors", "smoke:model-approvals", "smoke:model-routing", "smoke:api-clients", "smoke:api-rate-limit", "smoke:ops", "smoke:production-catalog", "smoke:production-controls", "smoke:worker", "smoke:readiness", "smoke:media-evidence", "smoke:api-media", "smoke:workflow-platform", "smoke:compose-evidence", "smoke:work-items", "smoke:tasks", "smoke:notifications", "smoke:search", "smoke:project-isolation", "smoke:project-lifecycle" ]; function run(script) { return new Promise((resolve, reject) => { const child = spawn(process.platform === "win32" ? "npm.cmd" : "npm", ["run", script], { cwd: process.cwd(), env: process.env, stdio: "inherit" }); child.once("error", reject); child.once("exit", (code, signal) => { if (code === 0) resolve(); else reject(new Error(`${script} failed${signal ? ` with ${signal}` : ` with exit code ${code}`}`)); }); }); } for (const script of scripts) { console.log(`\n[smoke ${scripts.indexOf(script) + 1}/${scripts.length}] ${script}`); await run(script); } console.log(`\nall smoke tests passed: ${scripts.length}`);