Skip to content

feat(firestore)!: complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074) - #9074

Draft
quirogas wants to merge 9 commits into
feat/disentangle-firestore-handwrittenfrom
feat/firestore-sdk-v9-decoupling
Draft

feat(firestore)!: complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074)#9074
quirogas wants to merge 9 commits into
feat/disentangle-firestore-handwrittenfrom
feat/firestore-sdk-v9-decoupling

Conversation

@quirogas

@quirogas quirogas commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Part 2 of stacked disentanglement (#8928). Complete decoupling of @google-cloud/firestore from embedded GAPIC client generation, transition to modular subpath imports, and remove obsolete legacy protobuf files.

Summary of Changes

  • Subpath Import Adoption: Bumps @google-cloud/firestore-api dependency to ^0.3.0 and updates internal client initialization paths to import directly from modular subpaths (@google-cloud/firestore-api/build/src/v1).
  • Delete Obsolete Proto Files: Permanently removes ~126,000 lines of obsolete admin models, legacy v1beta1 runtime files, and redundant cloned Google protobuf directories (dev/protos/google/).
  • Discontinue v1beta1 Support: Drops v1beta1 re-exports in alignment with upstream generator removal.

Breaking Changes

  • Discontinued v1beta1 Support: Accessing Firestore.v1beta1 is deprecated and no longer supported. Consumers utilizing legacy beta client features must migrate to standard v1 / the latest official version of the library.
  • Private Subpath Encapsulation: Internal .js proto files (dev/protos/) are removed. Applications bypassing top-level barrel exports to require private internal implementation scripts directly will encounter module resolution errors.

Internal: b/531788771


📚 Stack Navigation Index

  1. Layer 1 (Base Disentanglement & Runtime Forwarding): feat(firestore): decouple handwritten sdk wrapper from embedded gapic clients #8928
  2. Layer 2 (Complete Decoupling & Dead Code Cleanup): feat(firestore)!: complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074) #9074
  3. Layer 3 (Automated Presubmit Bundle Size Guard): chore(firestore): add automated presubmit serverless bundle size regression guard (#9075) #9075
  4. Layer 4 (Call-Site Modernization & Eliminate Local Protos): refactor(firestore): modernize internal proto call sites and eliminate local declarations (#9076) #9076

… imports (#8928)

- Import data-plane clients via modular subpath exports to restore serverless bundle baseline
- Remove obsolete admin and v1beta1 proto files and type subfolders (114k+ lines of dead code)
- Pin minimum dependency version to @google-cloud/firestore-api@^0.3.0

BREAKING CHANGE: Deprecated v1beta1 client surface removed from standard exports; raw GAPIC clients separated into @google-cloud/firestore-api.
…tore-sdk-v9-decoupling

# Conflicts:
#	handwritten/firestore/dev/src/index.ts
…tore-sdk-v9-decoupling

# Conflicts:
#	handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js
#	handwritten/firestore/dev/protos/firestore_v1beta1_proto_api.js
…tore-sdk-v9-decoupling

# Conflicts:
#	handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js
#	handwritten/firestore/dev/protos/firestore_v1beta1_proto_api.js

@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 removes numerous protobuf files, updates the dependency @google-cloud/firestore-api to version ^0.3.0, and updates imports in index.ts and firestore.d.ts to point directly to the internal build paths of @google-cloud/firestore-api. The review feedback correctly identifies that deep-importing from internal directories (such as build/protos/protos and build/src/v1) is fragile and highly discouraged, recommending instead that these entry points be exposed as public subpath exports in the dependency's package configuration.

Comment thread handwritten/firestore/dev/src/index.ts
Comment thread handwritten/firestore/dev/src/index.ts
Comment thread handwritten/firestore/types/firestore.d.ts
@quirogas quirogas changed the title feat/firestore sdk v9 decoupling feat!(firestore): complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#8928) Aug 4, 2026
@quirogas quirogas changed the title feat!(firestore): complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#8928) feat!(firestore): complete gapic decoupling adopt subpath imports and remove legacy proto code (#8928) Aug 4, 2026
@quirogas quirogas changed the title feat!(firestore): complete gapic decoupling adopt subpath imports and remove legacy proto code (#8928) feat!(firestore): complete gapic decoupling adopt subpath imports and remove legacy proto code Aug 4, 2026
@quirogas quirogas changed the title feat!(firestore): complete gapic decoupling adopt subpath imports and remove legacy proto code feat!: complete gapic decoupling adopt subpath imports and remove legacy proto code Aug 4, 2026
@quirogas quirogas changed the title feat!: complete gapic decoupling adopt subpath imports and remove legacy proto code feat!(firestore): complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074) Aug 5, 2026
@quirogas quirogas changed the title feat!(firestore): complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074) feat(firestore)!: complete gapic decoupling, adopt subpath imports, and remove legacy proto code (#9074) Aug 5, 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