Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

@fedify/next: Integrate Fedify with Next.js

Follow @fedify@hollo.social

This package provides a simple way to integrate Fedify with Next.js.

Important

We recommend initializing your app using the init command of the Fedify CLI rather than installing this package directly.

Important

This package relies on Next.js request interception on the Node.js runtime. Therefore, you must use Next.js 15.4.6 or later. On Next.js 16, proxy.ts is preferred and middleware.ts is deprecated but still supported. If you switch to proxy.ts, omit runtime: "nodejs" from the exported config, because Proxy always runs on the Node.js runtime. For more details, refer to the official documentation of proxy.

Usage

// --- middleware.ts ---
import { fedifyWith } from "@fedify/next";
import { federation } from "./federation";

export default fedifyWith(federation)();

// This config must be defined in the same file.
export const config = {
  runtime: "nodejs",
  matcher: [
    {
      source: "/:path*",
      has: [
        {
          type: "header",
          key: "Accept",
          value: ".*application\\/((jrd|activity|ld)\\+json|xrd\\+xml).*",
        },
      ],
    },
    {
      source: "/:path*",
      has: [
        {
          type: "header",
          key: "content-type",
          value: ".*application\\/((jrd|activity|ld)\\+json|xrd\\+xml).*",
        },
      ],
    },
    { source: "/.well-known/nodeinfo" },
    { source: "/.well-known/x-nodeinfo2" },
  ],
};