@delorenj/pjangler 1.5.46 → 1.5.48

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.
package/README.md CHANGED
@@ -10,10 +10,17 @@ Requires Node 24 or newer. Project skills use `@delorenj/skillex` 0.1.2; see
10
10
  [the integration contract](docs/skillex-integration.md).
11
11
 
12
12
  ```bash
13
+ git submodule update --init --recursive # templates/commonproject; a plain clone leaves it empty
13
14
  npm install
14
15
  npm run build
15
16
  ```
16
17
 
18
+ `npm test` (scripts/run-tests.mjs) needs that submodule: the `check:submodule-checkout`
19
+ gate fails with the init command when `templates/commonproject` is empty. The
20
+ Postgres-backed suites read the standard `PG*` variables; point them at a
21
+ disposable server (CI uses a `postgres:16` service). `PJANGLER_REQUIRE_DISPOSABLE_POSTGRES=1`
22
+ makes a missing postgres/psql/bun fail instead of skip, as CI does.
23
+
17
24
  ## CLI usage
18
25
 
19
26
  ```bash
@@ -473,7 +473,7 @@ var ManifestIndex = class {
473
473
  if (read.hash !== row.content_hash || row.status !== "ok" || !equal(row.snapshot, recordFromManifest(read.manifest, read.path))) await this.persist(client, read, row.project_id);
474
474
  } catch (error) {
475
475
  if (!(error instanceof RegistryError) && !["ENOENT", "ENOTDIR", "ELOOP", "EACCES", "EPERM"].includes(error.code ?? "")) throw error;
476
- await client.query("UPDATE pjangler_index.projects SET status=$2,error=$3 WHERE project_id=$1", [row.project_id, ["ENOENT", "ENOTDIR"].includes(error.code ?? "") ? "missing" : "invalid", String(error)]);
476
+ await client.query("UPDATE pjangler_index.projects SET status=$2,error=$3 WHERE project_id=$1 AND (status IS DISTINCT FROM $2 OR error IS DISTINCT FROM $3)", [row.project_id, ["ENOENT", "ENOTDIR"].includes(error.code ?? "") ? "missing" : "invalid", String(error)]);
477
477
  }
478
478
  }
479
479
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delorenj/pjangler",
3
- "version": "1.5.46",
3
+ "version": "1.5.48",
4
4
  "description": "Project subsystem bootstrapper CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",