@onramp-sdk/web 0.2.0 → 0.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
@@ -1,6 +1,6 @@
1
1
  # @onramp-sdk/web
2
2
 
3
- OnRamp onboarding funnel analytics for web apps. Track where users drop off during onboarding works with any JS framework.
3
+ OnRamp onboarding funnel analytics for web apps. Track where users drop off during onboarding - works with any JS framework.
4
4
 
5
5
  **[onway.dev](https://onway.dev)**
6
6
 
@@ -24,7 +24,7 @@ import { OnRamp } from '@onramp-sdk/web'
24
24
  OnRamp.init({
25
25
  apiKey: 'onr_your_api_key', // from the OnRamp dashboard
26
26
  host: 'https://your-ingestion-url', // your ingestion API URL
27
- appVersion: '1.0.0', // optional enables version breakdown
27
+ appVersion: '1.0.0', // optional - enables version breakdown
28
28
  })
29
29
  ```
30
30
 
@@ -39,7 +39,7 @@ OnRamp.step('account_created')
39
39
  // After completing setup
40
40
  OnRamp.step('profile_completed')
41
41
 
42
- // After first meaningful action attach properties for richer breakdowns
42
+ // After first meaningful action - attach properties for richer breakdowns
43
43
  OnRamp.step('first_action_done', {
44
44
  properties: {
45
45
  plan: 'free',
@@ -57,14 +57,14 @@ OnRamp.step('first_action_done', {
57
57
  |---|---|---|---|
58
58
  | `apiKey` | `string` | ✓ | Your app's API key from the OnRamp dashboard |
59
59
  | `host` | `string` | | Ingestion API base URL (default: `http://localhost:3001`) |
60
- | `appVersion` | `string` | | App version string enables version breakdown in dashboard |
60
+ | `appVersion` | `string` | | App version string - enables version breakdown in dashboard |
61
61
 
62
62
  ### `OnRamp.step(stepName, options?)`
63
63
 
64
64
  | Option | Type | Description |
65
65
  |---|---|---|
66
- | `stepName` | `string` | Identifier for this milestone e.g. `'account_created'` |
67
- | `options.properties` | `Record<string, string \| number \| boolean>` | Custom properties become breakdown dimensions in the dashboard |
66
+ | `stepName` | `string` | Identifier for this milestone - e.g. `'account_created'` |
67
+ | `options.properties` | `Record<string, string \| number \| boolean>` | Custom properties - become breakdown dimensions in the dashboard |
68
68
 
69
69
  ### `OnRamp.newSession()`
70
70
 
@@ -76,11 +76,11 @@ Flush the event queue immediately. Called automatically on `pagehide` and `visib
76
76
 
77
77
  ## How Funnels Work
78
78
 
79
- Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `OnRamp.step()` with a step name the dashboard lets you pick which steps belong to which funnel and in what order. No SDK changes needed when you iterate on your funnel structure.
79
+ Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `OnRamp.step()` with a step name - the dashboard lets you pick which steps belong to which funnel and in what order. No SDK changes needed when you iterate on your funnel structure.
80
80
 
81
81
  ## Framework Notes
82
82
 
83
- - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). The SDK accesses `localStorage` and `window` it is safe in SSR environments (access is guarded), but events are only tracked in the browser.
83
+ - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). The SDK accesses `localStorage` and `window` - it is safe in SSR environments (access is guarded), but events are only tracked in the browser.
84
84
  - **SPA routing**: Call `OnRamp.newSession()` if you want a new session to start on a specific navigation event (e.g. user logs out and logs back in).
85
85
 
86
86
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAOD,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBAuBlB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;kBAkBO,IAAI;aAKT,OAAO,CAAC,IAAI,CAAC;CAGvB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAgDD,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBAoClB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;kBAuBO,IAAI;aAKT,OAAO,CAAC,IAAI,CAAC;CAGvB,CAAA"}
package/dist/index.js CHANGED
@@ -21,14 +21,66 @@ function getOrCreateAnonymousId() {
21
21
  return id;
22
22
  }
23
23
  catch {
24
- // localStorage unavailable (private mode, SSR) session-scoped id only
24
+ // localStorage unavailable (private mode, SSR) - session-scoped id only
25
25
  return uuid();
26
26
  }
27
27
  }
28
+ function parseUA() {
29
+ if (typeof navigator === 'undefined')
30
+ return { osVersion: 'web', browser: '' };
31
+ const ua = navigator.userAgent;
32
+ let os = 'web';
33
+ let osVer = '';
34
+ if (/iPad/.test(ua)) {
35
+ os = 'ipados';
36
+ osVer = (ua.match(/OS (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
37
+ }
38
+ else if (/iPhone|iPod/.test(ua)) {
39
+ os = 'ios';
40
+ osVer = (ua.match(/OS (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
41
+ }
42
+ else if (/Android (\d+\.?\d*)/.test(ua)) {
43
+ os = 'android';
44
+ osVer = (ua.match(/Android (\d+\.?\d*)/) ?? [])[1] ?? '';
45
+ }
46
+ else if (/Windows NT (\d+\.\d+)/.test(ua)) {
47
+ os = 'windows';
48
+ const nt = (ua.match(/Windows NT (\d+\.\d+)/) ?? [])[1] ?? '';
49
+ osVer = { '10.0': '10', '6.3': '8.1', '6.2': '8', '6.1': '7' }[nt] ?? nt;
50
+ }
51
+ else if (/Mac OS X (\d+[_.]\d+)/.test(ua)) {
52
+ os = 'macos';
53
+ osVer = (ua.match(/Mac OS X (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
54
+ }
55
+ else if (/Linux/.test(ua)) {
56
+ os = 'linux';
57
+ }
58
+ let browser = '';
59
+ if (/Edg\/(\d+)/.test(ua)) {
60
+ browser = `Edge ${(ua.match(/Edg\/(\d+)/) ?? [])[1] ?? ''}`;
61
+ }
62
+ else if (/OPR\/(\d+)/.test(ua)) {
63
+ browser = `Opera ${(ua.match(/OPR\/(\d+)/) ?? [])[1] ?? ''}`;
64
+ }
65
+ else if (/Firefox\/(\d+)/.test(ua)) {
66
+ browser = `Firefox ${(ua.match(/Firefox\/(\d+)/) ?? [])[1] ?? ''}`;
67
+ }
68
+ else if (/Chrome\/(\d+)/.test(ua)) {
69
+ browser = `Chrome ${(ua.match(/Chrome\/(\d+)/) ?? [])[1] ?? ''}`;
70
+ }
71
+ else if (/Version\/(\d+).*Safari/.test(ua)) {
72
+ browser = `Safari ${(ua.match(/Version\/(\d+)/) ?? [])[1] ?? ''}`;
73
+ }
74
+ else if (/Safari\//.test(ua)) {
75
+ browser = 'Safari';
76
+ }
77
+ return { osVersion: osVer ? `${os} ${osVer}` : os, browser };
78
+ }
28
79
  let client = null;
29
80
  let currentSessionId = null;
30
81
  let anonymousId = null;
31
82
  let stepCounter = 0;
83
+ let lastHeartbeatTs = 0;
32
84
  exports.OnRamp = {
33
85
  init(config) {
34
86
  anonymousId = getOrCreateAnonymousId();
@@ -42,11 +94,24 @@ exports.OnRamp = {
42
94
  uuidFn: uuid,
43
95
  });
44
96
  if (typeof window !== 'undefined') {
45
- // pagehide fires on tab close and navigation — last chance to flush
46
- window.addEventListener('pagehide', () => { client?.flush(); });
97
+ function sendHeartbeat() {
98
+ if (!client || !currentSessionId || !anonymousId)
99
+ return;
100
+ const now = Date.now();
101
+ if (now - lastHeartbeatTs < 500)
102
+ return;
103
+ lastHeartbeatTs = now;
104
+ client.beacon({ sessionId: currentSessionId, anonymousId });
105
+ }
106
+ window.addEventListener('pagehide', () => {
107
+ sendHeartbeat();
108
+ client?.flush();
109
+ });
47
110
  document.addEventListener('visibilitychange', () => {
48
- if (document.visibilityState === 'hidden')
111
+ if (document.visibilityState === 'hidden') {
112
+ sendHeartbeat();
49
113
  client?.flush();
114
+ }
50
115
  });
51
116
  }
52
117
  },
@@ -55,15 +120,20 @@ exports.OnRamp = {
55
120
  console.warn('[OnRamp] call OnRamp.init() before tracking steps');
56
121
  return;
57
122
  }
123
+ const { osVersion, browser } = parseUA();
124
+ const extraProps = {};
125
+ if (browser)
126
+ extraProps._browser = browser;
58
127
  client.track({
59
128
  sessionId: currentSessionId,
60
129
  anonymousId,
61
- funnelName: '',
62
130
  stepName,
63
131
  stepIndex: stepCounter++,
64
- osVersion: typeof navigator !== 'undefined' ? navigator.userAgent.slice(0, 32) : null,
132
+ osVersion,
65
133
  deviceType: 'desktop',
66
- properties: options?.properties ?? null,
134
+ properties: Object.keys(extraProps).length || options?.properties
135
+ ? { ...extraProps, ...options?.properties }
136
+ : null,
67
137
  });
68
138
  },
69
139
  newSession() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@onramp-sdk/web",
3
- "version": "0.2.0",
4
- "description": "OnRamp onboarding funnel analytics for web apps track steps, see where users drop off.",
3
+ "version": "0.2.2",
4
+ "description": "OnRamp onboarding funnel analytics for web apps - track steps, see where users drop off.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -30,8 +30,8 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@onramp-sdk/core": "0.4.0",
34
- "@onramp-sdk/shared": "0.2.1"
33
+ "@onramp-sdk/core": "0.4.1",
34
+ "@onramp-sdk/shared": "0.2.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^5.5.0"