Bump @tootallnate/once and jest-environment-jsdom#869
Bump @tootallnate/once and jest-environment-jsdom#869dependabot[bot] wants to merge 1 commit intomasterfrom
Conversation
Removes [@tootallnate/once](https://github.com/TooTallNate/once). It's no longer used after updating ancestor dependency [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom). These dependencies need to be updated together. Removes `@tootallnate/once` Updates `jest-environment-jsdom` from 29.7.0 to 30.2.0 - [Release notes](https://github.com/jestjs/jest/releases) - [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest-environment-jsdom) --- updated-dependencies: - dependency-name: "@tootallnate/once" dependency-version: dependency-type: indirect - dependency-name: jest-environment-jsdom dependency-version: 30.2.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
WalkthroughThe pull request upgrades the development dependency Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Line 103: The package.json currently lists mismatched Jest package majors:
"jest" is ^29.7.0 while "jest-environment-jsdom" is ^30.2.0; update one so both
Jest packages share the same major version—either upgrade "jest" to a 30.x
release or downgrade "jest-environment-jsdom" to a 29.x release—by editing the
package.json dependency entries for "jest" and "jest-environment-jsdom" to the
chosen aligned version and then run install (or lockfile update) to ensure
consistency.
- Around line 101-103: The package.json currently mixes major versions between
"jest" (^29.7.0) and "jest-environment-jsdom" (^30.2.0), causing incompatible
`@jest/`* packages to be installed; fix by aligning Jest majors: either downgrade
"jest-environment-jsdom" to a ^29.x version to match "jest" or upgrade "jest"
(and all `@jest/`* packages such as "jest-environment-jsdom" and "ts-jest") to
^30.x so all `@jest` dependencies share the same major; update the package.json
entries for "jest", "jest-environment-jsdom", and any `@jest/`* packages (e.g.,
"ts-jest") accordingly and run a fresh install to update the lockfile.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a300dee3-a3ca-4052-8529-5e7cdbee4fb1
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json
| "jest": "^29.7.0", | ||
| "jest_workaround": "^0.79.19", | ||
| "jest-environment-jsdom": "^29.7.0", | ||
| "jest-environment-jsdom": "^30.2.0", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Declared devDependencies:"
jq -r '.devDependencies | {jest, "jest-environment-jsdom", "ts-jest", "@types/jest"}' package.json
LOCKFILE="$(fd '^package-lock\.json$' -HI | head -n1 || true)"
if [ -n "$LOCKFILE" ]; then
echo
echo "Resolved lockfile versions (if present):"
jq -r '
.packages
| to_entries[]
| select(.key|test("node_modules/(jest|jest-environment-jsdom|@jest/environment|@jest/core)$"))
| "\(.key): \(.value.version)"
' "$LOCKFILE"
fiRepository: RedHatInsights/notifications-frontend
Length of output: 564
🌐 Web query:
jest 29.x jest-environment-jsdom 30 compatibility
💡 Result:
jest@29.x and jest-environment-jsdom@30.x are not a supported/matched combination.
jest-environment-jsdom@30is built for the Jest 30 toolchain (it depends on@jest/environment@30.xand related@jest/*packages), so mixing it with Jest 29 can lead to version-mismatch/runtime issues. [2]- Ecosystem guidance is to keep Jest and its official environment packages on the same major (e.g., Jest 29 + jsdom env 29). [3]
What to do
- If you must stay on Jest 29: use
jest-environment-jsdom@^29(typically the same minor as your Jest 29 version). [3] - If you want jest-environment-jsdom@30: upgrade to Jest 30, and ensure you meet Jest 30’s platform requirements (notably newer Node; Jest 30 also updates the jsdom version used by the environment). [1]
Sources: Jest v29→v30 upgrade guide [1], jest-environment-jsdom@30 package metadata [2], Backstage/Jest version pairing guidance [3].
Align Jest package majors before merging—this is a compatibility issue.
Line 101 declares jest@^29.7.0 while Line 103 declares jest-environment-jsdom@^30.2.0. These versions are incompatible: jest-environment-jsdom@30 requires @jest/environment@30, but your lockfile resolves jest@29.7.0 with @jest/environment@29.7.0. This creates a duplicated mismatch where two incompatible versions of @jest/environment are installed, which can cause runtime issues.
Choose one approach:
- Keep Jest 29: downgrade
jest-environment-jsdomto^29.x - Upgrade to Jest 30: bump
jestand all@jest/*packages (includingts-jest) to version 30
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@package.json` around lines 101 - 103, The package.json currently mixes major
versions between "jest" (^29.7.0) and "jest-environment-jsdom" (^30.2.0),
causing incompatible `@jest/`* packages to be installed; fix by aligning Jest
majors: either downgrade "jest-environment-jsdom" to a ^29.x version to match
"jest" or upgrade "jest" (and all `@jest/`* packages such as
"jest-environment-jsdom" and "ts-jest") to ^30.x so all `@jest` dependencies share
the same major; update the package.json entries for "jest",
"jest-environment-jsdom", and any `@jest/`* packages (e.g., "ts-jest") accordingly
and run a fresh install to update the lockfile.
| "jest": "^29.7.0", | ||
| "jest_workaround": "^0.79.19", | ||
| "jest-environment-jsdom": "^29.7.0", | ||
| "jest-environment-jsdom": "^30.2.0", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Checking package.json jest versions ==="
jq -r '.devDependencies | with_entries(select(.key | startswith("jest"))) | to_entries[] | "\(.key): \(.value.value)"' package.json | sort
echo -e "\n=== Checking package-lock.json for jest-environment-jsdom ==="
if [ -f "package-lock.json" ]; then
jq -r '.packages[""].devDependencies["jest-environment-jsdom"] // "missing"' package-lock.json
echo "Lockfile lockfileVersion:" $(jq -r '.lockfileVersion' package-lock.json)
else
echo "package-lock.json not found"
fi
echo -e "\n=== Checking package.json jest entry ==="
jq -r '.devDependencies.jest' package.jsonRepository: RedHatInsights/notifications-frontend
Length of output: 214
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Checking package.json jest-related devDependencies ==="
jq '.devDependencies | to_entries[] | select(.key | startswith("jest")) | "\(.key): \(.value)"' package.json
echo -e "\n=== Checking if package-lock.json exists ==="
if [ -f "package-lock.json" ]; then
echo "package-lock.json exists"
echo "Checking jest-environment-jsdom in lockfile..."
jq '.packages[""].devDependencies.jest // "not found"' package-lock.json 2>/dev/null || echo "Entry may not exist in expected location"
jq '.packages[""].devDependencies["jest-environment-jsdom"] // "not found"' package-lock.json 2>/dev/null || echo "Entry may not exist"
else
echo "package-lock.json NOT found"
fiRepository: RedHatInsights/notifications-frontend
Length of output: 404
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Checking git diff for package-lock.json changes ==="
git diff --name-only HEAD~1 2>/dev/null | grep -i package-lock || echo "No package-lock.json changes detected in recent commits"
echo -e "\n=== Checking if package-lock.json was modified in current PR/branch ==="
git status package-lock.json 2>/dev/null || echo "Cannot determine git status"
echo -e "\n=== Verifying lockfile lockfileVersion and integrity ==="
jq '{lockfileVersion, lockfileVersion_minor: .lockfileVersion}' package-lock.json 2>/dev/null || echo "Could not read lockfile version"
echo -e "\n=== Comparing all jest-related versions between package.json and lockfile ==="
echo "From package.json:"
jq '.devDependencies | to_entries[] | select(.key | startswith("jest")) | .key' package.json | while read key; do
key=$(echo "$key" | tr -d '"')
pkg_version=$(jq -r ".devDependencies[\"$key\"]" package.json)
lock_version=$(jq -r ".packages[\"\"].devDependencies[\"$key\"] // \"missing\"" package-lock.json)
echo " $key: package.json=$pkg_version, lockfile=$lock_version"
doneRepository: RedHatInsights/notifications-frontend
Length of output: 824
Align Jest major version across the package family.
Currently jest is pinned to ^29.7.0 while jest-environment-jsdom is at ^30.2.0. This cross-major version dependency creates compatibility risk and should be resolved by either upgrading jest to 30.x or downgrading jest-environment-jsdom to 29.x to maintain version alignment across the Jest package family.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@package.json` at line 103, The package.json currently lists mismatched Jest
package majors: "jest" is ^29.7.0 while "jest-environment-jsdom" is ^30.2.0;
update one so both Jest packages share the same major version—either upgrade
"jest" to a 30.x release or downgrade "jest-environment-jsdom" to a 29.x
release—by editing the package.json dependency entries for "jest" and
"jest-environment-jsdom" to the chosen aligned version and then run install (or
lockfile update) to ensure consistency.
Removes @tootallnate/once. It's no longer used after updating ancestor dependency jest-environment-jsdom. These dependencies need to be updated together.
Removes
@tootallnate/onceUpdates
jest-environment-jsdomfrom 29.7.0 to 30.2.0Release notes
Sourced from jest-environment-jsdom's releases.
... (truncated)
Changelog
Sourced from jest-environment-jsdom's changelog.
... (truncated)
Commits
855864ev30.2.0ebfa31cv30.1.2d347c0fv30.1.14d5f41dv30.1.022236cfv30.0.5f4296d2v30.0.4393acbfv30.0.25ce865bv30.0.1469f665v30.0.0ce14203v30.0.0-rc.1You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.