From 6a923d525ec3e4f47ef4f06f2430b417b99ca324 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 7 Sep 2026 22:26:24 +0200 Subject: [PATCH] Follow CultLib's package rename and select workspaces by path Moving the CultLib pin forward to pick up the presence contract also brought ten unrelated commits, one of which republished the TypeScript packages under the @gamecult scope. Two things broke on that rename. The recipe selected build workspaces by package name, so `--workspace= cultcache-ts` no longer matched anything. Selecting by path instead says what is actually meant and survives the next rename. cultnet-ts depends on cultcache-ts by registry range, not by workspace protocol, so the vendored copy is only used because Heimdall overrides that name to the vendored path. The override still named the old one, and pnpm went looking for @gamecult/cultcache-ts on a registry that does not have it. Heimdall now uses the package's real name in its dependency, its override and its imports. Co-Authored-By: Claude Opus 5 --- deployment/idunn/recipe.toml | 6 ++--- package.json | 4 +-- pnpm-lock.yaml | 30 +++++++++++----------- src/idunn-store.ts | 2 +- src/odin-publication.ts | 2 +- src/provider-health-identity.ts | 2 +- tests/presence-identity-descriptor.test.ts | 2 +- tests/process-write-lease.test.ts | 2 +- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/deployment/idunn/recipe.toml b/deployment/idunn/recipe.toml index ce08b06..6a39ec9 100644 --- a/deployment/idunn/recipe.toml +++ b/deployment/idunn/recipe.toml @@ -41,21 +41,21 @@ id = "build-cultcache-ts" phase = "build" runner = "node-build" required_environment = ["NPM_CONFIG_CACHE", "HOME", "COREPACK_HOME"] -argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultcache-ts"] +argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=packages/cultcache-ts"] [[steps]] id = "build-cultnet-ts" phase = "build" runner = "node-build" required_environment = ["NPM_CONFIG_CACHE", "HOME", "COREPACK_HOME"] -argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultnet-ts"] +argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=packages/cultnet-ts"] [[steps]] id = "build-cultmesh-ts" phase = "build" runner = "node-build" required_environment = ["NPM_CONFIG_CACHE", "HOME", "COREPACK_HOME"] -argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=cultmesh-ts"] +argv = ["npm", "run", "build", "--prefix", "vendor/CultLib", "--workspace=packages/cultmesh-ts"] [[steps]] id = "install-heimdall" diff --git a/package.json b/package.json index 675bc6d..0c6cf4f 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "dependencies": { "@fastify/cors": "^11.2.0", "@msgpack/msgpack": "^3.1.3", - "cultcache-ts": "file:vendor/CultLib/packages/cultcache-ts", + "@gamecult/cultcache-ts": "file:vendor/CultLib/packages/cultcache-ts", "cultmesh-ts": "file:vendor/CultLib/packages/cultmesh-ts", "cultnet-ts": "file:vendor/CultLib/packages/cultnet-ts", "fastify": "^5.8.5", @@ -37,7 +37,7 @@ }, "pnpm": { "overrides": { - "cultcache-ts": "file:vendor/CultLib/packages/cultcache-ts", + "@gamecult/cultcache-ts": "file:vendor/CultLib/packages/cultcache-ts", "cultnet-ts": "file:vendor/CultLib/packages/cultnet-ts" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d037c3c..005bb26 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - cultcache-ts: file:vendor/CultLib/packages/cultcache-ts + '@gamecult/cultcache-ts': file:vendor/CultLib/packages/cultcache-ts cultnet-ts: file:vendor/CultLib/packages/cultnet-ts importers: @@ -15,12 +15,12 @@ importers: '@fastify/cors': specifier: ^11.2.0 version: 11.2.0 + '@gamecult/cultcache-ts': + specifier: file:vendor/CultLib/packages/cultcache-ts + version: file:vendor/CultLib/packages/cultcache-ts '@msgpack/msgpack': specifier: ^3.1.3 version: 3.1.3 - cultcache-ts: - specifier: file:vendor/CultLib/packages/cultcache-ts - version: file:vendor/CultLib/packages/cultcache-ts cultmesh-ts: specifier: file:vendor/CultLib/packages/cultmesh-ts version: file:vendor/CultLib/packages/cultmesh-ts @@ -247,6 +247,10 @@ packages: '@fastify/proxy-addr@5.1.0': resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==} + '@gamecult/cultcache-ts@file:vendor/CultLib/packages/cultcache-ts': + resolution: {directory: vendor/CultLib/packages/cultcache-ts, type: directory} + engines: {node: '>=18'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} @@ -465,10 +469,6 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} - cultcache-ts@file:vendor/CultLib/packages/cultcache-ts: - resolution: {directory: vendor/CultLib/packages/cultcache-ts, type: directory} - engines: {node: '>=18'} - cultmesh-ts@file:vendor/CultLib/packages/cultmesh-ts: resolution: {directory: vendor/CultLib/packages/cultmesh-ts, type: directory} engines: {node: '>=18'} @@ -1202,6 +1202,11 @@ snapshots: '@fastify/forwarded': 3.0.1 ipaddr.js: 2.3.0 + '@gamecult/cultcache-ts@file:vendor/CultLib/packages/cultcache-ts': + dependencies: + '@msgpack/msgpack': 3.1.3 + zod: 3.25.76 + '@jridgewell/sourcemap-codec@1.5.5': {} '@msgpack/msgpack@3.1.3': {} @@ -1382,22 +1387,17 @@ snapshots: cookie@1.1.1: {} - cultcache-ts@file:vendor/CultLib/packages/cultcache-ts: - dependencies: - '@msgpack/msgpack': 3.1.3 - zod: 3.25.76 - cultmesh-ts@file:vendor/CultLib/packages/cultmesh-ts: dependencies: + '@gamecult/cultcache-ts': file:vendor/CultLib/packages/cultcache-ts '@msgpack/msgpack': 3.1.3 - cultcache-ts: file:vendor/CultLib/packages/cultcache-ts cultnet-ts: file:vendor/CultLib/packages/cultnet-ts cultnet-ts@file:vendor/CultLib/packages/cultnet-ts: dependencies: + '@gamecult/cultcache-ts': file:vendor/CultLib/packages/cultcache-ts '@msgpack/msgpack': 3.1.3 ajv: 8.20.0 - cultcache-ts: file:vendor/CultLib/packages/cultcache-ts define-data-property@1.1.4: dependencies: diff --git a/src/idunn-store.ts b/src/idunn-store.ts index c51cd0a..3cab124 100644 --- a/src/idunn-store.ts +++ b/src/idunn-store.ts @@ -17,7 +17,7 @@ * cannot parse it. `readPrivateStoreRecord` exists for that one shape. */ import { decode } from "@msgpack/msgpack"; -import { SingleFileMessagePackBackingStore } from "cultcache-ts"; +import { SingleFileMessagePackBackingStore } from "@gamecult/cultcache-ts"; const ENVELOPE_FIELD_COUNT = 5; const ENVELOPE_PAYLOAD = 2; diff --git a/src/odin-publication.ts b/src/odin-publication.ts index 702f3a3..15346f9 100644 --- a/src/odin-publication.ts +++ b/src/odin-publication.ts @@ -1,4 +1,4 @@ -import { defineDocumentType } from "cultcache-ts"; +import { defineDocumentType } from "@gamecult/cultcache-ts"; import { defineCultNetDocumentBinding } from "cultnet-ts"; import { CultMesh, type CultMeshRudpEndpoint } from "cultmesh-ts"; import { z } from "zod"; diff --git a/src/provider-health-identity.ts b/src/provider-health-identity.ts index 16e5826..847d39c 100644 --- a/src/provider-health-identity.ts +++ b/src/provider-health-identity.ts @@ -9,7 +9,7 @@ import { } from "node:crypto"; import { readFileSync } from "node:fs"; import { chmod, readFile } from "node:fs/promises"; -import { SingleFileMessagePackBackingStore, type CultCacheEnvelope } from "cultcache-ts"; +import { SingleFileMessagePackBackingStore, type CultCacheEnvelope } from "@gamecult/cultcache-ts"; import { readPrivateStoreRecord } from "./idunn-store.js"; const PRIVATE_SCHEMA = "gamecult.provider_health_identity.private.v1"; diff --git a/tests/presence-identity-descriptor.test.ts b/tests/presence-identity-descriptor.test.ts index d8ede1c..01300da 100644 --- a/tests/presence-identity-descriptor.test.ts +++ b/tests/presence-identity-descriptor.test.ts @@ -4,7 +4,7 @@ import os from "node:os"; import path from "node:path"; import { encode } from "@msgpack/msgpack"; -import { SingleFileMessagePackBackingStore } from "cultcache-ts"; +import { SingleFileMessagePackBackingStore } from "@gamecult/cultcache-ts"; import { describe, expect, it } from "vitest"; import { diff --git a/tests/process-write-lease.test.ts b/tests/process-write-lease.test.ts index 4c40431..27ab6b7 100644 --- a/tests/process-write-lease.test.ts +++ b/tests/process-write-lease.test.ts @@ -3,7 +3,7 @@ import os from "node:os"; import path from "node:path"; import { encode } from "@msgpack/msgpack"; -import { SingleFileMessagePackBackingStore } from "cultcache-ts"; +import { SingleFileMessagePackBackingStore } from "@gamecult/cultcache-ts"; import { describe, expect, it } from "vitest"; import { resolveWriteLease } from "../src/process-write-lease.js";