@twick/telemetry 0.15.19 → 0.15.21
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.cjs +21 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +21 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +25 -8
- package/src/postinstall.js +10 -0
package/dist/index.cjs
CHANGED
|
@@ -38,11 +38,25 @@ var import_fs = __toESM(require("fs"), 1);
|
|
|
38
38
|
var import_os = __toESM(require("os"), 1);
|
|
39
39
|
var import_path = __toESM(require("path"), 1);
|
|
40
40
|
var import_posthog_node = require("posthog-node");
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
var client = null;
|
|
42
|
+
function isTelemetryEnabled() {
|
|
43
|
+
if (process.env.DISABLE_TELEMETRY === "true") {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return process.env.TWICK_TELEMETRY_ENABLED === "true";
|
|
47
|
+
}
|
|
48
|
+
function getTelemetryClient() {
|
|
49
|
+
if (!isTelemetryEnabled()) return null;
|
|
50
|
+
if (client) return client;
|
|
51
|
+
const apiKey = process.env.TWICK_TELEMETRY_API_KEY;
|
|
52
|
+
if (!apiKey) return null;
|
|
53
|
+
client = new import_posthog_node.PostHog(apiKey, {
|
|
54
|
+
host: process.env.TWICK_TELEMETRY_HOST || "https://eu.posthog.com"
|
|
55
|
+
});
|
|
56
|
+
return client;
|
|
57
|
+
}
|
|
44
58
|
process.on("beforeExit", async () => {
|
|
45
|
-
await
|
|
59
|
+
await client?.shutdown();
|
|
46
60
|
});
|
|
47
61
|
var EventName = /* @__PURE__ */ ((EventName2) => {
|
|
48
62
|
EventName2["RenderStarted"] = "twick-render-started";
|
|
@@ -77,15 +91,14 @@ async function getDistinctId() {
|
|
|
77
91
|
}
|
|
78
92
|
}
|
|
79
93
|
async function sendEvent(eventName, eventProperties = {}) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
94
|
+
const telemetryClient = getTelemetryClient();
|
|
95
|
+
if (!telemetryClient) return;
|
|
83
96
|
try {
|
|
84
97
|
const [version, distinctId] = await Promise.all([
|
|
85
98
|
getCurrentVersion(),
|
|
86
99
|
getDistinctId()
|
|
87
100
|
]);
|
|
88
|
-
|
|
101
|
+
telemetryClient.capture({
|
|
89
102
|
distinctId,
|
|
90
103
|
event: eventName,
|
|
91
104
|
properties: {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport {PostHog} from 'posthog-node';\n\
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport {PostHog} from 'posthog-node';\n\nlet client: PostHog | null = null;\n\nfunction isTelemetryEnabled(): boolean {\n if (process.env.DISABLE_TELEMETRY === 'true') {\n return false;\n }\n return process.env.TWICK_TELEMETRY_ENABLED === 'true';\n}\n\nfunction getTelemetryClient(): PostHog | null {\n if (!isTelemetryEnabled()) return null;\n if (client) return client;\n\n const apiKey = process.env.TWICK_TELEMETRY_API_KEY;\n if (!apiKey) return null;\n\n client = new PostHog(apiKey, {\n host: process.env.TWICK_TELEMETRY_HOST || 'https://eu.posthog.com',\n });\n return client;\n}\n\nprocess.on('beforeExit', async () => {\n await client?.shutdown();\n});\n\nexport enum EventName {\n RenderStarted = 'twick-render-started',\n ServerStarted = 'twick-server-started',\n CLICommand = 'twick-cli-command',\n CreateCommand = 'twick-create-command',\n Error = 'twick-error',\n}\n\nasync function getCurrentVersion() {\n try {\n const packageData = JSON.parse(\n // Relative to this file: ../package.json\n await fs.promises.readFile(\n path.resolve(__dirname, '../package.json'),\n 'utf-8',\n ),\n );\n\n return packageData.version;\n } catch (e) {\n return 'ERROR';\n }\n}\n\nasync function getDistinctId() {\n try {\n return await fs.promises.readFile(\n path.resolve(os.homedir(), '.twick/id.txt'),\n 'utf-8',\n );\n } catch (e) {\n return 'anonymous-user';\n }\n}\n\nexport async function sendEvent(\n eventName: EventName,\n eventProperties: object = {},\n) {\n const telemetryClient = getTelemetryClient();\n if (!telemetryClient) return;\n\n try {\n const [version, distinctId] = await Promise.all([\n getCurrentVersion(),\n getDistinctId(),\n ]);\n\n telemetryClient.capture({\n distinctId,\n event: eventName,\n properties: {\n version,\n ...eventProperties,\n },\n });\n } catch (e) {\n // No-op\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,gBAAe;AACf,kBAAiB;AACjB,0BAAsB;AAEtB,IAAI,SAAyB;AAE7B,SAAS,qBAA8B;AACrC,MAAI,QAAQ,IAAI,sBAAsB,QAAQ;AAC5C,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,4BAA4B;AACjD;AAEA,SAAS,qBAAqC;AAC5C,MAAI,CAAC,mBAAmB,EAAG,QAAO;AAClC,MAAI,OAAQ,QAAO;AAEnB,QAAM,SAAS,QAAQ,IAAI;AAC3B,MAAI,CAAC,OAAQ,QAAO;AAEpB,WAAS,IAAI,4BAAQ,QAAQ;AAAA,IAC3B,MAAM,QAAQ,IAAI,wBAAwB;AAAA,EAC5C,CAAC;AACD,SAAO;AACT;AAEA,QAAQ,GAAG,cAAc,YAAY;AACnC,QAAM,QAAQ,SAAS;AACzB,CAAC;AAEM,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;AAQZ,eAAe,oBAAoB;AACjC,MAAI;AACF,UAAM,cAAc,KAAK;AAAA;AAAA,MAEvB,MAAM,UAAAC,QAAG,SAAS;AAAA,QAChB,YAAAC,QAAK,QAAQ,WAAW,iBAAiB;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAEA,WAAO,YAAY;AAAA,EACrB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEA,eAAe,gBAAgB;AAC7B,MAAI;AACF,WAAO,MAAM,UAAAD,QAAG,SAAS;AAAA,MACvB,YAAAC,QAAK,QAAQ,UAAAC,QAAG,QAAQ,GAAG,eAAe;AAAA,MAC1C;AAAA,IACF;AAAA,EACF,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,UACpB,WACA,kBAA0B,CAAC,GAC3B;AACA,QAAM,kBAAkB,mBAAmB;AAC3C,MAAI,CAAC,gBAAiB;AAEtB,MAAI;AACF,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC9C,kBAAkB;AAAA,MAClB,cAAc;AAAA,IAChB,CAAC;AAED,oBAAgB,QAAQ;AAAA,MACtB;AAAA,MACA,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH,SAAS,GAAG;AAAA,EAEZ;AACF;","names":["EventName","fs","path","os"]}
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,25 @@ import fs from "fs";
|
|
|
3
3
|
import os from "os";
|
|
4
4
|
import path from "path";
|
|
5
5
|
import { PostHog } from "posthog-node";
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
var client = null;
|
|
7
|
+
function isTelemetryEnabled() {
|
|
8
|
+
if (process.env.DISABLE_TELEMETRY === "true") {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return process.env.TWICK_TELEMETRY_ENABLED === "true";
|
|
12
|
+
}
|
|
13
|
+
function getTelemetryClient() {
|
|
14
|
+
if (!isTelemetryEnabled()) return null;
|
|
15
|
+
if (client) return client;
|
|
16
|
+
const apiKey = process.env.TWICK_TELEMETRY_API_KEY;
|
|
17
|
+
if (!apiKey) return null;
|
|
18
|
+
client = new PostHog(apiKey, {
|
|
19
|
+
host: process.env.TWICK_TELEMETRY_HOST || "https://eu.posthog.com"
|
|
20
|
+
});
|
|
21
|
+
return client;
|
|
22
|
+
}
|
|
9
23
|
process.on("beforeExit", async () => {
|
|
10
|
-
await
|
|
24
|
+
await client?.shutdown();
|
|
11
25
|
});
|
|
12
26
|
var EventName = /* @__PURE__ */ ((EventName2) => {
|
|
13
27
|
EventName2["RenderStarted"] = "twick-render-started";
|
|
@@ -42,15 +56,14 @@ async function getDistinctId() {
|
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
58
|
async function sendEvent(eventName, eventProperties = {}) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
59
|
+
const telemetryClient = getTelemetryClient();
|
|
60
|
+
if (!telemetryClient) return;
|
|
48
61
|
try {
|
|
49
62
|
const [version, distinctId] = await Promise.all([
|
|
50
63
|
getCurrentVersion(),
|
|
51
64
|
getDistinctId()
|
|
52
65
|
]);
|
|
53
|
-
|
|
66
|
+
telemetryClient.capture({
|
|
54
67
|
distinctId,
|
|
55
68
|
event: eventName,
|
|
56
69
|
properties: {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport {PostHog} from 'posthog-node';\n\
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport {PostHog} from 'posthog-node';\n\nlet client: PostHog | null = null;\n\nfunction isTelemetryEnabled(): boolean {\n if (process.env.DISABLE_TELEMETRY === 'true') {\n return false;\n }\n return process.env.TWICK_TELEMETRY_ENABLED === 'true';\n}\n\nfunction getTelemetryClient(): PostHog | null {\n if (!isTelemetryEnabled()) return null;\n if (client) return client;\n\n const apiKey = process.env.TWICK_TELEMETRY_API_KEY;\n if (!apiKey) return null;\n\n client = new PostHog(apiKey, {\n host: process.env.TWICK_TELEMETRY_HOST || 'https://eu.posthog.com',\n });\n return client;\n}\n\nprocess.on('beforeExit', async () => {\n await client?.shutdown();\n});\n\nexport enum EventName {\n RenderStarted = 'twick-render-started',\n ServerStarted = 'twick-server-started',\n CLICommand = 'twick-cli-command',\n CreateCommand = 'twick-create-command',\n Error = 'twick-error',\n}\n\nasync function getCurrentVersion() {\n try {\n const packageData = JSON.parse(\n // Relative to this file: ../package.json\n await fs.promises.readFile(\n path.resolve(__dirname, '../package.json'),\n 'utf-8',\n ),\n );\n\n return packageData.version;\n } catch (e) {\n return 'ERROR';\n }\n}\n\nasync function getDistinctId() {\n try {\n return await fs.promises.readFile(\n path.resolve(os.homedir(), '.twick/id.txt'),\n 'utf-8',\n );\n } catch (e) {\n return 'anonymous-user';\n }\n}\n\nexport async function sendEvent(\n eventName: EventName,\n eventProperties: object = {},\n) {\n const telemetryClient = getTelemetryClient();\n if (!telemetryClient) return;\n\n try {\n const [version, distinctId] = await Promise.all([\n getCurrentVersion(),\n getDistinctId(),\n ]);\n\n telemetryClient.capture({\n distinctId,\n event: eventName,\n properties: {\n version,\n ...eventProperties,\n },\n });\n } catch (e) {\n // No-op\n }\n}\n"],"mappings":";AAAA,OAAO,QAAQ;AACf,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAQ,eAAc;AAEtB,IAAI,SAAyB;AAE7B,SAAS,qBAA8B;AACrC,MAAI,QAAQ,IAAI,sBAAsB,QAAQ;AAC5C,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,4BAA4B;AACjD;AAEA,SAAS,qBAAqC;AAC5C,MAAI,CAAC,mBAAmB,EAAG,QAAO;AAClC,MAAI,OAAQ,QAAO;AAEnB,QAAM,SAAS,QAAQ,IAAI;AAC3B,MAAI,CAAC,OAAQ,QAAO;AAEpB,WAAS,IAAI,QAAQ,QAAQ;AAAA,IAC3B,MAAM,QAAQ,IAAI,wBAAwB;AAAA,EAC5C,CAAC;AACD,SAAO;AACT;AAEA,QAAQ,GAAG,cAAc,YAAY;AACnC,QAAM,QAAQ,SAAS;AACzB,CAAC;AAEM,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;AAQZ,eAAe,oBAAoB;AACjC,MAAI;AACF,UAAM,cAAc,KAAK;AAAA;AAAA,MAEvB,MAAM,GAAG,SAAS;AAAA,QAChB,KAAK,QAAQ,WAAW,iBAAiB;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAEA,WAAO,YAAY;AAAA,EACrB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEA,eAAe,gBAAgB;AAC7B,MAAI;AACF,WAAO,MAAM,GAAG,SAAS;AAAA,MACvB,KAAK,QAAQ,GAAG,QAAQ,GAAG,eAAe;AAAA,MAC1C;AAAA,IACF;AAAA,EACF,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,UACpB,WACA,kBAA0B,CAAC,GAC3B;AACA,QAAM,kBAAkB,mBAAmB;AAC3C,MAAI,CAAC,gBAAiB;AAEtB,MAAI;AACF,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC9C,kBAAkB;AAAA,MAClB,cAAc;AAAA,IAChB,CAAC;AAED,oBAAgB,QAAQ;AAAA,MACtB;AAAA,MACA,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH,SAAS,GAAG;AAAA,EAEZ;AACF;","names":["EventName"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twick/telemetry",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.21",
|
|
4
4
|
"description": "Telemetry for Twick. Check the documentation to learn how to disable it.",
|
|
5
5
|
"author": "twick",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://twick.base/",
|
|
41
41
|
"bugs": "https://github.com/ncounterspecialist/twick-base/issues",
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "3712f98914034fa4c1807feeba7a9cbf7b3b45cc"
|
|
43
43
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,12 +3,30 @@ import os from 'os';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import {PostHog} from 'posthog-node';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
let client: PostHog | null = null;
|
|
7
|
+
|
|
8
|
+
function isTelemetryEnabled(): boolean {
|
|
9
|
+
if (process.env.DISABLE_TELEMETRY === 'true') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return process.env.TWICK_TELEMETRY_ENABLED === 'true';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getTelemetryClient(): PostHog | null {
|
|
16
|
+
if (!isTelemetryEnabled()) return null;
|
|
17
|
+
if (client) return client;
|
|
18
|
+
|
|
19
|
+
const apiKey = process.env.TWICK_TELEMETRY_API_KEY;
|
|
20
|
+
if (!apiKey) return null;
|
|
21
|
+
|
|
22
|
+
client = new PostHog(apiKey, {
|
|
23
|
+
host: process.env.TWICK_TELEMETRY_HOST || 'https://eu.posthog.com',
|
|
24
|
+
});
|
|
25
|
+
return client;
|
|
26
|
+
}
|
|
9
27
|
|
|
10
28
|
process.on('beforeExit', async () => {
|
|
11
|
-
await
|
|
29
|
+
await client?.shutdown();
|
|
12
30
|
});
|
|
13
31
|
|
|
14
32
|
export enum EventName {
|
|
@@ -50,9 +68,8 @@ export async function sendEvent(
|
|
|
50
68
|
eventName: EventName,
|
|
51
69
|
eventProperties: object = {},
|
|
52
70
|
) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
71
|
+
const telemetryClient = getTelemetryClient();
|
|
72
|
+
if (!telemetryClient) return;
|
|
56
73
|
|
|
57
74
|
try {
|
|
58
75
|
const [version, distinctId] = await Promise.all([
|
|
@@ -60,7 +77,7 @@ export async function sendEvent(
|
|
|
60
77
|
getDistinctId(),
|
|
61
78
|
]);
|
|
62
79
|
|
|
63
|
-
|
|
80
|
+
telemetryClient.capture({
|
|
64
81
|
distinctId,
|
|
65
82
|
event: eventName,
|
|
66
83
|
properties: {
|
package/src/postinstall.js
CHANGED
|
@@ -15,6 +15,16 @@ const idPath = path.resolve(os.homedir(), '.twick/id.txt');
|
|
|
15
15
|
const outputDirectory = path.dirname(idPath);
|
|
16
16
|
|
|
17
17
|
function Run() {
|
|
18
|
+
if (process.env.DISABLE_TELEMETRY === 'true') {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (process.env.TWICK_TELEMETRY_NO_ID_FILE === 'true') {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (process.env.TWICK_TELEMETRY_ENABLED !== 'true') {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
18
28
|
if (fs.existsSync(idPath)) {
|
|
19
29
|
return;
|
|
20
30
|
}
|