@betaworks/insight (0.0.1)

Published 2026-06-11 08:21:33 +00:00 by betaworks

Installation

@betaworks:registry=
npm install @betaworks/insight@0.0.1
"@betaworks/insight": "0.0.1"

About this package

@betaworks/insight

Liten, avhengighetsfri klient-SDK for Betaworks Insight — produktanalyse og feilsporing i én. ~1.8 kB (gzip), fungerer i nettleser og Node.

Installasjon

Pakken ligger i Forgejo sitt npm-registry. Konfigurer scopen @betaworks én gang (i appens .npmrc):

@betaworks:registry=https://git.betaworks.no/api/packages/<owner>/npm/
//git.betaworks.no/api/packages/<owner>/npm/:_authToken=${FORGEJO_NPM_TOKEN}

Deretter:

pnpm add @betaworks/insight   # eller npm/yarn

Uten registry-tilgang kan du også bare kopiere dist/index.js rett inn i appen — det er én ESM-fil uten avhengigheter.

Bruk (nettleser)

import { init, track, captureException } from "@betaworks/insight";

init({
  key: "pub_xxx",                         // public_key fra prosjektet
  endpoint: "https://insight.betaworks.no",
  release: "1.4.0",                       // valgfritt, kobler feil mot deploy
  environment: "production",              // valgfritt
});

// Egendefinerte hendelser
track("checkout_completed", { amount: 499 });

// Manuell feilrapport (uventede feil fanges automatisk)
try {
  doThing();
} catch (err) {
  captureException(err, { hvor: "checkout" });
}

Automatisk uten ekstra kode:

  • Sidevisninger (inkl. SPA-ruting via history.pushState/popstate)
  • Uventede feil (window.onerror, unhandledrejection)
  • Batching + navigator.sendBeacon (mister ikke hendelser ved sidebytte)

Konfig

Felt Standard Beskrivelse
key Public key (trygg i klient)
endpoint Basis-URL til Insight
release Versjon for feilsporing/releases
environment F.eks. production / staging
autoPageviews true Slå av automatisk pageview-sporing
autoErrors true Slå av automatisk feilfangst
batchSize 20 Antall hendelser før flush
flushIntervalMs 5000 Maks ventetid før flush

API

  • init(config) — kall én gang ved oppstart
  • track(name, props?) — egendefinert hendelse
  • pageview(url?) — manuell sidevisning
  • captureException(err, context?) — manuell feilrapport
  • flush() — tøm køen nå

Node-tjenester

Samme API. Fang uventede feil og rapporter eksplisitt:

import { init, captureException } from "@betaworks/insight";
init({ key: "pub_xxx", endpoint: "https://insight.betaworks.no", release: process.env.RELEASE });

process.on("uncaughtException", (e) => captureException(e));
process.on("unhandledRejection", (e) => captureException(e));

Source maps (lesbare stack traces)

Last opp source maps fra appens CI etter bygg (autentisert med prosjektets secret_key):

for map in dist/assets/*.js.map; do
  base=$(basename "$map" .map)
  curl -fsS -XPOST https://insight.betaworks.no/api/sourcemaps \
    -H "x-secret-key: $INSIGHT_SECRET_KEY" -H "content-type: application/json" \
    -d "{\"release\":\"$RELEASE\",\"filename\":\"$base\",\"content\":$(cat "$map")}"
done

Personvern

Cookieless — besøkende identifiseres med en daglig roterende hash på serveren. Rå IP lagres aldri. SDK-en feiler alltid stille og kan ikke krasje vertsappen.

Publisering (vedlikeholdere)

Bump version her, commit, og push en tag sdk-v<versjon> — workflowen publish-sdk.yml bygger og publiserer til registryet.

Dependencies

Development dependencies

ID Version
tsup ^8.3.5
typescript ^5.6.3
Details
npm
2026-06-11 08:21:33 +00:00
36
latest
3.4 KiB
Assets (1)
Versions (1) View all
0.0.1 2026-06-11