Skip to content

Commit 2befe60

Browse files
qq9340100claude
andauthored
fix(devx): add missing @objectstack/spec/qa (and /api) alias entries (#8416)
Six vitest configs alias the bare @objectstack/spec key to a FILE without a subpath entry for /qa (and, in knowledge-memory, /api) — the subpath @objectstack/core's own source reaches through its own src alias in these configs. An alias list matches by PREFIX, so the bare @objectstack/spec entry wins and yields the nonsensical spec/src/index.ts/qa (ENOTDIR at run time). This was latent rather than currently-red: every use inside @objectstack/core's qa adapters is in a TYPE position, so esbuild elides the import and the specifier never reaches the resolver — until the first value use. Adds the seven entries from #8391's table, each placed ABOVE the bare @objectstack/spec key using the same idiom the existing /shared entries in these configs use. Fixes #8391 Claude-Session: https://claude.ai/code/session_01Jqe56GnYFddggeAyfkZFVz Co-authored-by: Claude <noreply@anthropic.com>
1 parent d4a687a commit 2befe60

6 files changed

Lines changed: 7 additions & 0 deletions

File tree

packages/drivers/driver-memory/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export default defineConfig({
2727
// nonsensical `spec/src/index.ts/shared` — ENOTDIR at import time for every
2828
// test file that transitively loads `@objectstack/core`.
2929
'@objectstack/spec/shared': path.resolve(__dirname, '../../spec/src/shared/index.ts'),
30+
'@objectstack/spec/qa': path.resolve(__dirname, '../../spec/src/qa/index.ts'),
3031
'@objectstack/spec': path.resolve(__dirname, '../../spec/src/index.ts'),
3132
},
3233
},

packages/metadata/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default defineConfig({
1616
'@objectstack/spec/shared': path.resolve(__dirname, '../spec/src/shared/index.ts'),
1717
// [ADR-0105 D1] Reached transitively via `@objectstack/types` (tenancy posture).
1818
'@objectstack/spec/security': path.resolve(__dirname, '../spec/src/security/index.ts'),
19+
'@objectstack/spec/qa': path.resolve(__dirname, '../spec/src/qa/index.ts'),
1920
'@objectstack/spec': path.resolve(__dirname, '../spec/src/index.ts'),
2021
'@objectstack/types': path.resolve(__dirname, '../types/src/index.ts'),
2122
},

packages/plugins/knowledge-memory/vitest.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export default defineConfig({
1313
'@objectstack/core': path.resolve(__dirname, '../../core/src/index.ts'),
1414
'@objectstack/service-knowledge': path.resolve(__dirname, '../../services/service-knowledge/src/index.ts'),
1515
'@objectstack/spec/ai': path.resolve(__dirname, '../../spec/src/ai/index.ts'),
16+
'@objectstack/spec/api': path.resolve(__dirname, '../../spec/src/api/index.ts'),
1617
'@objectstack/spec/contracts': path.resolve(__dirname, '../../spec/src/contracts/index.ts'),
1718
'@objectstack/spec/data': path.resolve(__dirname, '../../spec/src/data/index.ts'),
1819
'@objectstack/spec/kernel': path.resolve(__dirname, '../../spec/src/kernel/index.ts'),
@@ -26,6 +27,7 @@ export default defineConfig({
2627
// nonsensical `spec/src/index.ts/shared` — ENOTDIR at import time for every
2728
// test file that transitively loads `@objectstack/core`.
2829
'@objectstack/spec/shared': path.resolve(__dirname, '../../spec/src/shared/index.ts'),
30+
'@objectstack/spec/qa': path.resolve(__dirname, '../../spec/src/qa/index.ts'),
2931
'@objectstack/spec': path.resolve(__dirname, '../../spec/src/index.ts'),
3032
},
3133
},

packages/plugins/plugin-dev/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export default defineConfig({
3131
// nonsensical `spec/src/index.ts/shared` — ENOTDIR at import time for every
3232
// test file that transitively loads `@objectstack/core`.
3333
'@objectstack/spec/shared': path.resolve(__dirname, '../../spec/src/shared/index.ts'),
34+
'@objectstack/spec/qa': path.resolve(__dirname, '../../spec/src/qa/index.ts'),
3435
'@objectstack/spec': path.resolve(__dirname, '../../spec/src/index.ts'),
3536
},
3637
},

packages/plugins/plugin-hono-server/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default defineConfig({
2929
// nonsensical `spec/src/index.ts/shared` — ENOTDIR at import time for every
3030
// test file that transitively loads `@objectstack/core`.
3131
'@objectstack/spec/shared': path.resolve(__dirname, '../../spec/src/shared/index.ts'),
32+
'@objectstack/spec/qa': path.resolve(__dirname, '../../spec/src/qa/index.ts'),
3233
'@objectstack/spec': path.resolve(__dirname, '../../spec/src/index.ts'),
3334
},
3435
},

packages/runtime/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export default defineConfig({
7070
{ find: '@objectstack/spec/ui', replacement: path.resolve(__dirname, '../spec/src/ui/index.ts') },
7171
// [ADR-0105 D1] Reached transitively via `@objectstack/types` (tenancy posture).
7272
{ find: '@objectstack/spec/security', replacement: path.resolve(__dirname, '../spec/src/security/index.ts') },
73+
{ find: '@objectstack/spec/qa', replacement: path.resolve(__dirname, '../spec/src/qa/index.ts') },
7374
{ find: '@objectstack/spec', replacement: path.resolve(__dirname, '../spec/src/index.ts') },
7475
{ find: '@objectstack/types', replacement: path.resolve(__dirname, '../types/src/index.ts') },
7576
// Dev-only: app-plugin.jobs.test.ts drives the REAL CronJobAdapter, so

0 commit comments

Comments
 (0)