next-better-auth-ui
v0.1.1
Published
Reusable Better Auth UI for Next.js, with an example app in [example](/Users/jungxuanlow/Desktop/auth-module/example) wired to Prisma and Postgres.
Readme
next-better-auth-ui
Reusable Better Auth UI for Next.js, with an example app in example wired to Prisma and Postgres.
Get Started
- Install dependencies from the repo root.
npm install- Start Postgres.
docker compose up -d- Create your local env file.
cp .env.example .env- Generate Prisma client and run the Better Auth migration for the example app.
cd example
npm run db:generate
npm run db:migrate- Start the example app.
cd example
npm run devThe example app will be available at http://localhost:3000.
Usage
Create your Better Auth instance inside your app:
import { createBetterAuth } from "next-better-auth-ui";
import { prisma } from "@/lib/prisma";
export const auth = createBetterAuth(prisma);Use the server helpers for the API route and auth catch-all page:
import { createBetterAuthRouteHandler, renderBetterAuthPageRoute } from "next-better-auth-ui/server";
import { auth } from "@/lib/auth";API route:
export const { GET, POST } = createBetterAuthRouteHandler(auth);Auth page route:
export default async function AuthPage({
params,
searchParams,
}: {
params: Promise<{ auth?: string[] }>;
searchParams: Promise<Record<string, string | string[] | undefined>>;
}) {
return renderBetterAuthPageRoute({
auth,
params: await params,
searchParams: await searchParams,
basePath: "/auth",
authenticatedRedirectTo: "/dashboard",
});
}The example app uses:
GET/POST /api/auth/[...all]/auth/sign-in/auth/sign-up/auth/forgot-password/auth/reset-password/auth/otp/dashboard
Release
GitHub Actions now includes:
.github/workflows/ci.yml.github/workflows/release.yml
ci.yml validates the package on pushes and pull requests.
release.yml publishes the package to npm when you push a tag like v0.1.0 or run the workflow manually.
For npm Trusted Publishing, connect this repository in npm using:
- Publisher:
GitHub Actions - Organization or user:
lowjungxuandev - Repository:
next-better-auth-ui - Workflow filename:
release.yml - Environment name: leave blank
