@revideo/telemetry 0.2.11-alpha.934 → 0.2.11

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.
@@ -0,0 +1,6 @@
1
+ export declare enum EventName {
2
+ RenderStarted = "revideo-render-started",
3
+ ServerStarted = "revideo-server-started"
4
+ }
5
+ export declare function sendEvent(eventName: EventName, eventProperties?: object): Promise<void>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,oBAAY,SAAS;IACnB,aAAa,2BAA2B;IACxC,aAAa,2BAA2B;CACzC;AA6BD,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,MAAW,iBAuB7B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,+CAAqC;AAErC,MAAM,MAAM,GAAG,IAAI,sBAAO,CAAC,iDAAiD,EAAE;IAC5E,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAC;AAEH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;AAC1C,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK;QAC5B,yCAAyC;QACzC,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAC1C,OAAO,CACR,CACF,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAC/B,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EACpC,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,gBAAgB,CAAC;IAC1B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,SAAoB,EACpB,kBAA0B,EAAE;IAE5B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,iBAAiB,EAAE;YACnB,aAAa,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC;YACb,UAAU;YACV,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE;gBACV,OAAO;gBACP,GAAG,eAAe;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAzBD,8BAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revideo/telemetry",
3
- "version": "0.2.11-alpha.934+b554a1f",
3
+ "version": "0.2.11",
4
4
  "description": "Telemetry for Revideo. Check the documentation to learn how to disable it.",
5
5
  "main": "dist/index.js",
6
6
  "author": "revideo",
@@ -17,7 +17,8 @@
17
17
  "url": "git+https://github.com/havenhq/revideo.git"
18
18
  },
19
19
  "files": [
20
- "lib"
20
+ "dist",
21
+ "src"
21
22
  ],
22
23
  "peerDependencies": {
23
24
  "@types/node": "18.14.0"
@@ -25,5 +26,5 @@
25
26
  "dependencies": {
26
27
  "posthog-node": "^4.0.0"
27
28
  },
28
- "gitHead": "b554a1f9b779fbdd9b87199c51f443c9d4a2df78"
29
+ "gitHead": "c123312b4ef4f6226157124cc74fcfe94057b52a"
29
30
  }
package/src/index.ts ADDED
@@ -0,0 +1,66 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import {PostHog} from 'posthog-node';
4
+
5
+ const Client = new PostHog('phc_YpKoFD7smPe4SXRtVyMW766uP9AjUwnuRJ8hh2EJcVv', {
6
+ host: 'https://eu.posthog.com',
7
+ });
8
+
9
+ export enum EventName {
10
+ RenderStarted = 'revideo-render-started',
11
+ ServerStarted = 'revideo-server-started',
12
+ }
13
+
14
+ async function getCurrentVersion() {
15
+ try {
16
+ const packageData = JSON.parse(
17
+ // Relative to this file: ../package.json
18
+ await fs.promises.readFile(
19
+ path.resolve(__dirname, '../package.json'),
20
+ 'utf-8',
21
+ ),
22
+ );
23
+
24
+ return packageData.version;
25
+ } catch (e) {
26
+ return 'ERROR';
27
+ }
28
+ }
29
+
30
+ async function getDistinctId() {
31
+ try {
32
+ return await fs.promises.readFile(
33
+ path.resolve(__dirname, '../id.txt'),
34
+ 'utf-8',
35
+ );
36
+ } catch (e) {
37
+ return 'anonymous-user';
38
+ }
39
+ }
40
+
41
+ export async function sendEvent(
42
+ eventName: EventName,
43
+ eventProperties: object = {},
44
+ ) {
45
+ if (process.env.DISABLE_TELEMETRY === 'true') {
46
+ return;
47
+ }
48
+
49
+ try {
50
+ const [version, distinctId] = await Promise.all([
51
+ getCurrentVersion(),
52
+ getDistinctId(),
53
+ ]);
54
+
55
+ Client.capture({
56
+ distinctId,
57
+ event: eventName,
58
+ properties: {
59
+ version,
60
+ ...eventProperties,
61
+ },
62
+ });
63
+ } catch (e) {
64
+ console.error(e);
65
+ }
66
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This script is run after the package is installed.
3
+ * It creates a file in the local npm package directory that contains a uuid4 string.
4
+ * It is used to identify the installation of the package when sending telemetry data.
5
+ *
6
+ * Telemetry can be disabled by running Revideo with the environment variable DISABLE_TELEMETRY=true
7
+ */
8
+
9
+ const fs = require('fs');
10
+ const {v4: uuidv4} = require('uuid');
11
+
12
+ function Run() {
13
+ if (fs.existsSync('./id.txt')) {
14
+ return;
15
+ }
16
+
17
+ const uuid = uuidv4();
18
+ fs.writeFileSync('./id.txt', uuid);
19
+ }
20
+
21
+ try {
22
+ Run();
23
+ } catch (e) {
24
+ // no-op
25
+ }