import type { JestConfigWithTsJest } from 'npm:ts-jest@^29.1.0';

const config: JestConfigWithTsJest = {
  preset: 'ts-jest/presets/default-esm',
  testEnvironment: 'node',
  transform: {
    '^.+\\.(t|j)sx?$': ['@swc/jest', { sourceMaps: 'inline' }],
  },
  moduleNameMapper: {
    '^openai$': '<rootDir>/src/index.ts',
    '^openai/_shims/auto/(.*)$': '<rootDir>/src/_shims/auto/$1-node',
    '^openai/(.*)$': '<rootDir>/src/$1',
  },
  modulePathIgnorePatterns: [
    '<rootDir>/ecosystem-tests/',
    '<rootDir>/dist/',
    '<rootDir>/deno/',
    '<rootDir>/deno_tests/',
  ],
  testPathIgnorePatterns: ['scripts'],
  prettierPath: require.resolve('prettier-2'),
};

export default config;
