@thunderid/nextjs 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{SessionManager-CmqWChPm.js → SessionManager-B5tAUogZ.js} +32 -32
- package/dist/{cache-CxW8LP5j.js → cache-CehR-2Mf.js} +842 -688
- package/dist/cjs/{SessionManager-RFfauUwH.js → SessionManager-DWVXWxai.js} +32 -32
- package/dist/cjs/{cache-TPlce_OL.js → cache-DWfaHdaR.js} +842 -688
- package/dist/cjs/{dynamic-rendering-L2d7BrDx.js → dynamic-rendering-BEGH3rlw.js} +32 -32
- package/dist/cjs/{getAccessToken-Cse753Fb.js → getAccessToken-Cab1Sj9F.js} +2 -2
- package/dist/cjs/getSessionId-D2GHhpYA.js +5 -0
- package/dist/cjs/{getSessionId-CTcwNOBu.js → getSessionId-JO0wYM7v.js} +2 -2
- package/dist/cjs/index.cjs +6 -6
- package/dist/cjs/index2.cjs +5 -5
- package/dist/cjs/middleware.cjs +135 -131
- package/dist/cjs/{segment-oJYpzazg.js → segment-CykhDxJi.js} +3 -3
- package/dist/cjs/{server-DhPu4EWA.js → server-CClKGlqg.js} +187 -198
- package/dist/{dynamic-rendering-qQ5hSvc6.js → dynamic-rendering-_qvcT_hy.js} +32 -32
- package/dist/{getAccessToken-tip3mkrS.js → getAccessToken-v55M0pXz.js} +2 -2
- package/dist/getSessionId-C83kPHvR.js +5 -0
- package/dist/{getSessionId-CgVEEnja.js → getSessionId-Do76d3V9.js} +2 -2
- package/dist/index.js +6 -6
- package/dist/index2.js +5 -5
- package/dist/middleware.js +135 -131
- package/dist/{segment-BliKCoQf.js → segment-CyPl-lBr.js} +3 -3
- package/dist/{server-BUTC5fQO.js → server-DIFI4QvJ.js} +184 -201
- package/dist/types/ThunderIDNextClient.d.ts +5 -47
- package/dist/types/ThunderIDNextClient.d.ts.map +1 -1
- package/dist/types/client/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
- package/dist/types/constants/sessionConstants.d.ts +3 -3
- package/dist/types/server/ThunderIDProvider.d.ts +1 -1
- package/dist/types/server/actions/handleOAuthCallbackAction.d.ts.map +1 -1
- package/dist/types/server/getClient.d.ts +27 -0
- package/dist/types/server/getClient.d.ts.map +1 -0
- package/dist/types/server/middleware/thunderIDMiddleware.d.ts +2 -2
- package/dist/types/utils/SessionManager.d.ts +2 -2
- package/dist/types/utils/decorateConfigWithNextEnv.d.ts.map +1 -1
- package/dist/types/utils/handleRefreshToken.d.ts +2 -2
- package/dist/types/utils/handleRefreshToken.d.ts.map +1 -1
- package/package.json +7 -5
- package/dist/cjs/getSessionId-0NYmTSk-.js +0 -5
- package/dist/getSessionId-dhNlHUsz.js +0 -5
|
@@ -15,29 +15,11 @@
|
|
|
15
15
|
* specific language governing permissions and limitations
|
|
16
16
|
* under the License.
|
|
17
17
|
*/
|
|
18
|
-
import { AllOrganizationsApiResponse, ThunderIDNodeClient, CreateOrganizationPayload,
|
|
18
|
+
import { AllOrganizationsApiResponse, ThunderIDNodeClient, CreateOrganizationPayload, EmbeddedFlowExecuteRequestPayload, EmbeddedFlowExecuteResponse, ExtendedAuthorizeRequestUrlParams, IdToken, Organization, OrganizationDetails, SignInOptions, SignUpOptions, Storage, TokenExchangeRequestConfig, TokenResponse, User, UserProfile } from '@thunderid/node';
|
|
19
19
|
import { ThunderIDNextConfig } from './models/config';
|
|
20
|
-
/**
|
|
21
|
-
* Client for mplementing ThunderID in Next.js applications.
|
|
22
|
-
* This class provides the core functionality for managing user authentication and sessions.
|
|
23
|
-
*
|
|
24
|
-
* This class is implemented as a singleton to ensure a single instance across the application.
|
|
25
|
-
*
|
|
26
|
-
* @typeParam T - Configuration type that extends ThunderIDNextConfig.
|
|
27
|
-
*/
|
|
28
20
|
declare class ThunderIDNextClient<T extends ThunderIDNextConfig = ThunderIDNextConfig> extends ThunderIDNodeClient<T> {
|
|
29
|
-
private static instance;
|
|
30
|
-
private legacyClient;
|
|
31
21
|
isInitialized: boolean;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Get the singleton instance of ThunderIDNextClient
|
|
35
|
-
*/
|
|
36
|
-
static getInstance<T extends ThunderIDNextConfig = ThunderIDNextConfig>(): ThunderIDNextClient<T>;
|
|
37
|
-
/**
|
|
38
|
-
* Ensures the client is initialized before using it.
|
|
39
|
-
* Throws an error if the client is not initialized.
|
|
40
|
-
*/
|
|
22
|
+
constructor();
|
|
41
23
|
private ensureInitialized;
|
|
42
24
|
initialize(config: T, storage?: Storage): Promise<boolean>;
|
|
43
25
|
reInitialize(config: Partial<T>): Promise<boolean>;
|
|
@@ -53,39 +35,15 @@ declare class ThunderIDNextClient<T extends ThunderIDNextConfig = ThunderIDNextC
|
|
|
53
35
|
isLoading(): boolean;
|
|
54
36
|
isSignedIn(sessionId?: string): Promise<boolean>;
|
|
55
37
|
exchangeToken(config: TokenExchangeRequestConfig, sessionId?: string): Promise<TokenResponse | Response>;
|
|
56
|
-
/**
|
|
57
|
-
* Gets the access token from the session cookie if no sessionId is provided,
|
|
58
|
-
* otherwise falls back to legacy client method.
|
|
59
|
-
*/
|
|
60
38
|
getAccessToken(_sessionId?: string): Promise<string>;
|
|
61
|
-
/**
|
|
62
|
-
* Get the decoded ID token for a session
|
|
63
|
-
*/
|
|
64
39
|
getDecodedIdToken(sessionId?: string, idToken?: string): Promise<IdToken>;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
signIn(payload: EmbeddedSignInFlowHandleRequestPayload, request: EmbeddedFlowExecuteRequestConfig, sessionId?: string, onSignInSuccess?: (afterSignInUrl: string) => void): Promise<User>;
|
|
68
|
-
signOut(options?: SignOutOptions, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
|
|
69
|
-
signOut(options?: SignOutOptions, sessionId?: string, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
|
|
40
|
+
signIn(...args: any[]): Promise<any>;
|
|
41
|
+
signOut(...args: any[]): Promise<string>;
|
|
70
42
|
signUp(options?: SignUpOptions): Promise<void>;
|
|
71
43
|
signUp(payload: EmbeddedFlowExecuteRequestPayload): Promise<EmbeddedFlowExecuteResponse>;
|
|
72
44
|
signInSilently(_options?: SignInOptions): Promise<User | boolean>;
|
|
73
|
-
/**
|
|
74
|
-
* Gets the sign-in URL for authentication.
|
|
75
|
-
* Ensures the client is initialized before making the call.
|
|
76
|
-
*
|
|
77
|
-
* @param customParams - Custom parameters to include in the sign-in URL.
|
|
78
|
-
* @param userId - The user ID
|
|
79
|
-
* @returns Promise that resolves to the sign-in URL
|
|
80
|
-
*/
|
|
81
45
|
getAuthorizeRequestUrl(customParams: ExtendedAuthorizeRequestUrlParams, userId?: string): Promise<string>;
|
|
82
|
-
|
|
83
|
-
* Gets the storage manager from the underlying ThunderID client.
|
|
84
|
-
* Ensures the client is initialized before making the call.
|
|
85
|
-
*
|
|
86
|
-
* @returns Promise that resolves to the storage manager
|
|
87
|
-
*/
|
|
88
|
-
getStorageManager(): Promise<any>;
|
|
46
|
+
getStorageManager(): any;
|
|
89
47
|
clearSession(): Promise<void>;
|
|
90
48
|
setSession(sessionData: Record<string, unknown>, sessionId?: string): Promise<void>;
|
|
91
49
|
decodeJwtToken<R = Record<string, unknown>>(token: string): Promise<R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThunderIDNextClient.d.ts","sourceRoot":"","sources":["../../src/ThunderIDNextClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EAGnB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"ThunderIDNextClient.d.ts","sourceRoot":"","sources":["../../src/ThunderIDNextClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../../../../src/client/contexts/ThunderID/ThunderIDProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EACL,2BAA2B,EAK3B,YAAY,EACZ,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../../../../src/client/contexts/ThunderID/ThunderIDProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EACL,2BAA2B,EAK3B,YAAY,EACZ,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAML,sBAAsB,EAIvB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAC,EAAE,EAAE,iBAAiB,EAAkD,MAAM,OAAO,CAAC;AAC7F,OAAyB,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC,GACtG,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG;IACrD,aAAa,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;IACtD,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,kBAAkB,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACrG,mBAAmB,EAAE,YAAY,CAAC;IAClC,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACjG,mBAAmB,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC,CAAC;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,kBAAkB,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IAChE,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,yBAAyB,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5E,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxC,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IAC1G,aAAa,EAAE,CACb,aAAa,EAAE,qBAAqB,EACpC,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC;QAAC,IAAI,EAAE;YAAC,IAAI,EAAE,IAAI,CAAA;SAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC,CAAC;IACpE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEJ,QAAA,MAAM,uBAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CA2QhF,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -27,10 +27,10 @@ export declare const REFRESH_BUFFER_SECONDS = 25;
|
|
|
27
27
|
* Used when no explicit session cookie expiry is configured. The session cookie
|
|
28
28
|
* lifetime can be overridden in two ways (evaluated in this order):
|
|
29
29
|
*
|
|
30
|
-
* 1. `
|
|
30
|
+
* 1. `sessionCookie.expiryTime` in `ThunderIDNodeConfig` — set programmatically
|
|
31
31
|
* when initialising the SDK.
|
|
32
|
-
* 2. `
|
|
33
|
-
* (e.g. `
|
|
32
|
+
* 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable — set in `.env`
|
|
33
|
+
* (e.g. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME=86400`).
|
|
34
34
|
* 3. This constant — applied when neither of the above is present.
|
|
35
35
|
*
|
|
36
36
|
* Two independent expiry bounds apply to the session and they are generally
|
|
@@ -28,7 +28,7 @@ export type ThunderIDServerProviderProps = Partial<ThunderIDProviderProps> & {
|
|
|
28
28
|
*
|
|
29
29
|
* Resolution order (first defined value wins):
|
|
30
30
|
* 1. This prop — set here when mounting the provider.
|
|
31
|
-
* 2. `
|
|
31
|
+
* 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable.
|
|
32
32
|
* 3. Built-in default of 86400 seconds (24 hours).
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleOAuthCallbackAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/handleOAuthCallbackAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH;;;;;;;;;GASG;AACH,QAAA,MAAM,yBAAyB,GAC7B,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,
|
|
1
|
+
{"version":3,"file":"handleOAuthCallbackAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/handleOAuthCallbackAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH;;;;;;;;;GASG;AACH,QAAA,MAAM,yBAAyB,GAC7B,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAyHA,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
+
*
|
|
4
|
+
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
+
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
+
* in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing,
|
|
12
|
+
* software distributed under the License is distributed on an
|
|
13
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
* KIND, either express or implied. See the License for the
|
|
15
|
+
* specific language governing permissions and limitations
|
|
16
|
+
* under the License.
|
|
17
|
+
*/
|
|
18
|
+
import ThunderIDNextClient from '../ThunderIDNextClient';
|
|
19
|
+
/**
|
|
20
|
+
* Returns the shared `ThunderIDNextClient` instance for this Node.js process.
|
|
21
|
+
* Creates a new instance on first call; subsequent calls return the same instance.
|
|
22
|
+
*
|
|
23
|
+
* @returns The shared ThunderIDNextClient instance.
|
|
24
|
+
*/
|
|
25
|
+
declare const getClient: () => ThunderIDNextClient;
|
|
26
|
+
export default getClient;
|
|
27
|
+
//# sourceMappingURL=getClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClient.d.ts","sourceRoot":"","sources":["../../../src/server/getClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAIzD;;;;;GAKG;AACH,QAAA,MAAM,SAAS,QAAO,mBAKrB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -55,8 +55,8 @@ type ThunderIDMiddlewareHandler = (thunderid: ThunderIDMiddlewareContext, req: N
|
|
|
55
55
|
*
|
|
56
56
|
* Token refresh requires baseUrl, clientId, and clientSecret. These are resolved from
|
|
57
57
|
* the options argument first, then from the standard ThunderID environment variables
|
|
58
|
-
* (
|
|
59
|
-
*
|
|
58
|
+
* (NEXT_PUBLIC_THUNDERID_BASE_URL, NEXT_PUBLIC_THUNDERID_CLIENT_ID,
|
|
59
|
+
* THUNDERID_CLIENT_SECRET). If none are available the refresh step is skipped silently.
|
|
60
60
|
*
|
|
61
61
|
* @param handler - Optional handler function to customize middleware behavior
|
|
62
62
|
* @param options - Configuration options for the middleware
|
|
@@ -54,8 +54,8 @@ declare class SessionManager {
|
|
|
54
54
|
* Resolve the session cookie expiry time in seconds.
|
|
55
55
|
*
|
|
56
56
|
* Resolution order (first defined value wins):
|
|
57
|
-
* 1. `configuredExpiry` — value from `ThunderIDNodeConfig.
|
|
58
|
-
* 2. `
|
|
57
|
+
* 1. `configuredExpiry` — value from `ThunderIDNodeConfig.sessionCookie?.expiryTime`
|
|
58
|
+
* 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable
|
|
59
59
|
* 3. `DEFAULT_SESSION_COOKIE_EXPIRY_TIME` (24 hours)
|
|
60
60
|
*/
|
|
61
61
|
static resolveSessionCookieExpiry(configuredExpiry?: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorateConfigWithNextEnv.d.ts","sourceRoot":"","sources":["../../../src/utils/decorateConfigWithNextEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,QAAA,MAAM,yBAAyB,GAAI,QAAQ,mBAAmB,KAAG,
|
|
1
|
+
{"version":3,"file":"decorateConfigWithNextEnv.d.ts","sourceRoot":"","sources":["../../../src/utils/decorateConfigWithNextEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,QAAA,MAAM,yBAAyB,GAAI,QAAQ,mBAAmB,KAAG,mBAoChE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* specific language governing permissions and limitations
|
|
16
16
|
* under the License.
|
|
17
17
|
*/
|
|
18
|
-
import type { TokenResponse } from '@thunderid/node';
|
|
18
|
+
import type { TokenResponse, SessionCookieConfig } from '@thunderid/node';
|
|
19
19
|
import { SessionTokenPayload } from './SessionManager';
|
|
20
20
|
/**
|
|
21
21
|
* Config required to call the token endpoint.
|
|
@@ -24,7 +24,7 @@ export interface HandleRefreshTokenConfig {
|
|
|
24
24
|
baseUrl: string;
|
|
25
25
|
clientId: string;
|
|
26
26
|
clientSecret: string;
|
|
27
|
-
|
|
27
|
+
sessionCookie?: SessionCookieConfig;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Result returned by handleRefreshToken.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleRefreshToken.d.ts","sourceRoot":"","sources":["../../../src/utils/handleRefreshToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"handleRefreshToken.d.ts","sourceRoot":"","sources":["../../../src/utils/handleRefreshToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACxE,OAAuB,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,gBAAgB,mBAAmB,EACnC,QAAQ,wBAAwB,KAC/B,OAAO,CAAC,wBAAwB,CA2ElC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thunderid/nextjs",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Next.js SDK for ThunderID",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"thunderid",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@types/react": "19.2.14",
|
|
51
51
|
"jose": "5.2.0",
|
|
52
52
|
"tslib": "2.8.1",
|
|
53
|
-
"@thunderid/
|
|
54
|
-
"@thunderid/
|
|
53
|
+
"@thunderid/node": "^0.1.0",
|
|
54
|
+
"@thunderid/react": "^0.1.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/node": "24.7.2",
|
|
@@ -74,8 +74,10 @@
|
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
|
-
"build": "pnpm clean &&
|
|
78
|
-
"clean": "
|
|
77
|
+
"build": "pnpm clean:dist && rolldown -c rolldown.config.js && tsc -p tsconfig.lib.json --emitDeclarationOnly --outDir dist",
|
|
78
|
+
"clean": "pnpm clean:node_modules && pnpm clean:dist",
|
|
79
|
+
"clean:dist": "rimraf dist",
|
|
80
|
+
"clean:node_modules": "rimraf node_modules",
|
|
79
81
|
"format:check": "prettier --check --cache .",
|
|
80
82
|
"format:fix": "prettier --write --cache .",
|
|
81
83
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx,.cjs,.mjs",
|