Skip to content

feat(examples): Add Next.js + Elysia full-stack starter template#12414

Merged
anthonyshew merged 4 commits intovercel:mainfrom
eastgold15:feat/add-nextjs-elysia-example
Mar 30, 2026
Merged

feat(examples): Add Next.js + Elysia full-stack starter template#12414
anthonyshew merged 4 commits intovercel:mainfrom
eastgold15:feat/add-nextjs-elysia-example

Conversation

@eastgold15
Copy link
Copy Markdown
Contributor

Summary

Add a new Turborepo example template showcasing a modern full-stack TypeScript setup with Next.js and ElysiaJS.

What's Included

  • Next.js 15 frontend with App Router and TypeScript
  • ElysiaJS backend server embedded in Next.js for type-safe API routes
  • TypeBox contracts for runtime type validation and end-to-end type safety
  • Drizzle ORM with PostgreSQL for database operations
  • Shared contracts - Frontend can directly consume backend-defined types
  • Biome for fast linting and formatting
  • Monorepo structure with shared TypeScript configs and UI components

Why This Template?

This template demonstrates a production-ready setup for building type-safe full-stack applications where:

  • Database types automatically sync between backend and frontend
  • API contracts provide runtime validation and TypeScript types
  • No need to maintain separate type definitions
  • Leverages Turborepo for efficient build caching and task orchestration

Usage

npx create-turbo@latest -e with-nextjs-elysia

Test Plan

  • Template can be created with create-turbo
  • bun install works without errors
  • bun run dev starts both Next.js and Elysia servers
  • TypeScript types are properly shared across packages
  • Biome linting passes

🤖 Generated with Claude Code

eastgold15 and others added 2 commits March 23, 2026 15:10
Add a new Turborepo example showcasing a modern full-stack setup with:
- Next.js 15 frontend with App Router
- ElysiaJS backend server embedded in Next.js
- TypeBox contracts for API type safety
- Drizzle ORM with PostgreSQL
- Shared TypeScript types across frontend and backend
- Biome for linting and formatting
- Monorepo structure with shared packages

This template demonstrates a production-ready setup for building
type-safe full-stack applications with end-to-end type safety.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@eastgold15 eastgold15 requested a review from a team as a code owner March 23, 2026 07:16
@eastgold15 eastgold15 requested review from tknickman and removed request for a team March 23, 2026 07:16
@ghost ghost added the area: examples Improvements or additions to examples label Mar 23, 2026
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Mar 23, 2026

@eastgold15 is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

@eastgold15 eastgold15 changed the title feat(examples): add Next.js + Elysia full-stack starter template feat(examples): Add Next.js + Elysia full-stack starter template Mar 23, 2026
Comment thread examples/with-nextjs-elysia/apps/web/src/lib/eden.ts Outdated
Comment thread examples/with-nextjs-elysia/packages/contract/drizzle.config.ts
@anthonyshew anthonyshew merged commit 1559d0f into vercel:main Mar 30, 2026
3 of 13 checks passed
github-actions Bot added a commit that referenced this pull request Mar 31, 2026
## Release v2.9.2-canary.1

Versioned docs: https://v2-9-2-canary-1.turborepo.dev

### Changes

- release(turborepo): 2.9.1-canary.1 (#12497) (`fbf34a2`)
- feat: Add `cacheMaxAge` and `cacheMaxSize` for local cache eviction
(#12487) (`a702a15`)
- release(turborepo): 2.9.1 (#12498) (`4240dd4`)
- fix: Add retry logic to example update workflow push step (#12499)
(`00a4aae`)
- docs: Add documentation for cacheMaxAge and cacheMaxSize options
(#12500) (`5b65487`)
- feat(examples): Add Next.js + Elysia full-stack starter template
(#12414) (`1559d0f`)
- fix: Resolve correct nested bun lockfile versions during prune
(#12506) (`ee5bcbf`)
- Revert "fix: Avoid `setsid()` in PTY spawn to prevent macOS Gatekeeper
CPU spikes" (#12507) (`6c3b8a6`)

Co-authored-by: Turbobot <turbobot@vercel.com>
github-actions Bot added a commit that referenced this pull request Mar 31, 2026
## Release v2.9.2

Versioned docs: https://v2-9-2.turborepo.dev

### Changes

- release(turborepo): 2.9.1 (#12498) (`4240dd4`)
- fix: Add retry logic to example update workflow push step (#12499)
(`00a4aae`)
- docs: Add documentation for cacheMaxAge and cacheMaxSize options
(#12500) (`5b65487`)
- feat(examples): Add Next.js + Elysia full-stack starter template
(#12414) (`1559d0f`)
- fix: Resolve correct nested bun lockfile versions during prune
(#12506) (`ee5bcbf`)
- Revert "fix: Avoid `setsid()` in PTY spawn to prevent macOS Gatekeeper
CPU spikes" (#12507) (`6c3b8a6`)
- release(turborepo): 2.9.2-canary.1 (#12508) (`2bebb91`)
- fix: Unblock `watch` loop so interruptible persistent tasks restart on
file changes (#12509) (`95ec9ed`)
- fix(api-client): Treat * as wildcard in preflight
Access-Control-Allow-Headers (#12503) (`960b2eb`)
- release(turborepo): 2.9.2-canary.2 (#12510) (`d4d3f9d`)
- docs: Document `turbo.*` generator variables (#12511) (`aa014c7`)
- fix: Backfill missing pnpm workspace importer entries during prune
(#12514) (`45f2f43`)
- release(turborepo): 2.9.2-canary.3 (#12515) (`59a42a5`)
- fix: Include transitive dependencies in engine graph pruning for
affected paths using Task Graph (#12516) (`8c88521`)
- release(turborepo): 2.9.2-canary.4 (#12518) (`aed2066`)
- chore: Update AI-generated response text for clarity (#12517)
(`4a4e661`)
- fix: Preserve shallow install strategy during npm lockfile pruning
(#12520) (`72577db`)

---------

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: examples Improvements or additions to examples

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants