Skip to content

Bump node-notifier and jest - #15

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/multi-eb22776f25
Open

Bump node-notifier and jest#15
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/multi-eb22776f25

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 22, 2026

Copy link
Copy Markdown

Removes node-notifier. It's no longer used after updating ancestor dependency jest. These dependencies need to be updated together.

Removes node-notifier

Updates jest from 24.8.0 to 30.4.2

Release notes

Sourced from jest's releases.

v30.4.2

Fixes

  • [jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#16150)

Full Changelog: jestjs/jest@v30.4.1...v30.4.2

v30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

Full Changelog: jestjs/jest@v30.4.0...v30.4.1

v30.4.0

Big release! 😀

Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).

In addition we now support fake timers for the recently released Temporal API in Node v26.

React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.

Due to all the changes, there might be regressions that snuck in. Please report them!

Full list of changes below

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)

... (truncated)

Changelog

Sourced from jest's changelog.

30.4.2

Fixes

  • [jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#16150)

30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

30.4.0

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)
  • [pretty-format] Support React 19 (#16123)

Fixes

  • [expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
  • [@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
  • [fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
  • [jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
  • [jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
  • [jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
  • [jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
  • [jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
  • [jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
  • [jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
  • [jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by simenb, a new releaser for jest since your current version.


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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.

Summary by CodeRabbit

  • Chores
    • Updated the Jest development tooling to a newer version.

Removes [node-notifier](https://github.com/mikaelbr/node-notifier). It's no longer used after updating ancestor dependency [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest). These dependencies need to be updated together.


Removes `node-notifier`

Updates `jest` from 24.8.0 to 30.4.2
- [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.4.2/packages/jest)

---
updated-dependencies:
- dependency-name: node-notifier
  dependency-version:
  dependency-type: indirect
- dependency-name: jest
  dependency-version: 30.4.2
  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 Jul 22, 2026
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedjest@​24.8.0 ⏵ 30.4.210010070 +289 -3100

View full report

@socket-security

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm yargs is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: package-lock.jsonnpm/jest@30.4.2npm/yargs@17.7.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/yargs@17.7.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Jest’s development dependency version is updated from ^24.8.0 to ^30.4.2 in package.json. No scripts or other dependencies change.

Changes

Jest dependency upgrade

Layer / File(s) Summary
Update Jest development dependency
package.json
The devDependencies.jest version changes from ^24.8.0 to ^30.4.2.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: upgrading Jest and removing node-notifier.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/npm_and_yarn/multi-eb22776f25

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed: dependency version conflict. Check your lock file or package.json.


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

@gitar-bot

gitar-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown
CI failed: The CI build is failing because it uses a deprecated Ruby setup action that no longer supports Ruby version 2.6.x.

Overview

The build failed due to an infrastructure configuration issue where an outdated GitHub Action is attempting to install a deprecated and unavailable version of Ruby (2.6.x).

Failures

Deprecated Setup Action Failure (confidence: high)

  • Type: configuration
  • Affected jobs: 88821145645
  • Related to change: no
  • Root cause: The workflow uses the deprecated actions/setup-ruby@v1, which fails to locate the specified Ruby 2.6.x environment on the updated runner.
  • Suggested fix: Update the workflow configuration to use ruby/setup-ruby (the current version) and migrate to a supported Ruby version (e.g., 3.2+).

Summary

  • Change-related failures: 0
  • Infrastructure/flaky failures: 1 (Infrastructure configuration error)
  • Recommended action: Update the .github/workflows/ configuration to use the modern ruby/setup-ruby action. This failure is independent of the PR changes but blocks the build.
Code Review ⚠️ Changes requested 0 resolved / 2 findings

Updates Jest to v30.4.2 and removes unused node-notifier, but fails because jest.config.js contains the removed 'testURL' option and '@types/jest' remains on an incompatible v24 pin.

⚠️ Bug: jest.config.js uses removed testURL option

📄 package.json:46

testURL was removed in Jest 28 and is not a valid config option in Jest 30; Jest now reports it as an unknown/validation-warning option and ignores it, so the intended location.href default is silently lost. Since this upgrade jumps from Jest 24 to 30, replace testURL: 'http://localhost/' with testEnvironment: 'jsdom' plus testEnvironmentOptions: { url: 'http://localhost/' } (and add the jest-environment-jsdom package, which is no longer bundled), or remove it entirely if no test relies on jsdom.

💡 Quality: @types/jest still pinned to v24 alongside jest 30

📄 package.json:38 📄 package.json:46

@types/jest remains at ^24.0.15 while jest is bumped to ^30.4.2, a six-major-version mismatch that can surface incorrect or missing type definitions for anyone consuming Jest globals via TypeScript. Bump @types/jest to ^30 (or remove it, since Jest 30 ships its own types) to keep the type declarations in sync with the runtime.

🤖 Prompt for agents
Code Review: Updates Jest to v30.4.2 and removes unused node-notifier, but fails because jest.config.js contains the removed 'testURL' option and '@types/jest' remains on an incompatible v24 pin.

1. ⚠️ Bug: jest.config.js uses removed `testURL` option
   Files: package.json:46

   `testURL` was removed in Jest 28 and is not a valid config option in Jest 30; Jest now reports it as an unknown/validation-warning option and ignores it, so the intended `location.href` default is silently lost. Since this upgrade jumps from Jest 24 to 30, replace `testURL: 'http://localhost/'` with `testEnvironment: 'jsdom'` plus `testEnvironmentOptions: { url: 'http://localhost/' }` (and add the `jest-environment-jsdom` package, which is no longer bundled), or remove it entirely if no test relies on jsdom.

2. 💡 Quality: @types/jest still pinned to v24 alongside jest 30
   Files: package.json:38, package.json:46

   `@types/jest` remains at `^24.0.15` while `jest` is bumped to `^30.4.2`, a six-major-version mismatch that can surface incorrect or missing type definitions for anyone consuming Jest globals via TypeScript. Bump `@types/jest` to `^30` (or remove it, since Jest 30 ships its own types) to keep the type declarations in sync with the runtime.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Important

Your trial ends in 3 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

Comment thread package.json
"eslint-plugin-react": "^7.14.2",
"husky": "^2.5.0",
"jest": "^24.8.0"
"jest": "^30.4.2"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Bug: jest.config.js uses removed testURL option

testURL was removed in Jest 28 and is not a valid config option in Jest 30; Jest now reports it as an unknown/validation-warning option and ignores it, so the intended location.href default is silently lost. Since this upgrade jumps from Jest 24 to 30, replace testURL: 'http://localhost/' with testEnvironment: 'jsdom' plus testEnvironmentOptions: { url: 'http://localhost/' } (and add the jest-environment-jsdom package, which is no longer bundled), or remove it entirely if no test relies on jsdom.

Was this helpful? React with 👍 / 👎

Comment thread package.json
"eslint-plugin-react": "^7.14.2",
"husky": "^2.5.0",
"jest": "^24.8.0"
"jest": "^30.4.2"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Quality: @types/jest still pinned to v24 alongside jest 30

@types/jest remains at ^24.0.15 while jest is bumped to ^30.4.2, a six-major-version mismatch that can surface incorrect or missing type definitions for anyone consuming Jest globals via TypeScript. Bump @types/jest to ^30 (or remove it, since Jest 30 ships its own types) to keep the type declarations in sync with the runtime.

Was this helpful? React with 👍 / 👎

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@package.json`:
- Line 46: Remove the obsolete testURL setting from the Jest configuration and
do not add a jsdom override. If a custom test origin is required elsewhere,
configure it through testEnvironmentOptions.url instead.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df79e2de-8d37-4300-b6c3-316d3f0736c7

📥 Commits

Reviewing files that changed from the base of the PR and between ffee966 and 29e1fdc.

⛔ 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
"eslint-plugin-react": "^7.14.2",
"husky": "^2.5.0",
"jest": "^24.8.0"
"jest": "^30.4.2"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the Jest environment contract without executing project code.
rg -n '"jest-environment-jsdom"|testEnvironment|testEnvironmentOptions|testURL' package.json jest.config.js

Repository: big-main/javascript-algorithms

Length of output: 218


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n== package.json ==\n'
cat -n package.json | sed -n '1,120p'

printf '\n== jest.config.js ==\n'
cat -n jest.config.js | sed -n '1,120p'

printf '\n== Jest-related references ==\n'
rg -n '"jest"|jest-environment-jsdom|testEnvironment|testEnvironmentOptions|testURL' package.json jest.config.js .github -g '!**/node_modules/**'

Repository: big-main/javascript-algorithms

Length of output: 3287


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n== test files ==\n'
git ls-files '*test*.js' '*spec*.js' '*test*.jsx' '*spec*.jsx' | sed -n '1,200p'

printf '\n== browser/global usage in tests ==\n'
rg -n '\b(window|document|location|navigator|localStorage|sessionStorage|history|HTMLElement|MouseEvent|KeyboardEvent|CustomEvent)\b' \
  --glob '*test*.js' --glob '*spec*.js' --glob '*test*.jsx' --glob '*spec*.jsx' .

printf '\n== jsdom-related package references ==\n'
rg -n 'jsdom|jest-environment-jsdom|testEnvironment' package.json jest.config.js .github README.md

Repository: big-main/javascript-algorithms

Length of output: 10330


🌐 Web query:

Jest 30 testURL removed testEnvironmentOptions url default test environment jsdom node

💡 Result:

In Jest 30, the testURL configuration option has been removed [1][2]. To set the URL for the jsdom test environment, you must now use the testEnvironmentOptions property in your Jest configuration [3][4]. Configuration Methods: 1. Jest Configuration File (e.g., jest.config.js): You can set the URL globally by adding it to testEnvironmentOptions [3][4]: js module.exports = { testEnvironment: 'jsdom', testEnvironmentOptions: { url: 'https://example.com/', }, }; 2. Docblock Pragmas (Per File): You can also set the URL for individual test files using a docblock comment at the top of the file. The testEnvironmentOptions string must be valid JSON [3][4]: js / * `@jest-environment` jsdom * `@jest-environment-options` {"url": "https://example.com/"} */ test('uses the specified URL', () => { expect(window.location.href).toBe('https://example.com/'); }); The default URL for the jsdom environment remains http://localhost if not otherwise specified [3][4]. Note: Jest 30 upgraded jest-environment-jsdom to JSDOM 26 [5][6]. This version includes stricter spec compliance that may affect how window.location behaves or is mocked [6][7]. If you encounter issues with mocking window.location, the Jest team suggests using @jest/environment-jsdom-abstract to compose a custom environment or applying specific patches to JSDOM [6][7].

Citations:


🌐 Web query:

Jest 30 unknown config option testURL validation warning error removed option

💡 Result:

The testURL configuration option was removed from Jest in version 28.0.0 [1][2][3]. If you are encountering an "unknown option" validation warning in Jest 30, it is because testURL is no longer a valid top-level configuration key [4][5]. To resolve this warning and properly set the URL, you must migrate the setting to testEnvironmentOptions in your Jest configuration file [4][5][6]: // Before (invalid in Jest 30) { "testURL": "http://localhost:3000" } // After (correct) { "testEnvironmentOptions": { "url": "http://localhost:3000" } } The testURL option was deprecated and replaced as part of a broader effort to decouple Jest's core configuration from specific test environment implementations like jsdom [5][6]. Jest maintains a list of deprecated configuration options that, when detected, will trigger a validation warning instructing you to update your configuration [4].

Citations:


🌐 Web query:

Jest config unknown option validation error unknown option testURL

💡 Result:

The unknown option validation error for testURL occurs because the testURL configuration option was removed in Jest 28.0.0 [1][2]. To resolve this error, you must migrate your configuration to use testEnvironmentOptions instead [3][4]. You should pass the URL as a property within the testEnvironmentOptions object [5][4]. Update your jest.config.js or package.json configuration as follows [3][4]: // Before (causes error): { "testURL": "http://localhost/" } // After (correct): { "testEnvironmentOptions": { "url": "http://localhost/" } } This change ensures compatibility with current versions of Jest, as testEnvironmentOptions is the standard way to pass environment-specific configurations like the URL to JSDOM [6][4].

Citations:


Remove the obsolete testURL setting. Jest 30 no longer accepts testURL in jest.config.js; if a test ever needs a custom origin, move it to testEnvironmentOptions.url instead. No jsdom override is needed for this suite.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 46, Remove the obsolete testURL setting from the Jest
configuration and do not add a jsdom override. If a custom test origin is
required elsewhere, configure it through testEnvironmentOptions.url instead.

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