@happyvertical/smrt-vitest 0.47.1 → 0.48.0

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/dist/index.d.ts CHANGED
@@ -26,6 +26,62 @@
26
26
  * @packageDocumentation
27
27
  */
28
28
  import type { Plugin } from 'vitest/config';
29
+ /**
30
+ * Environment variable carrying this plugin's manifest-registration options
31
+ * (`packages`, `root`, `verbose`) from the Vitest orchestrator process to
32
+ * every pool worker process (#2750).
33
+ *
34
+ * `configResolved()` below registers manifests into `ObjectRegistry`, but it
35
+ * only ever runs in Vitest's main/orchestrator process. Test files execute
36
+ * in separate pool worker processes (`forks`) or worker threads (`threads`)
37
+ * that resolve `@happyvertical/smrt-core` independently — `globalThis` (and
38
+ * so the `ObjectRegistry` singleton it backs) is not shared across OS
39
+ * processes, and worker threads get their own JS realm too. Registration
40
+ * done only in `configResolved()` is therefore invisible to the test code
41
+ * that actually calls `getTestDatabase()` — it registers into a copy of the
42
+ * registry the test never sees.
43
+ *
44
+ * `config()` below sets this env var as early as possible (before Vitest
45
+ * spawns any pool worker); `./setup.ts`, which runs inside every worker via
46
+ * `setupFiles`, reads it and re-runs the exact same registration
47
+ * (`setupSmrtManifests`) in that worker's own process/realm. Node's
48
+ * `child_process.fork` (the `forks` pool) and `worker_threads` (the
49
+ * `threads` pool) both inherit `process.env` from the parent at spawn time,
50
+ * so the option payload reaches every worker without any new public API.
51
+ *
52
+ * The env var's value is a JSON object keyed by resolved plugin `root`
53
+ * (see {@link setManifestRegistrationOptionsForRoot}), not a single flat
54
+ * options object: a Vitest multi-project config (`test.projects`) can run
55
+ * several `smrtVitestPlugin()` instances — with different options, or none
56
+ * at all next to one that has options — inside the same orchestrator
57
+ * process, and `process.env` is process-global. Keying by `root` and
58
+ * merging (never overwriting) keeps one project's options from leaking into
59
+ * another's worker, and `setup.ts` looks its own `process.cwd()` up in the
60
+ * map rather than reading a single ambient value.
61
+ */
62
+ export declare const SMRT_VITEST_SETUP_OPTIONS_ENV_KEY = "__SMRT_VITEST_SETUP_OPTIONS__";
63
+ /**
64
+ * Normalize a project root to a stable key for
65
+ * {@link SMRT_VITEST_SETUP_OPTIONS_ENV_KEY}: resolves symlinks
66
+ * (`fs.realpathSync`) so the write side (this plugin, running in the
67
+ * orchestrator process) and the read side (`setup.ts`'s `process.cwd()`,
68
+ * running in a pool worker) agree on the same key even when the two differ
69
+ * only by a symlink — e.g. macOS's `/var` → `/private/var` (`os.tmpdir()`
70
+ * and some CI checkouts live under it), or Linux's `/tmp` → `/private/tmp`
71
+ * equivalents. Falls back to the raw path (still trimmed of a trailing
72
+ * separator) when the path does not exist yet or `realpathSync` otherwise
73
+ * fails, so this never throws.
74
+ */
75
+ export declare function normalizeRootKey(root: string): string;
76
+ /**
77
+ * Merge `options` for `root` into {@link SMRT_VITEST_SETUP_OPTIONS_ENV_KEY},
78
+ * preserving any other roots' entries already present (from an earlier
79
+ * `smrtVitestPlugin()` instance in the same process — see the env var's
80
+ * doc comment). `root` is normalized through {@link normalizeRootKey}
81
+ * before use as the map key. Exported so `setup.ts` and tests can reason
82
+ * about the exact payload shape without duplicating the parse/merge logic.
83
+ */
84
+ export declare function setManifestRegistrationOptionsForRoot(root: string, options: SmrtVitestPluginOptions): void;
29
85
  /**
30
86
  * Configuration options for {@link smrtVitestPlugin} and
31
87
  * {@link setupSmrtManifests}.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CACzE;AAgBD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC7C;AAsGD,wBAAgB,uBAAuB,CACrC,IAAI,SAAgB,EACpB,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,EAAE,CAuTtB;AA6dD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CA+KR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,eAAe,gBAAgB,CAAC;AAGhC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,iCAAiC,kCACb,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAwBN;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CACzE;AAgBD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC7C;AAsGD,wBAAgB,uBAAuB,CACrC,IAAI,SAAgB,EACpB,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,EAAE,CAuTtB;AAihBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAsNR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,eAAe,gBAAgB,CAAC;AAGhC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -25,10 +25,97 @@
25
25
  *
26
26
  * @packageDocumentation
27
27
  */
