Skip to content

fix: resolve deployment blockers for Vercel#109

Merged
support371 merged 3 commits into
mainfrom
devin/1778449725-fix-deployment-blockers
May 10, 2026
Merged

fix: resolve deployment blockers for Vercel#109
support371 merged 3 commits into
mainfrom
devin/1778449725-fix-deployment-blockers

Conversation

@support371
Copy link
Copy Markdown
Owner

@support371 support371 commented May 10, 2026

Summary

Fixes multiple issues blocking successful deployment to Vercel, discovered by auditing the repo config, CI workflows, and build pipeline.

Issues Found & Fixed in This PR

1. .vercelignore excludes build-critical files (CRITICAL BLOCKER)
postcss.config.js, tailwind.config.ts, and tsconfig*.json were listed in .vercelignore, which prevents them from being uploaded to Vercel during deployment. These files are required during next build — without them, Tailwind CSS processing fails and TypeScript compilation breaks. Removed these exclusions.

2. .vercelignore wrong eslint config filename
Listed eslint.config.js but the actual file is eslint.config.mjs. Fixed to match.

3. AGENTS.md references next.config.ts but file is next.config.js
Agent docs pointed to a .ts file that doesn't exist, causing confusion for automated agents.

4. VERCEL_DEPLOYMENT_GUIDE.md uses npm instead of pnpm
Project mandates pnpm exclusively. Guide had npm install -g vercel, npx vercel, and npm run build. Replaced with pnpm equivalents.

5. .gitignore comment says "use npm only"
Misleading comment corrected to reference pnpm.

Issues Found That Require Manual Fix (workflow scope needed)

6. Guardian workflow (.github/workflows/main.yml) — CRITICAL CI BLOCKER
This workflow fails on every PR due to multiple issues. I couldn't push this fix because the OAuth token lacks workflow scope. You need to apply these changes manually via the GitHub web editor or with a PAT that has workflow scope:

  • Line 61 & 67: test -f next.config.ts → The file is next.config.js. This assertion fails and blocks the entire workflow.
  • Lines 5-8: Duplicate branches: key — YAML silently drops the first value.
  • Lines 27-35: References stale Supabase env vars (NEXT_PUBLIC_SUPABASE_URL, VITE_SUPABASE_*) that no longer exist in the project. Should use POSTGRES_PRISMA_URL and POSTGRES_URL_NON_POOLING.
  • Line 91-92: Checks for DATABASE_URL but Prisma uses POSTGRES_PRISMA_URL.
  • Line 110: pnpm run build runs without required env vars — needs fallback values.

Additional Observations (No Code Change Needed)

  • Build, lint, and tests all pass locally — 100/100 tests, 0 lint warnings, clean build (158 routes).
  • vercel.json is correctly configured with pnpm run db:generate && pnpm run build.
  • Environment variables: Ensure POSTGRES_PRISMA_URL, POSTGRES_URL_NON_POOLING, JWT_SECRET, and NEXT_PUBLIC_APP_URL are set in Vercel Project Settings.
  • Missing src/middleware.ts: CLAUDE.md references auth middleware for /app/* routes, but no middleware file exists. Unauthenticated users are not auto-redirected to login. This is a functional gap but not a build blocker.
  • Dependabot alert: GitHub flagged 1 moderate vulnerability on the default branch.

Review & Testing Checklist for Human

  • Apply the Guardian workflow fix manually — edit .github/workflows/main.yml via GitHub web UI to change next.config.tsnext.config.js, fix the duplicate branches key, and update env vars (see details above)
  • Verify Vercel env vars are set — check that POSTGRES_PRISMA_URL, POSTGRES_URL_NON_POOLING, JWT_SECRET, NEXT_PUBLIC_APP_URL, and NEXT_PUBLIC_APP_NAME are configured in Vercel Dashboard → Project → Settings → Environment Variables
  • Trigger a Vercel redeploy after merging to confirm the build succeeds with the corrected .vercelignore
  • Check the Cloudflare DNS config — per existing VERCEL_TROUBLESHOOTING.md, ensure the proxy status for your Vercel CNAME is set to "DNS Only" (grey cloud) to avoid Error 1000

Notes

The .vercelignore excluding tailwind.config.ts, postcss.config.js, and tsconfig*.json was likely the primary reason Vercel builds were failing — these files are essential for the Next.js build pipeline but were being stripped before the build ran on Vercel's infrastructure.

Link to Devin session: https://app.devin.ai/sessions/8f3d4b175dd245dd9d4382b79083dac7
Requested by: @support371

Summary by Sourcery

Align Vercel deployment configuration and project documentation with the actual build tooling and file layout to unblock deployments.

Bug Fixes:

  • Ensure critical build configuration files are no longer excluded from Vercel deployments by updating .vercelignore.
  • Correct the referenced Next.js config filename in AGENTS documentation to match the actual next.config.js file.

Enhancements:

  • Update deployment and tooling documentation to consistently use pnpm commands and reflect the current build pipeline.
  • Clarify Git ignore guidance to reference pnpm usage and fix the listed ESLint configuration filename in Vercel-related config.

- .vercelignore: stop excluding postcss.config.js, tailwind.config.ts, and
  tsconfig*.json which are required during the Vercel build step
- .vercelignore: fix eslint config filename (eslint.config.js → eslint.config.mjs)
- AGENTS.md: fix next.config.ts → next.config.js reference
- VERCEL_DEPLOYMENT_GUIDE.md: replace npm commands with pnpm per project rules
- .gitignore: fix misleading 'use npm only' comment

Note: Guardian workflow (main.yml) also needs fixes but requires workflow
scope to push — see PR description for manual steps.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 10, 2026

Deployment failed with the following error:

The `vercel.json` schema validation failed with the following message: should NOT have additional property `nodejs`

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 10, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates Vercel deployment-related configuration and documentation to align with pnpm usage, correct file references, and ensure build-critical files are included in Vercel deployments.

Flow diagram for Vercel build behavior with corrected .vercelignore

flowchart TD
  Dev[Developer_merges_PR] --> VercelHook["Vercel_git_hook_triggers_deploy"]
  VercelHook --> Collect["Collect_files_respecting_.vercelignore"]

  Collect -->|includes_tailwind.config.ts_postcss.config.js_tsconfig*.json| Build["Run_pnpm_run_db_generate_and_pnpm_run_build"]

  Build --> NextBuild["next_build_executes"]

  NextBuild --> CSS["Tailwind_CSS_compilation_uses_tailwind.config.ts_and_postcss.config.js"]
  NextBuild --> TS["TypeScript_compilation_uses_tsconfig*.json"]

  CSS --> Output["Optimized_CSS_and_assets_generated"]
  TS --> Output

  Output --> Deploy["Successful_Vercel_deployment_with_158_routes"]
Loading

File-Level Changes

Change Details Files
Ensure Next.js/Tailwind/TypeScript build-critical config files are no longer excluded from Vercel deployments and fix the eslint config ignore pattern.
  • Remove postcss.config.js, tailwind.config.ts, and tsconfig*.json from the Vercel ignore list so they are uploaded during Vercel builds
  • Update the eslint configuration entry in the Vercel ignore file from eslint.config.js to eslint.config.mjs to match the actual filename
.vercelignore
Align deployment and tooling documentation with pnpm and correct Next.js config filename references.
  • Update Vercel deployment guide commands to use pnpm (global install, dlx invocation, and local build command) and include db:generate before build
  • Fix AGENTS documentation to reference next.config.js instead of the non-existent next.config.ts
VERCEL_DEPLOYMENT_GUIDE.md
AGENTS.md
Clarify git ignore guidance to reflect pnpm-only usage.
  • Adjust misleading comment in the gitignore file that previously referenced npm-only usage to instead reference pnpm as the mandated package manager
.gitignore

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 10, 2026

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

Project Deployment Actions Updated (UTC)
gem-enterprise Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
gem-enterprise-in Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
gem-enterprise-jx Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
gem-enterprise-xf Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
project-dtrl6 Ready Ready Preview, Comment May 10, 2026 10:01pm
support371-gem-enterprise Ready Ready Preview, Comment May 10, 2026 10:01pm
v0-continue-conversation Error Error May 10, 2026 10:01pm
v0-continue-conversation-3875 Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
v0-deployment-alignment-task Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
v0-image-analysis Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
v0-my-website Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm
v0-v0-geraldhoeven-4141-ff89f7f-5 Ready Ready Preview, Comment, Open in v0 May 10, 2026 10:01pm

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 10, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
gem-enterprise 9166e01 May 10 2026, 09:56 PM

Vercel schema validation rejects the 'nodejs' key — it is not a valid
vercel.json property. Node.js version is now specified via the 'engines'
field in package.json instead, which Vercel reads automatically.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 10, 2026

Deployment failed with the following error:

The `vercel.json` schema validation failed with the following message: `env.NEXT_PUBLIC_APP_NAME` should be string

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

Vercel schema requires env values to be plain strings, not objects
with description/value properties.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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