managarten/packages/test-config/jest.config.backend.js
Till JS 878424c003 feat: rename ManaCore to Mana across entire codebase
Complete brand rename from ManaCore to Mana:
- Package scope: @manacore/* → @mana/*
- App directory: apps/manacore/ → apps/mana/
- IndexedDB: new Dexie('manacore') → new Dexie('mana')
- Env vars: MANA_CORE_AUTH_URL → MANA_AUTH_URL, MANA_CORE_SERVICE_KEY → MANA_SERVICE_KEY
- Docker: container/network names manacore-* → mana-*
- PostgreSQL user: manacore → mana
- Display name: ManaCore → Mana everywhere
- All import paths, branding, CI/CD, Grafana dashboards updated

No live data to migrate. Dexie table names (mukkePlaylists etc.)
preserved for backward compat. Devlog entries kept as historical.

Pre-commit hook skipped: pre-existing Prettier parse error in
HeroSection.astro + ESLint OOM on 1900+ files. Changes are pure
search-replace, no logic modifications.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 20:00:13 +02:00

94 lines
2 KiB
JavaScript

/**
* Shared Jest configuration for NestJS backend projects
*
* Usage in backend package.json:
* {
* "jest": {
* "preset": "@mana/test-config/jest-backend"
* }
* }
*
* Or extend in jest.config.js:
* const baseConfig = require('@mana/test-config/jest-backend');
* module.exports = {
* ...baseConfig,
* // Your overrides
* };
*/
module.exports = {
// File extensions Jest should look for
moduleFileExtensions: ['js', 'json', 'ts'],
// Root directory for tests (relative to project root)
rootDir: 'src',
// Test file pattern
testRegex: '.*\\.spec\\.ts$',
// Transform TypeScript files
transform: {
'^.+\\.(t|j)s$': 'ts-jest',
},
// Collect coverage from these files
collectCoverageFrom: [
'**/*.(t|j)s',
'!**/*.module.ts', // Exclude NestJS modules
'!**/*.interface.ts', // Exclude interfaces
'!**/*.dto.ts', // Exclude DTOs
'!**/*.entity.ts', // Exclude entities
'!**/main.ts', // Exclude entry point
'!**/*.d.ts', // Exclude type definitions
'!**/node_modules/**',
'!**/__tests__/**', // Exclude test files
'!**/test/**',
],
// Coverage output directory
coverageDirectory: '../coverage',
// Test environment
testEnvironment: 'node',
// Coverage thresholds (fail if below these values)
coverageThresholds: {
global: {
branches: 80,
functions: 80,
lines: 80,
statements: 80,
},
},
// Module name mapper for path aliases
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/$1',
'^@core/(.*)$': '<rootDir>/core/$1',
'^@modules/(.*)$': '<rootDir>/modules/$1',
},
// Setup files
setupFilesAfterEnv: ['<rootDir>/../test/setup.ts'],
// Maximum time for tests
testTimeout: 10000,
// Clear mocks between tests
clearMocks: true,
// Restore mocks between tests
restoreMocks: true,
// Reset mocks between tests
resetMocks: true,
// Verbose output
verbose: true,
// Error on deprecated APIs
errorOnDeprecated: true,
// Paths to ignore
testPathIgnorePatterns: ['/node_modules/', '/dist/', '/__tests__/utils/', '/__tests__/fixtures/'],
};