import { nxPreset } from '@nx/jest/preset.js'; import { createEsmPreset } from 'jest-preset-angular/presets/index.js'; const angularEsmPreset = createEsmPreset({ diagnostics: false, tsconfig: '/apps/web/tsconfig.spec.json', }); export default { ...nxPreset, ...angularEsmPreset, rootDir: '.', roots: ['/apps/web', '/libs'], setupFilesAfterEnv: ['/apps/web/src/test-setup.ts'], resolver: nxPreset.resolver, moduleFileExtensions: Array.from( new Set([ ...(nxPreset.moduleFileExtensions ?? []), ...(angularEsmPreset.moduleFileExtensions ?? []), ]) ), testMatch: nxPreset.testMatch, testEnvironmentOptions: {}, snapshotSerializers: angularEsmPreset.snapshotSerializers, moduleNameMapper: { ...(angularEsmPreset.moduleNameMapper ?? {}), '^@iptvnator/portal/xtream/feature$': '/apps/web/src/test-stubs/xtream-feature.stub.ts', tslib: 'tslib/tslib.es6.js', '^iptv-playlist-parser$': '/apps/web/src/test-stubs/iptv-playlist-parser.mjs', '^rxjs': '/node_modules/rxjs/dist/bundles/rxjs.umd.js', '^uuid$': '/node_modules/uuid/wrapper.mjs', }, transform: angularEsmPreset.transform, transformIgnorePatterns: [], extensionsToTreatAsEsm: angularEsmPreset.extensionsToTreatAsEsm, modulePathIgnorePatterns: ['/dist/', '/.nx/'], watchPathIgnorePatterns: ['/dist/', '/.nx/'], coverageReporters: [...(nxPreset.coverageReporters ?? [])], };