diff --git a/README.md b/README.md index cd2d92c..44e003e 100644 --- a/README.md +++ b/README.md @@ -726,9 +726,7 @@ See [USAGE.md](USAGE.md) for detailed API documentation and examples. ### Runtime Dependencies - **`@grpc/grpc-js`** - gRPC implementation for Node.js -- **`@grpc/proto-loader`** - Protocol buffer loader -- **`google-protobuf`** - Google Protocol Buffers runtime -- **`ts-proto`** - TypeScript protobuf code generator +- **`@bufbuild/protobuf`** - Wire format reader/writer used by the generated protobuf code - **`ts-deepmerge`** - Deep merging utility for resources - **`pino`** - Fast, structured JSON logger - **`kubernetes-models`** - Type-safe Kubernetes resource models (optional) @@ -737,7 +735,7 @@ See [USAGE.md](USAGE.md) for detailed API documentation and examples. - **`typescript`** - TypeScript compiler (v5.7+) - **`@types/node`** - Node.js type definitions -- **`@types/google-protobuf`** - Google Protobuf type definitions +- **`ts-proto`** - TypeScript protobuf code generator (a `protoc` plugin, build-time only) - **`ts-node`** - TypeScript execution engine - **`vitest`** - Fast unit test framework - **`@vitest/coverage-v8`** - Code coverage reporting diff --git a/package-lock.json b/package-lock.json index 42cce5c..3aba468 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,23 +9,21 @@ "version": "0.7.0", "license": "Apache-2.0", "dependencies": { + "@bufbuild/protobuf": "^2.15.0", "@grpc/grpc-js": "^1.14.3", - "@grpc/proto-loader": "^0.8.0", - "google-protobuf": "^4.0.1", "kubernetes-models": "^5.0.0", "pino": "^10.1.0", - "ts-deepmerge": "^8.0.0", - "ts-proto": "^2.10.1" + "ts-deepmerge": "^8.0.0" }, "devDependencies": { "@eslint/js": "^10.0.0", - "@types/google-protobuf": "^3.15.12", "@types/node": "^25.0.3", "@typescript/native": "npm:typescript@^7.0.0", "@vitest/coverage-v8": "^5.0.0", "eslint": "^10.0.2", "prettier": "^3.7.4", "ts-node": "^10.9.2", + "ts-proto": "^2.12.4", "typescript": "npm:@typescript/typescript6@^6.0.2", "typescript-eslint": "^8.60.0", "vitest": "^5.0.0" @@ -923,13 +921,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/google-protobuf": { - "version": "3.15.12", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.12.tgz", - "integrity": "sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -1866,6 +1857,7 @@ "version": "2.1.13", "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", "integrity": "sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==", + "dev": true, "license": "MIT", "engines": { "node": ">=12.13" @@ -1982,6 +1974,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, "license": "Apache-2.0", "bin": { "detect-libc": "bin/detect-libc.js" @@ -2010,6 +2003,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", + "dev": true, "license": "MIT", "dependencies": { "detect-libc": "^1.0.3" @@ -2368,12 +2362,6 @@ "node": ">=10.13.0" } }, - "node_modules/google-protobuf": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-4.0.3.tgz", - "integrity": "sha512-DI6iiRmF8fE/EzvGK5F9b8RxZeumHC2AAhi3xwOEh+GT5eRhJeW1aOtkDxn0W7cVCFQAtwK+ZDwIO1BYz+9WMA==", - "license": "(BSD-3-Clause AND Apache-2.0)" - }, "node_modules/hashery": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz", @@ -3605,6 +3593,7 @@ "version": "6.12.0", "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.12.0.tgz", "integrity": "sha512-xo+iRNMWqyvXpFTaOAvLPA5QAWO6TZrSUs5s4Odaya3epqofBu/fMLHEWl8jPmjhA0s9sgj9sNvF1BmaQlmQkA==", + "dev": true, "license": "Apache-2.0", "dependencies": { "dprint-node": "^1.0.8" @@ -3614,6 +3603,7 @@ "version": "2.12.4", "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-2.12.4.tgz", "integrity": "sha512-nZ2UyT+xEanL90lCnL0BrTfKtljZE4wnOvUqR0XUpuWCu3w4k8LUnR4AKJoy1UtxPDa1HpJ1z//pu2tvIPDrUA==", + "dev": true, "license": "ISC", "dependencies": { "@bufbuild/protobuf": "^2.14.1", @@ -3629,6 +3619,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-2.1.0.tgz", "integrity": "sha512-S5EZYEQ6L9KLFfjSRpZWDIXDV/W7tAj8uW7pLsihIxyr62EAVSiKuVPwE8iWnr849Bqa53enex1jhDUcpgquzA==", + "dev": true, "license": "ISC", "dependencies": { "@bufbuild/protobuf": "^2.0.0" diff --git a/package.json b/package.json index 2b6be70..fd78106 100644 --- a/package.json +++ b/package.json @@ -43,23 +43,21 @@ "typecheck:legacy": "npx tsc6 --noEmit" }, "dependencies": { + "@bufbuild/protobuf": "^2.15.0", "@grpc/grpc-js": "^1.14.3", - "@grpc/proto-loader": "^0.8.0", - "google-protobuf": "^4.0.1", "kubernetes-models": "^5.0.0", "pino": "^10.1.0", - "ts-deepmerge": "^8.0.0", - "ts-proto": "^2.10.1" + "ts-deepmerge": "^8.0.0" }, "devDependencies": { "@eslint/js": "^10.0.0", - "@types/google-protobuf": "^3.15.12", "@types/node": "^25.0.3", "@typescript/native": "npm:typescript@^7.0.0", "@vitest/coverage-v8": "^5.0.0", "eslint": "^10.0.2", "prettier": "^3.7.4", "ts-node": "^10.9.2", + "ts-proto": "^2.12.4", "typescript": "npm:@typescript/typescript6@^6.0.2", "typescript-eslint": "^8.60.0", "vitest": "^5.0.0" diff --git a/scripts/protoc-gen.sh b/scripts/protoc-gen.sh index f0cbca8..3bb554c 100755 --- a/scripts/protoc-gen.sh +++ b/scripts/protoc-gen.sh @@ -11,4 +11,3 @@ protoc \ --proto_path=./src/proto \ ./src/proto/run_function.proto -# --ts_out=optimize_code,optimize_code_size,long_type_string,grpc_js:./ \