hanoman 0.1.3 → 0.1.4

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.3",
3
- "sha": "c5266ce",
4
- "builtAt": "2026-07-30T08:59:12.271Z"
2
+ "version": "0.1.4",
3
+ "sha": "ac19a3e",
4
+ "builtAt": "2026-07-30T09:10:14.186Z"
5
5
  }
package/dist/cli.js CHANGED
@@ -6206,7 +6206,15 @@ function packageJsonFor(version2, deps) {
6206
6206
  // seketika dengan "@prisma/client did not initialize yet" (terukur di `npm i -g` nyata).
6207
6207
  // Non-fatal (`|| true`): bila npm melewati script (mis. --ignore-scripts), `hanoman start`
6208
6208
  // mendeteksi & menggenerate sendiri (ensurePrismaClient).
6209
- scripts: { postinstall: "prisma generate --schema prisma/schema.prisma || true" },
6209
+ scripts: {
6210
+ postinstall: "prisma generate --schema prisma/schema.prisma || true",
6211
+ // SPEC-403 · gerbang terakhir sebelum byte meninggalkan mesin. `hanoman@0.1.3` terbit tanpa
6212
+ // `prisma` karena `dist-npm/package.json` DIMUTASI sesudah dirakit — `npm i -g --prefix <dir>
6213
+ // <tarball>` dengan cwd di `dist-npm` menulis ulang berkas itu (terukur, bisa diulang), dan
6214
+ // smoke test itulah yang merusaknya. npm menjalankan `prepublishOnly` tepat sebelum publish,
6215
+ // jadi inilah satu-satunya lapis yang melihat isi berkas SEBENARNYA yang akan dikirim.
6216
+ prepublishOnly: "node dist/cli.js __verify"
6217
+ },
6210
6218
  engines: { node: ">=20" },
6211
6219
  files: ["bin", "dist", "web", "prisma", "README.md", "LICENSE"],
6212
6220
  dependencies: deps,
@@ -6215,6 +6223,12 @@ function packageJsonFor(version2, deps) {
6215
6223
  license: "MIT"
6216
6224
  };
6217
6225
  }
6226
+ function verifyPackedDeps(pkg) {
6227
+ const deps = pkg?.dependencies ?? {};
6228
+ return RUNTIME_DEPS.filter((d) => !deps[d]).map(
6229
+ (d) => `dependency wajib hilang dari package.json paket: ${d}`
6230
+ );
6231
+ }
6218
6232
  function copyPlan(repo) {
6219
6233
  return [
6220
6234
  { from: join9(repo, "server/dist/server.js"), to: "dist/server.js" },
@@ -6342,6 +6356,39 @@ var init_pack2 = __esm({
6342
6356
  }
6343
6357
  });
6344
6358
 
6359
+ // src/commands/verify-packed.ts
6360
+ var verify_packed_exports = {};
6361
+ __export(verify_packed_exports, {
6362
+ default: () => verifyPacked
6363
+ });
6364
+ import { readFileSync as readFileSync7 } from "node:fs";
6365
+ import { join as join11 } from "node:path";
6366
+ function verifyPacked(_argv, ctx) {
6367
+ const path = join11(process.cwd(), "package.json");
6368
+ let pkg;
6369
+ try {
6370
+ pkg = JSON.parse(readFileSync7(path, "utf8"));
6371
+ } catch {
6372
+ ctx.stderr(`verify: tak bisa membaca ${path}
6373
+ `);
6374
+ return 1;
6375
+ }
6376
+ const keluhan = verifyPackedDeps(pkg);
6377
+ if (keluhan.length === 0) return 0;
6378
+ for (const k of keluhan) ctx.stderr(`verify: ${k}
6379
+ `);
6380
+ ctx.stderr(
6381
+ "\nPublish DIBATALKAN. `dist-npm/package.json` tercemar sesudah dirakit \u2014 jangan sunting\nberkas itu, rakit ulang: `pnpm release`. Penyebab yang sudah terukur: menjalankan\n`npm install`/`npm i -g` dengan cwd di dalam `dist-npm/` menulis ulang package.json-nya.\n"
6382
+ );
6383
+ return 1;
6384
+ }
6385
+ var init_verify_packed = __esm({
6386
+ "src/commands/verify-packed.ts"() {
6387
+ "use strict";
6388
+ init_pack();
6389
+ }
6390
+ });
6391
+
6345
6392
  // src/router.ts
6346
6393
  import { createRequire as createRequire2 } from "node:module";
6347
6394
  function currentVersion() {
@@ -6362,6 +6409,7 @@ function route(argv) {
6362
6409
  return { cmd: `docs:${sub}`, args: rest };
6363
6410
  }
6364
6411
  if (group === "__pack") return { cmd: "__pack", args: argv.slice(1) };
6412
+ if (group === "__verify") return { cmd: "__verify", args: argv.slice(1) };
6365
6413
  return { cmd: "unknown", args: argv };
6366
6414
  }
6367
6415
  async function run(argv, ctx) {
@@ -6382,6 +6430,7 @@ async function run(argv, ctx) {
6382
6430
  if (cmd === "docs:index") return (await Promise.resolve().then(() => (init_docs_index(), docs_index_exports))).default(args, ctx);
6383
6431
  if (cmd === "docs:link") return (await Promise.resolve().then(() => (init_docs_link(), docs_link_exports))).default(args, ctx);
6384
6432
  if (cmd === "__pack") return (await Promise.resolve().then(() => (init_pack2(), pack_exports))).default(args, ctx);
6433
+ if (cmd === "__verify") return (await Promise.resolve().then(() => (init_verify_packed(), verify_packed_exports))).default(args, ctx);
6385
6434
  ctx.stderr(`unknown command: ${argv.join(" ")}
6386
6435
 
6387
6436
  ${HELP}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hanoman",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Orchestrator + dashboard workflow docs-driven untuk sesi Claude Code / Codex",
5
5
  "type": "module",
6
6
  "repository": {
@@ -11,7 +11,8 @@
11
11
  "hanoman": "bin/hanoman.mjs"
12
12
  },
13
13
  "scripts": {
14
- "postinstall": "prisma generate --schema prisma/schema.prisma || true"
14
+ "postinstall": "prisma generate --schema prisma/schema.prisma || true",
15
+ "prepublishOnly": "node dist/cli.js __verify"
15
16
  },
16
17
  "engines": {
17
18
  "node": ">=20"
@@ -25,17 +26,15 @@
25
26
  "LICENSE"
26
27
  ],
27
28
  "dependencies": {
28
- "@fastify/cookie": "^9.4.0",
29
+ "fastify": "^4.28.0",
29
30
  "@fastify/static": "^7.0.0",
30
31
  "@fastify/websocket": "^10.0.1",
31
- "@prisma/client": "^6.19.3",
32
- "fastify": "^4.28.0",
32
+ "@fastify/cookie": "^9.4.0",
33
+ "@prisma/client": "^6.19.0",
33
34
  "node-pty": "^1.1.0",
34
35
  "pdfkit": "^0.19.1",
36
+ "prisma": "^6.19.0",
35
37
  "pg": "^8.13.1"
36
38
  },
37
- "license": "MIT",
38
- "devDependencies": {
39
- "prisma": "^6.19.3"
40
- }
39
+ "license": "MIT"
41
40
  }