github clerk/javascript @clerk/react-router@2.0.0

latest releases: @clerk/types@4.92.0, @clerk/clerk-js@5.99.0, @clerk/fastify@2.4.37...
19 days ago

Major Changes

  • Introduce React Router middleware support with clerkMiddleware() for improved performance and streaming capabilities. (#6660) by @wobsoriano

    Usage of rootAuthLoader without the clerkMiddleware() installed is now deprecated and will be removed in the next major version.

    Before (Deprecated - will be removed):

    import { rootAuthLoader } from '@clerk/react-router/ssr.server';
    
    export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);

    After (Recommended):

    1. Enable the v8_middleware future flag:
    // react-router.config.ts
    export default {
      future: {
        v8_middleware: true,
      },
    } satisfies Config;
    1. Use the middleware in your app:
    import { clerkMiddleware, rootAuthLoader } from '@clerk/react-router/server';
    
    export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()];
    
    export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);

    Streaming Support (with middleware):

    export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()];
    
    export const loader = (args: Route.LoaderArgs) => {
      const nonCriticalData = new Promise(res => setTimeout(() => res('non-critical'), 5000));
    
      return rootAuthLoader(args, () => ({
        nonCriticalData,
      }));
    };

Minor Changes

Patch Changes

Don't miss a new javascript release

NewReleases is sending notifications on new releases.