Skip to content

Use Vercel CLI for project creation - #447

Merged
ijjk merged 1 commit into
mainfrom
ijjk/use-vercel-link-project-creation
Jul 1, 2026
Merged

Use Vercel CLI for project creation#447
ijjk merged 1 commit into
mainfrom
ijjk/use-vercel-link-project-creation

Conversation

@ijjk

@ijjk ijjk commented Jun 30, 2026

Copy link
Copy Markdown
Member

Summary

  • create new linked Vercel projects through Vercel CLI link instead of direct project API calls
  • read the resulting .vercel/project.json metadata after successful linking
  • keep detected host frameworks when project sources already reference the matching eve integration (eve/next, eve/nuxt, or eve/sveltekit)
  • ensure new projects use the eve framework preset when Vercel returns no framework, an unsupported framework, or a rejected ambiguous host framework
  • prompt only in interactive runs when a supported host framework is detected without a matching eve integration import; headless ambiguous detections patch back to eve
  • use the shared Vercel project request timeout for both framework inspection and framework PATCH calls
  • keep the Vercel project orchestration file under the source line-count cap by moving framework handling into its own setup helper
  • refresh stale deploy comments and add a patch changeset

Tests

  • pnpm --filter eve run test:unit
  • pnpm --filter eve exec vitest run --config vitest.unit.config.ts src/internal/structural-tests/file-length.test.ts src/setup/vercel-project.test.ts src/setup/boxes/link-project.test.ts src/setup/boxes/deploy-project.test.ts
  • pnpm --filter eve run typecheck
  • pnpm lint

Issues

Fixes #438

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
eve-docs Ready Ready Preview, Comment, Open in v0 Jul 1, 2026 1:01am

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Bundle + Package Summary: apps/fixtures/weather-agent

Key takeaways

  • No notable deltas vs main (2fdc561).

Delta vs main (2fdc561)

Area Metric Baseline Current Delta
Package Packed tarball 3.49 MB 3.50 MB +4.1 kB ⚠️
Package Unpacked publish size 12.70 MB 12.70 MB +5.1 kB ⚠️
Package Installed footprint 52.76 MB 52.76 MB +5.1 kB ⚠️
Package Published files 2388 2390 +2
Package Installed files 5601 5603 +2
Runtime Unique function payloads 2 2 0
Runtime Total function bytes 9.22 MB 9.22 MB -176 B ✅
Runtime Public routes 9 9 0
Changed function payloads vs main (2fdc561) (2)
Function Status Baseline Current Delta Route changes
functions/__server.func changed 3.47 MB 3.47 MB -144 B ✅ none
functions/.well-known/workflow/v1/flow.func changed 5.75 MB 5.75 MB -32 B ✅ none

eve init install

Metric Baseline Current Delta
Installed footprint 92.54 MB 92.55 MB +5.1 kB ⚠️
Installed packages 120 120 0
dependencies 4 4 0
devDependencies 2 2 0
Dependency package bytes 26.81 MB 26.81 MB +5.1 kB ⚠️
devDependency package bytes 4.81 MB 4.81 MB 0 B ➖
Build Metadata
  • Preset: vercel
  • Nitro: nitro@3.0.260610-beta
  • Output directory: apps/fixtures/weather-agent/.vercel/output
  • Build metadata timestamp: 2026-07-01T01:02:13.214Z
  • Route aliases: 9 public, 1 internal (10 total aliases)
  • Vercel routes in config: 10
  • Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down

Package Details

  • Package: eve@0.17.1
  • Package directory: packages/eve
  • Tarball: 3.50 MB (eve-0.17.1.tgz)
  • Unpacked payload: 12.70 MB across 2390 published files
  • Installed footprint: 52.76 MB across 5603 installed files
  • Installed root package: 11.43 MB
  • Installed dependencies: 41.34 MB
  • Runtime dependencies: 1
  • Peer dependencies: 12 (11 optional)

Installed footprint is measured from an isolated temporary npm install of the packed tarball.

