Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 2.75 KB

File metadata and controls

85 lines (56 loc) · 2.75 KB

@objectstack/nextjs

Next.js adapter for ObjectStack — App Router route handlers and server actions for the generated REST API.

npm License: Apache-2.0

Overview

Bridges Next.js App Router to HttpDispatcher. Provides one catch-all route handler that supports /api/[...objectstack], a dedicated /api/v1/discovery handler, and typed server actions for CRUD and batch operations from React Server Components.

Installation

pnpm add @objectstack/nextjs next

Quick Start

// app/api/[...objectstack]/route.ts
import { createRouteHandler } from '@objectstack/nextjs';
import { kernel } from '@/lib/kernel';

const handler = createRouteHandler({ kernel });

export { handler as GET, handler as POST, handler as PUT, handler as PATCH, handler as DELETE };
// app/api/v1/discovery/route.ts
import { createDiscoveryHandler } from '@objectstack/nextjs';
import { kernel } from '@/lib/kernel';

export const GET = createDiscoveryHandler({ kernel });

Server actions

// app/actions.ts
'use server';
import { createServerActions } from '@objectstack/nextjs';
import { kernel } from '@/lib/kernel';

export const { find, findOne, create, update, remove } = createServerActions({ kernel });

Key Exports

Export Kind Description
createRouteHandler(options) function Catch-all App Router handler.
createDiscoveryHandler(options) function /api/v1/discovery handler.
createServerActions(options) function Returns typed server actions.
NextAdapterOptions interface { kernel, prefix? }.
ServerActionResult<T> type { success: boolean; data?: T; error?: string } envelope.

Edge vs Node

  • Default runtime is Node.js. Edge runtimes need an edge-compatible driver (ObjectStack Cloud ships @objectstack/driver-turso for that case).
  • HttpDispatcher is isomorphic; the adapter emits NextResponse which works in both runtimes.

When to use

  • ✅ Next.js App Router projects.
  • ✅ React Server Components that need type-safe data mutations via server actions.

When not to use

  • ❌ Pages Router projects — use @objectstack/express with next-connect or migrate to App Router.

Related Packages

Links

License

Apache-2.0 © ObjectStack