@nx/jest - Migrations
The @nx/jest plugin provides various migrations to help you migrate to newer versions of jest projects within your Nx workspace. Below is a complete reference for all available migrations.
21.3.x
rename-test-path-pattern
Version: 21.3.0-beta.3
Rename the CLI option testPathPattern
to testPathPatterns
.
Rename testPathPattern
to testPathPatterns
Renames the testPathPattern
option to testPathPatterns
in the @nx/jest:jest
executor configuration to align with Jest v30 CLI changes. Read more at the Jest v30 migration notes.
Examples
Rename the option in project configuration:
Before
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts", "testPathPattern": "some-regex" } } }}
After
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts", "testPathPatterns": "some-regex" } } }}
Rename the option in project configuration with configurations:
Before
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts", "testPathPattern": "some-regex" }, "configurations": { "development": { "testPathPattern": "regex-dev" }, "production": { "testPathPattern": "regex-prod" } } } }}
After
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts", "testPathPatterns": "some-regex" }, "configurations": { "development": { "testPathPatterns": "regex-dev" }, "production": { "testPathPatterns": "regex-prod" } } } }}
Rename the option in a target default using the @nx/jest:jest
executor:
Before
{ "targetDefaults": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "{projectRoot}/jest.config.ts", "testPathPattern": "some-regex" } } }}
After
{ "targetDefaults": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "{projectRoot}/jest.config.ts", "testPathPatterns": "some-regex" } } }}
Rename the option in a target default using the @nx/jest:jest
executor as the key:
Before
{ "targetDefaults": { "@nx/jest:jest": { "options": { "jestConfig": "{projectRoot}/jest.config.ts", "testPathPattern": "some-regex" } } }}
After
{ "targetDefaults": { "@nx/jest:jest": { "options": { "jestConfig": "{projectRoot}/jest.config.ts", "testPathPatterns": "some-regex" } } }}
replace-removed-matcher-aliases
Version: 21.3.0-beta.3
Replace removed matcher aliases in Jest v30 with their corresponding matcher
Requires
Name | Version |
---|---|
jest | >=30.0.0 |
Replace Removed Matcher Aliases
Replaces removed Jest matcher aliases in test files with their corresponding matchers to align with Jest v30 changes. Read more at the Jest v30 migration notes.
Examples
Before
describe('test', () => { it('should pass', async () => { expect(mockFn).toBeCalled(); expect(mockFn).toBeCalledTimes(1); expect(mockFn).toBeCalledWith(arg); expect(mockFn).lastCalledWith(arg); expect(mockFn).nthCalledWith(1, arg); expect(mockFn).toReturn(); expect(mockFn).toReturnTimes(1); expect(mockFn).toReturnWith(value); expect(mockFn).lastReturnedWith(value); expect(mockFn).nthReturnedWith(1, value); expect(() => someFn()).toThrowError(); expect(() => someFn()).not.toThrowError(); await expect(someAsyncFn()).rejects.toThrowError(); await expect(someAsyncFn()).resolves.not.toThrowError(); });});
After
describe('test', () => { it('should pass', async () => { expect(mockFn).toHaveBeenCalled(); expect(mockFn).toHaveBeenCalledTimes(1); expect(mockFn).toHaveBeenCalledWith(arg); expect(mockFn).toHaveBeenLastCalledWith(arg); expect(mockFn).toHaveBeenNthCalledWith(1, arg); expect(mockFn).toHaveReturned(); expect(mockFn).toHaveReturnedTimes(1); expect(mockFn).toHaveReturnedWith(value); expect(mockFn).toHaveLastReturnedWith(value); expect(mockFn).toHaveNthReturnedWith(1, value); expect(() => someFn()).toThrow(); expect(() => someFn()).not.toThrow(); await expect(someAsyncFn()).rejects.toThrow(); await expect(someAsyncFn()).resolves.not.toThrow(); });});
21.3.0-package-updates
Version: 21.3.0-beta.3
Packages
The following packages will be updated:
Name | Version | Always add to package.json |
---|---|---|
jest | ~30.0.0 | Updated only |
@types/jest | ~30.0.0 | Updated only |
expect | ~30.0.0 | Updated only |
@jest/globals | ~30.0.0 | Updated only |
jest-jasmine2 | ~30.0.0 | Updated only |
jest-environment-jsdom | ~30.0.0 | Updated only |
babel-jest | ~30.0.0 | Updated only |
@swc/jest | ~0.2.38 | Updated only |
21.3.3-package-updates
Version: 21.3.3-beta.0
Packages
The following packages will be updated:
Name | Version | Always add to package.json |
---|---|---|
ts-jest | ~29.4.0 | Updated only |
21.3.3-jest-util-package-updates
Version: 21.3.3-beta.3
Packages
The following packages will be updated:
Name | Version | Always add to package.json |
---|---|---|
jest-util | ~30.0.0 | Updated only |
21.0.x
replace-getJestProjects-with-getJestProjectsAsync-v21
Version: 21.0.0-beta.9
Replace usage of getJestProjects
with getJestProjectsAsync
.
Replace Usage of getJestProjects
with getJestProjectsAsync
Replaces the usage of the removed getJestProjects
function with the getJestProjectsAsync
function.
Sample Code Changes
Before
import { getJestProjects } from '@nx/jest';
export default { projects: getJestProjects(),};
After
import { getJestProjectsAsync } from '@nx/jest';
export default async () => ({ projects: await getJestProjectsAsync(),});
remove-tsconfig-option-from-jest-executor
Version: 21.0.0-beta.10
Remove the previously deprecated and unused tsConfig
option from the @nx/jest:jest
executor.
Remove tsConfig
Option from Jest Executor
Removes the previously deprecated and unused tsConfig
option from the @nx/jest:jest
executor configuration in all projects.
Examples
Remove the option from the project configuration:
Before
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts", "tsConfig": "apps/myapp/tsconfig.spec.json" } } }}
After
{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/myapp/jest.config.ts" } } }}
Remove the option from a target default using the @nx/jest:jest
executor:
Before
{ "targetDefaults": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "{projectRoot}/jest.config.ts", "tsConfig": "{projectRoot}/tsconfig.spec.json" } } }}
After
{ "targetDefaults": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "{projectRoot}/jest.config.ts" } } }}
Remove the option from a target default using the @nx/jest:jest
executor as the key:
Before
{ "targetDefaults": { "@nx/jest:jest": { "options": { "jestConfig": "{projectRoot}/jest.config.ts", "tsConfig": "{projectRoot}/tsconfig.spec.json" } } }}
After
{ "targetDefaults": { "@nx/jest:jest": { "options": { "jestConfig": "{projectRoot}/jest.config.ts" } } }}
20.0.x
replace-getJestProjects-with-getJestProjectsAsync
Version: 20.0.0-beta.5
Replace usage of getJestProjects
with getJestProjectsAsync
.
Replace Usage of getJestProjects
with getJestProjectsAsync
Replaces the usage of the deprecated getJestProjects
function with the getJestProjectsAsync
function.
Sample Code Changes
Before
import { getJestProjects } from '@nx/jest';
export default { projects: getJestProjects(),};
After
import { getJestProjectsAsync } from '@nx/jest';
export default async () => ({ projects: await getJestProjectsAsync(),});
19.6.x
19.6.0-package-updates
Version: 19.6.0-beta.1
Packages
The following packages will be updated:
Name | Version | Always add to package.json |
---|---|---|
jest | ~29.7.0 | Updated only |
@types/jest | ~29.5.12 | Updated only |
expect | ~29.7.0 | Updated only |
@jest/globals | ~29.7.0 | Updated only |
jest-jasmine2 | ~29.7.0 | Updated only |
jest-environment-jsdom | ~29.7.0 | Updated only |
babel-jest | ~29.7.0 | Updated only |
19.2.x
19.2.0-package-updates
Version: 19.2.0-beta.0
Packages
The following packages will be updated:
Name | Version | Always add to package.json |
---|---|---|
@swc/jest | ~0.2.36 | Updated only |