1. Documentation
  2. Resources
  3. Package exports
ReadmenpmGitHub
  • Introduction
  • Quickstart
  • Configuration file
  • Monitors
  • Checks and scheduling
  • Notifications
  • Incidents and maintenance
  • Subscribers
  • Metrics and badges
  • Identity and appearance
  • Telemetry
  • The check run
  • Uptime and history
  • Automatic incidents
  • Notification delivery
  • Public subscriptions
  • StatusPage component
  • Themes
  • UI primitives
  • Colour mode
  • React Router
  • Next.js
  • Astro
  • SQLite
  • Cloudflare D1
  • PostgreSQL
  • Schema and migrations
  • Cloudflare Workers
  • Vercel
  • Self-hosting
  • API overview
  • Status endpoints
  • Incident and maintenance endpoints
  • Subscriber endpoints
  • Badges, feeds and metrics
  • Admin endpoints
  • CLI commands
  • Package exports
  • Security
  • Troubleshooting

Package exports

Every entry point of @heyo-sh/heyo-status and what it provides.

The package is split so that a browser bundle never pulls in a database driver, and a Worker bundle never pulls in React. Import from the narrowest path that has what you need.

Entry points

PathProvides
@heyo-sh/heyo-statusThe aggregate root export.
@heyo-sh/heyo-status/configheyoStatus, validateStatusPageConfig.
@heyo-sh/heyo-status/typesEvery public type.
@heyo-sh/heyo-status/checksrunStatusCheck, runStatusChecks, evaluateCompositeMonitor.
@heyo-sh/heyo-status/dbSQLite adapters, lazyStatusDatabase, Drizzle schema.
@heyo-sh/heyo-status/db/d1d1, D1StatusDatabase.
@heyo-sh/heyo-status/db/postgrespostgres, PostgresStatusDatabase.
@heyo-sh/heyo-status/db/lazylazyStatusDatabase.
@heyo-sh/heyo-status/apicreateStatusApp.
@heyo-sh/heyo-status/snapshotbuildStatusSnapshot, getStatusSnapshot.
@heyo-sh/heyo-status/badgecreateMonitorBadge, createOverallBadge.
@heyo-sh/heyo-status/metricscreatePrometheusMetrics, prometheusContentType.
@heyo-sh/heyo-status/feedscreateRssFeed, createAtomFeed.
@heyo-sh/heyo-status/notificationsslack, discord, webhook, email and signature helpers.
@heyo-sh/heyo-status/subscribersPublic-subscription helpers.
@heyo-sh/heyo-status/telemetryTelemetry payload and reporting.
@heyo-sh/heyo-status/uiStatusPage and the UI primitives.
@heyo-sh/heyo-status/ui/subscribe-dialogSubscribeDialog, kept out of the main chunk.
@heyo-sh/heyo-status/nextstatusHandler for the Next App Router.
@heyo-sh/heyo-status/react-routerstatusHandler returning loader and action.
@heyo-sh/heyo-status/astrostatusHandler for an Astro endpoint.
@heyo-sh/heyo-status/deployments/cloudflareD1 re-exports, cloudflareWorker, cron helpers.
@heyo-sh/heyo-status/deployments/vercelPostgreSQL re-exports, vercelCronHandler, runVercelCron.
@heyo-sh/heyo-status/deployments/nodescheduleStatusPage.
@heyo-sh/heyo-status/theme/providerStatusThemeProvider, useStatusTheme.
@heyo-sh/heyo-status/theme/scriptstatusThemeBootstrapScript.
@heyo-sh/heyo-status/theme/status.cssThe stylesheet, containing every theme's tokens.

theme/slate.css, theme/fern.css, theme/onyx.css, theme/dune.css and theme/reed.css remain as compatibility aliases for theme/status.css.

Configuration

ts
import { heyoStatus, validateStatusPageConfig } from "@heyo-sh/heyo-status/config";

heyoStatus() validates and attaches the runtime. validateStatusPageConfig() validates without attaching — useful when inspecting configuration in a tool.

Checks

ts
import {  evaluateCompositeMonitor,  runStatusCheck,  runStatusChecks,} from "@heyo-sh/heyo-status/checks";const results = await runStatusChecks(statusPage.monitors);const one = await runStatusCheck({ name: "Ping", type: "http", url: "https://acme.com" });

Both return results without persisting them, which makes them handy for a one-off probe or a test.

Snapshots

ts
import { buildStatusSnapshot, getStatusSnapshot } from "@heyo-sh/heyo-status/snapshot";const snapshot = await getStatusSnapshot(statusPage);           // loads historyconst offline = buildStatusSnapshot(config, data, now, incidents, maintenance); // pure

Notifications

ts
import {  createWebhookSignature,  discord,  email,  notificationEventTypes,  slack,  toStatusEventPayload,  verifyWebhookSignature,  webhook,} from "@heyo-sh/heyo-status/notifications";import {  collectMonitorNotificationEvents,  dispatchNotifications,  enrichStatusEvent,} from "@heyo-sh/heyo-status";

Databases

ts
import {  applyStatusMigrations,  hasBunSqlite,  hasNodeSqlite,  lazyStatusDatabase,  NodeSqliteStatusDatabase,  notificationLog,  SQLiteStatusDatabase,  sqlite,  statusDailySummaries,  statusResults,  statusSchema,  subscribers,} from "@heyo-sh/heyo-status/db";

Deployments

ts
import {  cloudflareCronExpressions,  cloudflareWorker,  d1,  runCloudflareScheduled,} from "@heyo-sh/heyo-status/deployments/cloudflare";import {  postgres,  runVercelCron,  vercelCronHandler,} from "@heyo-sh/heyo-status/deployments/vercel";import { scheduleStatusPage } from "@heyo-sh/heyo-status/deployments/node";

Types

ts
import type {  CheckResult,  Incident,  Maintenance,  MonitorSnapshot,  NotificationChannel,  StatusDatabaseAdapter,  StatusEvent,  StatusPage,  StatusPageConfig,  StatusSnapshot,  StatusMonitorConfig,  Subscriber,  UserStatusPageConfig,} from "@heyo-sh/heyo-status/types";

Runtime boundaries

ImportSafe in a browser bundleSafe on Workers
/config, /api, /typesyesyes
/ui, /theme/*yesyes (SSR)
/db (SQLite)nono
/db/d1, /deployments/cloudflarenoyes
/db/postgresnoonly with a compatible driver
/checksnoyes, minus tcp and ssl

The package is built twice — once for Node and once for a browser/Worker target — so the Workers bundle of config, api, db/d1 and the adapters never contains Node built-ins.

Peer dependencies

react and react-dom 19 are peers, needed only for /ui and /theme/*. drizzle-orm, hono, zod and tailwindcss are regular dependencies; no database driver is bundled.

Related

  • Configuration reference
  • UI primitives
  • Database adapters
CLI commands< PreviousSecurityNext >

Powered by heyo

On this page

Entry pointsConfigurationChecksSnapshotsNotificationsDatabasesDeploymentsTypesRuntime boundariesPeer dependencies