Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled
85 lines
3.1 KiB
JavaScript
85 lines
3.1 KiB
JavaScript
const nextJest = require('next/jest')
|
|
|
|
const createJestConfig = nextJest()
|
|
|
|
// Any custom config you want to pass to Jest
|
|
/** @type {import('jest').Config} */
|
|
const customJestConfig = {
|
|
displayName: process.env.IS_WEBPACK_TEST ? 'webpack' : 'Turbopack',
|
|
testMatch: ['**/*.test.js', '**/*.test.ts', '**/*.test.jsx', '**/*.test.tsx'],
|
|
globalSetup: '<rootDir>/jest-global-setup.ts',
|
|
setupFilesAfterEnv: ['<rootDir>/jest-setup-after-env.ts'],
|
|
verbose: true,
|
|
rootDir: 'test',
|
|
roots: [
|
|
'<rootDir>',
|
|
'<rootDir>/../packages/next/src/',
|
|
'<rootDir>/../packages/next-codemod/',
|
|
'<rootDir>/../packages/eslint-plugin-internal/',
|
|
'<rootDir>/../packages/font/src/',
|
|
'<rootDir>/../packages/next-routing/',
|
|
],
|
|
haste: {
|
|
// Throwing to avoid warnings creeping up over time polluting log output.
|
|
throwOnModuleCollision: true,
|
|
},
|
|
modulePathIgnorePatterns: [
|
|
'/\\.next/',
|
|
// Prevents jest-haste-map warnings due to multiple versions of the same
|
|
// package being vendored. Also means tests in `compiled` will be ignored.
|
|
// Jest does not normalize/resolve paths in modulePathIgnorePatterns so we can't
|
|
// prefix with <rootDir>/../ like we do in roots.
|
|
'packages/next/src/compiled/',
|
|
'<rootDir>/development/app-dir/ssr-in-rsc/internal-pkg/',
|
|
'<rootDir>/e2e/app-dir/self-importing-package/internal-pkg',
|
|
'<rootDir>/e2e/app-dir/self-importing-package-monorepo/internal-pkg',
|
|
'<rootDir>/e2e/app-dir/server-source-maps/fixtures/default/internal-pkg',
|
|
'<rootDir>/e2e/transpile-packages-typescript-foreign/pkg',
|
|
'<rootDir>/production/standalone-mode/tracing-side-effects-false/foo',
|
|
'<rootDir>/production/standalone-mode/tracing-static-files/foo',
|
|
'<rootDir>/production/standalone-mode/tracing-unparsable/foo',
|
|
'<rootDir>/production/supports-module-resolution-nodenext/pkg',
|
|
],
|
|
modulePaths: ['<rootDir>/lib'],
|
|
transformIgnorePatterns: ['/next[/\\\\]dist/', '/\\.next/'],
|
|
moduleNameMapper: {
|
|
'@next/font/(.*)': '@next/font/$1',
|
|
},
|
|
}
|
|
|
|
// Check if the environment variable is set to enable test report,
|
|
// Insert a reporter to generate a junit report to upload.
|
|
//
|
|
// This won't count retries to avoid tests being reported twice.
|
|
// Our test report will report test results for flaky tests as failed without retry.
|
|
const enableTestReport = !!process.env.NEXT_JUNIT_TEST_REPORT
|
|
|
|
if (enableTestReport) {
|
|
if (!customJestConfig.reporters) {
|
|
customJestConfig.reporters = ['default']
|
|
}
|
|
|
|
let outputDirectory
|
|
if (process.env.IS_TURBOPACK_TEST) {
|
|
outputDirectory = '<rootDir>/turbopack-test-junit-report'
|
|
} else if (process.env.NEXT_RSPACK) {
|
|
outputDirectory = '<rootDir>/rspack-test-junit-report'
|
|
} else {
|
|
outputDirectory = '<rootDir>/test-junit-report'
|
|
}
|
|
|
|
customJestConfig.reporters.push([
|
|
'jest-junit',
|
|
{
|
|
outputDirectory,
|
|
reportTestSuiteErrors: 'true',
|
|
uniqueOutputName: 'true',
|
|
outputName: 'nextjs-test-junit',
|
|
addFileAttribute: 'true',
|
|
},
|
|
])
|
|
}
|
|
|
|
// createJestConfig is exported in this way to ensure that next/jest can load the Next.js config which is async
|
|
module.exports = createJestConfig(customJestConfig)
|