You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3b84dd6
Browse filesBrowse the repository at this point in the historyBrowse files
fix(core): resolve the register-contract guard in file-mapped alias configs (#7378 patch round)
Two halves, both measured before choosing:
- packages/core/metadata-service-contract.ts: the '@objectstack/spec/api'
import becomes TYPE-ONLY (erased at compile time) with the refusal code as
a typed literal against the closed set — the storage-service.ts precedent.
The module every consumer loads now makes one runtime subpath demand
instead of two. '/shared' cannot be erased: pluralToSingular is a runtime
value with ONE owner (copying the map would be the folk normalization the
#7378 row-2 ruling forbids).
- Five vitest configs alias the bare '@objectstack/spec' to spec/src/index.ts
(a FILE, prefix-matched) with per-subpath entries and no '/shared' entry,
so the guard's import resolved to spec/src/index.ts/shared - ENOTDIR at
load: driver-memory (23 test files dead) and plugin-hono-server (16 dead)
in CI, knowledge-ragflow / plugin-dev / knowledge-memory latently. Each
gains the '/shared' entry in its config's own established pattern.
check:test-source-alias was green throughout - its reachability walk stops
at the package boundary, one hop short of the aliased dependency's own
import surface; filed as #8351.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDTnVvsgA6cUZ4xFVtPZRy
0 commit comments