@ambasada/cli 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/ambasada.mjs +19 -5
  2. package/package.json +2 -2
package/dist/ambasada.mjs CHANGED
@@ -3694,7 +3694,7 @@ import { tmpdir } from "node:os";
3694
3694
  import { join as join7 } from "node:path";
3695
3695
 
3696
3696
  // src/deploy.ts
3697
- import { spawn as spawn2 } from "node:child_process";
3697
+ import { execFileSync, spawn as spawn2 } from "node:child_process";
3698
3698
  import { existsSync as existsSync4 } from "node:fs";
3699
3699
  import { mkdir as mkdir2, readdir, readFile as readFile3, rm as rm2, stat, writeFile as writeFile3 } from "node:fs/promises";
3700
3700
  import { createServer as createServer2 } from "node:net";
@@ -3728,9 +3728,9 @@ async function deploy2(args, flags) {
3728
3728
  }
3729
3729
  const built = await bundle(dir, template);
3730
3730
  out(`${c.green("\u2713")} built ${c.bold(template)}: ${built.modules.length} module(s), ${built.assets.length} static file(s)`);
3731
- if (!flags["no-smoke"]) await smoke(built, project.config.id);
3731
+ const smoked = flags["no-smoke"] ? { ok: false, skipped: true, checks: [], ms: null } : await smoke(built, project.config.id);
3732
3732
  const r = await resolve(flags);
3733
- const metadata = deployMetadata(built, project.root);
3733
+ const metadata = { ...deployMetadata(built, project.root), report: { template, smoke: smoked, git: gitInfo(project.root) } };
3734
3734
  if (flags["dry-run"]) {
3735
3735
  out(`would POST ${r.apiUrl}/v1/product/deploy ${JSON.stringify({ ...metadata, modules: built.modules.map((m) => m.name), assets: built.assets.length })}`);
3736
3736
  return deploy(args, flags);
@@ -3832,6 +3832,7 @@ async function upload(apiUrl, apiKey, built, metadata) {
3832
3832
  return body;
3833
3833
  }
3834
3834
  async function smoke(built, company) {
3835
+ const started = Date.now();
3835
3836
  const smokeDir = join6(built.dir, ".ambasada", "smoke");
3836
3837
  await rm2(smokeDir, { recursive: true, force: true });
3837
3838
  await mkdir2(smokeDir, { recursive: true });
@@ -3869,11 +3870,24 @@ ${(await home.text()).slice(0, 500)}`);
3869
3870
  if (receipt.status >= 500) throw new CliError(`smoke test: POST /api/receipt answered ${receipt.status}
3870
3871
  ${(await receipt.text()).slice(0, 500)}`);
3871
3872
  out(`${c.green("\u2713")} smoke test: GET / ${home.status}, POST /api/receipt ${receipt.status}`);
3873
+ return { ok: true, skipped: false, checks: [{ method: "GET", path: "/", status: home.status }, { method: "POST", path: "/api/receipt", status: receipt.status }], ms: Date.now() - started };
3872
3874
  } finally {
3873
3875
  child.kill("SIGTERM");
3874
3876
  await rm2(smokeDir, { recursive: true, force: true });
3875
3877
  }
3876
3878
  }
3879
+ function gitInfo(dir) {
3880
+ const git = (...args) => {
3881
+ try {
3882
+ return execFileSync("git", args, { cwd: dir, stdio: ["ignore", "pipe", "ignore"], encoding: "utf8", timeout: 3e3 }).trim() || null;
3883
+ } catch {
3884
+ return null;
3885
+ }
3886
+ };
3887
+ const commit = git("rev-parse", "--short", "HEAD");
3888
+ if (!commit) return null;
3889
+ return { commit, branch: git("rev-parse", "--abbrev-ref", "HEAD"), author: git("config", "user.name") };
3890
+ }
3877
3891
  async function waitFor(base, child, logs2) {
3878
3892
  const deadline = Date.now() + 6e4;
3879
3893
  while (Date.now() < deadline) {
@@ -4214,7 +4228,7 @@ async function tunnel(_args, flags) {
4214
4228
  }
4215
4229
 
4216
4230
  // src/commands.ts
4217
- var SDK_VERSION = /^\d+\.\d+\.\d+$/.test("0.7.0") ? `^${"0.7.0"}` : "latest";
4231
+ var SDK_VERSION = /^\d+\.\d+\.\d+$/.test("0.7.1") ? `^${"0.7.1"}` : "latest";
4218
4232
  var DEV_PORT = 8788;
4219
4233
  var out3 = (s = "") => process.stdout.write(`${s}
4220
4234
  `);
@@ -4682,7 +4696,7 @@ async function links(args, flags) {
4682
4696
  }
4683
4697
 
4684
4698
  // src/main.ts
4685
- var VERSION = true ? "0.7.0" : "0.1.0-dev";
4699
+ var VERSION = true ? "0.7.1" : "0.1.0-dev";
4686
4700
  var HELP = `${c.bold("ambasada")} ${VERSION}: build a company for the Hack A Ton village
4687
4701
 
4688
4702
  ambasada init [dir] [--template next|spa|worker] [--name "Name"] [--id slug]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ambasada/cli",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "`ambasada`: the Ambasada CLI (Hack A Ton village commands) (login, init, dev, deploy, offerings, wallet, logs, market, steer).",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,7 +22,7 @@
22
22
  "vitest": "^4.1.12",
23
23
  "wrangler": "^4.156.0",
24
24
  "@ambasada/protocol": "0.1.0",
25
- "@ambasada/sdk": "0.7.0"
25
+ "@ambasada/sdk": "0.7.1"
26
26
  },
27
27
  "author": "CENTYSO (https://centyso.com)",
28
28
  "homepage": "https://ambasada.id",