fix(create-app): pin jest and @jest/environment-jsdom-abstract to ~30.2.0

30.4.0 introduced synchronous require(ESM) that requires Node v24.9+,
breaking tests on Node 22. 30.3.0 pulls in @sinonjs/fake-timers@^15
which conflicts with @types/sinon@^17 (used by aws-sdk-client-mock).
30.2.0 avoids both issues cleanly.

Resets lockfile to a clean base-install from master constraints.

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Fredrik Adelöw
2026-05-11 15:04:51 +02:00
parent e7020fa352
commit d61a91846e
6 changed files with 350 additions and 371 deletions
+1 -1
View File
@@ -2,4 +2,4 @@
'@backstage/create-app': patch
---
Pinned the Jest version range in app templates to `~30.3.0` to prevent automatic upgrades to Jest 30.4.x, which requires Node.js v24.9+ and breaks tests on Node 22.
Pinned the Jest version range in app templates to `~30.2.0` to prevent automatic upgrades to Jest 30.4.x, which requires Node.js v24.9+ and breaks tests on Node 22.
+2 -2
View File
@@ -133,7 +133,7 @@
"@backstage/eslint-plugin": "workspace:*",
"@backstage/repo-tools": "workspace:*",
"@changesets/cli": "^2.14.0",
"@jest/environment-jsdom-abstract": "~30.3.0",
"@jest/environment-jsdom-abstract": "~30.2.0",
"@octokit/rest": "^19.0.3",
"@playwright/test": "^1.32.3",
"@spotify/eslint-plugin": "^15.0.0",
@@ -162,7 +162,7 @@
"eslint-plugin-testing-library": "^7.0.0",
"fs-extra": "^11.2.0",
"husky": "^9.0.0",
"jest": "~30.3.0",
"jest": "~30.2.0",
"js-yaml": "^4.1.1",
"jsdom": "^27",
"lint-staged": "^16.0.0",
+2 -2
View File
@@ -94,11 +94,11 @@
"@backstage/plugin-scaffolder-node-test-utils": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@backstage/theme": "workspace:^",
"@jest/environment-jsdom-abstract": "~30.3.0",
"@jest/environment-jsdom-abstract": "~30.2.0",
"@types/fs-extra": "^11.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^22.13.14",
"jest": "~30.3.0",
"jest": "~30.2.0",
"jsdom": "^27.1.0",
"nodemon": "^3.0.1"
},
@@ -39,10 +39,10 @@
"@backstage/cli": "^{{version '@backstage/cli'}}",
"@backstage/cli-defaults": "^{{version '@backstage/cli-defaults'}}",
"@backstage/e2e-test-utils": "^{{version '@backstage/e2e-test-utils'}}",
"@jest/environment-jsdom-abstract": "~30.3.0",
"@jest/environment-jsdom-abstract": "~30.2.0",
"@playwright/test": "^1.32.3",
"@types/jest": "^30.0.0",
"jest": "~30.3.0",
"jest": "~30.2.0",
"jsdom": "^27.1.0",
"node-gyp": "^10.0.0",
"prettier": "^2.3.2",
@@ -52,10 +52,10 @@
"@backstage/cli": "^{{version '@backstage/cli'}}",
"@backstage/cli-defaults": "^{{version '@backstage/cli-defaults'}}",
"@backstage/e2e-test-utils": "^{{version '@backstage/e2e-test-utils'}}",
"@jest/environment-jsdom-abstract": "~30.3.0",
"@jest/environment-jsdom-abstract": "~30.2.0",
"@playwright/test": "^1.32.3",
"@types/jest": "^30.0.0",
"jest": "~30.3.0",
"jest": "~30.2.0",
"jsdom": "^27.1.0",
"node-gyp": "^10.0.0",
"prettier": "^2.3.2",
+341 -362
View File
File diff suppressed because it is too large Load Diff