@delorenj/pjangler 1.5.46 → 1.5.47
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 +7 -0
- package/dist/project-registry-service.js +1 -1
- package/package.json +1 -1
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
|
}
|