Skip to content

Packages

@surfjs/next

Next.js adapters for App Router and Pages Router

@surfjs/next#

@surfjs/next provides two adapters for Next.js: createSurfRouteHandler for the App Router (edge-compatible) and createSurfApiHandler for Pages Router API routes.

TypeScript
// App Router โ€” app/api/surf/[[...slug]]/route.ts
import { createSurf } from '@surfjs/core'
import { createSurfRouteHandler } from '@surfjs/next'
ย 
const surf = await createSurf({ name: 'My App', commands: { /* ... */ } })
export const { GET, POST } = createSurfRouteHandler(surf)
ย 
// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
ย 
// Pages Router โ€” pages/api/surf/[...path].ts
import { createSurf } from '@surfjs/core'
import { createSurfApiHandler } from '@surfjs/next/pages'
ย 
const surf = await createSurf({ name: 'My App', commands: { /* ... */ } })
export default createSurfApiHandler(surf)
ย 
export const config = {
api: { bodyParser: true },
}