one icon indicating copy to clipboard operation
one copied to clipboard

Vercel deployment doesn't work from fresh install

Open csi-lk opened this issue 1 year ago • 5 comments

(Strangely vercel dev does work though)

How to reproduce:

Setup new app

$ bunx one

Hello. Let's create a new ①  app...
✔ Name … test-one-vercel
✔ Template › Minimal Tamagui
⠦ Creating...
test-one-vercel created!
✔ Package Manager: › bun
Installing with bun...
[cut out this part]
bun install completed successfully.
Done! Created a new project under ./test-one-vercel
To run:
  cd test-one-vercel
  bun dev

$ cd test-one-vercel

Edit vite.config.ts plugins.one.web.deploy: "vercel"

Run vercel

$ vercel
Vercel CLI 39.1.1
? Set up and develop “~/dev/test-one-vercel”? yes
? Which scope should contain your project? my projects
? Link to existing project? no
? What’s your project’s name? test-one-vercel
? In which directory is your code located? ./
Local settings detected in vercel.json:
Auto-detected Project Settings (Vite):
- Build Command: vite build
- Development Command: vite --port $PORT
- Install Command: `yarn install`, `pnpm install`, `npm install`, or `bun install`
- Output Directory: dist
? Want to modify these settings? yes
? Which settings would you like to overwrite (select multiple)?
* Build Command: bunx one build
* Development Command: bunx one dev
🔗  Linked to test-one-vercel (created .vercel and added it to .gitignore)

📝  To deploy to production (test-one-vercel.vercel.app), run `vercel --prod

Go to URL provided and get HTML output of the index.js file - https://test-one-vercel.vercel.app

import { serve } from 'one/serve'
const handler = await serve()
export const { GET, POST, PUT, PATCH, OPTIONS } = handler

Any ideas on what I can do to get this to work?

If it helps I cloned the hono vercel starter and got that working fine

csi-lk avatar Nov 23 '24 09:11 csi-lk

any solutions? having this too

sunxyw avatar Dec 08 '24 13:12 sunxyw

looking at this today

natew avatar Dec 17 '24 18:12 natew

I'm having this too.

My package.json:

{
  "name": "some-one",
  "version": "1.1.371",
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "one dev",
    "dev:clean": "one dev --clean",
    "clean": "one clean",
    "prebuild:native": "one prebuild",
    "build:web": "one build",
    "serve": "one serve"
  },
  "installConfig": {
    "hoistingLimits": "workspaces"
  },
  "dependencies": {
    "expo": "~51.0.28",
    "one": "^1.1.371",
    "react": "^18.3.1",
    "react-native": "0.74.5",
    "react-native-reanimated": "~3.10.1",
    "react-native-safe-area-context": "4.10.5",
    "react-native-screens": "3.31.1",
    "react-native-web": "^0.19.12"
  },
  "devDependencies": {
    "@types/react": "^18.3.11",
    "vite": "^6.0.5"
  }
}

My vite.config.ts:

import { defineConfig } from "vite"
import { one } from "one/vite"

export default defineConfig({
  plugins: [
    one({
      web: {
        defaultRenderMode: "ssg",
        deploy: "vercel",
      },
      server: {
        platform: "vercel",
      },
    }),
  ],
})

I override my vercel build settings: Screenshot 2024-12-25 at 22 51 11

rommyarb avatar Dec 25 '24 15:12 rommyarb

Yea so I went into this quite a bit, it seems we have to move to the build output API. I will continue to work on this.

natew avatar Dec 27 '24 18:12 natew

This is merged, can someone re-open an issue if it's still breaking with a repro?

natew avatar Aug 14 '25 19:08 natew