diff --git a/packages/jest-preset-default/CHANGELOG.md b/packages/jest-preset-default/CHANGELOG.md index 5c98de4871d6ff..91568a4f749bff 100644 --- a/packages/jest-preset-default/CHANGELOG.md +++ b/packages/jest-preset-default/CHANGELOG.md @@ -5,6 +5,7 @@ ### Breaking Changes - Require Jest v30 or newer and expose the Jest preset from the package root ([#80767](https://github.com/WordPress/gutenberg/pull/80767)). +- Add an `exports` field. Only the package root and `jest-preset` are exposed; deep imports of other files are no longer resolvable ([#80837](https://github.com/WordPress/gutenberg/pull/80837)). ## 12.51.0 (2026-07-14) diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json index bf2455a98a6018..7d9f0405c048c5 100644 --- a/packages/jest-preset-default/package.json +++ b/packages/jest-preset-default/package.json @@ -30,6 +30,11 @@ "jest-preset.js" ], "main": "jest-preset.js", + "exports": { + ".": "./jest-preset.js", + "./jest-preset": "./jest-preset.js", + "./package.json": "./package.json" + }, "dependencies": { "@wordpress/jest-console": "file:../jest-console", "babel-jest": "^30.4.1", diff --git a/test/unit/jest.config.js b/test/unit/jest.config.js index e23d140ec22bd0..9df9e66c98545e 100644 --- a/test/unit/jest.config.js +++ b/test/unit/jest.config.js @@ -4,15 +4,6 @@ const path = require( 'path' ); const glob = require( 'glob' ).sync; -/* - * Resolve the directory of `@wordpress/jest-preset-default` from this - * workspace's `node_modules`. Jest's `preset` option expects a directory - * containing a `jest-preset.js` or `jest-preset.json` file. - */ -const jestPresetDefaultDir = path.dirname( - require.resolve( '@wordpress/jest-preset-default/jest-preset.js' ) -); - /** * Path to root project directory. */ @@ -59,7 +50,7 @@ module.exports = { '/packages/block-library/src/$1.js', '.+\\.wasm$': '/test/unit/config/wasm-stub.js', }, - preset: jestPresetDefaultDir, + preset: require.resolve( '@wordpress/jest-preset-default' ), setupFiles: [ '/test/unit/config/global-mocks.js', '/test/unit/config/gutenberg-env.js',