Files
sofa/packages/core/package.json
T
jakeandClaude Opus 4.6 5f3e14b415 feat: migrate test runner from Bun to Vitest
- Replace bun:test with Vitest across all 22 test files
- Create @sofa/test package with shared setup and DB test helpers
  - setup.ts: vi.mock for @sofa/db/client, Bun.randomUUIDv7 polyfill
  - db.ts: in-memory SQLite via better-sqlite3, seed helpers
- Add per-project vitest configs (packages/core, apps/web)
- Add root vitest.config.ts with projects and v8 coverage
- Set up @vitest/browser + Playwright for web component tests
- Move validateBackupDatabase from core/backup.ts to @sofa/db/client
- Derive required backup tables from schema instead of hard-coded list
- Update CI workflow with Playwright install and Codecov upload
- Update CLAUDE.md documentation for Vitest

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 12:03:06 -04:00

57 lines
1.7 KiB
JSON

{
"name": "@sofa/core",
"version": "0.1.0",
"private": true,
"type": "module",
"exports": {
"./availability": "./src/availability.ts",
"./backup": "./src/backup.ts",
"./cache": "./src/cache.ts",
"./colors": "./src/colors.ts",
"./credits": "./src/credits.ts",
"./cron": "./src/cron.ts",
"./discovery": "./src/discovery.ts",
"./export": "./src/export.ts",
"./image-cache": "./src/image-cache.ts",
"./imports": "./src/imports/index.ts",
"./imports/parsers": "./src/imports/parsers.ts",
"./integrations": "./src/integrations.ts",
"./lists": "./src/lists.ts",
"./metadata": "./src/metadata.ts",
"./person": "./src/person.ts",
"./providers": "./src/providers.ts",
"./settings": "./src/settings.ts",
"./system-health": "./src/system-health.ts",
"./telemetry": "./src/telemetry.ts",
"./thumbhash": "./src/thumbhash.ts",
"./tracking": "./src/tracking.ts",
"./update-check": "./src/update-check.ts",
"./webhooks": "./src/webhooks.ts"
},
"scripts": {
"lint": "oxlint",
"format": "oxfmt --config ../../.oxfmtrc.json",
"format:check": "oxfmt --check --config ../../.oxfmtrc.json",
"check-types": "tsc --noEmit",
"test": "vitest run"
},
"dependencies": {
"@sofa/api": "workspace:*",
"@sofa/config": "workspace:*",
"@sofa/db": "workspace:*",
"@sofa/logger": "workspace:*",
"@sofa/tmdb": "workspace:*",
"adm-zip": "0.5.16",
"node-vibrant": "4.0.4",
"sharp": "0.34.5",
"thumbhash": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@types/adm-zip": "0.5.8",
"@types/bun": "catalog:",
"typescript": "catalog:",
"vitest": "catalog:"
}
}