
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
node-mac-notifier
Advanced tools
A native Node module that lets you create macOS notifications from Node.js, without dishing out to a separate process.
This is useful for desktop applications built with Electron (or something similar), as it adheres to the HTML5 Notification API.

npm install node-mac-notifier
Ensure that this module is called from a renderer process; it will have no effect in the main process. Works with Electron >=0.37.7.
const Notification = require('node-mac-notifier');
const notification = new Notification('Hello from node-mac-notifier', { body: 'It works!' });
notification.addEventListener('click', () => console.log('Got a click'));
In addition to the standard click event, these notifications also support a (non-standard) reply event. To enable the reply button, set canReply in the options argument. The user's response is included as a parameter on the event:
const notification = new Notification('Wow, replies!', { canReply: true });
notification.addEventListener('reply', ({ response }) => {
console.log(`User entered: ${response}`);
});
new Notification(title, options)title (string) (required)The title of the notification.
options (Object)Additional parameters to the notification.
options.id (string)A string identifying the notification. Maps to NSUserNotification.identifier. A notification with an id matching a previously delivered notification will not be shown. If not provided, defaults to a RFC4122 v4 string. Note that if you repeatedly create notifications with the same ID, only the first instance will be shown and future instances will not appear until that instance is closed.
options.body (string)The body text. Maps to NSUserNotification.informativeText.
options.subtitle (string)The subtitle text. Maps to NSUserNotification.subtitle.
options.icon (string)A URL with image content. Maps to NSUserNotification.contentImage. Should be an absolute URL.
options.soundName (string)The name of a sound file to play once the notification is delivered. Maps to NSUserNotification.soundName. Set to default to use NSUserNotificationDefaultSoundName, or leave undefined for a silent notification.
options.canReply (bool)If true, this notification will have a reply action button, and can emit the reply event. Maps to NSUserNotification.hasReplyButton.
options.bundleId (string)Set this to override the NSBundle.bundleIdentifier used for the notification. This is a brute force way for your notifications to take on the appropriate app icon.
close()Dismisses the notification immediately.
FAQs
Create macOS system notifications from Node.js
We found that node-mac-notifier demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.