/** @type {import('jest').Config} */ // packages/storage/jest.config.cjs —— 真实 MinIO 集成测试(*.spec.ts,compose 起 // photo-live-minio-1)。ts-jest 保持类型检查模式(非 isolatedModules)。 // env 约定:setupFiles 经 test/load-env.ts 向上定位仓库根 .env(唯一 env 文件)。 // @photo/contracts 为 ESM 包且是本包运行时依赖:moduleNameMapper 指向其 TS 源码, // 由 ts-jest 以 CJS 编译(.js -> $1 映射同 packages/contracts/jest.config.cjs), // 与 services/api/jest.config.ts 的消费方式一致。 module.exports = { testEnvironment: 'node', rootDir: '.', setupFiles: ['./test/load-env.ts'], transform: { '^.+\\.tsx?$': [ 'ts-jest', { tsconfig: { module: 'commonjs', moduleResolution: 'node10', target: 'es2022', lib: ['es2022'], strict: true, esModuleInterop: true, skipLibCheck: true, types: ['node', 'jest'], }, }, ], }, moduleNameMapper: { '^@photo/contracts$': '/../../packages/contracts/src/index.ts', '^(\\.{1,2}/.*)\\.js$': '$1', }, testMatch: ['/test/**/*.spec.ts'], testPathIgnorePatterns: ['/node_modules/', '/dist/'], };