Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@magicbell/webpush
Advanced tools
This package provides a convenient interface to subscribe to browser/web push notifications using MagicBell.
Install the package with npm:
npm install @magicbell/webpush --save
or yarn:
yarn add @magicbell/webpush
import { subscribe } from '@magicbell/webpush';
subscribe({
token: 'jwt-token',
host: 'https://api.magicbell.com',
project: 'string',
serviceWorkerPath: '/sw.js',
});
token String
The JWT token you received from the MagicBell API. This token is used to authenticate the request.
host String
Optional. The host of the MagicBell API. Defaults to https://api.magicbell.com
.
project String
The random subdomain that MagicBell generated for your service worker registration.
serviceWorkerPath String
The path to the service worker file. Defaults to /sw.js
.
A helper that can be used to register a service worker, prior to calling subscribe
. This preflight allows for a faster
subscription process. If this method isn't used, registration will be done during subscribe
.
Registration will be skipped if a service worker is already registered. In which case, the active registration will be returned.
The returned promise resolves when the registration is ready.
import { registerServiceWorker } from '@magicbell/webpush';
registerServiceWorker({
path: '/sw.js',
});
path String
The path to the service worker file. Defaults to /sw.js
.
To speedup the subscription process, you can prefetch the config. This will separate the subscription from config fetching, and thereby reduce the time to subscribe. The method requires the same options as subscribe
.
import { prefetchConfig } from '@magicbell/webpush';
prefetchConfig({
token: 'jwt-token',
host: 'https://api.magicbell.com',
project: 'string',
serviceWorkerPath: '/sw.js',
});
Check if the user is subscribed to push notifications in the current browser.
import { isSubscribed } from '@magicbell/webpush';
const subscribed = await isSubscribed({
token: 'jwt-token',
host: 'https://api.magicbell.com',
project: 'string',
});
if (subscribed) {
// Do something
} else {
// Do something else
}
New features and bug fixes are released on the latest major version of the magicbell
package. If you are on an older major version, we recommend that you upgrade to the latest in order to use the new features and bug fixes including those for security vulnerabilities. Older major versions of the package will continue to be available for use, but will not be receiving any updates.
Credit where credits due, this package is inspired by and based on the Stripe Node.js SDK.
FAQs
MagicBell WebPush SDK
The npm package @magicbell/webpush receives a total of 2,026 weekly downloads. As such, @magicbell/webpush popularity was classified as popular.
We found that @magicbell/webpush demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.