Heavy installed dependencies

  • @rolldown/binding-linux-x64-gnu: 20.26 MB (38.4%)
  • eve: 11.43 MB (21.7%)
  • ai: 6.29 MB (11.9%)
  • zod: 5.04 MB (9.6%)
  • nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [####....................] 1.51 MB 11.9%
🟡 dist/src/compiled/@workflow/core/runtime.js      [##......................] 794.4 kB 6.3%
🟡 dist/src/compiled/@vercel/sandbox/index.js       [##......................] 632.0 kB 5.0%
🟡 dist/src/compiled/@chat-adapter/slack/index.js   [#.......................] 436.6 kB 3.4%
🟡 dist/src/compiled/_chunks/workflow/attribute-... [#.......................] 371.6 kB 2.9%
🔴 Other published files                            [########################] 8.96 MB 70.5%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 20.26 MB 38.4%
🔴 eve                             [##############..........] 11.43 MB 21.7%
🔴 ai                              [#######.................] 6.29 MB 11.9%
🔴 zod                             [######..................] 5.04 MB 9.6%
🟠 nitro                           [###.....................] 2.41 MB 4.6%
🟡 rolldown                        [#.......................] 771.7 kB 1.5%
🔴 Other installed packages        [########................] 6.57 MB 12.5%
Runtime dependencies (1)
Package Range Notes
nitro 3.0.260610-beta
Peer dependencies (12)
Package Range Notes
@opentelemetry/api ^1.0.0 optional peer
@sveltejs/kit ^2.0.0 optional peer
ai catalog:
braintrust ^3.0.0 optional peer
just-bash ^3.0.0 optional peer
microsandbox ^0.5.0 optional peer
next ^16.0.0 optional peer
nuxt ^4.0.0 optional peer
react ^19.0.0 optional peer
svelte ^5.0.0 optional peer
vite ^8.0.0 optional peer
vue ^3.5.0 optional peer
eve init install drill-down

eve init install details

  • Command: eve init my-agent
  • Package manager: npm
  • Installed footprint: 92.55 MB across 7355 installed files
  • Installed packages: 120 total (114 transitive-only)
  • dependencies: 4 direct packages totaling 26.81 MB
  • devDependencies: 2 direct packages totaling 4.81 MB
  • Other transitive package files: 60.93 MB

Installed footprint is measured from an isolated temporary eve init my-agent using the current packed eve tarball.

Heavy installed dependencies

  • @typescript/typescript-linux-x64: 29.69 MB (32.1%)
  • @rolldown/binding-linux-x64-gnu: 20.26 MB (21.9%)
  • eve: 11.43 MB (12.3%)
  • zod: 9.00 MB (9.7%)
  • ai: 6.29 MB (6.8%)
Installed footprint breakdown
Installed package size
🔴 @typescript/typescript-linux-x64 [########################] 29.69 MB 32.1%
🔴 @rolldown/binding-linux-x64-gnu  [################........] 20.26 MB 21.9%
🔴 eve                              [#########...............] 11.43 MB 12.3%
🔴 zod                              [#######.................] 9.00 MB 9.7%
🔴 ai                               [#####...................] 6.29 MB 6.8%
🟠 @types/node                      [##......................] 2.54 MB 2.7%
🔴 Other installed packages         [###########.............] 13.34 MB 14.4%
dependencies (4)
Package Range Installed size Share
@vercel/connect 0.2.2 98.6 kB 0.1%
ai ^7.0.0 6.29 MB 6.8%
eve file:eve-0.17.1.tgz 11.43 MB 12.3%
zod 4.4.3 9.00 MB 9.7%
devDependencies (2)
Package Range Installed size Share
@types/node 24.x 2.54 MB 2.7%
typescript 7.0.1-rc 2.27 MB 2.5%
Function Drill-Down

Payload Size Graph

Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func     [########################] 5.75 MB 62.3%
🟠 functions/__server.func                         [###############.........] 3.47 MB 37.7%

Top Function Payloads

🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.75 MB
Metric Value
Public routes /.well-known/workflow/v1/flow
Runtime nodejs24.x
Handler index.mjs
Payload 5.75 MB
Function files 5.75 MB across 26 files
Traced dependencies 0 B
Signal 🟠 Bundled file __eve_nitro_handler__.mjs is 1.97 MB (34.4%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 __eve_nitro_handler__.mjs              [########################] 1.97 MB 34.4%
🟠 _chunks/runtime.mjs                    [############............] 983.9 kB 17.1%
🟡 _chunks/sandbox.mjs                    [#########...............] 766.0 kB 13.3%
🟡 _chunks/attribute-changes-zAifvEhb.mjs [######..................] 473.4 kB 8.2%
🟡 _libs/@ai-sdk/gateway+[...].mjs        [#####...................] 413.5 kB 7.2%
🟠 Other bundled files                    [##############..........] 1.14 MB 19.8%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x",
  "environment": {
    "NODE_OPTIONS": "--experimental-require-module"
  },
  "maxDuration": "max",
  "experimentalTriggers": [
    {
      "type": "queue/v2beta",
      "topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
      "consumer": "default",
      "retryAfterSeconds": 5,
      "initialDelaySeconds": 0
    }
  ]
}

🟠 functions/__server.func • 8 public routes, 1 internal alias • 3.47 MB
Metric Value
Public routes /
/eve/v1/callback/[token]
/eve/v1/connections/[name]/callback/[token]
/eve/v1/health
/eve/v1/info
/eve/v1/session
/eve/v1/session/[sessionId]
/eve/v1/session/[sessionId]/stream
Internal aliases /__server
Runtime nodejs24.x
Handler index.mjs
Payload 3.47 MB
Function files 3.47 MB across 21 files
Traced dependencies 0 B
Signal 🟠 Bundled file _chunks/dev-runtime-artifacts.mjs is 908.3 kB (26.2%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 _chunks/dev-runtime-artifacts.mjs      [########################] 908.3 kB 26.2%
🟠 _chunks/runtime.mjs                    [########################] 891.6 kB 25.7%
🟠 _chunks/sandbox.mjs                    [####################....] 766.0 kB 22.1%
🟡 _chunks/attribute-changes-zAifvEhb.mjs [############............] 449.0 kB 12.9%
⚪ _libs/zod.mjs                          [###.....................] 114.2 kB 3.3%
🟡 Other bundled files                    [#########...............] 343.5 kB 9.9%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x"
}

Comment thread packages/eve/src/setup/vercel-project.ts Outdated
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from 11c1bc4 to b654bb8 Compare June 30, 2026 22:16
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from b654bb8 to 46c4cd4 Compare June 30, 2026 22:23
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from 46c4cd4 to 89055d5 Compare June 30, 2026 22:26
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from 89055d5 to 706a77f Compare June 30, 2026 22:38
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from 706a77f to 4ed0270 Compare June 30, 2026 23:18
@ijjk
ijjk marked this pull request as ready for review June 30, 2026 23:48
Comment thread packages/eve/src/setup/vercel-project.ts Outdated
Comment on lines +161 to +167
function sourceMentionsPackageSpecifier(source: string, importSpecifier: string): boolean {
return (
source.includes(`"${importSpecifier}"`) ||
source.includes(`'${importSpecifier}'`) ||
source.includes(`\`${importSpecifier}\``)
);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is lossy but should be fine? I also don't think we should be parsing all modules, specially given that not all of the frameworks are in TSX.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Ya don't think we need to parse since the import has to be statically detectable

Signed-off-by: JJ Kasper <jj@jjsweb.site>
@ijjk
ijjk force-pushed the ijjk/use-vercel-link-project-creation branch from 4ed0270 to 58b3145 Compare July 1, 2026 01:00
@ijjk
ijjk requested a review from ruiconti July 1, 2026 01:37
@ijjk
ijjk merged commit ba2e0ce into main Jul 1, 2026
49 of 51 checks passed
@ijjk
ijjk deleted the ijjk/use-vercel-link-project-creation branch July 1, 2026 16:34
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.

Vercel preview deployments ignore deploymentEnabled for Eve apps

2 participants