lyrra-sdk
v0.2.3
Published
Official Lyrra SDK — drop-in observability (errors / RUM / heartbeat) with one install. Works in browser, Node, Next.js, Express, Hono, and Cloudflare Workers.
Maintainers
Readme
lyrra-sdk
Official SDK for Lyrra — Japanese monitoring SaaS that ships errors, RUM (Web Vitals), and heartbeat in one drop-in package.
ESM only. Works in browsers, Node, Next.js, Express, Hono, and edge runtimes.
Install
pnpm add lyrra-sdk
# or
npm install lyrra-sdkQuick start (browser)
import { init } from "lyrra-sdk/browser";
init({
appKey: "pk_xxx", // get this from the Lyrra dashboard
endpoint: "https://event.lyrra.net",
// optional:
release: process.env.RELEASE_TAG,
environment: "production",
});init wires up:
- global
window.onerror+unhandledrejectionerror capture - Web Vitals (CLS / LCP / INP / FCP / TTFB)
- a 60-second heartbeat ping
Next.js
// app/layout.tsx
import { LyrraClient } from "lyrra-sdk/next/client";
export default function RootLayout({ children }) {
return (
<html>
<body>
<LyrraClient appKey={process.env.NEXT_PUBLIC_LYRRA_APP_KEY!} />
{children}
</body>
</html>
);
}// server actions / route handlers
import { trackError } from "lyrra-sdk/next/server";Express
import express from "express";
import { lyrraErrorHandler } from "lyrra-sdk/express";
const app = express();
// ... your routes
app.use(lyrraErrorHandler({ appKey: process.env.LYRRA_APP_KEY! }));Hono
import { Hono } from "hono";
import { lyrra } from "lyrra-sdk/hono";
const app = new Hono();
app.use("*", lyrra({ appKey: env.LYRRA_APP_KEY }));API surface
trackError(err, ctx?)— manual error capturetrackRum(metric)— manual Web Vitals submissionsendHeartbeat()— manual heartbeatflush()— force-send the queue (useful before page unload)destroy()— tear down listeners
License
MIT
