Skip to content

Commit 18bcfbc

Browse files
authored
chore(nextjs): Introduce build-time error for server-only helpers on client-side (#3758)
1 parent 20497e9 commit 18bcfbc

File tree

6 files changed

+18
-0
lines changed

6 files changed

+18
-0
lines changed

.changeset/perfect-chairs-work.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@clerk/nextjs": patch
3+
---
4+
5+
Return build-time error if `auth` and `currentUser` server-side helpers are imported into Client Components.

package-lock.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/nextjs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"@clerk/types": "4.8.0",
7474
"crypto-js": "4.2.0",
7575
"path-to-regexp": "6.2.2",
76+
"server-only": "0.0.1",
7677
"tslib": "2.4.1"
7778
},
7879
"devDependencies": {

packages/nextjs/src/app-router/server/auth.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'server-only';
2+
13
import type { AuthObject, RedirectFun } from '@clerk/backend/internal';
24
import { constants, createClerkRequest, createRedirect } from '@clerk/backend/internal';
35
import { notFound, redirect } from 'next/navigation';

packages/nextjs/src/app-router/server/currentUser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'server-only';
2+
13
import type { User } from '@clerk/backend';
24

35
import { clerkClient } from '../../server/clerkClient';

packages/nextjs/src/server/__tests__/exports.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
jest.mock('server-only', () => null);
2+
13
import * as publicExports from '../index';
24

35
describe('/server public exports', () => {

0 commit comments

Comments
 (0)