Skip to content

feat(firestore-api): implement subpath exports, declare long dependency, and discontinue v1beta1 - #9073

Merged
quirogas merged 5 commits into
googleapis:mainfrom
quirogas:feat/firestore-api-subpath-exports
Aug 4, 2026
Merged

feat(firestore-api): implement subpath exports, declare long dependency, and discontinue v1beta1 #9073
quirogas merged 5 commits into
googleapis:mainfrom
quirogas:feat/firestore-api-subpath-exports

Conversation

@quirogas

@quirogas quirogas commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Parallel architectural update to @google-cloud/firestore-api supporting the handwritten Firestore SDK disentanglement (#8928).

Summary of Changes

  • Runtime long Dependency: Moves "long" from devDependencies to runtime "dependencies". Generated declaration files (protos.d.ts) explicitly import long. In environments using strict package managers with node_modules isolation (such as pnpm), omitting long from runtime dependencies causes TypeScript compilation to fail with error TS2307: Cannot find module 'long' (per structural context in googleapis/nodejs-firestore#2322).
  • Subpath Exports: Configures conditional subpath exports (./v1, ./client_v1, ./admin_v1, ./protos, and configuration files) with the "types" condition placed before "default". This ensures declaration files resolve correctly for consumers using modern TypeScript module resolution ("moduleResolution": "nodenext").
  • Discontinue v1beta1: Removed v1beta1 from librarian.yaml and regenerated the library via librarian to stop generating beta client code.

Internal: b/531788771

@quirogas
quirogas requested a review from a team as a code owner August 4, 2026 08:03

@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 configures the firestore-api package to preserve its package.json and adds subpath exports to it, while also moving the 'long' dependency to production dependencies. The reviewer suggests using conditional exports with a 'types' condition in package.json to prevent TypeScript compilation errors under modern module resolution modes.

Comment thread packages/google-cloud-firestore-api/package.json
@quirogas quirogas self-assigned this Aug 4, 2026
@quirogas quirogas changed the title feat(firestore-api): implement modular subpath exports and runtime long dependency (#8928) feat(firestore-api): implement modular subpath exports and discontinue v1beta1 generation (#8928) Aug 4, 2026

@MarkDuckworth MarkDuckworth 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.

Approved, but I'm strongly in favor of removing the exports with wildcards from package.json, unless these are required.

Comment thread packages/google-cloud-firestore-api/package.json Outdated
Comment thread packages/google-cloud-firestore-api/package.json Outdated
Comment thread packages/google-cloud-firestore-api/package.json Outdated
…onfiguration file mappings (googleapis#8928)

- Remove wildcard asterisk export entries (./v1/*, ./protos/*, ./build/*) to prevent external reliance on private implementation scripts
- Add explicit named subpath export mappings for firestore_client_config.json and protos.json to ensure zero breaking changes across internal wrapper consumers
- Verify 100% passing test execution across all client and admin service operations
@quirogas quirogas changed the title feat(firestore-api): implement modular subpath exports and discontinue v1beta1 generation (#8928) feat(firestore-api): implement subpath exports, declare long dependency, and discontinue v1beta1 (#8928) Aug 4, 2026
@quirogas
quirogas merged commit d5b66ff into googleapis:main Aug 4, 2026
33 checks passed
@quirogas quirogas changed the title feat(firestore-api): implement subpath exports, declare long dependency, and discontinue v1beta1 (#8928) feat(firestore-api): implement subpath exports, declare long dependency, and discontinue v1beta1 Aug 4, 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.

2 participants