Skip to content

fix(grid-wallet-prod): npm ci --ignore-scripts so the image can build#746

Open
mariano-macri wants to merge 1 commit into
07-25-feat_grid-wallet-prod_payouts_reach_every_corridor_only_funding_is_rail-limitedfrom
grid-wallet-prod-dockerfile-fix
Open

fix(grid-wallet-prod): npm ci --ignore-scripts so the image can build#746
mariano-macri wants to merge 1 commit into
07-25-feat_grid-wallet-prod_payouts_reach_every_corridor_only_funding_is_rail-limitedfrom
grid-wallet-prod-dockerfile-fix

Conversation

@mariano-macri

Copy link
Copy Markdown

The Dockerfile added in #740 has never produced an image

npm ci dies in the deps stage. The seven @central-icons-react packages each run a postinstall license-check.js that hard-fails unless CENTRAL_LICENSE_KEY is set, and that variable appears nowhere in this repo:

npm error path /app/node_modules/@central-icons-react/round-filled-radius-2-stroke-2
npm error command sh -c node ./license-check.js
npm error Error: Central Icons license key is not set.
          Please set CENTRAL_LICENSE_KEY in your environment

#740 noted the build as unverified ("the daemon wasn't running here"). It's not merely unverified — it cannot succeed as written.

Why --ignore-scripts is the right fix here

components/grid-wallet-prod/vercel.json already sets:

{ "installCommand": "npm install --ignore-scripts" }

That's why the Vercel deployments of this component work and the container build never did. This aligns the Dockerfile with the install behavior the component is actually developed and shipped against. No dependency here needs a postinstall to produce a working build.

Verified end to end (linux/arm64)

  • image builds, 332MB
  • /app/server.js is the entrypoint (flat, not nested — this component has its own lockfile and the repo root has no workspaces)
  • NEXT_PUBLIC_GRID_SANDBOX inlines into the client bundle
  • the server boots and serves / with 200 carrying no Grid credentials
  • an unsigned POST /api/webhooks is rejected 401 by the signature check

Scope

Dockerfile only. Splitting this out from the CI-workflow PR that stacks on top of it, since this is a bug fix you want whether or not the tooling-cluster deployment ever happens.

🤖 Generated with Claude Code

The Dockerfile added in #740 has never produced an image. `npm ci` dies in the
deps stage: the seven @central-icons-react packages each run a postinstall
license-check.js that hard-fails unless CENTRAL_LICENSE_KEY is in the
environment, and that variable appears nowhere in this repo.

  npm error path /app/node_modules/@central-icons-react/round-filled-radius-2-stroke-2
  npm error command sh -c node ./license-check.js
  npm error Error: Central Icons license key is not set.

vercel.json for this same component already sets
`installCommand: npm install --ignore-scripts`, which is why the Vercel
deployments work and the container build never did. This aligns the Dockerfile
with the install behavior the component is actually developed and shipped
against. No dependency here needs a postinstall to produce a working build.

Verified linux/arm64 end to end: image builds (332MB), /app/server.js is the
entrypoint, NEXT_PUBLIC_GRID_SANDBOX inlines into the client bundle, the server
boots and serves / with 200 carrying no Grid credentials, and an unsigned
POST /api/webhooks is rejected 401 by the signature check.

Co-Authored-By: Claude Opus 5 <[email protected]>
@vercel

vercel Bot commented Jul 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Preview Jul 26, 2026 5:08pm
grid-wallet-demo Ignored Ignored Preview Jul 26, 2026 5:08pm

Request Review

@greptile-apps

greptile-apps Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Aligns the container dependency installation with the component’s existing Vercel installation behavior.

  • Adds --ignore-scripts to npm ci so Central Icons license-check postinstall scripts do not prevent the dependency stage from completing.
  • Documents why lifecycle scripts are skipped for this image.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
components/grid-wallet-prod/Dockerfile Updates the dependency stage to install packages without lifecycle scripts, matching the component’s Vercel configuration.

Reviews (2): Last reviewed commit: "fix(grid-wallet-prod): npm ci --ignore-s..." | Re-trigger Greptile

@mariano-macri

Copy link
Copy Markdown
Author

@greptileai review

No new commits since your last review — re-triggering for a fresh pass alongside the rest of the stack.

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