Skip to main content
Build and Ignored Build Step behavior for the Encore OS app are defined in the repo’s vercel.json. Keep Vercel Project Settings in sync with that file so deployments are consistent and the “Configuration Settings differ” warning does not appear.

Project Settings alignment

In Vercel → Project → Settings → General and Build & Development, set: After saving, trigger a new production deployment (push to production branch or Redeploy). Once it completes, production will match Project Settings and the configuration-diff warning should clear.

Ignored Build Step behavior

  • Exit 0 → build is skipped.
  • Exit 1 → build runs.
The custom command compares the last commit to its parent for the listed paths. Only changes under src/, public/, vite.config.ts, package.json, vercel.json, and index.html trigger a build; docs/specs-only changes skip it. The same command is in vercel.json so behavior is version-controlled for preview and production.

Build troubleshooting

  • Module not found (e.g. sanitize-error-message): Imports must resolve to real files. Use @/shared/lib/error-utils for sanitizeErrorMessage; there is no sanitize-error-message module. Fix any invalid or duplicate imports and re-run npm run build locally before pushing.
  • npm deprecation warnings during install: Keep engines.node in the 22–24 range per package.json. Node version for Vercel builds is controlled via Project Settings → Build & Development → Node.js Version and via package.json engines.node (which can override Project Settings). Do not use vercel.json build.env.NODE_VERSION as it is ineffective for runtime selection. Spreadsheet code uses @wekanteam/exceljs (maintained fork). package.json overrides bump nested glob / rimraf / source-map where safe; some install-time warnings can still appear from deep dev-tool trees.

References