// the find
OneSignal/OneSignal-Website-SDK
OneSignal makes engaging customers simple and is the fastest, most reliable service to send push notifications, in-app messages, SMS, and emails. This plugin makes it easy to add OneSignal to your website. https://onesignal.com
This is OneSignal's own TypeScript SDK for adding web push, in-app messages, and related channels to a website, backed entirely by OneSignal's hosted service. It's for teams already using or evaluating OneSignal as their customer engagement platform, not for anyone building a standalone push notification system.
The internal architecture is more serious than you'd expect from a vendor SDK — it uses an operation-queue pattern (OperationRepo, executors per operation type) with model stores that sync state to the backend, which is the same approach mobile sync engines use to handle offline/retry scenarios cleanly. Test coverage is dense and colocated (.test.ts next to nearly every module), and CI includes CodeQL plus separate workflows for release PRs and deploys, which suggests this actually gets exercised before shipping.
The README tells you not to vendor the source and to load it from their CDN instead — so even though the code is open, the intended usage path isn't really 'take this dependency,' it's 'trust our hosted bundle,' which limits what you get from reading or forking it. Everything in this SDK is a thin client to OneSignal's paid backend; there's no self-hosted or backend-agnostic mode, so adopting it means adopting the vendor, not just the code. Local dev relies on a custom `vp` command (not documented in the README what it wraps) plus bun, which adds friction if you're just trying to read through the code rather than contribute.