From c376aa7ec5382e95d394f2a29691a1aa2853efb3 Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Mon, 12 Oct 2026 15:13:36 +0100 Subject: [PATCH 1/2] Allow minor and patch updates of knip Use a caret range like the other dev dependencies. The lockfile still installs 6.39.0. --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 05848716f..c6177a971 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "devDependencies": { "@biomejs/biome": "^2.5.14", "@vitest/coverage-v8": "^5.0.2", - "knip": "6.39.0", + "knip": "^6.39.0", "npm-check-updates": "^23.1.0", "shx": "^0.4.0", "typescript": "^7.0.2", diff --git a/package.json b/package.json index 321cf0fa8..301db0d13 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@biomejs/biome": "^2.5.14", "@vitest/coverage-v8": "^5.0.2", - "knip": "6.39.0", + "knip": "^6.39.0", "npm-check-updates": "^23.1.0", "shx": "^0.4.0", "typescript": "^7.0.2", From 61bebdabe8c0e03a74d12fd8ae63991ffe2632a2 Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Mon, 12 Oct 2026 15:24:07 +0100 Subject: [PATCH 2/2] Remove the explicit Firestore dev dependency from the gcloud module The Firestore test uses it through firebase-admin, which already brings it in as an optional dependency. Dropping our own declaration lets firebase-admin pick a version it supports, and removes the last knip dependency ignore. --- knip.jsonc | 4 ---- package-lock.json | 28 ++++++++++++++++++++++++++-- packages/modules/gcloud/package.json | 1 - 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/knip.jsonc b/knip.jsonc index 9d87056a6..104a8af51 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -10,10 +10,6 @@ "entry": ["smoke-test.jest.js"], // Docker build contexts that tests copy into images, never imported. "ignoreFiles": ["fixtures/**"] - }, - "packages/modules/gcloud": { - // firebase-admin/firestore requires it at runtime, but firebase-admin only lists it as optional. - "ignoreDependencies": ["@google-cloud/firestore"] } } } diff --git a/package-lock.json b/package-lock.json index c6177a971..015a4305e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2423,6 +2423,7 @@ "integrity": "sha512-4BI2686ygMkef0Pe4QnX9hnWeGCUjaAP5m+Ow5/yNWwGxGadO741Ct28MRXW9czg0pnvz919INKbQdCgUMcfeA==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "@google-cloud/firestore-api": "^0.2.0", "@opentelemetry/api": "^1.9.0", @@ -2441,6 +2442,7 @@ "integrity": "sha512-wfHJPZmLqzpy6FN6U+7HkkP/AKhGsbHSpEy/qL2TyI3/pKRAvpamQxZ2qvps5hMRgAjfuHCim+oeJj9RveCaqg==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "google-gax": "^5.0.0" }, @@ -2454,6 +2456,7 @@ "integrity": "sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", @@ -2473,6 +2476,7 @@ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">= 14" } @@ -2483,6 +2487,7 @@ "integrity": "sha512-kB3rzJV7d9juLZh8/56QTXCwQfxyhdOMdyYk1HdQKFtF8TJTDTZQJtixWIwXdE9Jji91mC41DUNpjleo4L4eAQ==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", @@ -2498,6 +2503,7 @@ "integrity": "sha512-2YYnIlHaKBGT2IPg3G2M57hia9Galz15zsEOvw9T3oRf0lSn6KN6VcHQLqby7x8ksYKnjXvp3rp2KJyLCN6zfQ==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "gaxios": "^7.1.3", "google-logging-utils": "^2.0.0", @@ -2513,6 +2519,7 @@ "integrity": "sha512-vzpgPutxrghPsnjrjpzLX2bdv8IOL719Rh0oEjGnQu8YCIbnbMuTTQ5zU9LcKvLdOPgCxBwppbvnhgW90Qna5Q==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", @@ -2531,6 +2538,7 @@ "integrity": "sha512-9/kD2yhNJJDAoxZMw+v/d53W6bibgHXr0uU2RRfkC2/r5uH1sBo1nzuaSUq1lKgipZ3O4HvksA7/rRBvkFHFkA==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "@grpc/grpc-js": "^1.12.6", "@grpc/proto-loader": "^0.8.0", @@ -2554,6 +2562,7 @@ "integrity": "sha512-HMhaQghlOTvbcb3c4T5jmmOMtG3JUF1iOQMezaJXL86CDS+Tm2vHd0IeLFRAx3+ewd+bo9E1HFHoy17X5aJa9A==", "dev": true, "license": "Apache-2.0", + "optional": true, "engines": { "node": ">=22" } @@ -2564,6 +2573,7 @@ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -2578,6 +2588,7 @@ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -2597,6 +2608,7 @@ "integrity": "sha512-VUQlb/J2WjOG8BKhdLwJUz+MKxSMtBGYh+TaNmRtiYVhlIzXjzeAGIx7gtc3lXlA2iURzfF2+cXaQvC2ofwzpg==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "protobufjs": "^7.5.4" }, @@ -9250,7 +9262,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "dev": true, + "optional": true }, "node_modules/gaxios": { "version": "6.7.1", @@ -9457,6 +9470,7 @@ "integrity": "sha512-1kGbqVQBZPAAu4+/R1XxPQKP0ydbNYoLAr4l0ZO2bMV0kLyLW4I1gAk++qBLWt7DPORTzmWRMsCZe86gDjShJA==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "@grpc/grpc-js": "^1.12.6", "@grpc/proto-loader": "^0.8.0", @@ -9480,6 +9494,7 @@ "integrity": "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", @@ -9499,6 +9514,7 @@ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">= 14" } @@ -9509,6 +9525,7 @@ "integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", @@ -9525,6 +9542,7 @@ "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "gaxios": "^7.0.0", "google-logging-utils": "^1.0.0", @@ -9540,6 +9558,7 @@ "integrity": "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", @@ -9559,6 +9578,7 @@ "integrity": "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "gaxios": "^7.0.0", "jws": "^4.0.0" @@ -9573,6 +9593,7 @@ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -9587,6 +9608,7 @@ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -9606,6 +9628,7 @@ "integrity": "sha512-JzFPAfklk1kjR1w76f0QOIhoDkNkSqW8wYKT08n9yysTmZfB+RQ2QoXoTAeOi1HD9ZipTyTAZg3c4pM/jeqgSw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "extend": "^3.0.2", "teeny-request": "^10.0.0" @@ -9620,6 +9643,7 @@ "integrity": "sha512-Xj0ZAQ0CeuQn6UxCDPLbFRlgcSTUEyO3+wiepr2grjIjyL/lMMs1Z4OwXn8kLvn/V1OuaEP0UY7Na6UDNNsYrQ==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", @@ -12592,6 +12616,7 @@ "integrity": "sha512-E1sbAYg3aEbXrq0n1ojJkRHQJGE1kaE/O6GLA94y8rnJBfgvOPTOd1b9hOceQK1FFZI9qMh1vBERCyO2ifubcw==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "protobufjs": "^7.4.0" }, @@ -15416,7 +15441,6 @@ "devDependencies": { "@google-cloud/bigquery": "^9.1.0", "@google-cloud/datastore": "^11.1.0", - "@google-cloud/firestore": "9.2.0", "@google-cloud/pubsub": "^6.1.0", "@google-cloud/spanner": "^9.0.0", "@google-cloud/storage": "^8.2.0", diff --git a/packages/modules/gcloud/package.json b/packages/modules/gcloud/package.json index 6801373fd..f70a21fa5 100644 --- a/packages/modules/gcloud/package.json +++ b/packages/modules/gcloud/package.json @@ -43,7 +43,6 @@ "devDependencies": { "@google-cloud/bigquery": "^9.1.0", "@google-cloud/datastore": "^11.1.0", - "@google-cloud/firestore": "9.2.0", "@google-cloud/pubsub": "^6.1.0", "@google-cloud/spanner": "^9.0.0", "@google-cloud/storage": "^8.2.0",