- PGlite (in-memory WASM Postgres) hosted in a child process, exposed via TCP socket; real migrations applied with prisma migrate deploy - Vitest harness (vitest.integration.config.ts, global-setup spawns PGlite + built Nuxt server, per-test TRUNCATE, factories, cookie-jar API client); no mocks, zero production code changes - 50 tests across auth, hunt, team, submit, review, showcase, diashow incl. SuperJSON envelope check; *.itest.ts keeps bun test untouched - CI: parallel unit + integration jobs in .github/workflows/test.yml - tests/ covered by nuxt typecheck via tests/tsconfig.json reference
34 lines
1.0 KiB
JSON
34 lines
1.0 KiB
JSON
{
|
|
// Integration tests + helpers. Picked up by `nuxt typecheck` through the
|
|
// reference in the root tsconfig.json. Mirrors the options of the
|
|
// Nuxt-generated tsconfigs, minus noUncheckedIndexedAccess (tests assert
|
|
// on indexed access all the time).
|
|
"compilerOptions": {
|
|
"paths": {
|
|
"~~": [".."],
|
|
"~~/*": ["../*"],
|
|
"#shared": ["../shared"],
|
|
"#shared/*": ["../shared/*"]
|
|
},
|
|
"esModuleInterop": true,
|
|
"skipLibCheck": true,
|
|
"target": "ESNext",
|
|
"resolveJsonModule": true,
|
|
"moduleDetection": "force",
|
|
"isolatedModules": true,
|
|
"verbatimModuleSyntax": true,
|
|
"strict": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"noImplicitOverride": true,
|
|
"module": "preserve",
|
|
"noEmit": true,
|
|
"types": ["node"],
|
|
"moduleResolution": "Bundler",
|
|
"useDefineForClassFields": true,
|
|
"noImplicitThis": true,
|
|
"allowSyntheticDefaultImports": true
|
|
},
|
|
"include": ["./**/*.ts", "../vitest.integration.config.ts"],
|
|
"exclude": ["../node_modules"]
|
|
}
|