@guidelytech/embed
v0.8.0
Published
Script-tag loader exposing window.Guidely
Maintainers
Readme
@guidelytech/embed
Script-tag build of the SDK exposing window.Guidely. pnpm build writes to dist/ and copies
everything to apps/web/public/sdk/, so the dashboard serves it at /sdk/:
| File | What it is | Cache-Control |
|---|---|---|
| guidely.js | The loader customers embed (under 1 kB). Injects this release's hashed SDK bundle next to itself, passing on its data-* settings and CSP nonce. | 60 s |
| guidely-sdk.<hash>.js | The SDK, named by content hash. | 1 year, immutable |
| guidely-recorder.<hash>.js, guidely-capture.<hash>.js | Session replay (rrweb) and how-to capture, injected only when needed. | 1 year, immutable |
| guidely-sdk.js, guidely-recorder.js, guidely-capture.js | Unhashed copies of the latest release: the fallback when a page's loader names a hashed file a deploy has since removed. | 5 min |
So a release reaches every page within a minute or two of deploying the dashboard, without customers
changing their snippet, and browsers download each SDK version once. The hashed copies are build
output (git-ignored); the build removes the previous release's from public/sdk/. Keep all files side
by side.
<script src="https://app.guidely.example/sdk/guidely.js" data-project-id="pk_prod_…" data-api-url="https://app.guidely.example" defer></script>or
<script>window.GuidelySettings = { projectId: "pk_prod_…", apiUrl: "https://app.guidely.example" };</script>
<script src="/sdk/guidely.js" defer></script>
<script>
Guidely.get()?.identify("user_1", { plan: "pro" });
</script>| Export | Description |
|---|---|
| Guidely.init(options) | Creates (or returns) the singleton client and starts loading. |
| Guidely.get() | The current client or null. |
| Guidely.createGuidely(options) | Always creates a new client. |
| Guidely.get().isFeatureEnabled(key, fallback?) | Feature flags, built in with the same key: also getFeatureValue(key, fallback), getFeatureDetails, onFlagsChange(cb) and Guidely.get().flags (the flags client). Pass flag options with window.GuidelySettings = { …, flags: { … } }. |
| auto-init | Reads data-project-id / data-api-url / data-environment / data-debug / data-release (app version or commit SHA, matches uploaded source maps) from the script tag, or window.GuidelySettings. |
Size: about 208 kB minified / 58 kB gzipped (includes @guidelytech/shared + zod; see
@guidelytech/sdk-core README for the breakdown).
