@eventra_dev/eventra-sdk 1.1.5 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -4
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +40 -4
package/README.md
CHANGED
|
@@ -4,10 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
# Eventra SDK
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@eventra_dev/eventra-sdk"><img alt="npm version" src="https://img.shields.io/npm/v/@eventra_dev/eventra-sdk.svg?style=flat-square&color=blue"></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/@eventra_dev/eventra-sdk"><img alt="npm downloads" src="https://img.shields.io/npm/dm/@eventra_dev/eventra-sdk.svg?style=flat-square&color=blue"></a>
|
|
10
|
+
<a href="https://github.com/and-1991/eventra-sdk/actions/workflows/test.yml"><img alt="tests" src="https://img.shields.io/github/actions/workflow/status/and-1991/eventra-sdk/test.yml?branch=main&label=tests&style=flat-square&logo=vitest&logoColor=white"></a>
|
|
11
|
+
<img alt="tests passing" src="https://img.shields.io/badge/tests-41%20passing-brightgreen?style=flat-square&logo=vitest&logoColor=white">
|
|
12
|
+
<img alt="test suites" src="https://img.shields.io/badge/suites-8-brightgreen?style=flat-square">
|
|
13
|
+
<img alt="node" src="https://img.shields.io/node/v/@eventra_dev/eventra-sdk?style=flat-square&color=darkgreen&logo=node.js&logoColor=white">
|
|
14
|
+
<a href="https://www.typescriptlang.org/"><img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-ready-blue?style=flat-square&logo=typescript&logoColor=white"></a>
|
|
15
|
+
<img alt="license" src="https://img.shields.io/npm/l/@eventra_dev/eventra-sdk?style=flat-square&color=lightgrey">
|
|
16
|
+
</p>
|
|
11
17
|
|
|
12
18
|
Production-grade analytics SDK for tracking **feature usage, product behavior, and backend activity**.
|
|
13
19
|
|
|
@@ -354,6 +360,28 @@ Eventra SDK includes:
|
|
|
354
360
|
|
|
355
361
|
---
|
|
356
362
|
|
|
363
|
+
## Test Coverage
|
|
364
|
+
|
|
365
|
+
41 vitest tests across 8 suites cover the entire delivery pipeline:
|
|
366
|
+
|
|
367
|
+
- `track()` validation — name length, userId truncation, properties depth/size, idempotency keys
|
|
368
|
+
- Batching — auto-flush at `maxBatchSize`, periodic flush via timer, queue overflow drop
|
|
369
|
+
- Retry & backoff — 429, 5xx, network errors, no-retry on 4xx
|
|
370
|
+
- Circuit breaker — opens after 5 consecutive failures, cools down, resets on success
|
|
371
|
+
- Payload guards — multi-batch splitting, oversize event dropped via `onDeliveryFailed(413)`
|
|
372
|
+
- Shutdown & destroy — flush ordering, timer teardown, idempotent shutdown
|
|
373
|
+
- Runtime detection — Node, Edge (`EdgeRuntime`), Serverless (AWS Lambda)
|
|
374
|
+
- Browser mode — persistence, leader election, BroadcastChannel sync, `fetch` keepalive, `pagehide`
|
|
375
|
+
|
|
376
|
+
Run locally:
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
pnpm --filter @eventra_dev/eventra-sdk test
|
|
380
|
+
pnpm --filter @eventra_dev/eventra-sdk test:coverage
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
357
385
|
## Event Format
|
|
358
386
|
|
|
359
387
|
```json
|
package/dist/index.cjs
CHANGED
|
@@ -27,7 +27,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
27
27
|
// src/client.ts
|
|
28
28
|
var SDK_NAME = "@eventra_dev/eventra-sdk";
|
|
29
29
|
var DEFAULT_ENDPOINT = "https://api.eventra.dev/api/v1/ingest/batch";
|
|
30
|
-
var SDK_VERSION = "1.
|
|
30
|
+
var SDK_VERSION = "1.2.2";
|
|
31
31
|
var LEADER_KEY = "__eventra_leader__";
|
|
32
32
|
var LEADER_TTL_MS = 4e3;
|
|
33
33
|
var QUEUE_KEY = "__eventra_q__";
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/client.ts
|
|
2
2
|
var SDK_NAME = "@eventra_dev/eventra-sdk";
|
|
3
3
|
var DEFAULT_ENDPOINT = "https://api.eventra.dev/api/v1/ingest/batch";
|
|
4
|
-
var SDK_VERSION = "1.
|
|
4
|
+
var SDK_VERSION = "1.2.2";
|
|
5
5
|
var LEADER_KEY = "__eventra_leader__";
|
|
6
6
|
var LEADER_TTL_MS = 4e3;
|
|
7
7
|
var QUEUE_KEY = "__eventra_q__";
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eventra_dev/eventra-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"description": "Production-grade analytics SDK for feature usage and product behavior — batching, retries, circuit breaker, runtime-aware (browser, Node, Edge, serverless).",
|
|
4
5
|
"private": false,
|
|
5
6
|
"publishConfig": {
|
|
6
7
|
"access": "public"
|
|
@@ -21,7 +22,10 @@
|
|
|
21
22
|
"sideEffects": false,
|
|
22
23
|
"scripts": {
|
|
23
24
|
"build": "tsup",
|
|
24
|
-
"clean": "rm -rf dist"
|
|
25
|
+
"clean": "rm -rf dist",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"test:coverage": "vitest run --coverage"
|
|
25
29
|
},
|
|
26
30
|
"repository": {
|
|
27
31
|
"type": "git",
|
|
@@ -29,11 +33,43 @@
|
|
|
29
33
|
},
|
|
30
34
|
"homepage": "https://eventra.dev",
|
|
31
35
|
"devDependencies": {
|
|
36
|
+
"@vitest/coverage-v8": "^4.1.7",
|
|
32
37
|
"tsup": "^8.0.0",
|
|
33
|
-
"typescript": "^5.6.0"
|
|
38
|
+
"typescript": "^5.6.0",
|
|
39
|
+
"vitest": "^4.1.7"
|
|
34
40
|
},
|
|
35
41
|
"license": "MIT",
|
|
36
42
|
"engines": {
|
|
37
43
|
"node": ">=18"
|
|
38
|
-
}
|
|
44
|
+
},
|
|
45
|
+
"keywords": [
|
|
46
|
+
"analytics",
|
|
47
|
+
"analytics-sdk",
|
|
48
|
+
"event-tracking",
|
|
49
|
+
"feature-usage",
|
|
50
|
+
"feature-tracking",
|
|
51
|
+
"product-analytics",
|
|
52
|
+
"telemetry",
|
|
53
|
+
"metrics",
|
|
54
|
+
"tracking",
|
|
55
|
+
"events",
|
|
56
|
+
"ingest",
|
|
57
|
+
"batching",
|
|
58
|
+
"retry",
|
|
59
|
+
"circuit-breaker",
|
|
60
|
+
"idempotency",
|
|
61
|
+
"browser",
|
|
62
|
+
"nodejs",
|
|
63
|
+
"edge",
|
|
64
|
+
"serverless",
|
|
65
|
+
"vercel",
|
|
66
|
+
"aws-lambda",
|
|
67
|
+
"cloudflare-workers",
|
|
68
|
+
"typescript",
|
|
69
|
+
"typescript-first",
|
|
70
|
+
"esm",
|
|
71
|
+
"cjs",
|
|
72
|
+
"eventra",
|
|
73
|
+
"eventra-sdk"
|
|
74
|
+
]
|
|
39
75
|
}
|