mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
<!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: --> # Description fixes #31159 fixes #44553 Path aliases defined in `tsconfig.json` or `jsconfig.json` are not automatically configured to work with Jest. This means that these aliases have to be defined in multiple places. This PR configures the SWC Jest transform to handle the `baseUrl` and `paths`, so that users don't need to configure a `moduleNameMapper` for Jest. ~This PR intends to make the experience more seamless by automatically configuring Jest's `moduleNameMapper` and `moduleDirectories` based on the settings in a project's `tsconfig`/`jsconfig`.~ ~Users will be able to supply their own configuration for these fields, if they have use-cases that require manual configuration.~ ~The implementation is taken from the [`paths-to-module-name-mapper` function in `ts-jest`](https://github.com/kulshekhar/ts-jest/blob/5a0880add0da8d71900eee20c7642e6be65f6a66/src/config/paths-to-module-name-mapper.ts).~ ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [x] Related issues linked using `fixes #number` - [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
17 lines
641 B
JavaScript
17 lines
641 B
JavaScript
const nextJest = require('next/jest')
|
|
|
|
const createJestConfig = nextJest({
|
|
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
|
|
dir: './',
|
|
})
|
|
|
|
// Add any custom config to be passed to Jest
|
|
const customJestConfig = {
|
|
// if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work
|
|
moduleDirectories: ['node_modules', '<rootDir>/'],
|
|
testEnvironment: 'jest-environment-jsdom',
|
|
}
|
|
|
|
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
module.exports = createJestConfig(customJestConfig)
|