Skip to content

Commit 19db4e0

Browse files
committed
chore(gatsby-plugin-clerk,nextjs,remix): Align dependent packages
1 parent 394ba28 commit 19db4e0

File tree

13 files changed

+46
-45
lines changed

13 files changed

+46
-45
lines changed

.changeset/fuzzy-years-taste.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
---
22
'@clerk/backend': major
3+
'@clerk/gatsby-plugin-clerk': major
4+
'@clerk/nextjs': major
5+
'@clerk/remix': major
36
---
47

8+
## Breaking Changes
9+
10+
### @clerk/backend
11+
512
Replace `Clerk` with `createClerkClient` [SDK-1058]
613

7-
### Breaking Changes
814

915
```js
1016
import { Clerk } from '@clerk/backend';
@@ -17,3 +23,15 @@ now becomes:
1723
import { createClerkClient } from '@clerk/backend';
1824
const clerk = createClerkClient({ secretKey: '...' });
1925
```
26+
27+
### @clerk/gatsby-plugin-clerk
28+
29+
No longer returning `Clerk`. Please replace with `createClerkClient`
30+
31+
### @clerk/nextjs
32+
33+
No longer returning `Clerk`. Please replace with `createClerkClient`
34+
35+
### @clerk/remix
36+
37+
No longer returning `Clerk`. Please replace with `createClerkClient`

