diff --git a/package.json b/package.json index f70dea9e0e9f45..517fc11e23c73b 100644 --- a/package.json +++ b/package.json @@ -223,7 +223,6 @@ "http-proxy-middleware": "3.0.5", "http-server": "14.1.0", "husky": "^9.1.5", - "identity-obj-proxy": "catalog:jest", "immer": "^9.0.6", "import-fresh": "^3.1.0", "injection-js": "^2.4.0", diff --git a/packages/jest/.eslintrc.json b/packages/jest/.eslintrc.json index 3602c3fee5bf96..f7e3ec115d80de 100644 --- a/packages/jest/.eslintrc.json +++ b/packages/jest/.eslintrc.json @@ -43,9 +43,7 @@ "@jest/types", "jest-runtime", // require'd dynamically only when ts-jest is the configured transformer - "ts-jest", - // require.resolve is used for these packages - "identity-obj-proxy" + "ts-jest" ] } ] diff --git a/packages/jest/package.json b/packages/jest/package.json index 3ab02b6ed054aa..04a1f6072c979b 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -41,7 +41,6 @@ "@nx/devkit": "workspace:*", "@nx/js": "workspace:*", "@phenomnomnominal/tsquery": "catalog:typescript", - "identity-obj-proxy": "catalog:jest", "jest-config": "catalog:jest", "jest-resolve": "catalog:jest", "jest-util": "catalog:jest", diff --git a/packages/jest/plugins/css-module-stub.js b/packages/jest/plugins/css-module-stub.js new file mode 100644 index 00000000000000..f4dd4275801784 --- /dev/null +++ b/packages/jest/plugins/css-module-stub.js @@ -0,0 +1,8 @@ +module.exports = new Proxy( + {}, + { + get(_, key) { + return key === '__esModule' ? false : key; + }, + } +); diff --git a/packages/jest/plugins/resolver.ts b/packages/jest/plugins/resolver.ts index 095bf34b45c6b7..8681a85a0c1ddc 100644 --- a/packages/jest/plugins/resolver.ts +++ b/packages/jest/plugins/resolver.ts @@ -41,7 +41,7 @@ function getCompilerSetup(rootDir: string) { module.exports = function (path: string, options: ResolverOptions) { const ext = extname(path); if (ext === '.css' || ext === '.scss' || ext === '.sass' || ext === '.less') { - return require.resolve('identity-obj-proxy'); + return require.resolve('./css-module-stub.js'); } try { try { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb072c1a397889..530a99d8cba0bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -163,9 +163,6 @@ catalogs: babel-jest: specifier: ^30.0.2 version: 30.0.2 - identity-obj-proxy: - specifier: 3.0.0 - version: 3.0.0 jest: specifier: ^30.0.2 version: 30.0.2 @@ -1025,9 +1022,6 @@ importers: husky: specifier: ^9.1.5 version: 9.1.7 - identity-obj-proxy: - specifier: catalog:jest - version: 3.0.0 immer: specifier: ^9.0.6 version: 9.0.21 @@ -2921,9 +2915,6 @@ importers: '@phenomnomnominal/tsquery': specifier: catalog:typescript version: 6.1.4(typescript@5.9.2) - identity-obj-proxy: - specifier: catalog:jest - version: 3.0.0 jest-config: specifier: catalog:jest version: 30.0.2(@types/node@24.2.0)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2)) @@ -4156,7 +4147,7 @@ importers: version: 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) '@nx/plugin': specifier: 22.7.0-beta.15 - version: 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(eslint@8.57.0)(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2))(typescript@5.9.2)(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) + version: 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@20.19.19)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.0))(eslint@8.57.0)(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@20.19.19)(typescript@5.9.2))(typescript@5.9.2)(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) '@xmldom/xmldom': specifier: ^0.8.10 version: 0.8.11 @@ -36225,38 +36216,6 @@ snapshots: - typescript - verdaccio - '@nx/jest@22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2))(typescript@5.9.2)(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0))': - dependencies: - '@jest/reporters': 30.0.2 - '@jest/test-result': 30.0.2 - '@nx/devkit': 22.7.0-beta.15(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))) - '@nx/js': 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) - '@phenomnomnominal/tsquery': 6.1.4(typescript@5.9.2) - identity-obj-proxy: 3.0.0 - jest-config: 30.0.2(@types/node@24.2.0)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2)) - jest-resolve: 30.0.2 - jest-util: 30.2.0 - minimatch: 10.2.4 - picocolors: 1.1.1 - resolve.exports: 2.0.3 - semver: 7.7.4 - tslib: 2.8.1 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@types/node' - - babel-plugin-macros - - debug - - esbuild-register - - node-notifier - - nx - - supports-color - - ts-node - - typescript - - verdaccio - '@nx/js@22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0))': dependencies: '@babel/core': 7.28.3 @@ -36626,30 +36585,6 @@ snapshots: - typescript - verdaccio - '@nx/plugin@22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(eslint@8.57.0)(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2))(typescript@5.9.2)(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0))': - dependencies: - '@nx/devkit': 22.7.0-beta.15(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))) - '@nx/eslint': 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) - '@nx/jest': 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.3))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(ts-node@10.9.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@types/node@24.2.0)(typescript@5.9.2))(typescript@5.9.2)(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) - '@nx/js': 22.7.0-beta.15(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18))(nx@22.7.0-beta.15(@swc-node/register@1.11.1(@swc/core@1.15.10(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.2))(@swc/core@1.15.10(@swc/helpers@0.5.18)))(verdaccio@6.3.2(encoding@0.1.13)(typanion@3.14.0)) - tslib: 2.8.1 - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@types/node' - - '@zkochan/js-yaml' - - babel-plugin-macros - - debug - - esbuild-register - - eslint - - node-notifier - - nx - - supports-color - - ts-node - - typescript - - verdaccio - '@nx/powerpack-license@3.0.0': dependencies: '@nx/key': 3.0.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f3a4ad9e5e25f3..ff8f81d73c6e34 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -75,7 +75,6 @@ catalogs: '@jest/types': '30.0.1' '@types/jest': '30.0.0' babel-jest: '^30.0.2' - identity-obj-proxy: '3.0.0' jest: '^30.0.2' jest-config: '^30.0.2' jest-diff: '^30.0.2' diff --git a/scripts/css-module-stub.js b/scripts/css-module-stub.js new file mode 100644 index 00000000000000..f4dd4275801784 --- /dev/null +++ b/scripts/css-module-stub.js @@ -0,0 +1,8 @@ +module.exports = new Proxy( + {}, + { + get(_, key) { + return key === '__esModule' ? false : key; + }, + } +); diff --git a/scripts/patched-jest-resolver.js b/scripts/patched-jest-resolver.js index 9589a1e4bc2e7e..befc1c6505b7fc 100644 --- a/scripts/patched-jest-resolver.js +++ b/scripts/patched-jest-resolver.js @@ -97,7 +97,7 @@ module.exports = function (modulePath, options) { // Handle CSS imports if (ext === '.css' || ext === '.scss' || ext === '.sass' || ext === '.less') { - return require.resolve('identity-obj-proxy'); + return require.resolve('./css-module-stub.js'); } try {