@thirdweb-dev/service-utils 0.8.3-nightly-a22457a69cc6667ac13599d10ebddc41ceafa0ff-20250130210855 → 0.8.3-nightly-6ed2fd13de1638bcf1c28fd4fdbeb00c0d449994-20250130225711
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/cjs/node/usageV2.js
CHANGED
@@ -4,6 +4,7 @@ exports.UsageV2Producer = void 0;
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
5
5
|
const node_tls_1 = require("node:tls");
|
6
6
|
const kafkajs_1 = require("kafkajs");
|
7
|
+
const kafkajs_lz4_1 = require("kafkajs-lz4");
|
7
8
|
const usageV2_js_1 = require("../core/usageV2.js");
|
8
9
|
/**
|
9
10
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
@@ -38,9 +39,16 @@ class UsageV2Producer {
|
|
38
39
|
writable: true,
|
39
40
|
value: void 0
|
40
41
|
});
|
42
|
+
Object.defineProperty(this, "compression", {
|
43
|
+
enumerable: true,
|
44
|
+
configurable: true,
|
45
|
+
writable: true,
|
46
|
+
value: void 0
|
47
|
+
});
|
48
|
+
const { producerName, environment, productName, compression = kafkajs_1.CompressionTypes.LZ4, username, password, } = config;
|
41
49
|
this.kafka = new kafkajs_1.Kafka({
|
42
|
-
clientId: `${
|
43
|
-
brokers:
|
50
|
+
clientId: `${producerName}-${environment}`,
|
51
|
+
brokers: environment === "production"
|
44
52
|
? ["warpstream.thirdweb.xyz:9092"]
|
45
53
|
: ["warpstream-dev.thirdweb.xyz:9092"],
|
46
54
|
ssl: {
|
@@ -50,17 +58,21 @@ class UsageV2Producer {
|
|
50
58
|
},
|
51
59
|
sasl: {
|
52
60
|
mechanism: "plain",
|
53
|
-
username
|
54
|
-
password
|
61
|
+
username,
|
62
|
+
password,
|
55
63
|
},
|
56
64
|
});
|
57
|
-
this.topic = (0, usageV2_js_1.getTopicName)(
|
65
|
+
this.topic = (0, usageV2_js_1.getTopicName)(productName);
|
66
|
+
this.compression = compression;
|
58
67
|
}
|
59
68
|
/**
|
60
69
|
* Connect the producer.
|
61
70
|
* This must be called before calling `sendEvents()`.
|
62
71
|
*/
|
63
72
|
async init(configOverrides) {
|
73
|
+
if (this.compression === kafkajs_1.CompressionTypes.LZ4) {
|
74
|
+
kafkajs_1.CompressionCodecs[kafkajs_1.CompressionTypes.LZ4] = new kafkajs_lz4_1.default().codec;
|
75
|
+
}
|
64
76
|
this.producer = this.kafka.producer({
|
65
77
|
allowAutoTopicCreation: false,
|
66
78
|
...configOverrides,
|
@@ -103,7 +115,7 @@ class UsageV2Producer {
|
|
103
115
|
})),
|
104
116
|
acks: -1, // All brokers must acknowledge
|
105
117
|
timeout: 10_000, // 10 seconds
|
106
|
-
compression:
|
118
|
+
compression: this.compression,
|
107
119
|
...configOverrides,
|
108
120
|
});
|
109
121
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAA+C;AAC/C,
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/node/usageV2.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
2
2
|
import { checkServerIdentity } from "node:tls";
|
3
|
-
import { CompressionTypes, Kafka, } from "kafkajs";
|
3
|
+
import { CompressionCodecs, CompressionTypes, Kafka, } from "kafkajs";
|
4
|
+
import LZ4Codec from "kafkajs-lz4";
|
4
5
|
import { getTopicName } from "../core/usageV2.js";
|
5
6
|
/**
|
6
7
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
@@ -35,9 +36,16 @@ export class UsageV2Producer {
|
|
35
36
|
writable: true,
|
36
37
|
value: void 0
|
37
38
|
});
|
39
|
+
Object.defineProperty(this, "compression", {
|
40
|
+
enumerable: true,
|
41
|
+
configurable: true,
|
42
|
+
writable: true,
|
43
|
+
value: void 0
|
44
|
+
});
|
45
|
+
const { producerName, environment, productName, compression = CompressionTypes.LZ4, username, password, } = config;
|
38
46
|
this.kafka = new Kafka({
|
39
|
-
clientId: `${
|
40
|
-
brokers:
|
47
|
+
clientId: `${producerName}-${environment}`,
|
48
|
+
brokers: environment === "production"
|
41
49
|
? ["warpstream.thirdweb.xyz:9092"]
|
42
50
|
: ["warpstream-dev.thirdweb.xyz:9092"],
|
43
51
|
ssl: {
|
@@ -47,17 +55,21 @@ export class UsageV2Producer {
|
|
47
55
|
},
|
48
56
|
sasl: {
|
49
57
|
mechanism: "plain",
|
50
|
-
username
|
51
|
-
password
|
58
|
+
username,
|
59
|
+
password,
|
52
60
|
},
|
53
61
|
});
|
54
|
-
this.topic = getTopicName(
|
62
|
+
this.topic = getTopicName(productName);
|
63
|
+
this.compression = compression;
|
55
64
|
}
|
56
65
|
/**
|
57
66
|
* Connect the producer.
|
58
67
|
* This must be called before calling `sendEvents()`.
|
59
68
|
*/
|
60
69
|
async init(configOverrides) {
|
70
|
+
if (this.compression === CompressionTypes.LZ4) {
|
71
|
+
CompressionCodecs[CompressionTypes.LZ4] = new LZ4Codec().codec;
|
72
|
+
}
|
61
73
|
this.producer = this.kafka.producer({
|
62
74
|
allowAutoTopicCreation: false,
|
63
75
|
...configOverrides,
|
@@ -100,7 +112,7 @@ export class UsageV2Producer {
|
|
100
112
|
})),
|
101
113
|
acks: -1, // All brokers must acknowledge
|
102
114
|
timeout: 10_000, // 10 seconds
|
103
|
-
compression:
|
115
|
+
compression: this.compression,
|
104
116
|
...configOverrides,
|
105
117
|
});
|
106
118
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,KAAK,GAGN,MAAM,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"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"}
|
@@ -18,6 +18,7 @@ export declare class UsageV2Producer {
|
|
18
18
|
private kafka;
|
19
19
|
private producer;
|
20
20
|
private topic;
|
21
|
+
private compression;
|
21
22
|
constructor(config: {
|
22
23
|
/**
|
23
24
|
* A descriptive name for your service. Example: "storage-server"
|
@@ -31,6 +32,10 @@ export declare class UsageV2Producer {
|
|
31
32
|
* The product "source" where usage is coming from.
|
32
33
|
*/
|
33
34
|
productName: ServiceName;
|
35
|
+
/**
|
36
|
+
* The compression algorithm to use.
|
37
|
+
*/
|
38
|
+
compression?: CompressionTypes;
|
34
39
|
username: string;
|
35
40
|
password: string;
|
36
41
|
});
|
@@ -56,7 +61,6 @@ export declare class UsageV2Producer {
|
|
56
61
|
configOverrides?: {
|
57
62
|
acks?: number;
|
58
63
|
timeout?: number;
|
59
|
-
compression?: CompressionTypes;
|
60
64
|
}): Promise<void>;
|
61
65
|
/**
|
62
66
|
* Disconnects UsageV2Producer.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,gBAAgB,EAGhB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAmB;gBAE1B,MAAM,EAAE;QAClB;;WAEG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,WAAW,EAAE,aAAa,GAAG,YAAY,CAAC;QAC1C;;WAEG;QACH,WAAW,EAAE,WAAW,CAAC;QACzB;;WAEG;QACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAE/B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAgCD;;;OAGG;IACG,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc;IAY3C;;;;;;;;;OASG;IACG,UAAU,CACd,MAAM,EAAE,YAAY,EAAE;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;OAGG;IACG,UAAU;CAMjB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@thirdweb-dev/service-utils",
|
3
|
-
"version": "0.8.3-nightly-
|
3
|
+
"version": "0.8.3-nightly-6ed2fd13de1638bcf1c28fd4fdbeb00c0d449994-20250130225711",
|
4
4
|
"type": "module",
|
5
5
|
"main": "dist/cjs/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|
@@ -47,6 +47,7 @@
|
|
47
47
|
"dependencies": {
|
48
48
|
"aws4fetch": "1.0.20",
|
49
49
|
"kafkajs": "2.2.4",
|
50
|
+
"kafkajs-lz4": "2.0.0-beta.0",
|
50
51
|
"zod": "3.24.1"
|
51
52
|
},
|
52
53
|
"devDependencies": {
|