'use strict'; const IS_EE = process.env.IS_EE === 'true'; const moduleNameMapper = { '.*\\.(css|less|styl|scss|sass)$': '/packages/admin-test-utils/lib/mocks/cssModule.js', '.*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$': '/packages/admin-test-utils/lib/mocks/image.js', '^ee_else_ce(/.*)$': IS_EE ? [ '/packages/core/admin/ee/admin$1', '/packages/core/content-manager/ee/admin/src$1', '/packages/core/content-type-builder/ee/admin/src$1', '/packages/core/upload/ee/admin/src$1', '/packages/core/email/ee/admin/src$1', '/packages/plugins/*/ee/admin/src$1', ] : [ '/packages/core/admin/admin/src$1', '/packages/core/content-manager/admin/src$1', '/packages/core/content-type-builder/admin/src$1', '/packages/core/upload/admin/src$1', '/packages/core/email/admin/src$1', '/packages/plugins/*/admin/src$1', ], }; module.exports = { rootDir: __dirname, moduleNameMapper, collectCoverageFrom: [ '/packages/core/*/admin/src/**/*.js', '/packages/core/admin/ee/admin/**/*.js', '/packages/plugins/*/admin/src/**/*.js', ], testPathIgnorePatterns: [ '/node_modules/', '/examples/getstarted/', '/examples/kitchensink/', '/packages/strapi-helper-plugin/dist/', '__tests__', ], globalSetup: '/test/config/front/global-setup.js', setupFiles: [ '/packages/admin-test-utils/lib/setup/test-bundler.js', '/packages/admin-test-utils/lib/mocks/fetch.js', '/packages/admin-test-utils/lib/mocks/LocalStorageMock.js', '/packages/admin-test-utils/lib/mocks/IntersectionObserver.js', '/packages/admin-test-utils/lib/mocks/ResizeObserver.js', '/packages/admin-test-utils/lib/mocks/windowMatchMedia.js', '/packages/admin-test-utils/lib/mocks/mockRangeApi.js', ], setupFilesAfterEnv: [ '/packages/admin-test-utils/lib/setup/styled-components.js', '/packages/admin-test-utils/lib/setup/strapi.js', '/packages/admin-test-utils/lib/setup/prop-types.js', ], testEnvironment: 'jsdom', transform: { '^.+\\.js$': [ '@swc/jest', { env: { coreJs: '3.28.0', mode: 'usage', }, jsc: { parser: { jsx: true, dynamicImport: true, }, // this should match the minimum supported node.js version target: 'es2020', }, }, ], '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/fileTransformer.js', }, transformIgnorePatterns: [ 'node_modules/(?!(react-dnd|dnd-core|react-dnd-html5-backend|@strapi/design-system|@strapi/icons|fractional-indexing)/)', ], testMatch: ['/**/tests/**/?(*.)+(spec|test).[jt]s?(x)'], testEnvironmentOptions: { url: 'http://localhost:1337/admin', }, // Use `jest-watch-typeahead` version 0.6.5. Newest version 1.0.0 does not support jest@26 // Reference: https://github.com/jest-community/jest-watch-typeahead/releases/tag/v1.0.0 watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'], };