Repository navigation
fix: remove compile-protos from prepare - #9690
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the build and packaging scripts across multiple package.json files by removing the compile-protos step from the prepare script and moving the minifyProtoJson task from the compile script to a postpack lifecycle script. Feedback from the reviewer correctly highlights a critical issue: because postpack runs after the tarball has already been generated, any files minified during this step will not be included in the published npm packages. To ensure the minified proto JSON files are packaged correctly, the prepack lifecycle script should be used instead of postpack.
| "fix": "gts fix", | ||
| "lint": "gts check", | ||
| "prepare": "npm run compile-protos && npm run compile", | ||
| "postpack": "minifyProtoJson", |
There was a problem hiding this comment.
In npm, the postpack lifecycle script runs after the tarball has already been generated and packed. Any file modifications performed in postpack (such as running minifyProtoJson to minify the proto JSON files in the build directory) will not be included in the packed tarball that gets published to npm.
To ensure that the published packages actually contain the minified proto JSON files (thereby keeping the package size small), you should use the prepack lifecycle script instead of postpack.
| "postpack": "minifyProtoJson", | |
| "prepack": "minifyProtoJson", |
| "fix": "gts fix", | ||
| "lint": "gts check", | ||
| "prepare": "npm run compile-protos && npm run compile", | ||
| "prepare": "npm run compile", |
There was a problem hiding this comment.
While reviewing the scripts here, note that the adjacent postpack script (on line 62) also runs minifyProtoJson after the tarball has already been packed. This means the minified files are not included in the published package.
Please consider changing postpack to prepack here as well to ensure the minified files are correctly included in the published ESM packages.
#9701) Fixes the `generator-tests` CI failure and 6-hour job timeout introduced after #9690 removed `npm run compile-protos` from `"prepare"` in the generator package templates, and restores the `{% if not api.legacyProtoLoad %}` guard for `minifyProtoJson` in the CJS template. After `prepare` scripts got modified in #9690, `pnpm install` triggered `npm run compile` before `compile-protos` had run. ### Key Changes - Added `timeout-minutes: 45` to the `presubmit` job in `.github/workflows/generator-tests.yaml`. - Updated `Test generated libraries` (CJS) and `Test generated ESM libraries` (ESM) to run: ```bash pnpm install --ignore-scripts --no-frozen-lockfile --ignore-workspace --reporter=append-only < /dev/null pnpm run compile-protos pnpm run compile pnpm test pnpm run system-test ``` - Used `-q` for zip/unzip of .test-out-* artifacts to avoid flooding CI logs.
🤖 I have created a release *beep* *boop* --- <details><summary>common: 8.2.2</summary> ## [8.2.2](common-v8.2.1...common-v8.2.2) (2026-10-23) ### Bug Fixes * **common:** Preserve {{projectId}} token during URI path encoding ([#9668](#9668)) ([14b0cc6](14b0cc6)) </details> <details><summary>gapic-generator: 5.7.2</summary> ## [5.7.2](gapic-generator-v5.7.1...gapic-generator-v5.7.2) (2026-10-23) ### Bug Fixes * **generator:** Compile protos before running tests in generator-tests ([#9701](#9701)) ([cde8ae3](cde8ae3)) * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>gaxios: 8.3.2</summary> ## [8.3.2](gaxios-v8.3.1...gaxios-v8.3.2) (2026-10-23) ### Bug Fixes * **gaxios:** Narrow fetch types to call signature for @types/bun ([#9699](#9699)) ([2a34528](2a34528)) </details> <details><summary>bigquery: 9.5.0</summary> ## [9.5.0](bigquery-v9.4.0...bigquery-v9.5.0) (2026-10-23) ### Features * **bigquery:** Allow WRITE_APPEND in createQueryArrowStream ([#9648](#9648)) ([2062403](2062403)) * **bigquery:** Resume interrupted Arrow ReadRows streams ([#9602](#9602)) ([8372c9e](8372c9e)) * **bigquery:** Stream multi-page Arrow results from default job stream ([#9598](#9598)) ([1aa6eb4](1aa6eb4)) * **bigquery:** Support arrowSerializationOptions in createQueryArrowStream ([#9603](#9603)) ([2449fe4](2449fe4)) * **bigquery:** Support explicit destination tables in createQueryArrowStream ([#9601](#9601)) ([f22e2dd](f22e2dd)) * **bigquery:** Support jobs.insert in createQueryArrowStream ([#9600](#9600)) ([4c414c6](4c414c6)) * **bigquery:** Support maxResults in createQueryArrowStream ([#9605](#9605)) ([a7fdd05](a7fdd05)) * **bigquery:** Wait for unfinished jobs before streaming Arrow results ([#9599](#9599)) ([5e465b7](5e465b7)) ### Bug Fixes * **bigquery:** Preserve timestamp nanoseconds when microseconds are zero ([#9650](#9650)) ([f6ca61d](f6ca61d)) * **bigquery:** Raise when an Arrow batch arrives before its schema ([#9681](#9681)) ([576a42e](576a42e)) </details> <details><summary>datastore: 11.3.1</summary> ## [11.3.1](datastore-v11.3.0...datastore-v11.3.1) (2026-10-23) ### Bug Fixes * **datastore:** Align Transaction JSDoc [@extends](https://github.com/extends) tag with DatastoreRequest ([#9671](#9671)) ([733e9f1](733e9f1)) </details> <details><summary>datamanager: 1.4.0</summary> ## [1.4.0](datamanager-v1.3.0...datamanager-v1.4.0) (2026-10-23) ### Features * Update API sources and regenerate ([#9472](#9472)) ([514e2f6](514e2f6)) ### Bug Fixes * Update package.json and .gitignore across packages ([#9378](#9378)) ([9c54cec](9c54cec)) </details> <details><summary>agentidentity: 0.3.1</summary> ## [0.3.1](agentidentity-v0.3.0...agentidentity-v0.3.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>agentregistry: 0.6.1</summary> ## [0.6.1](agentregistry-v0.6.0...agentregistry-v0.6.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>apptopology: 0.4.1</summary> ## [0.4.1](apptopology-v0.4.0...apptopology-v0.4.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>bigquery-storage-api: 0.6.1</summary> ## [0.6.1](bigquery-storage-api-v0.6.0...bigquery-storage-api-v0.6.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>bigtable-api: 0.11.1</summary> ## [0.11.1](bigtable-api-v0.11.0...bigtable-api-v0.11.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>commerceproducer: 0.7.1</summary> ## [0.7.1](commerceproducer-v0.7.0...commerceproducer-v0.7.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>datastore-api: 0.5.1</summary> ## [0.5.1](datastore-api-v0.5.0...datastore-api-v0.5.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>firestore-api: 0.7.1</summary> ## [0.7.1](firestore-api-v0.7.0...firestore-api-v0.7.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>ftp: 0.4.1</summary> ## [0.4.1](ftp-v0.4.0...ftp-v0.4.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>logging-api: 0.5.1</summary> ## [0.5.1](logging-api-v0.5.0...logging-api-v0.5.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>policy-troubleshooter-iam: 0.11.1</summary> ## [0.11.1](policy-troubleshooter-iam-v0.11.0...policy-troubleshooter-iam-v0.11.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>productregistry: 2.2.1</summary> ## [2.2.1](productregistry-v2.2.0...productregistry-v2.2.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>spanner-api: 0.6.1</summary> ## [0.6.1](spanner-api-v0.6.0...spanner-api-v0.6.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>speech: 8.2.1</summary> ## [8.2.1](speech-v8.2.0...speech-v8.2.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>tasks: 7.3.1</summary> ## [7.3.1](tasks-v7.3.0...tasks-v7.3.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>workloadidentity: 0.4.1</summary> ## [0.4.1](workloadidentity-v0.4.0...workloadidentity-v0.4.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>isochrones: 0.3.1</summary> ## [0.3.1](isochrones-v0.3.0...isochrones-v0.3.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>inventories: 0.15.1</summary> ## [0.15.1](inventories-v0.15.0...inventories-v0.15.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>loyaltycustomers: 0.4.1</summary> ## [0.4.1](loyaltycustomers-v0.4.0...loyaltycustomers-v0.4.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>reports: 0.18.1</summary> ## [0.18.1](reports-v0.18.0...reports-v0.18.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> <details><summary>reviews: 0.9.0</summary> ## [0.9.0](reviews-v0.8.0...reviews-v0.9.0) (2026-10-23) ### Features * **google/shopping/merchant/reviews/v1:** Onboard a new library ([#9691](#9691)) ([f369d0b](f369d0b)) </details> <details><summary>storage-control: 0.13.1</summary> ## [0.13.1](storage-control-v0.13.0...storage-control-v0.13.1) (2026-10-23) ### Bug Fixes * Remove compile-protos from prepare ([#9690](#9690)) ([1a4c864](1a4c864)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Fixes release failures for by aligning their
prepare,compile, andpostpackscripts with the rest of the monorepo packages.Key Changes:
"prepare"from"npm run compile-protos && npm run compile"to"npm run compile"."compile"from"tsc -p . && cp -r protos build/ && minifyProtoJson"to"tsc -p . && cp -r protos build/"."postpack": "minifyProtoJson".