28
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
28
+ import { existsSync, readdirSync, readFileSync, realpathSync } from 'node:fs';
29
29
  import { createRequire } from 'node:module';
30
30
  import { dirname, join } from 'node:path';
31
31
  import { fileURLToPath } from 'node:url';
32
+ /**
33
+ * Environment variable carrying this plugin's manifest-registration options
34
+ * (`packages`, `root`, `verbose`) from the Vitest orchestrator process to
35
+ * every pool worker process (#2750).
36
+ *
37
+ * `configResolved()` below registers manifests into `ObjectRegistry`, but it
38
+ * only ever runs in Vitest's main/orchestrator process. Test files execute
39
+ * in separate pool worker processes (`forks`) or worker threads (`threads`)
40
+ * that resolve `@happyvertical/smrt-core` independently — `globalThis` (and
41
+ * so the `ObjectRegistry` singleton it backs) is not shared across OS
42
+ * processes, and worker threads get their own JS realm too. Registration
43
+ * done only in `configResolved()` is therefore invisible to the test code
44
+ * that actually calls `getTestDatabase()` — it registers into a copy of the
45
+ * registry the test never sees.
46
+ *
47
+ * `config()` below sets this env var as early as possible (before Vitest
48
+ * spawns any pool worker); `./setup.ts`, which runs inside every worker via
49
+ * `setupFiles`, reads it and re-runs the exact same registration
50
+ * (`setupSmrtManifests`) in that worker's own process/realm. Node's
51
+ * `child_process.fork` (the `forks` pool) and `worker_threads` (the
52
+ * `threads` pool) both inherit `process.env` from the parent at spawn time,
53
+ * so the option payload reaches every worker without any new public API.
54
+ *
55
+ * The env var's value is a JSON object keyed by resolved plugin `root`
56
+ * (see {@link setManifestRegistrationOptionsForRoot}), not a single flat
57
+ * options object: a Vitest multi-project config (`test.projects`) can run
58
+ * several `smrtVitestPlugin()` instances — with different options, or none
59
+ * at all next to one that has options — inside the same orchestrator
60
+ * process, and `process.env` is process-global. Keying by `root` and
61
+ * merging (never overwriting) keeps one project's options from leaking into
62
+ * another's worker, and `setup.ts` looks its own `process.cwd()` up in the
63
+ * map rather than reading a single ambient value.
64
+ */
65
+ export const SMRT_VITEST_SETUP_OPTIONS_ENV_KEY = '__SMRT_VITEST_SETUP_OPTIONS__';
66
+ /**
67
+ * Normalize a project root to a stable key for
68
+ * {@link SMRT_VITEST_SETUP_OPTIONS_ENV_KEY}: resolves symlinks
69
+ * (`fs.realpathSync`) so the write side (this plugin, running in the
70
+ * orchestrator process) and the read side (`setup.ts`'s `process.cwd()`,
71
+ * running in a pool worker) agree on the same key even when the two differ
72
+ * only by a symlink — e.g. macOS's `/var` → `/private/var` (`os.tmpdir()`
73
+ * and some CI checkouts live under it), or Linux's `/tmp` → `/private/tmp`
74
+ * equivalents. Falls back to the raw path (still trimmed of a trailing
75
+ * separator) when the path does not exist yet or `realpathSync` otherwise
76
+ * fails, so this never throws.
77
+ */
78
+ export function normalizeRootKey(root) {
79
+ try {
80
+ return realpathSync(root);
81
+ }
82
+ catch {
83
+ return root.replace(/[/\\]+$/, '') || root;
84
+ }
85
+ }
86
+ /**
87
+ * Merge `options` for `root` into {@link SMRT_VITEST_SETUP_OPTIONS_ENV_KEY},
88
+ * preserving any other roots' entries already present (from an earlier
89
+ * `smrtVitestPlugin()` instance in the same process — see the env var's
90
+ * doc comment). `root` is normalized through {@link normalizeRootKey}
91
+ * before use as the map key. Exported so `setup.ts` and tests can reason
92
+ * about the exact payload shape without duplicating the parse/merge logic.
93
+ */
94
+ export function setManifestRegistrationOptionsForRoot(root, options) {
95
+ const key = normalizeRootKey(root);
96
+ let byRoot = {};
97
+ const raw = process.env[SMRT_VITEST_SETUP_OPTIONS_ENV_KEY];
98
+ if (raw) {
99
+ try {
100
+ const parsed = JSON.parse(raw);
101
+ // `typeof [] === 'object'` too: an array here would let `byRoot[key] =
102
+ // options` silently succeed (JS permits arbitrary string keys on
103
+ // arrays) but `JSON.stringify()` an array only serializes integer
104
+ // indices, dropping that property -- the env var update would appear
105
+ // to work and then vanish. Reject non-plain-object values explicitly
106
+ // so a foreign/malformed prior value falls through to the empty-map
107
+ // default below instead.
108
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
109
+ byRoot = parsed;
110
+ }
111
+ }
112
+ catch {
113
+ // A malformed/foreign prior value is discarded rather than merged.
114
+ }
115
+ }
116
+ byRoot[key] = options;
117
+ process.env[SMRT_VITEST_SETUP_OPTIONS_ENV_KEY] = JSON.stringify(byRoot);
118
+ }
32
119
  function resolveDefaultSetupFile() {
33
120
  const sourceSetupPath = fileURLToPath(new URL('./setup.ts', import.meta.url));
34
121
  if (existsSync(sourceSetupPath)) {
@@ -407,12 +494,60 @@ async function loadAndRegisterManifest(packageName, verbose) {
407
494
  return false;
408
495
  }
409
496
  }
497
+ /**
498
+ * Patterns identifying a manifest object as declared INLINE inside a test
499
+ * file itself (`some-behavior.test.ts` decorating a throwaway class in the
500
+ * same file), not merely located somewhere under a test-ish directory.
501
+ * Deliberately narrower than `packages/core/src/scanner/test-file-patterns.ts`'s
502
+ * `isTestFile()` (used there for a lower-stakes purpose, documentation/
503
+ * API-surface visibility inference): a broader directory-based heuristic
504
+ * (`__tests__/`, `fixtures?/`, `/test/`, `/mocks?/`) over-fires here and
505
+ * wrongly excludes legitimate non-test model files that merely happen to
506
+ * live under a `fixtures/`-named directory, such as
507
+ * `packages/vitest/src/__tests__/fixtures/issue-2750-registry-fixture/src/models/widget.ts`
508
+ * -- a full consumer-shaped fixture PROJECT (this very package's own #2750
509
+ * regression test), not an inline test double. Matching only the file's own
510
+ * `.test.`/`.spec.` suffix keeps the exclusion scoped to what it's actually
511
+ * for: a class decorated directly inside test code (see
512
+ * `registerManifestObjects` below).
513
+ */
514
+ const TEST_FILE_PATTERNS = [
515
+ /\.test\.(ts|tsx|js|jsx)$/,
516
+ /\.spec\.(ts|tsx|js|jsx)$/,
517
+ ];
518
+ function isManifestEntryFromTestFile(objectDef) {
519
+ const filePath = objectDef?.filePath;
520
+ return (typeof filePath === 'string' &&
521
+ TEST_FILE_PATTERNS.some((pattern) => pattern.test(filePath)));
522
+ }
410
523
  function registerManifestObjects(ObjectRegistry, manifest, packageName) {
411
524
  if (!manifest?.objects) {
412
525
  return 0;
413
526
  }
527
+ // Skip manifest entries declared inside test files (#2750 follow-up): a
528
+ // class decorated inline in a `*.test.ts`/`__tests__/` fixture (e.g. a
529
+ // throwaway model used only by that one test file) is captured by the
530
+ // package-wide manifest scan just like any production model, but it was
531
+ // never meant to be visible outside the file that declares it -- on the
532
+ // pre-#2750 decorator-only registration path, it simply never was, since
533
+ // only classes reached by the currently-running test file's own import
534
+ // graph got registered. #2750's worker-side re-registration (this file's
535
+ // `setupSmrtManifests`, invoked from every worker via
536
+ // `packages/vitest/src/setup.ts`) bulk-registers every manifest entry for
537
+ // the package regardless of which test file is running, so a fixture
538
+ // class now leaks into every other test file in the same package/worker
539
+ // -- reproduced by `packages/chat`'s `chat-security.test.ts` (a
540
+ // registry-wide audit of "every registered @happyvertical/smrt-chat
541
+ // model") tripping over `ConvNote`, a full-CRUD test double declared in
542
+ // `persona-conversation.test.ts`, once that file's manifest entry became
543
+ // visible package-wide. The fixture's OWN file still registers it
544
+ // correctly via ordinary decorator-import execution when that file
545
+ // itself runs; only the manifest-driven BULK path is scoped down here.
414
546
  let registered = 0;
415
547
  for (const [name, objectDef] of Object.entries(manifest.objects)) {
548
+ if (isManifestEntryFromTestFile(objectDef)) {
549
+ continue;
550
+ }
416
551
  if (!ObjectRegistry.hasClass(name)) {
417
552
  ObjectRegistry.registerFromManifest(name, objectDef, packageName);
418
553
  registered++;
@@ -648,6 +783,44 @@ export function smrtVitestPlugin(options = {}) {
648
783
  return {
649
784
  name: 'smrt-vitest',
650
785
  config(userConfig) {
786
+ // Propagate manifest-registration options to every worker process this
787
+ // early — before Vitest spawns any pool worker — so ./setup.ts can
788
+ // re-run registration inside the worker's own process/realm (#2750).
789
+ // Must happen in `config()`, not `configResolved()`: Vitest begins
790
+ // spawning/pre-warming pool workers (which snapshot `process.env` at
791
+ // `child_process.fork()`/`worker_threads` spawn time) concurrently
792
+ // with plugin config resolution, and `configResolved()` running later
793
+ // than that spawn left already-forked workers with a stale (missing)
794
+ // env var — confirmed empirically: moving this call to
795
+ // `configResolved()` broke the fixture regression test even though
796
+ // `configResolved()` is still awaited before the FIRST test file runs.
797
+ // `config()` is the earliest hook available and keeps the working
798
+ // behavior from #2750's original fix.
799
+ //
800
+ // Keyed by `root` (merged into any existing payload, never
801
+ // overwritten, normalized through `normalizeRootKey` to resolve
802
+ // symlinks) rather than a single flat value: several
803
+ // `smrtVitestPlugin()` instances -- with different options, or none at
804
+ // all next to one that has options -- can run inside the SAME
805
+ // orchestrator process (e.g. a Vitest multi-project `test.projects`
806
+ // run), and `process.env` is process-global. A flat value let the
807
+ // last project's call silently overwrite every earlier project's
808
+ // options, contaminating unrelated projects' worker registration.
809
+ // `setup.ts` looks its own (`normalizeRootKey`-d) `process.cwd()` up
810
+ // in this map.
811
+ //
812
+ // Known residual limitation: `root` here is this closure's
813
+ // construction-time value (`options.root ?? process.cwd()`), not a
814
+ // per-project Vite-resolved root -- Vite never `chdir`s while loading
815
+ // project configs, so every `smrtVitestPlugin()` instance in one
816
+ // `test.projects` array that leaves `root` at its default computes the
817
+ // identical key regardless of which project subdirectory it actually
818
+ // lives in, and the last one to call `config()` wins for all of them.
819
+ // Bounded by `registerManifestObjects()`'s `hasClass()` guard to extra
820
+ // additive registrations (never corruption) plus extra `verbose`
821
+ // logging; a project needing distinct isolation in that shape should
822
+ // pass an explicit, distinct `root` to `smrtVitestPlugin()`.
823
+ setManifestRegistrationOptionsForRoot(root, { packages, root, verbose });
651
824
  const rootRetry = userConfig.test?.retry;
652
825
  applyTestDefaultsToProjects(userConfig.test?.projects, rootRetry);
653
826
  const setupFiles = ensureSetupFiles(userConfig.test?.setupFiles);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -18,5 +18,9 @@
18
18
  *
19
19
  * @packageDocumentation
20
20
  */
21
- export {};
21
+ import type { SmrtVitestPluginOptions } from './index.js';
22
+ declare global {
23
+ var __smrtVitestSetupRegisteredClassNames: string[] | undefined;
24
+ var __smrtVitestSetupResolvedOptions: SmrtVitestPluginOptions | null | undefined;
25
+ }
22
26
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,qCAAqC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhE,IAAI,gCAAgC,EAChC,uBAAuB,GACvB,IAAI,GACJ,SAAS,CAAC;CACf"}
package/dist/setup.js CHANGED
@@ -22,6 +22,122 @@ import { existsSync } from 'node:fs';
22
22
  import { dirname, join } from 'node:path';
23
23
  import { afterAll, beforeAll, vi } from 'vitest';
24
24
  import { applySqliteSpeedPragmas, getDatabaseFromSqliteSchemaTemplate, getLocalSqliteFilePath, } from './sqlite-schema-template.js';
25
+ /**
26
+ * `SMRT_VITEST_SETUP_OPTIONS_ENV_KEY` mirrored from `./index.ts` (kept as a
27
+ * plain string literal, not a static import — see the note on
28
+ * {@link ensureManifestsRegisteredInThisProcess} for why this file avoids a
29
+ * static, module-load-time import of `./index.js`).
30
+ */
31
+ const SETUP_OPTIONS_ENV_KEY = '__SMRT_VITEST_SETUP_OPTIONS__';
32
+ /**
33
+ * Re-run `smrtVitestPlugin()`'s manifest registration inside THIS worker
34
+ * process (#2750). `configResolved()`/`config()` in `./index.ts` only ever
35
+ * run in Vitest's main/orchestrator process; `ObjectRegistry` is a
36
+ * `globalThis` singleton, which is not shared across the OS
37
+ * processes/worker threads that actually execute test files. Without this,
38
+ * test code sees an empty registry even though the plugin logged classes as
39
+ * loaded.
40
+ *
41
+ * Self-healing rather than register-once: guarded by a `globalThis` list of
42
+ * the qualified class names this function itself registered last time, not
43
+ * a plain boolean. `ObjectRegistry` is a `globalThis` singleton that
44
+ * persists across test files within one worker process (the same
45
+ * assumption this file's own `beforeAll`/`afterAll` already rely on for
46
+ * `__smrtManifestCache`), and any test file may call
47
+ * `ObjectRegistry.clear()` — several plugin-consuming packages' suites do.
48
+ * A plain "registered once" flag would then leave every later test file in
49
+ * that worker silently back at the pre-#2750 empty-registry state for
50
+ * manifest-only classes (the ones never imported directly, so no decorator
51
+ * re-registers them on the next file's fresh module graph). Re-checking
52
+ * `hasClass()` for the previously-registered set on every `beforeAll` and
53
+ * only skipping when they are all still present keeps the common case
54
+ * (nothing cleared) cheap while self-healing after a `clear()`.
55
+ *
56
+ * Run from a `beforeAll` hook rather than a module-top-level `await`: a
57
+ * top-level `await` in a `setupFiles` entry changes how Vitest sequences
58
+ * module loading and shifted the async call-stack frames
59
+ * `getSourceFileFromStack()` (`packages/core/src/registry/shared-state.ts`)
60
+ * relies on to attribute a `@smrt()` class to its declaring package —
61
+ * observed as spurious `@vitest/runner:<Class>` qualified names in core's
62
+ * own test suite. `beforeAll` still runs before every test in the file (and
63
+ * before the mocked `getDatabase()` is first exercised), without disturbing
64
+ * module-load-time stack shape.
65
+ *
66
+ * `setupSmrtManifests`/`ObjectRegistry` are loaded with a dynamic
67
+ * `import('./index.js')` / `loadSmrtCoreModule()` here, not a static
68
+ * top-level import, for the same reason: `./index.ts` is the full
69
+ * Vite-plugin module (workspace aliasing, manifest generation, the
70
+ * `configResolved` hook, ~1300 lines with its own transitive import graph).
71
+ * A *static* import of it from this setup file was enough on its own to
72
+ * reproduce the exact same stack-attribution corruption in `smrt-core`'s own
73
+ * suite (`sti-registry.test.ts`, `transform-json-hook.test.ts` —
74
+ * `@vitest/runner:<Class>` instead of `@happyvertical/smrt-core:<Class>`)
75
+ * even with registration itself moved into `beforeAll` — confirmed by A/B
76
+ * testing against this exact base commit with only that one import changed.
77
+ * Deferring the import to inside this already-lazy, already-`beforeAll`-gated
78
+ * function keeps this file's *static* import graph identical to its
79
+ * pre-#2750 shape; every other lazy loader in this file
80
+ * (`loadSmrtCoreModule`, `loadSmrtTableCacheModule`) follows the same
81
+ * dynamic-import pattern for the same class of reason.
82
+ */
83
+ async function ensureManifestsRegisteredInThisProcess() {
84
+ const raw = process.env[SETUP_OPTIONS_ENV_KEY];
85
+ if (!raw) {
86
+ return;
87
+ }
88
+ try {
89
+ // Resolve (and cache on `globalThis`) this worker's matching options
90
+ // exactly once per process: `import('./index.js')` -- needed here only
91
+ // for `normalizeRootKey` -- is the ~1300-line Vite-plugin module with
92
+ // its own transitive graph, and under `isolate: true` this function
93
+ // re-runs fresh on every test file. Re-importing it every file (even on
94
+ // the eventual no-op path) reintroduced per-file overhead and widened
95
+ // exposure to the exact class of module this file otherwise avoids a
96
+ // *static* import of (see the doc comment above). `undefined` means
97
+ // "not resolved yet"; `null` means "resolved, no match for this cwd" --
98
+ // both distinct from a real options object so a legitimate empty-ish
99
+ // options value is never mistaken for "not yet checked".
100
+ let options = globalThis.__smrtVitestSetupResolvedOptions;
101
+ if (options === undefined) {
102
+ const byRoot = JSON.parse(raw);
103
+ // The plugin's `config()` keys its entry by its resolved, normalized
104
+ // `root` (default `process.cwd()` at the time it ran, in the same
105
+ // project). This worker's own `process.cwd()` is that same project's
106
+ // directory in the standard case, so match on that alone (also
107
+ // normalized the same way) -- deliberately NOT falling back to "the
108
+ // map's one entry" when there is no exact match: this module's
109
+ // setupFiles-standalone mode (no `smrtVitestPlugin()` in `plugins`)
110
+ // promises to be a no-op when there is nothing to register for THIS
111
+ // project, and a same-process, unrelated project's entry (e.g. a
112
+ // Vitest multi-project run mixing a plugin-using project with a
113
+ // plugin-less one) is not this project's options. A consumer passing
114
+ // a custom non-default `root` to the plugin simply gets no
115
+ // registration here (matching the pre-#2750 behavior for that
116
+ // project) rather than risking cross-project registry contamination.
117
+ const { normalizeRootKey } = await import('./index.js');
118
+ options = byRoot[normalizeRootKey(process.cwd())] ?? null;
119
+ globalThis.__smrtVitestSetupResolvedOptions = options;
120
+ }
121
+ if (!options) {
122
+ return;
123
+ }
124
+ const { ObjectRegistry } = await loadSmrtCoreModule();
125
+ const previouslyRegistered = globalThis.__smrtVitestSetupRegisteredClassNames;
126
+ if (previouslyRegistered?.every((name) => ObjectRegistry.hasClass(name))) {
127
+ return;
128
+ }
129
+ const { setupSmrtManifests } = await import('./index.js');
130
+ await setupSmrtManifests(options);
131
+ globalThis.__smrtVitestSetupRegisteredClassNames =
132
+ ObjectRegistry.getQualifiedClassNames();
133
+ }
134
+ catch (error) {
135
+ console.warn('[smrt-vitest] setup: failed to register manifests in this test process:', error);
136
+ }
137
+ }
138
+ beforeAll(async () => {
139
+ await ensureManifestsRegisteredInThisProcess();
140
+ });
25
141
  const preparedSchemasByDb = new WeakMap();
26
142
  const preparedSchemasByConfig = new Map();
27
143
  // applySqliteSpeedPragmas (#2221) lives in sqlite-schema-template.ts so the
@@ -131,17 +247,61 @@ function buildSchemaSqlBatches(smrtCore, db, options) {
131
247
  const engine = typeof db.exportTable === 'function'
132
248
  ? 'json'
133
249
  : smrtCore.detectEngine(dbConfig.url || db.url || ':memory:', dbConfig.type);
134
- return Object.values(smrtCore.ObjectRegistry.getAllSchemasAsDefinitions()).map((schema) => {
135
- const ddl = smrtCore.generateDDLForEngine(schema, engine);
136
- return [
137
- ddl.createTable,
138
- ...ddl.indexes,
139
- ...(engine === 'duckdb' || engine === 'json' ? [] : ddl.triggers),
140
- ]
141
- .filter(Boolean)
142
- .map(normalizeSchemaStatement)
143
- .join('\n');
144
- });
250
+ return Object.values(smrtCore.ObjectRegistry.getAllSchemasAsDefinitions())
251
+ .map((schema) => {
252
+ // Generate DDL per-schema, in isolation: `ObjectRegistry` in this
253
+ // process now holds every manifest-registered class from every
254
+ // discovered smrt package (#2750's worker-side re-registration fix),
255
+ // not just the classes this particular test file happens to import.
256
+ // A handful of those classes are legitimately incompatible with a
257
+ // given engine by design (e.g. a cross-package foreign key using
258
+ // `ON DELETE CASCADE`, which DuckDB's strategy deliberately rejects —
259
+ // see `duckdb-strategy.ts`) and `generateDDLForEngine` throws for
260
+ // them. Before the worker-side fix, those unrelated classes were
261
+ // simply never registered in this process, so the throw never
262
+ // happened. Letting one such throw escape here aborts
263
+ // `Promise.all`/`.map` for the WHOLE batch, silently skipping table
264
+ // creation even for the class this test actually needs — reproduced
265
+ // for `packages/events` (`EventType`/`event_types`) via an unrelated
266
+ // `EventAsset` FK, and for `packages/analytics`
267
+ // (`AnalyticsProperty`/`analytics_properties`) the same way. Catch and
268
+ // skip only the offending schema so every other registered class,
269
+ // including the one under test, still gets its table.
270
+ try {
271
+ const ddl = smrtCore.generateDDLForEngine(schema, engine);
272
+ return [
273
+ ddl.createTable,
274
+ ...ddl.indexes,
275
+ ...(engine === 'duckdb' || engine === 'json' ? [] : ddl.triggers),
276
+ ]
277
+ .filter(Boolean)
278
+ .map(normalizeSchemaStatement)
279
+ .join('\n');
280
+ }
281
+ catch (error) {
282
+ warnOnceForSchemaDdlFailure(schema.tableName, engine, error);
283
+ return '';
284
+ }
285
+ })
286
+ .filter(Boolean);
287
+ }
288
+ /**
289
+ * De-duplicates the per-schema DDL-generation warning from
290
+ * {@link buildSchemaSqlBatches} across repeated `getDatabase()` calls in one
291
+ * worker process (every `beforeEach` in a JSON/DuckDB-backed test file can
292
+ * trigger it again for the same offending table) so it is reported once,
293
+ * not once per test.
294
+ */
295
+ const warnedSchemaDdlFailures = new Set();
296
+ function warnOnceForSchemaDdlFailure(tableName, engine, error) {
297
+ const key = `${engine}:${tableName}`;
298
+ if (warnedSchemaDdlFailures.has(key)) {
299
+ return;
300
+ }
301
+ warnedSchemaDdlFailures.add(key);
302
+ const message = error instanceof Error ? error.message : String(error);
303
+ console.warn(`[smrt-vitest] setup: skipping automatic schema creation for table ` +
304
+ `'${tableName}' on engine '${engine}' -- ${message}`);
145
305
  }
146
306
  vi.mock('@happyvertical/sql', async () => {
147
307
  const actual = await vi.importActual('@happyvertical/sql');