Move remaining .d.ts files to .ts (#5208)

* Update CRDT protobuf generation to create a .ts file

* Move remaining .d.ts files to .ts

* Fix remaining type errors

* Ignore .d.ts files so we don't accidentally use them in the future

* Add release notes
This commit is contained in:
Julian Dominguez-Schatz
2025-07-03 14:59:21 -04:00
committed by GitHub
parent c1d70722b8
commit 7b71374e79
15 changed files with 121 additions and 80 deletions

View File

@@ -18,4 +18,9 @@ protoc --plugin="protoc-gen-ts=../../node_modules/.bin/protoc-gen-ts" \
../../node_modules/.bin/prettier --write src/proto/*.d.ts
for file in src/proto/*.d.ts; do
{ echo "/* eslint-disable @typescript-eslint/no-namespace */"; sed 's/export class/export declare class/g' "$file"; } > "${file%.d.ts}.ts"
rm "$file"
done
echo 'One more step! Find the `var global = ...` declaration in src/proto/sync_pb.js and change it to `var global = globalThis;`'

View File

@@ -11,7 +11,7 @@
"scripts": {
"build:node": "tsc --p tsconfig.dist.json",
"proto:generate": "./bin/generate-proto",
"build": "rm -rf dist && yarn run build:node && cp src/proto/sync_pb.d.ts dist/src/proto/",
"build": "rm -rf dist && yarn run build:node",
"test": "vitest --globals"
},
"dependencies": {
@@ -20,6 +20,8 @@
"uuid": "^11.1.0"
},
"devDependencies": {
"@types/google-protobuf": "^3.15.12",
"protoc-gen-js": "^3.21.4-4",
"ts-protoc-gen": "^0.15.0",
"typescript": "^5.8.3",
"vitest": "^3.2.4"

View File

@@ -157,9 +157,9 @@ proto.EncryptedData.prototype.toObject = function(opt_includeInstance) {
*/
proto.EncryptedData.toObject = function(includeInstance, msg) {
var f, obj = {
iv: msg.getIv_asB64(),
authtag: msg.getAuthtag_asB64(),
data: msg.getData_asB64()
iv: msg.getIv_asB64(),
authtag: msg.getAuthtag_asB64(),
data: msg.getData_asB64()
};
if (includeInstance) {
@@ -419,10 +419,10 @@ proto.Message.prototype.toObject = function(opt_includeInstance) {
*/
proto.Message.toObject = function(includeInstance, msg) {
var f, obj = {
dataset: jspb.Message.getFieldWithDefault(msg, 1, ""),
row: jspb.Message.getFieldWithDefault(msg, 2, ""),
column: jspb.Message.getFieldWithDefault(msg, 3, ""),
value: jspb.Message.getFieldWithDefault(msg, 4, "")
dataset: jspb.Message.getFieldWithDefault(msg, 1, ""),
row: jspb.Message.getFieldWithDefault(msg, 2, ""),
column: jspb.Message.getFieldWithDefault(msg, 3, ""),
value: jspb.Message.getFieldWithDefault(msg, 4, "")
};
if (includeInstance) {
@@ -639,9 +639,9 @@ proto.MessageEnvelope.prototype.toObject = function(opt_includeInstance) {
*/
proto.MessageEnvelope.toObject = function(includeInstance, msg) {
var f, obj = {
timestamp: jspb.Message.getFieldWithDefault(msg, 1, ""),
isencrypted: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
content: msg.getContent_asB64()
timestamp: jspb.Message.getFieldWithDefault(msg, 1, ""),
isencrypted: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
content: msg.getContent_asB64()
};
if (includeInstance) {
@@ -860,12 +860,12 @@ proto.SyncRequest.prototype.toObject = function(opt_includeInstance) {
*/
proto.SyncRequest.toObject = function(includeInstance, msg) {
var f, obj = {
messagesList: jspb.Message.toObjectList(msg.getMessagesList(),
messagesList: jspb.Message.toObjectList(msg.getMessagesList(),
proto.MessageEnvelope.toObject, includeInstance),
fileid: jspb.Message.getFieldWithDefault(msg, 2, ""),
groupid: jspb.Message.getFieldWithDefault(msg, 3, ""),
keyid: jspb.Message.getFieldWithDefault(msg, 5, ""),
since: jspb.Message.getFieldWithDefault(msg, 6, "")
fileid: jspb.Message.getFieldWithDefault(msg, 2, ""),
groupid: jspb.Message.getFieldWithDefault(msg, 3, ""),
keyid: jspb.Message.getFieldWithDefault(msg, 5, ""),
since: jspb.Message.getFieldWithDefault(msg, 6, "")
};
if (includeInstance) {
@@ -1140,9 +1140,9 @@ proto.SyncResponse.prototype.toObject = function(opt_includeInstance) {
*/
proto.SyncResponse.toObject = function(includeInstance, msg) {
var f, obj = {
messagesList: jspb.Message.toObjectList(msg.getMessagesList(),
messagesList: jspb.Message.toObjectList(msg.getMessagesList(),
proto.MessageEnvelope.toObject, includeInstance),
merkle: jspb.Message.getFieldWithDefault(msg, 2, "")
merkle: jspb.Message.getFieldWithDefault(msg, 2, "")
};
if (includeInstance) {

View File

@@ -1,9 +1,10 @@
/* eslint-disable @typescript-eslint/no-namespace */
// package:
// file: sync.proto
import * as jspb from 'google-protobuf';
export class EncryptedData extends jspb.Message {
export declare class EncryptedData extends jspb.Message {
getIv(): Uint8Array | string;
getIv_asU8(): Uint8Array;
getIv_asB64(): string;
@@ -48,7 +49,7 @@ export namespace EncryptedData {
};
}
export class Message extends jspb.Message {
export declare class Message extends jspb.Message {
getDataset(): string;
setDataset(value: string): void;
@@ -88,7 +89,7 @@ export namespace Message {
};
}
export class MessageEnvelope extends jspb.Message {
export declare class MessageEnvelope extends jspb.Message {
getTimestamp(): string;
setTimestamp(value: string): void;
@@ -129,7 +130,7 @@ export namespace MessageEnvelope {
};
}
export class SyncRequest extends jspb.Message {
export declare class SyncRequest extends jspb.Message {
clearMessagesList(): void;
getMessagesList(): Array<MessageEnvelope>;
setMessagesList(value: Array<MessageEnvelope>): void;
@@ -178,7 +179,7 @@ export namespace SyncRequest {
};
}
export class SyncResponse extends jspb.Message {
export declare class SyncResponse extends jspb.Message {
clearMessagesList(): void;
getMessagesList(): Array<MessageEnvelope>;
setMessagesList(value: Array<MessageEnvelope>): void;