@happyvertical/smrt-vitest 0.40.14 → 0.40.16
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 +4 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/test-db.d.ts +19 -0
- package/dist/test-db.d.ts.map +1 -1
- package/dist/test-db.js +21 -37
- package/dist/test-db.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @happyvertical/smrt-vitest
|
|
2
2
|
|
|
3
|
-
Vitest plugin for
|
|
3
|
+
Vitest plugin for s-m-r-t projects -- **required** for all s-m-r-t tests. Auto-generates manifests, loads cross-package class metadata, and provides transaction-isolated test database utilities.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ pnpm add -D @happyvertical/smrt-vitest
|
|
|
12
12
|
|
|
13
13
|
### Required Plugin Setup
|
|
14
14
|
|
|
15
|
-
Every
|
|
15
|
+
Every s-m-r-t project must include `smrtVitestPlugin()` in vitest.config.ts:
|
|
16
16
|
|
|
17
17
|
```typescript
|
|
18
18
|
import { defineConfig } from 'vitest/config';
|
|
@@ -41,7 +41,7 @@ Without this plugin, tests fail with `"No field metadata found"` or `"unregister
|
|
|
41
41
|
### Vite 8 (rolldown/oxc) Normalization
|
|
42
42
|
|
|
43
43
|
Vite 8 replaced esbuild with rolldown/oxc, which changed three behaviors that
|
|
44
|
-
break
|
|
44
|
+
break s-m-r-t projects. The plugin normalizes all three so consuming apps don't
|
|
45
45
|
need per-repo workarounds (evidence: anytown.ai#707, willgriffin.dev#220):
|
|
46
46
|
|
|
47
47
|
1. **`esbuild.tsconfigRaw` is ignored** — legacy `@smrt()` decorators reach
|
|
@@ -51,7 +51,7 @@ need per-repo workarounds (evidence: anytown.ai#707, willgriffin.dev#220):
|
|
|
51
51
|
2. **oxc elides type-position side-effect imports by default** — test files
|
|
52
52
|
usually sit outside the tsconfig `include`, so a repo-wide
|
|
53
53
|
`verbatimModuleSyntax` never reaches them and side-effect model imports
|
|
54
|
-
(
|
|
54
|
+
(s-m-r-t object registration) are silently dropped. The plugin injects
|
|
55
55
|
`oxc.typescript = { onlyRemoveTypeImports: true }`.
|
|
56
56
|
3. **Rolldown prefix-matches string alias `find`s** — a bare workspace alias
|
|
57
57
|
like `@org/pkg` → `src/index.ts` mangles unaliased subpath imports
|