Skip to content

chore(deps): upgrade internal core and veneer -api dependency floors - #9609

Closed
quirogas wants to merge 2 commits into
googleapis:mainfrom
quirogas:chore/upgrade-internal-dep-floors
Closed

quirogas wants to merge 2 commits into
googleapis:mainfrom
quirogas:chore/upgrade-internal-dep-floors

Conversation

@quirogas

Copy link
Copy Markdown
Contributor

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 #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.

…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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

@google-cloud/promisify is already defined as a production dependency under dependencies (line 51). Adding it to devDependencies is redundant and should be removed.

    "typescript": "^5.8.2"

@quirogas

Copy link
Copy Markdown
Contributor Author

Closing in favor of properly stacked PRs on origin created via gh stack.

@quirogas quirogas closed this Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant