taro-posthog-sdk 1.0.0

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/dist/index.mjs ADDED
@@ -0,0 +1,357 @@
1
+ import Taro from '@tarojs/taro';
2
+
3
+ const version = "1.0.0";
4
+
5
+ const DEFAULT_HOST = 'https://us.i.posthog.com';
6
+ const DEFAULT_FLUSH_AT = 20;
7
+ const DEFAULT_FLUSH_INTERVAL = 10000;
8
+ const DEFAULT_REQUEST_TIMEOUT = 10000;
9
+ const LIBRARY = 'miniprogram';
10
+ const taro = Taro;
11
+ const trimTrailingSlash = value => value.replace(/\/+$/, '');
12
+ const now = () => new Date().toISOString();
13
+ const isRecord = value => !!value && typeof value === 'object' && !Array.isArray(value);
14
+ const stringifyQuery = query => {
15
+ if (!query) {
16
+ return '';
17
+ }
18
+ const parts = Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
19
+ return parts.length ? `?${parts.join('&')}` : '';
20
+ };
21
+ const createUuid = () => {
22
+ const template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
23
+ return template.replace(/[xy]/g, char => {
24
+ const random = Math.floor(Math.random() * 16);
25
+ const value = char === 'x' ? random : random & 0x3 | 0x8;
26
+ return value.toString(16);
27
+ });
28
+ };
29
+ const getCurrentTaroPages = taro => {
30
+ try {
31
+ if (typeof taro?.getCurrentPages === 'function') {
32
+ return taro.getCurrentPages();
33
+ }
34
+ return typeof getCurrentPages === 'function' ? getCurrentPages() : [];
35
+ } catch {
36
+ return [];
37
+ }
38
+ };
39
+ const normalizeRoute = (route, taro) => {
40
+ if (route?.path || route?.route) {
41
+ return route;
42
+ }
43
+ const pages = getCurrentTaroPages(taro);
44
+ const currentPage = pages[pages.length - 1];
45
+ const path = currentPage?.route || currentPage?.path || currentPage?.$taroPath;
46
+ return {
47
+ path,
48
+ route: path,
49
+ query: currentPage?.options
50
+ };
51
+ };
52
+ const getString = value => typeof value === 'string' && value ? value : undefined;
53
+ const getNumber = value => typeof value === 'number' ? value : undefined;
54
+ class PostHogMiniProgram {
55
+ constructor(apiKey, options = {}) {
56
+ this.state = {};
57
+ this.disabled = false;
58
+ this.apiKey = (apiKey || '').trim();
59
+ this.options = options;
60
+ this.host = trimTrailingSlash(options.api_host || DEFAULT_HOST);
61
+ this.flushAt = options.flush_at ?? DEFAULT_FLUSH_AT;
62
+ this.flushInterval = options.flush_interval ?? DEFAULT_FLUSH_INTERVAL;
63
+ this.requestTimeout = options.request_timeout ?? DEFAULT_REQUEST_TIMEOUT;
64
+ this.storageKey = `ph_${options.persistence_name || this.apiKey}_miniprogram`;
65
+ this.disabled = !this.apiKey;
66
+ this.state = this.readState();
67
+ this.setupIdentity();
68
+ this.persistState();
69
+ if (options.capture_pageview !== false) {
70
+ this.installPageviewTracking();
71
+ }
72
+ this.appHideHandler = () => {
73
+ void this.flush().catch(() => undefined);
74
+ };
75
+ taro.onAppHide?.(this.appHideHandler);
76
+ options.loaded?.(this);
77
+ }
78
+ capture(event, properties = {}, options = {}) {
79
+ if (this.disabled || !event) {
80
+ return;
81
+ }
82
+ const eventPayload = {
83
+ event,
84
+ properties: {
85
+ ...(this.state.super_properties || {}),
86
+ ...this.getSystemInfoProperties(),
87
+ ...properties,
88
+ distinct_id: this.getDistinctId(),
89
+ $device_id: this.getDeviceId(),
90
+ $lib: LIBRARY,
91
+ $lib_version: version,
92
+ ...(options.disable_geoip ?? this.options.disable_geoip ? {
93
+ $geoip_disable: true
94
+ } : {})
95
+ },
96
+ distinct_id: this.getDistinctId(),
97
+ timestamp: this.normalizeTimestamp(options.timestamp),
98
+ uuid: options.uuid || createUuid(),
99
+ type: 'capture',
100
+ library: LIBRARY,
101
+ library_version: version
102
+ };
103
+ const preparedEvent = this.options.before_send ? this.options.before_send(eventPayload) : eventPayload;
104
+ if (!preparedEvent) {
105
+ return;
106
+ }
107
+ this.enqueue(preparedEvent);
108
+ if (options.send_instantly || this.getQueue().length >= this.flushAt) {
109
+ void this.flush().catch(error => this.log('flush failed', error));
110
+ } else {
111
+ this.scheduleFlush();
112
+ }
113
+ return preparedEvent;
114
+ }
115
+ capturePageview(route, properties = {}) {
116
+ return this.captureScreen(route, properties);
117
+ }
118
+ captureScreen(route, properties = {}) {
119
+ const normalizedRoute = normalizeRoute(route, taro);
120
+ const path = normalizedRoute.path || normalizedRoute.route || '';
121
+ const query = stringifyQuery(normalizedRoute.query);
122
+ const currentUrl = `${path}${query}`;
123
+ if (currentUrl && currentUrl === this.lastPagePath) {
124
+ return;
125
+ }
126
+ const pageviewProperties = {
127
+ $current_url: currentUrl,
128
+ $pathname: path,
129
+ $referrer: '$direct',
130
+ $screen_name: currentUrl || path,
131
+ taro_open_type: normalizedRoute.openType,
132
+ ...(this.options.get_pageview_properties?.(normalizedRoute) || {}),
133
+ ...properties
134
+ };
135
+ this.lastPagePath = currentUrl;
136
+ return this.capture('$screen', pageviewProperties);
137
+ }
138
+ identify(distinctId, userPropertiesToSet, userPropertiesToSetOnce) {
139
+ if (!distinctId) {
140
+ return;
141
+ }
142
+ const previousDistinctId = this.getDistinctId();
143
+ this.state.distinct_id = distinctId;
144
+ this.persistState();
145
+ if (previousDistinctId !== distinctId) {
146
+ this.capture('$identify', {
147
+ distinct_id: distinctId,
148
+ $anon_distinct_id: previousDistinctId,
149
+ $set: userPropertiesToSet,
150
+ $set_once: userPropertiesToSetOnce
151
+ });
152
+ }
153
+ }
154
+ alias(alias, distinctId = this.getDistinctId()) {
155
+ if (!alias) {
156
+ return;
157
+ }
158
+ this.capture('$create_alias', {
159
+ alias,
160
+ distinct_id: distinctId
161
+ });
162
+ }
163
+ register(properties) {
164
+ this.state.super_properties = {
165
+ ...(this.state.super_properties || {}),
166
+ ...properties
167
+ };
168
+ this.persistState();
169
+ }
170
+ unregister(property) {
171
+ if (!this.state.super_properties) {
172
+ return;
173
+ }
174
+ delete this.state.super_properties[property];
175
+ this.persistState();
176
+ }
177
+ reset() {
178
+ const queue = this.getQueue();
179
+ const anonymousId = createUuid();
180
+ this.state = {
181
+ anonymous_id: anonymousId,
182
+ distinct_id: anonymousId,
183
+ device_id: anonymousId,
184
+ queue
185
+ };
186
+ this.persistState();
187
+ }
188
+ getDistinctId() {
189
+ return this.state.distinct_id || this.state.anonymous_id || '';
190
+ }
191
+ getDeviceId() {
192
+ return this.state.device_id || this.getDistinctId();
193
+ }
194
+ installPageviewTracking(options = {}) {
195
+ if (options.capture_initial !== false) {
196
+ setTimeout(() => this.captureScreen(), 0);
197
+ }
198
+ if (!taro.onAppRoute || this.appRouteHandler) {
199
+ return;
200
+ }
201
+ this.appRouteHandler = route => {
202
+ this.captureScreen(route);
203
+ };
204
+ taro.onAppRoute(this.appRouteHandler);
205
+ }
206
+ async flush() {
207
+ if (this.disabled) {
208
+ return;
209
+ }
210
+ if (this.flushPromise) {
211
+ return this.flushPromise;
212
+ }
213
+ this.clearFlushTimer();
214
+ this.flushPromise = this.flushQueue().finally(() => {
215
+ this.flushPromise = undefined;
216
+ });
217
+ return this.flushPromise;
218
+ }
219
+ stop() {
220
+ this.clearFlushTimer();
221
+ if (this.appRouteHandler) {
222
+ taro.offAppRoute?.(this.appRouteHandler);
223
+ this.appRouteHandler = undefined;
224
+ }
225
+ if (this.appHideHandler) {
226
+ taro.offAppHide?.(this.appHideHandler);
227
+ this.appHideHandler = undefined;
228
+ }
229
+ }
230
+ setupIdentity() {
231
+ if (this.state.distinct_id) {
232
+ return;
233
+ }
234
+ const bootstrapDistinctId = this.options.bootstrap?.distinctID;
235
+ const anonymousId = bootstrapDistinctId && !this.options.bootstrap?.isIdentifiedID ? bootstrapDistinctId : createUuid();
236
+ this.state.anonymous_id = this.state.anonymous_id || anonymousId;
237
+ this.state.device_id = this.state.device_id || this.state.anonymous_id;
238
+ this.state.distinct_id = bootstrapDistinctId || this.state.anonymous_id;
239
+ }
240
+ normalizeTimestamp(timestamp) {
241
+ if (timestamp instanceof Date) {
242
+ return timestamp.toISOString();
243
+ }
244
+ return timestamp || now();
245
+ }
246
+ getSystemInfoProperties() {
247
+ if (this.systemInfoProperties) {
248
+ return this.systemInfoProperties;
249
+ }
250
+ let systemInfo = {};
251
+ try {
252
+ systemInfo = taro.getSystemInfoSync?.() || {};
253
+ } catch {
254
+ systemInfo = {};
255
+ }
256
+ this.systemInfoProperties = {
257
+ $screen_height: getNumber(systemInfo.screenHeight),
258
+ $screen_width: getNumber(systemInfo.screenWidth),
259
+ $viewport_height: getNumber(systemInfo.windowHeight),
260
+ $viewport_width: getNumber(systemInfo.windowWidth),
261
+ $device_model: getString(systemInfo.model),
262
+ $device_manufacturer: getString(systemInfo.brand),
263
+ $os: getString(systemInfo.platform),
264
+ $os_version: getString(systemInfo.system),
265
+ taro_pixel_ratio: getNumber(systemInfo.pixelRatio),
266
+ taro_sdk_version: getString(systemInfo.SDKVersion),
267
+ taro_language: getString(systemInfo.language),
268
+ taro_theme: getString(systemInfo.theme)
269
+ };
270
+ return this.systemInfoProperties;
271
+ }
272
+ enqueue(event) {
273
+ this.state.queue = [...this.getQueue(), event];
274
+ this.persistState();
275
+ this.log('queued event', event);
276
+ }
277
+ getQueue() {
278
+ return this.state.queue || [];
279
+ }
280
+ scheduleFlush() {
281
+ if (this.flushTimer || this.flushInterval <= 0) {
282
+ return;
283
+ }
284
+ this.flushTimer = setTimeout(() => {
285
+ void this.flush().catch(error => this.log('flush failed', error));
286
+ }, this.flushInterval);
287
+ }
288
+ clearFlushTimer() {
289
+ if (this.flushTimer) {
290
+ clearTimeout(this.flushTimer);
291
+ this.flushTimer = undefined;
292
+ }
293
+ }
294
+ async flushQueue() {
295
+ while (this.getQueue().length > 0) {
296
+ const batch = this.getQueue().slice(0, this.flushAt);
297
+ await this.sendBatch(batch);
298
+ this.state.queue = this.getQueue().slice(batch.length);
299
+ this.persistState();
300
+ }
301
+ }
302
+ sendBatch(batch) {
303
+ return new Promise((resolve, reject) => {
304
+ taro.request({
305
+ url: `${this.host}/batch/`,
306
+ method: 'POST',
307
+ data: {
308
+ api_key: this.apiKey,
309
+ batch,
310
+ sent_at: now()
311
+ },
312
+ header: {
313
+ 'Content-Type': 'application/json'
314
+ },
315
+ timeout: this.requestTimeout,
316
+ success: result => {
317
+ if (result.statusCode >= 200 && result.statusCode < 300) {
318
+ resolve();
319
+ } else {
320
+ reject(new Error(`PostHog request failed with status ${result.statusCode}`));
321
+ }
322
+ },
323
+ fail: reject
324
+ });
325
+ });
326
+ }
327
+ readState() {
328
+ try {
329
+ const value = taro.getStorageSync?.(this.storageKey);
330
+ if (typeof value === 'string') {
331
+ const parsed = JSON.parse(value);
332
+ return isRecord(parsed) ? parsed : {};
333
+ }
334
+ return isRecord(value) ? value : {};
335
+ } catch {
336
+ return {};
337
+ }
338
+ }
339
+ persistState() {
340
+ try {
341
+ taro.setStorageSync?.(this.storageKey, JSON.stringify(this.state));
342
+ } catch {
343
+ return;
344
+ }
345
+ }
346
+ log(message, payload) {
347
+ if (this.options.debug) {
348
+ console.log(`[PostHog MiniProgram] ${message}`, payload);
349
+ }
350
+ }
351
+ }
352
+ const init = (apiKey, options) => {
353
+ return new PostHogMiniProgram(apiKey, options);
354
+ };
355
+
356
+ export { PostHogMiniProgram, PostHogMiniProgram as default, init };
357
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/version.ts","../src/index.ts"],"sourcesContent":[null,null],"names":["version","DEFAULT_HOST","DEFAULT_FLUSH_AT","DEFAULT_FLUSH_INTERVAL","DEFAULT_REQUEST_TIMEOUT","LIBRARY","taro","Taro","trimTrailingSlash","value","replace","now","Date","toISOString","isRecord","Array","isArray","stringifyQuery","query","parts","Object","entries","filter","undefined","map","key","encodeURIComponent","String","length","join","createUuid","template","char","random","Math","floor","toString","getCurrentTaroPages","getCurrentPages","normalizeRoute","route","path","pages","currentPage","$taroPath","options","getString","getNumber","PostHogMiniProgram","constructor","apiKey","state","disabled","trim","host","api_host","flushAt","flush_at","flushInterval","flush_interval","requestTimeout","request_timeout","storageKey","persistence_name","readState","setupIdentity","persistState","capture_pageview","installPageviewTracking","appHideHandler","flush","catch","onAppHide","loaded","capture","event","properties","eventPayload","super_properties","getSystemInfoProperties","distinct_id","getDistinctId","$device_id","getDeviceId","$lib","$lib_version","disable_geoip","$geoip_disable","timestamp","normalizeTimestamp","uuid","type","library","library_version","preparedEvent","before_send","enqueue","send_instantly","getQueue","error","log","scheduleFlush","capturePageview","captureScreen","normalizedRoute","currentUrl","lastPagePath","pageviewProperties","$current_url","$pathname","$referrer","$screen_name","taro_open_type","openType","get_pageview_properties","identify","distinctId","userPropertiesToSet","userPropertiesToSetOnce","previousDistinctId","$anon_distinct_id","$set","$set_once","alias","register","unregister","property","reset","queue","anonymousId","anonymous_id","device_id","capture_initial","setTimeout","onAppRoute","appRouteHandler","flushPromise","clearFlushTimer","flushQueue","finally","stop","offAppRoute","offAppHide","bootstrapDistinctId","bootstrap","distinctID","isIdentifiedID","systemInfoProperties","systemInfo","getSystemInfoSync","$screen_height","screenHeight","$screen_width","screenWidth","$viewport_height","windowHeight","$viewport_width","windowWidth","$device_model","model","$device_manufacturer","brand","$os","platform","$os_version","system","taro_pixel_ratio","pixelRatio","taro_sdk_version","SDKVersion","taro_language","language","taro_theme","theme","flushTimer","clearTimeout","batch","slice","sendBatch","Promise","resolve","reject","request","url","method","data","api_key","sent_at","header","timeout","success","result","statusCode","Error","fail","getStorageSync","parsed","JSON","parse","setStorageSync","stringify","message","payload","debug","console","init"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "taro-posthog-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Minimal PostHog SDK for Taro mini apps",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/mxsyx/taro-posthog-sdk.git",
8
+ "directory": "packages/taro"
9
+ },
10
+ "license": "MIT",
11
+ "main": "dist/index.cjs",
12
+ "module": "dist/index.mjs",
13
+ "types": "dist/index.d.ts",
14
+ "scripts": {
15
+ "clean": "rimraf dist coverage",
16
+ "lint": "eslint src",
17
+ "lint:fix": "eslint src --fix",
18
+ "prebuild": "node -p \"'export const version = ' + JSON.stringify(require('./package.json').version)\" > src/version.ts",
19
+ "build": "rollup -c",
20
+ "dev": "rollup -c -w",
21
+ "package": "pnpm pack --out $PACKAGE_DEST/%s.tgz"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "src"
26
+ ],
27
+ "peerDependencies": {
28
+ "@tarojs/taro": "^4.1.4"
29
+ },
30
+ "devDependencies": {
31
+ "@babel/preset-env": "catalog:",
32
+ "@babel/preset-typescript": "catalog:",
33
+ "@posthog-tooling/rollup-utils": "workspace:*",
34
+ "@posthog-tooling/tsconfig-base": "workspace:*",
35
+ "@tarojs/taro": "^4.1.4",
36
+ "rimraf": "^6.1.2"
37
+ },
38
+ "keywords": [
39
+ "posthog",
40
+ "taro",
41
+ "wechat",
42
+ "miniprogram",
43
+ "analytics"
44
+ ]
45
+ }