Skip to content

Bump @tootallnate/once and jest-environment-jsdom#869

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/npm_and_yarn/multi-8f3f190bed
Open

Bump @tootallnate/once and jest-environment-jsdom#869
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/npm_and_yarn/multi-8f3f190bed

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Mar 5, 2026

Removes @tootallnate/once. It's no longer used after updating ancestor dependency 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

Sourced from jest-environment-jsdom's releases.

30.2.0

Chore & Maintenance

  • [*] Update example repo for testing React Native projects (#15832)
  • [*] Update jest-watch-typeahead to v3 (#15830)

Features

  • [jest-environment-jsdom-abstract] Add support for JSDOM v27 (#15834)

Fixes

  • [babel-jest] Export the TransformerConfig interface (#15820)
  • [jest-config] Fix jest.config.ts with TS loader specified in docblock pragma (#15839)

30.1.3

Fixes

  • Fix unstable_mockModule with node: prefixed core modules.

30.1.2

Fixes

  • [jest-snapshot-utils] Correct snapshot header regexp to work with newline across OSes (#15803)

30.1.1

Fixes

  • [jest-snapshot-utils] Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (#15800)

30.1.0

Features

  • [jest-leak-detector] Configurable GC aggressiveness regarding to V8 heap snapshot generation (#15793)
  • [jest-runtime] Reduce redundant ReferenceError messages
  • [jest-core] Include test modules that failed to load when --onlyFailures is active

Fixes

  • `[jest-snapshot-utils] Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (#15787)
  • [jest-circus] Fix it.concurrent not working with describe.skip (#15765)
  • [jest-snapshot] Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings
  • [jest-runtime] Importing from @jest/globals in more than one file no longer breaks relative paths (#15772)

Chore

  • [expect] Update docblock for toContain() to display info on substring check (#15789)

30.0.2

What's Changed

... (truncated)

Changelog

Sourced from jest-environment-jsdom's changelog.

30.2.0

Chore & Maintenance

  • [*] Update example repo for testing React Native projects (#15832)
  • [*] Update jest-watch-typeahead to v3 (#15830)

Features

  • [jest-environment-jsdom-abstract] Add support for JSDOM v27 (#15834)

Fixes

  • [jest-matcher-utils] Fix infinite recursion with self-referential getters in deepCyclicCopyReplaceable (#15831)
  • [babel-jest] Export the TransformerConfig interface (#15820)
  • [jest-config] Fix jest.config.ts with TS loader specified in docblock pragma (#15839)

30.1.3

Fixes

  • Fix unstable_mockModule with node: prefixed core modules.

30.1.2

Fixes

  • [jest-snapshot-utils] Correct snapshot header regexp to work with newline across OSes (#15803)

30.1.1

Fixes

  • [jest-snapshot-utils] Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (#15800)
  • [jest-snapshot-utils] Improve messaging about goo.gl snapshot link change (#15821)

30.1.0

Features

  • [jest-leak-detector] Configurable GC aggressiveness regarding to V8 heap snapshot generation (#15793)
  • [jest-runtime] Reduce redundant ReferenceError messages
  • [jest-core] Include test modules that failed to load when --onlyFailures is active

Fixes

  • [jest-snapshot-utils] Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (#15787)
  • [jest-circus] Fix it.concurrent not working with describe.skip (#15765)
  • [jest-snapshot] Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings
  • [jest-runtime] Importing from @jest/globals in more than one file no longer breaks relative paths (#15772)

... (truncated)

Commits

You 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will 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.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

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>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 5, 2026
@dependabot dependabot Bot requested a review from a team as a code owner March 5, 2026 06:26
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 5, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 5, 2026

Walkthrough

The pull request upgrades the development dependency jest-environment-jsdom from version ^29.7.0 to ^30.2.0 in package.json, updating the testing environment package to a newer major version.

Changes

Cohort / File(s) Summary
Dependency Version Update
package.json
Upgrades devDependency jest-environment-jsdom from ^29.7.0 to ^30.2.0

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning PR description lacks required template sections including impacted UI information, steps to reproduce, and issue/story tracking link (RHCLOUDXXXX). Add missing required sections: impacted UI links, steps to reproduce, and RHCLOUDXXXX issue tracker link. Provide before/after screenshots if UI changes apply. Complete the checklist items.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the two dependencies being updated: @tootallnate/once and jest-environment-jsdom, which matches the actual changes in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/npm_and_yarn/multi-8f3f190bed

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between ab9de08 and 94977c0.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

Comment thread package.json
Comment on lines 101 to +103
"jest": "^29.7.0",
"jest_workaround": "^0.79.19",
"jest-environment-jsdom": "^29.7.0",
"jest-environment-jsdom": "^30.2.0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 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"
fi

Repository: 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@30 is built for the Jest 30 toolchain (it depends on @jest/environment@30.x and 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-jsdom to ^29.x
  • Upgrade to Jest 30: bump jest and all @jest/* packages (including ts-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.

Comment thread package.json
"jest": "^29.7.0",
"jest_workaround": "^0.79.19",
"jest-environment-jsdom": "^29.7.0",
"jest-environment-jsdom": "^30.2.0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 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.json

Repository: 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"
fi

Repository: 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"
done

Repository: 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants