Update dependency node-notifier to v12 #8

Open
renovate wants to merge 1 commit from renovate/node-notifier-12.x-lockfile into master
Collaborator

This PR contains the following updates:

Package Change Age Confidence
node-notifier 8.0.1 → 12.1.0 age confidence

Release Notes

mikaelbr/node-notifier (node-notifier)

v12.1.0

Compare Source

Features:

  • Rewritten in TypeScript, and types are now included in the package. @types/node-notifier is no longer needed. Each notifier has typed options (NotificationCenterNotification, WindowsToasterNotification, WindowsBalloonNotification, NotifySendNotification, GrowlNotification), and the notifier classes can be used as types, e.g. const nc: NotificationCenter = new NotificationCenter().

Migrating from @types/node-notifier:

  • Uninstall @types/node-notifier. TypeScript uses the bundled types once they're installed and ignores it.
  • The types are no longer in a namespace. Replace e.g. NotificationCenter.Notification with NotificationCenterNotification, NotifySend.Notification with NotifySendNotification, and NodeNotifier with DefaultNotifier. NotificationCallback, NotificationMetadata and NotifierOptions (DT's Option) are exported by name.
  • Only the options documented in the README are typed. Raw notifier flags and old aliases (e.g. time for notify-send) still work at runtime, but need a cast.
  • JavaScript users have nothing to change.

Fixes:

  • Windows: WindowsBalloon with wait no longer throws when notifu exits without an error code.
  • Linux: NotifySend.notify returns the notifier when notify-send isn't found, instead of undefined.

Internal:

  • Built with tsdown into dist/, which is what's published together with vendor/. The public entry points (node-notifier and node-notifier/notifiers/*) are unchanged.
  • Tests and examples are TypeScript, and CI typechecks and smoke tests the packed package with import, require and TypeScript.
  • pnpm test no longer runs the linter first. Use pnpm lint.

v12.0.0

Compare Source

Breaking changes:

  • node-notifier is now ES modules only ("type": "module"). Use import notifier from 'node-notifier', or named exports like import { notify, NotificationCenter } from 'node-notifier'. require('node-notifier') keeps working through Node's require(esm) and returns the same notifier instance as before, and require('node-notifier/notifiers/<name>') still returns the notifier class.
  • The package now has an exports map. Only the root and node-notifier/notifiers/* can be imported; internal files such as node-notifier/lib/utils are no longer reachable.
  • macOS: updates to terminal-notifier 3.0.0, which runs natively on Apple silicon (#​361, #​441). To migrate:
    • Requires macOS 10.14+ (use withFallback: true for Growl on older versions).
    • wait, timeout and the click/timeout events only work with actions or reply. Add actions if you need to wait for the user.
    • icon, sender, closeLabel and dropdownLabel are ignored. Use customPath with your own build for a custom icon.
    • contentImage must be a local file.
    • Metadata no longer has deliveredAt/activationAt.
    • macOS asks for notification permission again.

Features:

  • Linux: adds actions to NotifySend, using the action buttons in notify-send (libnotify) 0.7.10+ (#​445). The notification waits for the user, choosing an action emits click with the label as metadata.activationValue, and running out of time emits timeout, the same as macOS.
  • WSL: set NODE_NOTIFIER_WSL_NOTIFIER=linux to use NotifySend instead of WindowsToaster for the default notifier, e.g. when running an X server with a notification daemon (#​412). It must be set before node-notifier is imported. Unset, WSL keeps using WindowsToaster.
  • Windows: adds duration: 'short' | 'long' to WindowsToaster, passed to SnoreToast as -d, to keep a toast on screen for about 25 seconds instead of about 7 (#​401, #​223). Other values are dropped, and wait/timeout are unchanged. x64 only with the bundled binary, as the bundled 32-bit SnoreToast (0.7.0) lacks -d. On other architectures it is dropped unless customPath is set.
  • Linux: adds transient to NotifySend. transient: true passes --hint=int:transient:1, so the notification isn't kept in the notification list (e.g. GNOME Shell), and can be combined with hint (#​188).
  • Windows: adds application to WindowsToaster, passed to SnoreToast as -application, so clicking a notification after node-notifier has stopped listening (e.g. from the action center) starts your app (#​430).

Fixes:

  • WSL: converts icon paths on Windows drives (/mnt/c/...) and skips other icons instead of showing an empty "SnoreToast" notification (#​354).
  • Windows: WindowsToaster now accepts remove without a message, the same as close (#​431).
  • Docs: adds README troubleshooting for cron, PM2 and services (#​226, #​333).
  • Windows: updates the bundled 64-bit SnoreToast to 0.9.1, so clicks and action buttons are reported back when using a custom appID (#​326, #​332, #​375). The binary is KDE's own build of the official release. The 32-bit binary stays on 0.7.0, as KDE publishes no 32-bit build. Note that the new binary is not code-signed.
  • Windows: fixes notify throwing in cluster worker processes (#​410).

Internal:

  • Notifiers are now classes extending EventEmitter (they can still be called without new).
  • Uses a files allowlist instead of .npmignore, and drops the outdated nexe example build scripts.
  • Tests import from vitest explicitly instead of relying on globals.
  • The bundled terminal-notifier is checked against the release checksum in CI (scripts/vendor-terminal-notifier.sh).
  • The bundled 64-bit SnoreToast is checked against KDE's build checksum in CI (scripts/vendor-snoretoast.sh).
  • Adds source and build info for the bundled SnoreToast binaries in vendor/snoreToast/README.md (#​381).

Thanks to @​Sebastian-Webster for the original Apple silicon work in #​441, to @​DuBistKomisch for finding and fixing the SnoreToast appID issue in #​375 and upstream, and to @​marmul for the original notify-send actions work in #​445.

v11.0.0

Compare Source

Even though this is a major version, there are no real breaking changes for most people.
This removes uneeded external dependencies and updates the internal dependencies to the latest versions.

But it now only checks and verifies node versions 20.x, 22.x, 24.x. So if you are on older versions, this might break.

There will be an upcoming major version that has bigger breaking changes, so this is an intermediate major version to clean up the codebase and dependencies.

Features:

  • Adds clearAll() to NotificationCenter to stop waiting on active notifications, so the application can exit without waiting for their timeouts. See #​210

Fixes:

  • Makes the bundled SnoreToast binaries executable, so WindowsToaster works under WSL. See #​458

Thanks to @​mtsmfm

v10.0.1

Compare Source

Fixes:

  • Fix custom path for windows #​382

Thanks to @​yoavain

v10.0.0

Compare Source

Breaking changes:

Setting NSAllowsArbitraryLoads as false for security reasons within terminal-notifier. Meaning non-https images/loads for terminal-notifier will no longer work. See #​362

Fixes
  • fix: options.customPath doesn't work for windows toaster. See #​373

v9.0.1

Compare Source

  • Fixes potential security issue with non-escaping input parameters for notify-send.

v9.0.0

Compare Source

Breaking changes:

  • Corrects mapping on snoretoast activate event. See #​347.
Patches
  • Fix named pipe in WSL. See #​342.
  • fixes possible injection issue for notify-send

v8.0.2

Compare Source

  • Fixes potential security issue with non-escaping input parameters for notify-send.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [node-notifier](https://github.com/mikaelbr/node-notifier) | [`8.0.1` → `12.1.0`](https://renovatebot.com/diffs/npm/node-notifier/8.0.1/12.1.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/node-notifier/12.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/node-notifier/8.0.1/12.1.0?slim=true) | --- ### Release Notes <details> <summary>mikaelbr/node-notifier (node-notifier)</summary> ### [`v12.1.0`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v1210) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v12.0.0...v12.1.0) Features: - Rewritten in TypeScript, and types are now included in the package. `@types/node-notifier` is no longer needed. Each notifier has typed options (`NotificationCenterNotification`, `WindowsToasterNotification`, `WindowsBalloonNotification`, `NotifySendNotification`, `GrowlNotification`), and the notifier classes can be used as types, e.g. `const nc: NotificationCenter = new NotificationCenter()`. Migrating from `@types/node-notifier`: - Uninstall `@types/node-notifier`. TypeScript uses the bundled types once they're installed and ignores it. - The types are no longer in a namespace. Replace e.g. `NotificationCenter.Notification` with `NotificationCenterNotification`, `NotifySend.Notification` with `NotifySendNotification`, and `NodeNotifier` with `DefaultNotifier`. `NotificationCallback`, `NotificationMetadata` and `NotifierOptions` (DT's `Option`) are exported by name. - Only the options documented in the README are typed. Raw notifier flags and old aliases (e.g. `time` for notify-send) still work at runtime, but need a cast. - JavaScript users have nothing to change. Fixes: - Windows: `WindowsBalloon` with `wait` no longer throws when notifu exits without an error code. - Linux: `NotifySend.notify` returns the notifier when `notify-send` isn't found, instead of `undefined`. Internal: - Built with [tsdown](https://tsdown.dev) into `dist/`, which is what's published together with `vendor/`. The public entry points (`node-notifier` and `node-notifier/notifiers/*`) are unchanged. - Tests and examples are TypeScript, and CI typechecks and smoke tests the packed package with `import`, `require` and TypeScript. - `pnpm test` no longer runs the linter first. Use `pnpm lint`. ### [`v12.0.0`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v1200) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v11.0.0...v12.0.0) Breaking changes: - `node-notifier` is now ES modules only (`"type": "module"`). Use `import notifier from 'node-notifier'`, or named exports like `import { notify, NotificationCenter } from 'node-notifier'`. `require('node-notifier')` keeps working through Node's `require(esm)` and returns the same notifier instance as before, and `require('node-notifier/notifiers/<name>')` still returns the notifier class. - The package now has an `exports` map. Only the root and `node-notifier/notifiers/*` can be imported; internal files such as `node-notifier/lib/utils` are no longer reachable. - macOS: updates to [`terminal-notifier` 3.0.0](https://github.com/julienXX/terminal-notifier/releases/tag/3.0.0), which runs natively on Apple silicon ([#&#8203;361](https://github.com/mikaelbr/node-notifier/issues/361), [#&#8203;441](https://github.com/mikaelbr/node-notifier/pull/441)). To migrate: - Requires macOS 10.14+ (use `withFallback: true` for Growl on older versions). - `wait`, `timeout` and the `click`/`timeout` events only work with `actions` or `reply`. Add `actions` if you need to wait for the user. - `icon`, `sender`, `closeLabel` and `dropdownLabel` are ignored. Use `customPath` with your own build for a custom icon. - `contentImage` must be a local file. - Metadata no longer has `deliveredAt`/`activationAt`. - macOS asks for notification permission again. Features: - Linux: adds `actions` to `NotifySend`, using the action buttons in `notify-send` (libnotify) 0.7.10+ ([#&#8203;445](https://github.com/mikaelbr/node-notifier/pull/445)). The notification waits for the user, choosing an action emits `click` with the label as `metadata.activationValue`, and running out of time emits `timeout`, the same as macOS. - WSL: set `NODE_NOTIFIER_WSL_NOTIFIER=linux` to use `NotifySend` instead of `WindowsToaster` for the default notifier, e.g. when running an X server with a notification daemon ([#&#8203;412](https://github.com/mikaelbr/node-notifier/issues/412)). It must be set before `node-notifier` is imported. Unset, WSL keeps using `WindowsToaster`. - Windows: adds `duration: 'short' | 'long'` to `WindowsToaster`, passed to SnoreToast as `-d`, to keep a toast on screen for about 25 seconds instead of about 7 ([#&#8203;401](https://github.com/mikaelbr/node-notifier/issues/401), [#&#8203;223](https://github.com/mikaelbr/node-notifier/issues/223)). Other values are dropped, and `wait`/`timeout` are unchanged. x64 only with the bundled binary, as the bundled 32-bit SnoreToast (0.7.0) lacks `-d`. On other architectures it is dropped unless `customPath` is set. - Linux: adds `transient` to `NotifySend`. `transient: true` passes `--hint=int:transient:1`, so the notification isn't kept in the notification list (e.g. GNOME Shell), and can be combined with `hint` ([#&#8203;188](https://github.com/mikaelbr/node-notifier/issues/188)). - Windows: adds `application` to `WindowsToaster`, passed to SnoreToast as `-application`, so clicking a notification after node-notifier has stopped listening (e.g. from the action center) starts your app ([#&#8203;430](https://github.com/mikaelbr/node-notifier/issues/430)). Fixes: - WSL: converts `icon` paths on Windows drives (`/mnt/c/...`) and skips other icons instead of showing an empty "SnoreToast" notification ([#&#8203;354](https://github.com/mikaelbr/node-notifier/issues/354)). - Windows: `WindowsToaster` now accepts `remove` without a `message`, the same as `close` ([#&#8203;431](https://github.com/mikaelbr/node-notifier/issues/431)). - Docs: adds README troubleshooting for cron, PM2 and services ([#&#8203;226](https://github.com/mikaelbr/node-notifier/issues/226), [#&#8203;333](https://github.com/mikaelbr/node-notifier/issues/333)). - Windows: updates the bundled 64-bit SnoreToast to 0.9.1, so clicks and action buttons are reported back when using a custom `appID` ([#&#8203;326](https://github.com/mikaelbr/node-notifier/issues/326), [#&#8203;332](https://github.com/mikaelbr/node-notifier/issues/332), [#&#8203;375](https://github.com/mikaelbr/node-notifier/pull/375)). The binary is KDE's own build of the official release. The 32-bit binary stays on 0.7.0, as KDE publishes no 32-bit build. Note that the new binary is not code-signed. - Windows: fixes `notify` throwing in `cluster` worker processes ([#&#8203;410](https://github.com/mikaelbr/node-notifier/issues/410)). Internal: - Notifiers are now classes extending `EventEmitter` (they can still be called without `new`). - Uses a `files` allowlist instead of `.npmignore`, and drops the outdated `nexe` example build scripts. - Tests import from `vitest` explicitly instead of relying on globals. - The bundled `terminal-notifier` is checked against the release checksum in CI (`scripts/vendor-terminal-notifier.sh`). - The bundled 64-bit SnoreToast is checked against KDE's build checksum in CI (`scripts/vendor-snoretoast.sh`). - Adds source and build info for the bundled SnoreToast binaries in `vendor/snoreToast/README.md` ([#&#8203;381](https://github.com/mikaelbr/node-notifier/issues/381)). Thanks to [@&#8203;Sebastian-Webster](https://github.com/Sebastian-Webster) for the original Apple silicon work in [#&#8203;441](https://github.com/mikaelbr/node-notifier/pull/441), to [@&#8203;DuBistKomisch](https://github.com/DuBistKomisch) for finding and fixing the SnoreToast `appID` issue in [#&#8203;375](https://github.com/mikaelbr/node-notifier/pull/375) and upstream, and to [@&#8203;marmul](https://github.com/marmul) for the original `notify-send` actions work in [#&#8203;445](https://github.com/mikaelbr/node-notifier/pull/445). ### [`v11.0.0`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v1100) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v10.0.1...v11.0.0) Even though this is a major version, there are no real breaking changes for most people. This removes uneeded external dependencies and updates the internal dependencies to the latest versions. But it now only checks and verifies node versions 20.x, 22.x, 24.x. So if you are on older versions, this might break. There will be an upcoming major version that has bigger breaking changes, so this is an intermediate major version to clean up the codebase and dependencies. Features: - Adds `clearAll()` to `NotificationCenter` to stop waiting on active notifications, so the application can exit without waiting for their timeouts. See [#&#8203;210](https://github.com/mikaelbr/node-notifier/pull/210) Fixes: - Makes the bundled SnoreToast binaries executable, so `WindowsToaster` works under WSL. See [#&#8203;458](https://github.com/mikaelbr/node-notifier/pull/458) Thanks to [@&#8203;mtsmfm](https://github.com/mtsmfm) ### [`v10.0.1`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v1001) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v10.0.0...v10.0.1) Fixes: - Fix custom path for windows [#&#8203;382](https://github.com/mikaelbr/node-notifier/pull/382) Thanks to [@&#8203;yoavain](https://github.com/yoavain) ### [`v10.0.0`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v1000) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v9.0.1...v10.0.0) Breaking changes: Setting `NSAllowsArbitraryLoads` as false for security reasons within terminal-notifier. Meaning non-https images/loads for terminal-notifier will no longer work. See [#&#8203;362](https://github.com/mikaelbr/node-notifier/pull/362) ##### Fixes - fix: options.customPath doesn't work for windows toaster. See [#&#8203;373](https://github.com/mikaelbr/node-notifier/pull/373) ### [`v9.0.1`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v901) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v9.0.0...v9.0.1) - Fixes potential security issue with non-escaping input parameters for notify-send. ### [`v9.0.0`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v900) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v8.0.2...v9.0.0) Breaking changes: - Corrects mapping on snoretoast activate event. See [#&#8203;347](https://github.com/mikaelbr/node-notifier/pull/347). ##### Patches - Fix named pipe in WSL. See [#&#8203;342](https://github.com/mikaelbr/node-notifier/pull/342). - fixes possible injection issue for notify-send ### [`v8.0.2`](https://github.com/mikaelbr/node-notifier/blob/HEAD/CHANGELOG.md#v802) [Compare Source](https://github.com/mikaelbr/node-notifier/compare/v8.0.1...v8.0.2) - Fixes potential security issue with non-escaping input parameters for notify-send. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xOTIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE5OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
renovate force-pushed renovate/node-notifier-12.x-lockfile from 9e2108e8db to 2891a5fc27 2026-11-01 00:06:06 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin "renovate/node-notifier-12.x-lockfile:renovate/node-notifier-12.x-lockfile"
git switch "renovate/node-notifier-12.x-lockfile"

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch "master"
git merge --no-ff "renovate/node-notifier-12.x-lockfile"
git switch "renovate/node-notifier-12.x-lockfile"
git rebase "master"
git switch "master"
git merge --ff-only "renovate/node-notifier-12.x-lockfile"
git switch "renovate/node-notifier-12.x-lockfile"
git rebase "master"
git switch "master"
git merge --no-ff "renovate/node-notifier-12.x-lockfile"
git switch "master"
git merge --squash "renovate/node-notifier-12.x-lockfile"
git switch "master"
git merge --ff-only "renovate/node-notifier-12.x-lockfile"
git switch "master"
git merge "renovate/node-notifier-12.x-lockfile"
git push origin "master"
Sign in to join this conversation.
No description provided.