packages/backend/src/api/endpoints/InvitationApi.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ type GetInvitationListParams = {
1919
* @example
2020
* get all revoked invitations
2121
*
22-
* import { Clerk } from '@clerk/backend';
23-
* const clerkClient = Clerk(...)
22+
* import { createClerkClient } from '@clerk/backend';
23+
* const clerkClient = createClerkClient(...)
2424
* await clerkClient.invitations.getInvitationList({ status: 'revoked })
2525
*
2626
*/

packages/fastify/src/clerkClient.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const ClerkMock = jest.fn(() => {
1+
const createClerkClientMock = jest.fn(() => {
22
return 'clerkClient';
33
});
44

55
jest.mock('@clerk/backend', () => {
66
return {
77
...jest.requireActual('@clerk/backend'),
8-
Clerk: ClerkMock,
8+
createClerkClient: createClerkClientMock,
99
};
1010
});
1111

@@ -17,7 +17,7 @@ describe('clerk', () => {
1717
});
1818

1919
test('initializes clerk with constants', () => {
20-
expect(ClerkMock.mock.calls).toMatchSnapshot();
20+
expect(createClerkClientMock.mock.calls).toMatchSnapshot();
2121
expect(clerkClient).toEqual('clerkClient');
2222
});
2323
});

packages/fastify/src/clerkClient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Clerk } from '@clerk/backend';
1+
import { createClerkClient } from '@clerk/backend';
22

33
import { API_URL, API_VERSION, JWT_KEY, SDK_METADATA, SECRET_KEY } from './constants';
44

5-
export const createClerkClient = Clerk;
5+
export { createClerkClient };
66

77
export const clerkClient = createClerkClient({
88
secretKey: SECRET_KEY,

packages/fastify/src/withClerkMiddleware.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const localInterstitialMock = jest.fn();
99
jest.mock('@clerk/backend', () => {
1010
return {
1111
...jest.requireActual('@clerk/backend'),
12-
Clerk: () => {
12+
createClerkClient: () => {
1313
return {
1414
authenticateRequest: (...args: any) => authenticateRequestMock(...args),
1515
localInterstitial: (...args: any) => localInterstitialMock(...args),
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Clerk } from '@clerk/backend';
1+
import { createClerkClient } from '@clerk/backend';
22

33
import { API_URL, API_VERSION, SDK_METADATA, SECRET_KEY, TELEMETRY_DEBUG, TELEMETRY_DISABLED } from '../constants';
44

5-
const clerkClient = Clerk({
5+
const clerkClient = createClerkClient({
66
secretKey: SECRET_KEY,
77
apiUrl: API_URL,
88
apiVersion: API_VERSION,
@@ -15,10 +15,5 @@ const clerkClient = Clerk({
1515
},
1616
});
1717

18-
const createClerkClient = Clerk;
19-
20-
// eslint-disable-next-line import/export
21-
export { Clerk, clerkClient, createClerkClient };
22-
23-
// eslint-disable-next-line import/export
18+
export { clerkClient };
2419
export * from '@clerk/backend';

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ exports[`/server public exports should not include a breaking change 1`] = `
44
[
55
"AllowlistIdentifier",
66
"AuthStatus",
7-
"Clerk",
87
"Client",
98
"DeletedObject",
109
"Email",

packages/nextjs/src/server/clerkClient.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Clerk } from '@clerk/backend';
1+
import { createClerkClient } from '@clerk/backend';
22

33
import {
44
API_URL,
@@ -12,7 +12,7 @@ import {
1212
TELEMETRY_DISABLED,
1313
} from './constants';
1414

15-
const clerkClient = Clerk({
15+
const clerkClient = createClerkClient({
1616
secretKey: SECRET_KEY,
1717
apiUrl: API_URL,
1818
apiVersion: API_VERSION,
@@ -28,10 +28,5 @@ const clerkClient = Clerk({
2828
},
2929
});
3030

31-
const createClerkClient = Clerk;
32-
33-
// eslint-disable-next-line import/export
34-
export { Clerk, clerkClient, createClerkClient };
35-
36-
// eslint-disable-next-line import/export
31+
export { clerkClient };
3732
export * from '@clerk/backend';

packages/remix/src/api/index.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1 @@
1-
import { Clerk } from '@clerk/backend';
2-
3-
const createClerkClient = Clerk;
4-
5-
export { createClerkClient };
6-
71
export * from '@clerk/backend';

packages/remix/src/ssr/authenticateRequest.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { RequestState } from '@clerk/backend';
2-
import { buildRequestUrl, Clerk } from '@clerk/backend';
2+
import { buildRequestUrl, createClerkClient } from '@clerk/backend';
33
import { apiUrlFromPublishableKey } from '@clerk/shared/apiUrlFromPublishableKey';
44
import { handleValueOrFn } from '@clerk/shared/handleValueOrFn';
55
import { isDevelopmentFromSecretKey } from '@clerk/shared/keys';
@@ -73,7 +73,7 @@ export function authenticateRequest(args: LoaderFunctionArgs, opts: RootAuthLoad
7373
throw new Error(satelliteAndMissingSignInUrl);
7474
}
7575

76-
return Clerk({ apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain }).authenticateRequest({
76+
return createClerkClient({ apiUrl, secretKey, jwtKey, proxyUrl, isSatellite, domain }).authenticateRequest({
7777
audience,
7878
secretKey,
7979
jwtKey,

packages/sdk-node/src/clerkClient.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import type { ClerkOptions, VerifyTokenOptions } from '@clerk/backend';
2-
import { Clerk as _Clerk, verifyToken as _verifyToken } from '@clerk/backend';
2+
import { createClerkClient, verifyToken as _verifyToken } from '@clerk/backend';
33

44
import { createClerkExpressRequireAuth } from './clerkExpressRequireAuth';
55
import { createClerkExpressWithAuth } from './clerkExpressWithAuth';
66
import { loadApiEnv, loadClientEnv } from './utils';
77

8-
type ExtendedClerk = ReturnType<typeof _Clerk> & {
8+
type ExtendedClerk = ReturnType<typeof createClerkClient> & {
99
expressWithAuth: ReturnType<typeof createClerkExpressWithAuth>;
1010
expressRequireAuth: ReturnType<typeof createClerkExpressRequireAuth>;
1111
verifyToken: (token: string, verifyOpts?: Parameters<typeof _verifyToken>[1]) => ReturnType<typeof _verifyToken>;
@@ -17,7 +17,7 @@ type ExtendedClerk = ReturnType<typeof _Clerk> & {
1717
* Arrow functions can never be called with the new keyword because they do not have the [[Construct]] method
1818
*/
1919
export function Clerk(options: ClerkOptions): ExtendedClerk {
20-
const clerkClient = _Clerk(options);
20+
const clerkClient = createClerkClient(options);
2121
const expressWithAuth = createClerkExpressWithAuth({ ...options, clerkClient });
2222
const expressRequireAuth = createClerkExpressRequireAuth({ ...options, clerkClient });
2323
const verifyToken = (token: string, verifyOpts?: VerifyTokenOptions) => {
@@ -32,26 +32,26 @@ export function Clerk(options: ClerkOptions): ExtendedClerk {
3232
});
3333
}
3434

35-
export const createClerkClient = Clerk;
35+
export { createClerkClient } from '@clerk/backend';
3636

3737
let clerkClientSingleton = {} as unknown as ReturnType<typeof Clerk>;
3838

3939
export const clerkClient = new Proxy(clerkClientSingleton, {
4040
get(_target, property) {
4141
const hasBeenInitialised = !!clerkClientSingleton.authenticateRequest;
4242
if (hasBeenInitialised) {
43-
// @ts-expect-error
43+
// @ts-expect-error - Element implicitly has an 'any' type because expression of type 'string | symbol' can't be used to index type 'ExtendedClerk'.
4444
return clerkClientSingleton[property];
4545
}
4646

4747
const env = { ...loadApiEnv(), ...loadClientEnv() };
4848
if (env.secretKey) {
4949
clerkClientSingleton = Clerk({ ...env, userAgent: '@clerk/clerk-sdk-node' });
50-
// @ts-expect-error
50+
// @ts-expect-error - Element implicitly has an 'any' type because expression of type 'string | symbol' can't be used to index type 'ExtendedClerk'.
5151
return clerkClientSingleton[property];
5252
}
5353

54-
// @ts-expect-error
54+
// @ts-expect-error - Element implicitly has an 'any' type because expression of type 'string | symbol' can't be used to index type 'ExtendedClerk'.
5555
return Clerk({ ...env, userAgent: '@clerk/clerk-sdk-node' })[property];
5656
},
5757
set() {

packages/sdk-node/src/clerkExpressRequireAuth.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Clerk } from '@clerk/backend';
1+
import type { createClerkClient } from '@clerk/backend';
22

33
import {
44
authenticateRequest,
@@ -10,7 +10,7 @@ import {
1010
import type { ClerkMiddlewareOptions, MiddlewareRequireAuthProp, RequireAuthProp } from './types';
1111

1212
export type CreateClerkExpressMiddlewareOptions = {
13-
clerkClient: ReturnType<typeof Clerk>;
13+
clerkClient: ReturnType<typeof createClerkClient>;
1414
/* Secret Key */
1515
secretKey?: string;
1616
publishableKey?: string;

packages/sdk-node/src/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { AuthenticateRequestOptions, AuthObject, Clerk, SignedInAuthObject } from '@clerk/backend';
1+
import type { AuthenticateRequestOptions, AuthObject, createClerkClient, SignedInAuthObject } from '@clerk/backend';
22
import type { MultiDomainAndOrProxy } from '@clerk/types';
33
import type { NextFunction, Request, Response } from 'express';
44
import type { IncomingMessage } from 'http';
@@ -36,7 +36,7 @@ export type ClerkMiddlewareOptions = {
3636
signInUrl?: string;
3737
} & MultiDomainAndOrProxy;
3838

39-
export type ClerkClient = ReturnType<typeof Clerk>;
39+
export type ClerkClient = ReturnType<typeof createClerkClient>;
4040

4141
export type AuthenticateRequestParams = {
4242
clerkClient: ClerkClient;

0 commit comments

Comments
 (0)