New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@extend-chrome/notify

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@extend-chrome/notify

Create notifications in your Chrome extension with ease.

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-50%
Maintainers
1
Weekly downloads
 
Created
Source

@extend-chrome/notify logo

@extend-chrome/notify

npm (scoped) GitHub last commit License TypeScript Declarations Included

Chrome Extension Tutorials on YouTube ko-fi


This is a simpler API for chrome.notifications to use in Chrome extensions.

Add the notifications permission and create a notification with as little as a string. @extend-chrome/notify will do the rest! ✨

notify('This is too easy')

Table of Contents

Getting started

You will need to use a bundler like Rollup or Webpack to include this library in the build of Chrome extension.

See rollup-plugin-chrome-extension for an easy way use Rollup to build your Chrome extension!

Installation

$ npm i @extend-chrome/notify

Usage

import { notify } from '@extend-chrome/notify'

notify('The most simple notification').then((id) => {
  console.log('notification id', id)
})

notify
  .create({
    message: 'You have been notified.',
  })
  .then((id) => {
    console.log('notification id', id)
  })

The function notify.create takes any of the official notification options for chrome.notifications.create, without trying to type "notifications" every time.

Permissions

The "notifications" permission must be included in manifest.json.

// manifest.json
{
  "permissions": ["notifications"]
}

Features

TypeScript Definitions

TypeScript definitions are included, so no need to install an additional @types library!

Gets Name and Icon from manifest.json

This library will use chrome.runtime.getManifest() to include the name and icon of your extension in your notifications!

API

notify(message: string)

Returns: Promise<string>

Create a simple notification with an icon and the name of the Chrome extension, if they are supplied in manifest.json.

Returns a promise which resolves to the notification id, which you can use in the notify.onClick and notify.onButtonClick events.

const myId = await notify('This is my notification')

notify.onClicked.addListener((clickedId) => {
  if (myId === clickedId) {
    console.log('My notification was clicked.')
  }
})

notify.create(options: NotificationOptions)

Returns: Promise<string>

Create a basic notification by default using as little as options.message, or any of the other properties in NotificationOptions.

Returns a promise which resolves to the notification id, which you can use in notification events.

const myId = await notify.create({
  message: 'This is my notification',
})

notify.onClicked.addListener((clickedId) => {
  if (myId === clickedId) {
    console.log('My notification was clicked.')
  }
})

Other methods and events

All the other methods and events from chrome.notifications are promisified using chrome-promise and assigned to notify, so you can use notify as if it is chrome.notifications with promises. These include the following:

Methods

Methods return promises but are otherwise the same as the Chrome API.

notify
  .update('my-notification', updateOptions)
  .then((wasUpdated) => {
    if (wasUpdated) {
      console.log('my notification was updated')
    }
  })
Events

Events are exacly the same as the Chrome API. Register a listener by calling addListener on an event:

notify.onClosed.addListener((id) => {
  console.log('This notification was closed', id)
})

FAQs

Package last updated on 01 Nov 2020

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc