Repository navigation
Conversation
…kages ## Description Align handwritten `@google-cloud/firestore` type declarations and `@google-cloud/pubsub` proto re-exports with their underlying workspace `-api` packages (`@google-cloud/firestore-api` and `@google-cloud/pubsub-api`). ## Impact Eliminates cross-package type declaration drift and duplicate static protobuf definitions between handwritten veneer packages and their generated `-api` packages, unblocking workspace dependency linking (`Part 1 of 2` in the internal dependency floor stack). ## Changes - Update `handwritten/firestore/types/firestore.d.ts` so `FirebaseFirestore.v1beta1` references the local `./v1beta1/firestore_client` `FirestoreClient` declaration rather than a non-existent `v1beta1` export on `@google-cloud/firestore-api`. - Replace the duplicate static protobuf bundle in `handwritten/pubsub/protos/protos.js` and `handwritten/pubsub/protos/protos.d.ts` with direct re-exports from `@google-cloud/pubsub-api/build/protos/protos`. ## Testing - Compiled `handwritten/firestore` and `handwritten/pubsub` cleanly with zero TypeScript errors. - Verified strict repository linter checks (`GIT_DIFF_ARG=origin/main node ./bin/linter.mjs --strict`). ## Alternatives - Maintaining duplicate static protobuf code and out-of-sync `.d.ts` exports in `handwritten/firestore` and `handwritten/pubsub` was rejected because it causes TypeScript compilation failures when workspace packages link to current `-api` packages.
## Description Upgrade internal core library (`google-gax`, `google-auth-library`, `@google-cloud/common`, `@google-cloud/paginator`, `@google-cloud/projectify`, `@google-cloud/promisify`, `@google-cloud/precise-date`, `gcp-metadata`, `retry-request`, `teeny-request`, `google-logging-utils`, `gapic-tools`, `pack-n-play`, `jsdoc-fresh`, `jsdoc-region-tag`) and handwritten veneer `-api` dependency floors across the monorepo (`Part 2 of 2`, stacked on googleapis#9608). ## Impact Aligns internal dependency ranges with current workspace package versions so `pnpm install --config.link-workspace-packages=deep --config.prefer-workspace-packages=true` links in-repo workspace packages (`core/*`, `packages/*-api`) rather than downloading stale published npm tarballs during CI and local builds. ## Changes - Upgrade internal `core/` and `@google-cloud/*-api` dependency and `devDependencies` version floors across `core/`, `handwritten/`, `packages/`, `librarian.yaml`, and root `package.json`. - Update `.github/workflows/presubmit.yaml` (`lint` job) and `.github/actions/pnpm-lockfile-check/action.yaml` description to keep lockfile verification and workspace linking deterministic. - Regenerate `pnpm-lock.yaml` with `link-workspace-packages=false` (`0` `link:` entries) so `CI=true pnpm install --frozen-lockfile --ignore-scripts` succeeds cleanly. ## Testing - Verified `CI=true npx pnpm@10 install --frozen-lockfile --ignore-scripts` passes with exit code 0 and `grep -c "link:" pnpm-lock.yaml` is `0`. - Verified workspace linking and strict repository linter checks (`GIT_DIFF_ARG=origin/main node ./bin/linter.mjs --strict`). ## Alternatives - Leaving older major/minor dependency floors (`google-gax: ^5.0.0`, `google-auth-library: ^10.0.0`, `@google-cloud/*-api: ^0.1.0`) in `package.json` was rejected because pnpm's workspace resolver cannot satisfy mismatched semver ranges with local workspace packages, causing tests to run against stale published versions instead of current workspace code.
Contributor
There was a problem hiding this comment.
Code Review
This pull request primarily updates dependency versions across multiple packages in the monorepo, standardizes test scripts to use a shared test runner, and cleans up pnpm overrides. A review of the changes identified an issue in packages/google-cloud-translate/package.json where @google-cloud/promisify was redundantly added to devDependencies while already being defined under production dependencies.
Comment on lines
+78
to
+79
| "typescript": "^5.8.2", | ||
| "@google-cloud/promisify": "^6.2.0" |
Contributor
Contributor
Author
|
Closing in favor of properly stacked PRs on origin created via |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Upgrade internal core library (
google-gax,google-auth-library,@google-cloud/common,@google-cloud/paginator,@google-cloud/projectify,@google-cloud/promisify,@google-cloud/precise-date,gcp-metadata,retry-request,teeny-request,google-logging-utils,gapic-tools,pack-n-play,jsdoc-fresh,jsdoc-region-tag) and handwritten veneer-apidependency floors across the monorepo (Part 2 of 2, stacked on #9608).Impact
Aligns internal dependency ranges with current workspace package versions so
pnpm install --config.link-workspace-packages=deep --config.prefer-workspace-packages=truelinks in-repo workspace packages (core/*,packages/*-api) rather than downloading stale published npm tarballs during CI and local builds.Changes
core/and@google-cloud/*-apidependency anddevDependenciesversion floors acrosscore/,handwritten/,packages/,librarian.yaml, and rootpackage.json..github/workflows/presubmit.yaml(lintjob) and.github/actions/pnpm-lockfile-check/action.yamldescription to keep lockfile verification and workspace linking deterministic.pnpm-lock.yamlwithlink-workspace-packages=false(0link:entries) soCI=true pnpm install --frozen-lockfile --ignore-scriptssucceeds cleanly.Testing
CI=true npx pnpm@10 install --frozen-lockfile --ignore-scriptspasses with exit code 0 andgrep -c "link:" pnpm-lock.yamlis0.GIT_DIFF_ARG=origin/main node ./bin/linter.mjs --strict).Alternatives
google-gax: ^5.0.0,google-auth-library: ^10.0.0,@google-cloud/*-api: ^0.1.0) inpackage.jsonwas rejected because pnpm's workspace resolver cannot satisfy mismatched semver ranges with local workspace packages, causing tests to run against stale published versions instead of current workspace code.