googleapis / googleapis/librarian

nodejs: remove protos/ folders from published npm packages

Open
#4,820 13 comments 0 reactions 1 assignee View on GitHub

@danieljbruce is already working on this.

Since Apr 9, 2026.

priority: p3
Dominant language
Go
Stars
45
Forks
62
Avg merge
18h 32m
Merged PRs (30d)
175

Description

Each generated package in google-cloud-node includes a protos/ folder containing raw .proto source files, compiled JavaScript/TypeScript wrappers, and a JSON representation.

For example, packages/google-cloud-secretmanager/protos/ contains:

  • google/cloud/secretmanager/v1/resources.proto
  • google/cloud/secretmanager/v1/service.proto
  • google/cloud/secrets/v1beta1/resources.proto
  • google/cloud/secrets/v1beta1/service.proto
  • protos.d.ts
  • protos.js
  • protos.json

The raw .proto files under protos/google/ seem to only be used at build time by compileProtos, which reads paths from *_proto_list.json files and compiles them into protos.json, protos.js, and protos.d.ts. At runtime, the client libraries only import the compiled artifacts.

The raw .proto files are never read from disk. We should remove the protos/ folders from the published npm packages, as a prerequisite to onboarding Node.js to librarian.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.