@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 CHANGED
@@ -4,10 +4,16 @@
4
4
 
5
5
  # Eventra SDK
6
6
 
7
- [![npm version](https://img.shields.io/npm/v/@eventra_dev/eventra-sdk.svg)](https://www.npmjs.com/package/@eventra_dev/eventra-sdk)
8
- [![npm downloads](https://img.shields.io/npm/dm/@eventra_dev/eventra-sdk.svg)](https://www.npmjs.com/package/@eventra_dev/eventra-sdk)
9
- [![TypeScript](https://img.shields.io/badge/typescript-ready-blue.svg)](https://www.typescriptlang.org/)
10
- [![License](https://img.shields.io/npm/l/@eventra_dev/eventra-sdk)]()
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.1.5";
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.1.5";
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.1.5",
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
  }