@commercengine/storefront-sdk-nextjs 0.1.0 → 0.1.1
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/package.json +9 -7
- package/dist/client.cjs +0 -136
- package/dist/client.d.cts +0 -17
- package/dist/client.d.cts.map +0 -1
- package/dist/index.cjs +0 -146
- package/dist/index.d.cts +0 -43
- package/dist/index.d.cts.map +0 -1
- package/dist/sdk-manager-D2ktqPrp.d.cts +0 -141
- package/dist/sdk-manager-D2ktqPrp.d.cts.map +0 -1
- package/dist/sdk-manager-NWADjRFW.cjs +0 -400
- package/dist/server.cjs +0 -102
- package/dist/server.d.cts +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercengine/storefront-sdk-nextjs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Next.js wrapper for the Commerce Engine Storefront SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,18 +9,19 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js",
|
|
12
|
-
"
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
13
|
},
|
|
14
14
|
"./server": {
|
|
15
15
|
"types": "./dist/server.d.ts",
|
|
16
16
|
"import": "./dist/server.js",
|
|
17
|
-
"
|
|
17
|
+
"default": "./dist/server.js"
|
|
18
18
|
},
|
|
19
19
|
"./client": {
|
|
20
20
|
"types": "./dist/client.d.ts",
|
|
21
21
|
"import": "./dist/client.js",
|
|
22
|
-
"
|
|
23
|
-
}
|
|
22
|
+
"default": "./dist/client.js"
|
|
23
|
+
},
|
|
24
|
+
"./package.json": "./package.json"
|
|
24
25
|
},
|
|
25
26
|
"files": [
|
|
26
27
|
"dist",
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
"react-dom": ">=19.0.0"
|
|
43
44
|
},
|
|
44
45
|
"dependencies": {
|
|
45
|
-
"@commercengine/storefront-sdk": "0.8.
|
|
46
|
+
"@commercengine/storefront-sdk": "0.8.2"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"@types/node": "^24.3.0",
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
},
|
|
60
61
|
"scripts": {
|
|
61
62
|
"build": "tsdown",
|
|
62
|
-
"clean": "rimraf dist"
|
|
63
|
+
"clean": "rimraf dist",
|
|
64
|
+
"check-exports": "attw --pack ."
|
|
63
65
|
}
|
|
64
66
|
}
|
package/dist/client.cjs
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const require_sdk_manager = require('./sdk-manager-NWADjRFW.cjs');
|
|
5
|
-
const react = require_sdk_manager.__toESM(require("react"));
|
|
6
|
-
const __commercengine_storefront_sdk = require_sdk_manager.__toESM(require("@commercengine/storefront-sdk"));
|
|
7
|
-
|
|
8
|
-
//#region src/init-client.ts
|
|
9
|
-
/**
|
|
10
|
-
* Client-side initialization component
|
|
11
|
-
* Use this in your root layout to initialize the SDK once
|
|
12
|
-
*
|
|
13
|
-
* Configuration is handled via environment variables:
|
|
14
|
-
* - NEXT_PUBLIC_STORE_ID
|
|
15
|
-
* - NEXT_PUBLIC_API_KEY
|
|
16
|
-
* - NEXT_PUBLIC_ENVIRONMENT (optional, defaults to staging)
|
|
17
|
-
*
|
|
18
|
-
* The core SDK middleware automatically handles everything:
|
|
19
|
-
* - Creates anonymous tokens automatically on first API request (if no tokens exist)
|
|
20
|
-
* - Token state assessment and cleanup on first request per page load
|
|
21
|
-
* - Expired token refresh with automatic anonymous fallback
|
|
22
|
-
* - Graceful handling of partial token states
|
|
23
|
-
*
|
|
24
|
-
* No manual token creation needed - just make API calls and everything works!
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Bootstrap tokens by checking if access token exists and creating anonymous token if needed
|
|
28
|
-
*/
|
|
29
|
-
async function bootstrapTokens() {
|
|
30
|
-
const sdk = require_sdk_manager.getStorefrontSDK();
|
|
31
|
-
const accessToken = await sdk.getAccessToken();
|
|
32
|
-
if (!accessToken) await sdk.auth.getAnonymousToken();
|
|
33
|
-
}
|
|
34
|
-
function StorefrontSDKInitializer({ runtimeConfig } = {}) {
|
|
35
|
-
(0, react.useEffect)(() => {
|
|
36
|
-
require_sdk_manager.initializeStorefrontSDK();
|
|
37
|
-
bootstrapTokens().catch(console.error);
|
|
38
|
-
}, [runtimeConfig]);
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
//#endregion
|
|
43
|
-
Object.defineProperty(exports, 'AuthClient', {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function () {
|
|
46
|
-
return __commercengine_storefront_sdk.AuthClient;
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(exports, 'BrowserTokenStorage', {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function () {
|
|
52
|
-
return __commercengine_storefront_sdk.BrowserTokenStorage;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(exports, 'CartClient', {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
get: function () {
|
|
58
|
-
return __commercengine_storefront_sdk.CartClient;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(exports, 'CatalogClient', {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
get: function () {
|
|
64
|
-
return __commercengine_storefront_sdk.CatalogClient;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
exports.ClientTokenStorage = require_sdk_manager.ClientTokenStorage;
|
|
68
|
-
Object.defineProperty(exports, 'CookieTokenStorage', {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
get: function () {
|
|
71
|
-
return __commercengine_storefront_sdk.CookieTokenStorage;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
Object.defineProperty(exports, 'CustomerClient', {
|
|
75
|
-
enumerable: true,
|
|
76
|
-
get: function () {
|
|
77
|
-
return __commercengine_storefront_sdk.CustomerClient;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(exports, 'Environment', {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
get: function () {
|
|
83
|
-
return __commercengine_storefront_sdk.Environment;
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
Object.defineProperty(exports, 'HelpersClient', {
|
|
87
|
-
enumerable: true,
|
|
88
|
-
get: function () {
|
|
89
|
-
return __commercengine_storefront_sdk.HelpersClient;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(exports, 'MemoryTokenStorage', {
|
|
93
|
-
enumerable: true,
|
|
94
|
-
get: function () {
|
|
95
|
-
return __commercengine_storefront_sdk.MemoryTokenStorage;
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
Object.defineProperty(exports, 'OrderClient', {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
get: function () {
|
|
101
|
-
return __commercengine_storefront_sdk.OrderClient;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
Object.defineProperty(exports, 'ResponseUtils', {
|
|
105
|
-
enumerable: true,
|
|
106
|
-
get: function () {
|
|
107
|
-
return __commercengine_storefront_sdk.ResponseUtils;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
Object.defineProperty(exports, 'ShippingClient', {
|
|
111
|
-
enumerable: true,
|
|
112
|
-
get: function () {
|
|
113
|
-
return __commercengine_storefront_sdk.ShippingClient;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
Object.defineProperty(exports, 'StoreConfigClient', {
|
|
117
|
-
enumerable: true,
|
|
118
|
-
get: function () {
|
|
119
|
-
return __commercengine_storefront_sdk.StoreConfigClient;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
Object.defineProperty(exports, 'StorefrontAPIClient', {
|
|
123
|
-
enumerable: true,
|
|
124
|
-
get: function () {
|
|
125
|
-
return __commercengine_storefront_sdk.StorefrontAPIClient;
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
Object.defineProperty(exports, 'StorefrontSDK', {
|
|
129
|
-
enumerable: true,
|
|
130
|
-
get: function () {
|
|
131
|
-
return __commercengine_storefront_sdk.StorefrontSDK;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
exports.StorefrontSDKInitializer = StorefrontSDKInitializer;
|
|
135
|
-
exports.getStorefrontSDK = require_sdk_manager.getStorefrontSDK;
|
|
136
|
-
exports.initializeStorefrontSDK = require_sdk_manager.initializeStorefrontSDK;
|
package/dist/client.d.cts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ClientTokenStorage, NextJSSDKConfig, NextJSTokenStorageOptions, StorefrontRuntimeConfig, getStorefrontSDK, initializeStorefrontSDK } from "./sdk-manager-D2ktqPrp.cjs";
|
|
2
|
-
import { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, OrderClient, ResponseUtils, ShippingClient, StoreConfigClient, StorefrontAPIClient, StorefrontSDK, StorefrontSDKOptions, TokenStorage } from "@commercengine/storefront-sdk";
|
|
3
|
-
|
|
4
|
-
//#region src/init-client.d.ts
|
|
5
|
-
interface StorefrontSDKInitializerProps {
|
|
6
|
-
/**
|
|
7
|
-
* Optional runtime configuration overrides for client-side API calls
|
|
8
|
-
* These settings will apply to all client-side storefront() calls
|
|
9
|
-
*/
|
|
10
|
-
runtimeConfig?: StorefrontRuntimeConfig;
|
|
11
|
-
}
|
|
12
|
-
declare function StorefrontSDKInitializer({
|
|
13
|
-
runtimeConfig
|
|
14
|
-
}?: StorefrontSDKInitializerProps): null;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, ClientTokenStorage, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, type NextJSSDKConfig, type NextJSTokenStorageOptions, OrderClient, ResponseUtils, ShippingClient, StoreConfigClient, StorefrontAPIClient, StorefrontSDK, StorefrontSDKInitializer, type StorefrontSDKOptions, type TokenStorage, getStorefrontSDK, initializeStorefrontSDK };
|
|
17
|
-
//# sourceMappingURL=client.d.cts.map
|
package/dist/client.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.cts","names":[],"sources":["../src/init-client.ts"],"sourcesContent":[],"mappings":";;;;UAuCU,6BAAA;;;AAhCa;AAwCvB;EAAwC,aAAA,CAAA,EAHtB,uBAGsB;;AAAoB,iBAA5C,wBAAA,CAA4C;EAAA;AAAA,CAAA,CAAA,EAAA,6BAAA,CAAA,EAAA,IAAA"}
|
package/dist/index.cjs
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
const require_sdk_manager = require('./sdk-manager-NWADjRFW.cjs');
|
|
2
|
-
const __commercengine_storefront_sdk = require_sdk_manager.__toESM(require("@commercengine/storefront-sdk"));
|
|
3
|
-
|
|
4
|
-
//#region src/create-storefront.ts
|
|
5
|
-
/**
|
|
6
|
-
* Creates a configured storefront function that works universally across all Next.js contexts
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* ```typescript
|
|
10
|
-
* // lib/storefront.ts
|
|
11
|
-
* import { createStorefront } from "@commercengine/storefront-sdk-nextjs";
|
|
12
|
-
*
|
|
13
|
-
* export const storefront = createStorefront({
|
|
14
|
-
* debug: true,
|
|
15
|
-
* logger: (msg, ...args) => console.log('[DEBUG]', msg, ...args)
|
|
16
|
-
* });
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @param config Optional configuration for advanced options (defaults to empty if not provided)
|
|
20
|
-
* @returns A storefront function that works in all Next.js contexts
|
|
21
|
-
*/
|
|
22
|
-
function createStorefront(config) {
|
|
23
|
-
if (config) require_sdk_manager.setGlobalStorefrontConfig(config);
|
|
24
|
-
function storefront(cookieStoreOrOptions, options) {
|
|
25
|
-
if (typeof window !== "undefined") return require_sdk_manager.getStorefrontSDK();
|
|
26
|
-
let cookieStore;
|
|
27
|
-
let isRootLayout = false;
|
|
28
|
-
if (cookieStoreOrOptions) if ("isRootLayout" in cookieStoreOrOptions) isRootLayout = cookieStoreOrOptions.isRootLayout;
|
|
29
|
-
else {
|
|
30
|
-
cookieStore = cookieStoreOrOptions;
|
|
31
|
-
isRootLayout = options?.isRootLayout || false;
|
|
32
|
-
}
|
|
33
|
-
if (cookieStore) return require_sdk_manager.getStorefrontSDK(cookieStore);
|
|
34
|
-
if (process.env.NEXT_IS_BUILD === "true" || process.env.NEXT_BUILD_CACHE_TOKENS === "true") return require_sdk_manager.getStorefrontSDK();
|
|
35
|
-
if (isRootLayout) return require_sdk_manager.getStorefrontSDK();
|
|
36
|
-
throw new Error([
|
|
37
|
-
"🚨 Server context requires cookies for user continuity!",
|
|
38
|
-
"",
|
|
39
|
-
"You're calling storefront() on the server without cookies.",
|
|
40
|
-
"This breaks user session continuity and analytics tracking.",
|
|
41
|
-
"",
|
|
42
|
-
"✅ Correct usage:",
|
|
43
|
-
" import { cookies } from 'next/headers'",
|
|
44
|
-
" const sdk = storefront(cookies())",
|
|
45
|
-
"",
|
|
46
|
-
"📍 Root Layout exception:",
|
|
47
|
-
" const sdk = storefront({ isRootLayout: true })",
|
|
48
|
-
"",
|
|
49
|
-
"This is required to maintain consistent user identity across requests."
|
|
50
|
-
].join("\n"));
|
|
51
|
-
}
|
|
52
|
-
return storefront;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
//#endregion
|
|
56
|
-
Object.defineProperty(exports, 'AuthClient', {
|
|
57
|
-
enumerable: true,
|
|
58
|
-
get: function () {
|
|
59
|
-
return __commercengine_storefront_sdk.AuthClient;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(exports, 'BrowserTokenStorage', {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
get: function () {
|
|
65
|
-
return __commercengine_storefront_sdk.BrowserTokenStorage;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
Object.defineProperty(exports, 'CartClient', {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
get: function () {
|
|
71
|
-
return __commercengine_storefront_sdk.CartClient;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
Object.defineProperty(exports, 'CatalogClient', {
|
|
75
|
-
enumerable: true,
|
|
76
|
-
get: function () {
|
|
77
|
-
return __commercengine_storefront_sdk.CatalogClient;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(exports, 'CookieTokenStorage', {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
get: function () {
|
|
83
|
-
return __commercengine_storefront_sdk.CookieTokenStorage;
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
Object.defineProperty(exports, 'CustomerClient', {
|
|
87
|
-
enumerable: true,
|
|
88
|
-
get: function () {
|
|
89
|
-
return __commercengine_storefront_sdk.CustomerClient;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(exports, 'Environment', {
|
|
93
|
-
enumerable: true,
|
|
94
|
-
get: function () {
|
|
95
|
-
return __commercengine_storefront_sdk.Environment;
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
Object.defineProperty(exports, 'HelpersClient', {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
get: function () {
|
|
101
|
-
return __commercengine_storefront_sdk.HelpersClient;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
Object.defineProperty(exports, 'MemoryTokenStorage', {
|
|
105
|
-
enumerable: true,
|
|
106
|
-
get: function () {
|
|
107
|
-
return __commercengine_storefront_sdk.MemoryTokenStorage;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
Object.defineProperty(exports, 'OrderClient', {
|
|
111
|
-
enumerable: true,
|
|
112
|
-
get: function () {
|
|
113
|
-
return __commercengine_storefront_sdk.OrderClient;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
Object.defineProperty(exports, 'ResponseUtils', {
|
|
117
|
-
enumerable: true,
|
|
118
|
-
get: function () {
|
|
119
|
-
return __commercengine_storefront_sdk.ResponseUtils;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
Object.defineProperty(exports, 'ShippingClient', {
|
|
123
|
-
enumerable: true,
|
|
124
|
-
get: function () {
|
|
125
|
-
return __commercengine_storefront_sdk.ShippingClient;
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
Object.defineProperty(exports, 'StoreConfigClient', {
|
|
129
|
-
enumerable: true,
|
|
130
|
-
get: function () {
|
|
131
|
-
return __commercengine_storefront_sdk.StoreConfigClient;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
Object.defineProperty(exports, 'StorefrontAPIClient', {
|
|
135
|
-
enumerable: true,
|
|
136
|
-
get: function () {
|
|
137
|
-
return __commercengine_storefront_sdk.StorefrontAPIClient;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
Object.defineProperty(exports, 'StorefrontSDK', {
|
|
141
|
-
enumerable: true,
|
|
142
|
-
get: function () {
|
|
143
|
-
return __commercengine_storefront_sdk.StorefrontSDK;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
exports.createStorefront = createStorefront;
|
package/dist/index.d.cts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { StorefrontRuntimeConfig } from "./sdk-manager-D2ktqPrp.cjs";
|
|
2
|
-
import { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, OrderClient, ResponseUtils, ShippingClient, StoreConfigClient, StorefrontAPIClient, StorefrontSDK, StorefrontSDK as StorefrontSDK$1 } from "@commercengine/storefront-sdk";
|
|
3
|
-
export * from "@commercengine/storefront-sdk";
|
|
4
|
-
|
|
5
|
-
//#region src/create-storefront.d.ts
|
|
6
|
-
type NextCookieStore = {
|
|
7
|
-
get: (name: string) => {
|
|
8
|
-
name: string;
|
|
9
|
-
value: string;
|
|
10
|
-
} | undefined;
|
|
11
|
-
set: (name: string, value: string, opts?: Record<string, unknown>) => void;
|
|
12
|
-
delete: (name: string) => void;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Creates a configured storefront function that works universally across all Next.js contexts
|
|
16
|
-
*
|
|
17
|
-
* Usage:
|
|
18
|
-
* ```typescript
|
|
19
|
-
* // lib/storefront.ts
|
|
20
|
-
* import { createStorefront } from "@commercengine/storefront-sdk-nextjs";
|
|
21
|
-
*
|
|
22
|
-
* export const storefront = createStorefront({
|
|
23
|
-
* debug: true,
|
|
24
|
-
* logger: (msg, ...args) => console.log('[DEBUG]', msg, ...args)
|
|
25
|
-
* });
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @param config Optional configuration for advanced options (defaults to empty if not provided)
|
|
29
|
-
* @returns A storefront function that works in all Next.js contexts
|
|
30
|
-
*/
|
|
31
|
-
declare function createStorefront(config?: StorefrontRuntimeConfig): {
|
|
32
|
-
(): StorefrontSDK$1;
|
|
33
|
-
(cookieStore: NextCookieStore): StorefrontSDK$1;
|
|
34
|
-
(options: {
|
|
35
|
-
isRootLayout: true;
|
|
36
|
-
}): StorefrontSDK$1;
|
|
37
|
-
(cookieStore: NextCookieStore, options: {
|
|
38
|
-
isRootLayout?: boolean;
|
|
39
|
-
}): StorefrontSDK$1;
|
|
40
|
-
};
|
|
41
|
-
//#endregion
|
|
42
|
-
export { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, OrderClient, ResponseUtils, ShippingClient, StoreConfigClient, StorefrontAPIClient, type StorefrontRuntimeConfig, StorefrontSDK, createStorefront };
|
|
43
|
-
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/create-storefront.ts"],"sourcesContent":[],"mappings":";;;;;KAQK,eAAA;;;;EAAA,CAAA,GAAA,SAAA;EAwBW,GAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAgB,KAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAtBY,MAsBZ,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,IAAA;EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;;;iBAAhB,gBAAA,UAA0B;MAKjB;gBACU,kBAAkB;;;MACG;gBACrB;;MAAuD"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { DebugLoggerFn, Environment, StorefrontSDK, StorefrontSDKOptions, SupportedDefaultHeaders, TokenStorage } from "@commercengine/storefront-sdk";
|
|
2
|
-
|
|
3
|
-
//#region src/token-storage.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Configuration options for NextJSTokenStorage
|
|
7
|
-
*/
|
|
8
|
-
interface NextJSTokenStorageOptions {
|
|
9
|
-
/**
|
|
10
|
-
* Prefix for cookie names (default: "ce_")
|
|
11
|
-
*/
|
|
12
|
-
prefix?: string;
|
|
13
|
-
/**
|
|
14
|
-
* Maximum age of cookies in seconds (default: 30 days)
|
|
15
|
-
*/
|
|
16
|
-
maxAge?: number;
|
|
17
|
-
/**
|
|
18
|
-
* Cookie path (default: "/")
|
|
19
|
-
*/
|
|
20
|
-
path?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Cookie domain (default: current domain)
|
|
23
|
-
*/
|
|
24
|
-
domain?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Whether cookies should be secure (default: auto-detect based on environment)
|
|
27
|
-
*/
|
|
28
|
-
secure?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* SameSite cookie attribute (default: "Lax")
|
|
31
|
-
*/
|
|
32
|
-
sameSite?: "Strict" | "Lax" | "None";
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Client-side token storage that uses document.cookie
|
|
36
|
-
*/
|
|
37
|
-
declare class ClientTokenStorage implements TokenStorage {
|
|
38
|
-
private accessTokenKey;
|
|
39
|
-
private refreshTokenKey;
|
|
40
|
-
private options;
|
|
41
|
-
constructor(options?: NextJSTokenStorageOptions);
|
|
42
|
-
getAccessToken(): Promise<string | null>;
|
|
43
|
-
setAccessToken(token: string): Promise<void>;
|
|
44
|
-
getRefreshToken(): Promise<string | null>;
|
|
45
|
-
setRefreshToken(token: string): Promise<void>;
|
|
46
|
-
clearTokens(): Promise<void>;
|
|
47
|
-
private getCookie;
|
|
48
|
-
private setCookie;
|
|
49
|
-
private deleteCookie;
|
|
50
|
-
}
|
|
51
|
-
type NextCookieStore$1 = {
|
|
52
|
-
get: (name: string) => {
|
|
53
|
-
value: string;
|
|
54
|
-
} | undefined;
|
|
55
|
-
set: (name: string, value: string, options?: any) => void;
|
|
56
|
-
delete: (name: string) => void;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Server-side token storage that uses Next.js cookies API
|
|
60
|
-
*/
|
|
61
|
-
declare class ServerTokenStorage implements TokenStorage {
|
|
62
|
-
private accessTokenKey;
|
|
63
|
-
private refreshTokenKey;
|
|
64
|
-
private options;
|
|
65
|
-
private cookieStore;
|
|
66
|
-
constructor(cookieStore: NextCookieStore$1, options?: NextJSTokenStorageOptions);
|
|
67
|
-
getAccessToken(): Promise<string | null>;
|
|
68
|
-
setAccessToken(token: string): Promise<void>;
|
|
69
|
-
getRefreshToken(): Promise<string | null>;
|
|
70
|
-
setRefreshToken(token: string): Promise<void>;
|
|
71
|
-
clearTokens(): Promise<void>;
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
//#region src/sdk-manager.d.ts
|
|
75
|
-
/**
|
|
76
|
-
* Configuration for the NextJS SDK wrapper
|
|
77
|
-
*/
|
|
78
|
-
interface NextJSSDKConfig extends Omit<StorefrontSDKOptions, "tokenStorage"> {
|
|
79
|
-
/**
|
|
80
|
-
* Token storage configuration options
|
|
81
|
-
*/
|
|
82
|
-
tokenStorageOptions?: NextJSTokenStorageOptions;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Runtime configuration overrides that can be passed to storefront() function
|
|
86
|
-
* These override environment variables for that specific request
|
|
87
|
-
*/
|
|
88
|
-
interface StorefrontRuntimeConfig {
|
|
89
|
-
/**
|
|
90
|
-
* Override environment variables
|
|
91
|
-
*/
|
|
92
|
-
storeId?: string;
|
|
93
|
-
apiKey?: string;
|
|
94
|
-
environment?: Environment;
|
|
95
|
-
baseUrl?: string;
|
|
96
|
-
timeout?: number;
|
|
97
|
-
debug?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Advanced options not available via environment variables
|
|
100
|
-
*/
|
|
101
|
-
accessToken?: string;
|
|
102
|
-
refreshToken?: string;
|
|
103
|
-
defaultHeaders?: SupportedDefaultHeaders;
|
|
104
|
-
logger?: DebugLoggerFn;
|
|
105
|
-
onTokensUpdated?: (accessToken: string, refreshToken: string) => void;
|
|
106
|
-
onTokensCleared?: () => void;
|
|
107
|
-
/**
|
|
108
|
-
* Token storage configuration
|
|
109
|
-
*/
|
|
110
|
-
tokenStorageOptions?: NextJSTokenStorageOptions;
|
|
111
|
-
}
|
|
112
|
-
type NextCookieStore = {
|
|
113
|
-
get: (name: string) => {
|
|
114
|
-
value: string;
|
|
115
|
-
} | undefined;
|
|
116
|
-
set: (name: string, value: string, options?: any) => void;
|
|
117
|
-
delete: (name: string) => void;
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* Smart SDK getter that automatically detects environment
|
|
121
|
-
*
|
|
122
|
-
* Usage:
|
|
123
|
-
* - Client-side: getStorefrontSDK()
|
|
124
|
-
* - Server-side with request context: getStorefrontSDK(await cookies())
|
|
125
|
-
* - SSG/ISR (no request context): getStorefrontSDK() (uses memory storage)
|
|
126
|
-
*/
|
|
127
|
-
declare function getStorefrontSDK(): StorefrontSDK;
|
|
128
|
-
declare function getStorefrontSDK(cookieStore: NextCookieStore): StorefrontSDK;
|
|
129
|
-
/**
|
|
130
|
-
* Set global storefront configuration that applies to all SDK instances
|
|
131
|
-
* This gets bundled into both client and server contexts automatically
|
|
132
|
-
*/
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Initialize the SDK (internal use)
|
|
136
|
-
* This should be called once in your app via StorefrontSDKInitializer
|
|
137
|
-
*/
|
|
138
|
-
declare function initializeStorefrontSDK(): void;
|
|
139
|
-
//#endregion
|
|
140
|
-
export { ClientTokenStorage, NextJSSDKConfig, NextJSTokenStorageOptions, ServerTokenStorage, StorefrontRuntimeConfig, getStorefrontSDK, initializeStorefrontSDK };
|
|
141
|
-
//# sourceMappingURL=sdk-manager-D2ktqPrp.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-manager-D2ktqPrp.d.cts","names":[],"sources":["../src/token-storage.ts","../src/sdk-manager.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AA8Ca,UA9CI,yBAAA,CA8Ce;EAAA;;;QAuBO,CAAA,EAAA,MAAA;;;;QAvBI,CAAA,EAAA,MAAA;;AAkG1C;AAYD;EAAgC,IAAA,CAAA,EAAA,MAAA;;;;QA8BO,CAAA,EAAA,MAAA;;;;QA9BI,CAAA,EAAA,OAAA;;;;;AC9I3C;;;;AACU,cD+BG,kBAAA,YAA8B,YC/BjC,CAAA;;EAWO,QAAA,eAAA;EAAuB,QAAA,OAAA;aAMxB,CAAA,OAAA,CAAA,EDmBO,yBCnBP;gBAUG,CAAA,CAAA,EDuBO,OCvBP,CAAA,MAAA,GAAA,IAAA,CAAA;gBACR,CAAA,KAAA,EAAA,MAAA,CAAA,ED0B4B,OC1B5B,CAAA,IAAA,CAAA;iBAOa,CAAA,CAAA,EDuBG,OCvBH,CAAA,MAAA,GAAA,IAAA,CAAA;kCD2BgB;ECuInC,WAAA,CAAA,CAAA,EDnIkB,OCmIH,CAAA,IAAA,CAAA;EAcJ,QAAA,SAAA;EACA,QAAA,SAAA;EAAgB,QAAA,YAAA;;KDhF3B,iBAAA,GCgF2D;;IA+DhD,KAAA,EAAA,MAAA;;;;;;;;cDtIH,kBAAA,YAA8B;;;;;2BAMhB,6BAA0B;oBAe3B;iCASa;qBAeZ;kCASa;iBAejB;;;;;AAjOvB;AA8CA;AAAgC,UChCf,eAAA,SACP,ID+BsB,CC/BjB,oBD+BiB,EAAA,cAAA,CAAA,CAAA;;;;qBA2BL,CAAA,ECtDH,yBDsDG;;;;;AAuE1B;AAYY,UClII,uBAAA,CDkIe;EAAA;;;SAqBN,CAAA,EAAA,MAAA;QASa,CAAA,EAAA,MAAA;aAeZ,CAAA,ECzKX,WDyKW;SASa,CAAA,EAAA,MAAA;SAejB,CAAA,EAAA,MAAA;OArEoB,CAAA,EAAA,OAAA;;;;;EC9I1B,YAAA,CAAA,EAAA,MACf;EAAA,cAAA,CAAA,EA2BiB,uBA3BjB;QAAa,CAAA,EA4BJ,aA5BI;iBAIS,CAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,GAAA,IAAA;iBAJd,CAAA,EAAA,GAAA,GAAA,IAAA;;AAWV;;qBAMgB,CAAA,EAkBQ,yBAlBR;;KAoLX,eAAA,GAzKM;KAOa,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAAA;;EAkKnB,CAAA,GAAA,SAAA;EAcW,GAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAgB,KAAA,EAAA,MAAI,EAAA,OAAA,CAAA,EAAA,GAAA,EAAA,GAAA,IAAA;EACpB,MAAA,EAAA,CAAA,IAAA,EAAA,MAAgB,EAAA,GAAA,IAAA;CAAA;;;;AA+DhC;;;;;iBAhEgB,gBAAA,CAAA,GAAoB;iBACpB,gBAAA,cAA8B,kBAAkB;;;;;;;;;;iBA+DhD,uBAAA,CAAA"}
|
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
//#region rolldown:runtime
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
-
key = keys[i];
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
-
get: ((k) => from[k]).bind(null, key),
|
|
13
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
-
value: mod,
|
|
20
|
-
enumerable: true
|
|
21
|
-
}) : target, mod));
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
const react = __toESM(require("react"));
|
|
25
|
-
const __commercengine_storefront_sdk = __toESM(require("@commercengine/storefront-sdk"));
|
|
26
|
-
|
|
27
|
-
//#region src/token-storage.ts
|
|
28
|
-
/**
|
|
29
|
-
* Client-side token storage that uses document.cookie
|
|
30
|
-
*/
|
|
31
|
-
var ClientTokenStorage = class {
|
|
32
|
-
constructor(options = {}) {
|
|
33
|
-
const prefix = options.prefix || "ce_";
|
|
34
|
-
this.accessTokenKey = `${prefix}access_token`;
|
|
35
|
-
this.refreshTokenKey = `${prefix}refresh_token`;
|
|
36
|
-
this.options = {
|
|
37
|
-
maxAge: options.maxAge || 720 * 60 * 60,
|
|
38
|
-
path: options.path || "/",
|
|
39
|
-
domain: options.domain,
|
|
40
|
-
secure: options.secure ?? (typeof window !== "undefined" && window.location?.protocol === "https:"),
|
|
41
|
-
sameSite: options.sameSite || "Lax"
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
async getAccessToken() {
|
|
45
|
-
return this.getCookie(this.accessTokenKey);
|
|
46
|
-
}
|
|
47
|
-
async setAccessToken(token) {
|
|
48
|
-
this.setCookie(this.accessTokenKey, token);
|
|
49
|
-
}
|
|
50
|
-
async getRefreshToken() {
|
|
51
|
-
return this.getCookie(this.refreshTokenKey);
|
|
52
|
-
}
|
|
53
|
-
async setRefreshToken(token) {
|
|
54
|
-
this.setCookie(this.refreshTokenKey, token);
|
|
55
|
-
}
|
|
56
|
-
async clearTokens() {
|
|
57
|
-
this.deleteCookie(this.accessTokenKey);
|
|
58
|
-
this.deleteCookie(this.refreshTokenKey);
|
|
59
|
-
}
|
|
60
|
-
getCookie(name) {
|
|
61
|
-
if (typeof document === "undefined") return null;
|
|
62
|
-
const value = `; ${document.cookie}`;
|
|
63
|
-
const parts = value.split(`; ${name}=`);
|
|
64
|
-
if (parts.length === 2) {
|
|
65
|
-
const cookieValue = parts.pop()?.split(";").shift();
|
|
66
|
-
return cookieValue ? decodeURIComponent(cookieValue) : null;
|
|
67
|
-
}
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
setCookie(name, value) {
|
|
71
|
-
if (typeof document === "undefined") return;
|
|
72
|
-
const encodedValue = encodeURIComponent(value);
|
|
73
|
-
let cookieString = `${name}=${encodedValue}`;
|
|
74
|
-
if (this.options.maxAge) cookieString += `; Max-Age=${this.options.maxAge}`;
|
|
75
|
-
if (this.options.path) cookieString += `; Path=${this.options.path}`;
|
|
76
|
-
if (this.options.domain) cookieString += `; Domain=${this.options.domain}`;
|
|
77
|
-
if (this.options.secure) cookieString += `; Secure`;
|
|
78
|
-
if (this.options.sameSite) cookieString += `; SameSite=${this.options.sameSite}`;
|
|
79
|
-
document.cookie = cookieString;
|
|
80
|
-
}
|
|
81
|
-
deleteCookie(name) {
|
|
82
|
-
if (typeof document === "undefined") return;
|
|
83
|
-
let cookieString = `${name}=; Max-Age=0`;
|
|
84
|
-
if (this.options.path) cookieString += `; Path=${this.options.path}`;
|
|
85
|
-
if (this.options.domain) cookieString += `; Domain=${this.options.domain}`;
|
|
86
|
-
document.cookie = cookieString;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Server-side token storage that uses Next.js cookies API
|
|
91
|
-
*/
|
|
92
|
-
var ServerTokenStorage = class {
|
|
93
|
-
constructor(cookieStore, options = {}) {
|
|
94
|
-
const prefix = options.prefix || "ce_";
|
|
95
|
-
this.accessTokenKey = `${prefix}access_token`;
|
|
96
|
-
this.refreshTokenKey = `${prefix}refresh_token`;
|
|
97
|
-
this.cookieStore = cookieStore;
|
|
98
|
-
this.options = {
|
|
99
|
-
maxAge: options.maxAge || 720 * 60 * 60,
|
|
100
|
-
path: options.path || "/",
|
|
101
|
-
domain: options.domain,
|
|
102
|
-
secure: options.secure ?? process.env.NODE_ENV === "production",
|
|
103
|
-
sameSite: options.sameSite || "Lax"
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
async getAccessToken() {
|
|
107
|
-
try {
|
|
108
|
-
return this.cookieStore.get(this.accessTokenKey)?.value || null;
|
|
109
|
-
} catch (error) {
|
|
110
|
-
console.warn(`Could not get access token from server cookies:`, error);
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
async setAccessToken(token) {
|
|
115
|
-
try {
|
|
116
|
-
this.cookieStore.set(this.accessTokenKey, token, {
|
|
117
|
-
maxAge: this.options.maxAge,
|
|
118
|
-
path: this.options.path,
|
|
119
|
-
domain: this.options.domain,
|
|
120
|
-
secure: this.options.secure,
|
|
121
|
-
sameSite: this.options.sameSite?.toLowerCase(),
|
|
122
|
-
httpOnly: false
|
|
123
|
-
});
|
|
124
|
-
} catch (error) {
|
|
125
|
-
console.warn(`Could not set access token on server:`, error);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async getRefreshToken() {
|
|
129
|
-
try {
|
|
130
|
-
return this.cookieStore.get(this.refreshTokenKey)?.value || null;
|
|
131
|
-
} catch (error) {
|
|
132
|
-
console.warn(`Could not get refresh token from server cookies:`, error);
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
async setRefreshToken(token) {
|
|
137
|
-
try {
|
|
138
|
-
this.cookieStore.set(this.refreshTokenKey, token, {
|
|
139
|
-
maxAge: this.options.maxAge,
|
|
140
|
-
path: this.options.path,
|
|
141
|
-
domain: this.options.domain,
|
|
142
|
-
secure: this.options.secure,
|
|
143
|
-
sameSite: this.options.sameSite?.toLowerCase(),
|
|
144
|
-
httpOnly: false
|
|
145
|
-
});
|
|
146
|
-
} catch (error) {
|
|
147
|
-
console.warn(`Could not set refresh token on server:`, error);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
async clearTokens() {
|
|
151
|
-
try {
|
|
152
|
-
this.cookieStore.delete(this.accessTokenKey);
|
|
153
|
-
this.cookieStore.delete(this.refreshTokenKey);
|
|
154
|
-
} catch (error) {
|
|
155
|
-
console.warn(`Could not clear tokens on server:`, error);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
//#endregion
|
|
161
|
-
//#region src/build-token-cache.ts
|
|
162
|
-
const store = /* @__PURE__ */ new Map();
|
|
163
|
-
function isExpired(token) {
|
|
164
|
-
if (!token) return true;
|
|
165
|
-
if (!token.expiresAt) return false;
|
|
166
|
-
return Date.now() > token.expiresAt - 3e4;
|
|
167
|
-
}
|
|
168
|
-
function getCachedToken(key) {
|
|
169
|
-
const token = store.get(key);
|
|
170
|
-
return isExpired(token) ? null : token;
|
|
171
|
-
}
|
|
172
|
-
function setCachedToken(key, token) {
|
|
173
|
-
const expiresAt = token.ttlSeconds != null ? Date.now() + token.ttlSeconds * 1e3 : void 0;
|
|
174
|
-
store.set(key, {
|
|
175
|
-
accessToken: token.accessToken,
|
|
176
|
-
refreshToken: token.refreshToken ?? null,
|
|
177
|
-
expiresAt
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
function clearCachedToken(key) {
|
|
181
|
-
store.delete(key);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
//#endregion
|
|
185
|
-
//#region src/build-caching-memory-storage.ts
|
|
186
|
-
const DEFAULT_TTL_SECONDS = 300;
|
|
187
|
-
/**
|
|
188
|
-
* Memory token storage that reuses tokens across the build process
|
|
189
|
-
* via an in-process cache. Only used during SSG/ISR builds.
|
|
190
|
-
*/
|
|
191
|
-
var BuildCachingMemoryTokenStorage = class {
|
|
192
|
-
constructor(cacheKey, ttlSeconds = DEFAULT_TTL_SECONDS) {
|
|
193
|
-
this.cacheKey = cacheKey;
|
|
194
|
-
this.ttlSeconds = ttlSeconds;
|
|
195
|
-
this.access = null;
|
|
196
|
-
this.refresh = null;
|
|
197
|
-
}
|
|
198
|
-
async getAccessToken() {
|
|
199
|
-
if (this.access) return this.access;
|
|
200
|
-
const cached = getCachedToken(this.cacheKey);
|
|
201
|
-
if (cached?.accessToken) {
|
|
202
|
-
this.access = cached.accessToken;
|
|
203
|
-
this.refresh = cached.refreshToken ?? null;
|
|
204
|
-
return this.access;
|
|
205
|
-
}
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
async setAccessToken(token) {
|
|
209
|
-
this.access = token;
|
|
210
|
-
setCachedToken(this.cacheKey, {
|
|
211
|
-
accessToken: token,
|
|
212
|
-
refreshToken: this.refresh,
|
|
213
|
-
ttlSeconds: this.ttlSeconds
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
async getRefreshToken() {
|
|
217
|
-
return this.refresh;
|
|
218
|
-
}
|
|
219
|
-
async setRefreshToken(token) {
|
|
220
|
-
this.refresh = token;
|
|
221
|
-
setCachedToken(this.cacheKey, {
|
|
222
|
-
accessToken: this.access ?? "",
|
|
223
|
-
refreshToken: token,
|
|
224
|
-
ttlSeconds: this.ttlSeconds
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
async clearTokens() {
|
|
228
|
-
this.access = null;
|
|
229
|
-
this.refresh = null;
|
|
230
|
-
clearCachedToken(this.cacheKey);
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
//#endregion
|
|
235
|
-
//#region src/sdk-manager.ts
|
|
236
|
-
/**
|
|
237
|
-
* Get configuration from environment variables merged with global config
|
|
238
|
-
* Precedence order: environment variables < global config
|
|
239
|
-
*/
|
|
240
|
-
function getConfig() {
|
|
241
|
-
const envStoreId = process.env.NEXT_PUBLIC_STORE_ID;
|
|
242
|
-
const envApiKey = process.env.NEXT_PUBLIC_API_KEY;
|
|
243
|
-
const envEnvironment = process.env.NEXT_PUBLIC_ENVIRONMENT;
|
|
244
|
-
const envBaseUrl = process.env.NEXT_PUBLIC_API_BASE_URL;
|
|
245
|
-
const envTimeout = process.env.NEXT_PUBLIC_API_TIMEOUT ? parseInt(process.env.NEXT_PUBLIC_API_TIMEOUT, 10) : void 0;
|
|
246
|
-
const envDebug = process.env.NEXT_PUBLIC_DEBUG_MODE === "true";
|
|
247
|
-
const envDefaultHeaders = {};
|
|
248
|
-
if (process.env.NEXT_PUBLIC_DEFAULT_CUSTOMER_GROUP_ID) envDefaultHeaders.customer_group_id = process.env.NEXT_PUBLIC_DEFAULT_CUSTOMER_GROUP_ID;
|
|
249
|
-
const storeId = globalStorefrontConfig?.storeId || envStoreId;
|
|
250
|
-
const apiKey = globalStorefrontConfig?.apiKey || envApiKey;
|
|
251
|
-
const environment = globalStorefrontConfig?.environment || (envEnvironment === "production" ? __commercengine_storefront_sdk.Environment.Production : __commercengine_storefront_sdk.Environment.Staging);
|
|
252
|
-
const baseUrl = globalStorefrontConfig?.baseUrl || envBaseUrl;
|
|
253
|
-
const timeout = globalStorefrontConfig?.timeout || envTimeout;
|
|
254
|
-
const debug = globalStorefrontConfig?.debug !== void 0 ? globalStorefrontConfig.debug : envDebug;
|
|
255
|
-
const defaultHeaders = {
|
|
256
|
-
...envDefaultHeaders,
|
|
257
|
-
...globalStorefrontConfig?.defaultHeaders
|
|
258
|
-
};
|
|
259
|
-
if (!storeId || !apiKey) throw new Error(`StorefrontSDK configuration missing! Please set the following environment variables:
|
|
260
|
-
|
|
261
|
-
NEXT_PUBLIC_STORE_ID=your-store-id
|
|
262
|
-
NEXT_PUBLIC_API_KEY=your-api-key
|
|
263
|
-
NEXT_PUBLIC_ENVIRONMENT=staging (or production)
|
|
264
|
-
|
|
265
|
-
These variables are required for both client and server contexts to work.`);
|
|
266
|
-
const config = {
|
|
267
|
-
storeId,
|
|
268
|
-
apiKey,
|
|
269
|
-
environment
|
|
270
|
-
};
|
|
271
|
-
if (baseUrl) config.baseUrl = baseUrl;
|
|
272
|
-
if (timeout) config.timeout = timeout;
|
|
273
|
-
if (debug) config.debug = debug;
|
|
274
|
-
const logger = globalStorefrontConfig?.logger;
|
|
275
|
-
const accessToken = globalStorefrontConfig?.accessToken;
|
|
276
|
-
const refreshToken = globalStorefrontConfig?.refreshToken;
|
|
277
|
-
const onTokensUpdated = globalStorefrontConfig?.onTokensUpdated;
|
|
278
|
-
const onTokensCleared = globalStorefrontConfig?.onTokensCleared;
|
|
279
|
-
const tokenStorageOptions = globalStorefrontConfig?.tokenStorageOptions;
|
|
280
|
-
if (logger) config.logger = logger;
|
|
281
|
-
if (accessToken) config.accessToken = accessToken;
|
|
282
|
-
if (refreshToken) config.refreshToken = refreshToken;
|
|
283
|
-
if (onTokensUpdated) config.onTokensUpdated = onTokensUpdated;
|
|
284
|
-
if (onTokensCleared) config.onTokensCleared = onTokensCleared;
|
|
285
|
-
if (Object.keys(defaultHeaders).length > 0) config.defaultHeaders = defaultHeaders;
|
|
286
|
-
if (tokenStorageOptions) config.tokenStorageOptions = tokenStorageOptions;
|
|
287
|
-
return config;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Global runtime configuration storage
|
|
291
|
-
* This gets bundled into both client and server bundles
|
|
292
|
-
*/
|
|
293
|
-
let globalStorefrontConfig = null;
|
|
294
|
-
/**
|
|
295
|
-
* Client-side SDK singleton (only lives in browser)
|
|
296
|
-
*/
|
|
297
|
-
let clientSDK = null;
|
|
298
|
-
/**
|
|
299
|
-
* Create appropriate token storage based on environment
|
|
300
|
-
*/
|
|
301
|
-
function createTokenStorage(cookieStore, options, config) {
|
|
302
|
-
if (typeof window !== "undefined") return new ClientTokenStorage(options);
|
|
303
|
-
if (cookieStore) return new ServerTokenStorage(cookieStore, options);
|
|
304
|
-
const shouldCache = process.env.NEXT_BUILD_CACHE_TOKENS === "true";
|
|
305
|
-
if (shouldCache && config) {
|
|
306
|
-
const cacheKey = `${config.storeId}:${config.environment || "production"}`;
|
|
307
|
-
return new BuildCachingMemoryTokenStorage(cacheKey);
|
|
308
|
-
}
|
|
309
|
-
return new __commercengine_storefront_sdk.MemoryTokenStorage();
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Request-scoped server SDK factory using React cache
|
|
313
|
-
*/
|
|
314
|
-
const getServerSDKCached = (0, react.cache)((cookieStore) => {
|
|
315
|
-
const config = getConfig();
|
|
316
|
-
return new __commercengine_storefront_sdk.StorefrontSDK({
|
|
317
|
-
...config,
|
|
318
|
-
tokenStorage: createTokenStorage(cookieStore, config.tokenStorageOptions, config)
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
/**
|
|
322
|
-
* Memory-based SDK for SSG/build contexts (no request isolation needed)
|
|
323
|
-
*/
|
|
324
|
-
let buildTimeSDK = null;
|
|
325
|
-
function getBuildTimeSDK() {
|
|
326
|
-
const config = getConfig();
|
|
327
|
-
if (!buildTimeSDK) buildTimeSDK = new __commercengine_storefront_sdk.StorefrontSDK({
|
|
328
|
-
...config,
|
|
329
|
-
tokenStorage: createTokenStorage(void 0, config.tokenStorageOptions, config)
|
|
330
|
-
});
|
|
331
|
-
return buildTimeSDK;
|
|
332
|
-
}
|
|
333
|
-
function getStorefrontSDK(cookieStore) {
|
|
334
|
-
if (typeof window !== "undefined") {
|
|
335
|
-
if (cookieStore) console.warn("Cookie store passed in client environment - this will be ignored");
|
|
336
|
-
const config = getConfig();
|
|
337
|
-
if (!clientSDK) clientSDK = new __commercengine_storefront_sdk.StorefrontSDK({
|
|
338
|
-
...config,
|
|
339
|
-
tokenStorage: createTokenStorage(void 0, config.tokenStorageOptions, config)
|
|
340
|
-
});
|
|
341
|
-
return clientSDK;
|
|
342
|
-
}
|
|
343
|
-
if (cookieStore) return getServerSDKCached(cookieStore);
|
|
344
|
-
return getBuildTimeSDK();
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Set global storefront configuration that applies to all SDK instances
|
|
348
|
-
* This gets bundled into both client and server contexts automatically
|
|
349
|
-
*/
|
|
350
|
-
function setGlobalStorefrontConfig(config) {
|
|
351
|
-
globalStorefrontConfig = config;
|
|
352
|
-
clientSDK = null;
|
|
353
|
-
buildTimeSDK = null;
|
|
354
|
-
}
|
|
355
|
-
/**
|
|
356
|
-
* Initialize the SDK (internal use)
|
|
357
|
-
* This should be called once in your app via StorefrontSDKInitializer
|
|
358
|
-
*/
|
|
359
|
-
function initializeStorefrontSDK() {
|
|
360
|
-
clientSDK = null;
|
|
361
|
-
buildTimeSDK = null;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
//#endregion
|
|
365
|
-
Object.defineProperty(exports, 'ClientTokenStorage', {
|
|
366
|
-
enumerable: true,
|
|
367
|
-
get: function () {
|
|
368
|
-
return ClientTokenStorage;
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
Object.defineProperty(exports, 'ServerTokenStorage', {
|
|
372
|
-
enumerable: true,
|
|
373
|
-
get: function () {
|
|
374
|
-
return ServerTokenStorage;
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
Object.defineProperty(exports, '__toESM', {
|
|
378
|
-
enumerable: true,
|
|
379
|
-
get: function () {
|
|
380
|
-
return __toESM;
|
|
381
|
-
}
|
|
382
|
-
});
|
|
383
|
-
Object.defineProperty(exports, 'getStorefrontSDK', {
|
|
384
|
-
enumerable: true,
|
|
385
|
-
get: function () {
|
|
386
|
-
return getStorefrontSDK;
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
Object.defineProperty(exports, 'initializeStorefrontSDK', {
|
|
390
|
-
enumerable: true,
|
|
391
|
-
get: function () {
|
|
392
|
-
return initializeStorefrontSDK;
|
|
393
|
-
}
|
|
394
|
-
});
|
|
395
|
-
Object.defineProperty(exports, 'setGlobalStorefrontConfig', {
|
|
396
|
-
enumerable: true,
|
|
397
|
-
get: function () {
|
|
398
|
-
return setGlobalStorefrontConfig;
|
|
399
|
-
}
|
|
400
|
-
});
|
package/dist/server.cjs
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
const require_sdk_manager = require('./sdk-manager-NWADjRFW.cjs');
|
|
2
|
-
const __commercengine_storefront_sdk = require_sdk_manager.__toESM(require("@commercengine/storefront-sdk"));
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, 'AuthClient', {
|
|
5
|
-
enumerable: true,
|
|
6
|
-
get: function () {
|
|
7
|
-
return __commercengine_storefront_sdk.AuthClient;
|
|
8
|
-
}
|
|
9
|
-
});
|
|
10
|
-
Object.defineProperty(exports, 'BrowserTokenStorage', {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return __commercengine_storefront_sdk.BrowserTokenStorage;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(exports, 'CartClient', {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return __commercengine_storefront_sdk.CartClient;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(exports, 'CatalogClient', {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return __commercengine_storefront_sdk.CatalogClient;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(exports, 'CookieTokenStorage', {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
get: function () {
|
|
31
|
-
return __commercengine_storefront_sdk.CookieTokenStorage;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(exports, 'CustomerClient', {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
get: function () {
|
|
37
|
-
return __commercengine_storefront_sdk.CustomerClient;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(exports, 'Environment', {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
get: function () {
|
|
43
|
-
return __commercengine_storefront_sdk.Environment;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(exports, 'HelpersClient', {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
get: function () {
|
|
49
|
-
return __commercengine_storefront_sdk.HelpersClient;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(exports, 'MemoryTokenStorage', {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
get: function () {
|
|
55
|
-
return __commercengine_storefront_sdk.MemoryTokenStorage;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(exports, 'OrderClient', {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
get: function () {
|
|
61
|
-
return __commercengine_storefront_sdk.OrderClient;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(exports, 'ResponseUtils', {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
get: function () {
|
|
67
|
-
return __commercengine_storefront_sdk.ResponseUtils;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
exports.ServerTokenStorage = require_sdk_manager.ServerTokenStorage;
|
|
71
|
-
Object.defineProperty(exports, 'ShippingClient', {
|
|
72
|
-
enumerable: true,
|
|
73
|
-
get: function () {
|
|
74
|
-
return __commercengine_storefront_sdk.ShippingClient;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
Object.defineProperty(exports, 'StoreConfigClient', {
|
|
78
|
-
enumerable: true,
|
|
79
|
-
get: function () {
|
|
80
|
-
return __commercengine_storefront_sdk.StoreConfigClient;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(exports, 'StorefrontAPIClient', {
|
|
84
|
-
enumerable: true,
|
|
85
|
-
get: function () {
|
|
86
|
-
return __commercengine_storefront_sdk.StorefrontAPIClient;
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
Object.defineProperty(exports, 'StorefrontSDK', {
|
|
90
|
-
enumerable: true,
|
|
91
|
-
get: function () {
|
|
92
|
-
return __commercengine_storefront_sdk.StorefrontSDK;
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
exports.getStorefrontSDK = require_sdk_manager.getStorefrontSDK;
|
|
96
|
-
exports.initializeStorefrontSDK = require_sdk_manager.initializeStorefrontSDK;
|
|
97
|
-
Object.keys(__commercengine_storefront_sdk).forEach(function (k) {
|
|
98
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
get: function () { return __commercengine_storefront_sdk[k]; }
|
|
101
|
-
});
|
|
102
|
-
});
|
package/dist/server.d.cts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NextJSSDKConfig, NextJSTokenStorageOptions, ServerTokenStorage, getStorefrontSDK, initializeStorefrontSDK } from "./sdk-manager-D2ktqPrp.cjs";
|
|
2
|
-
import { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, OrderClient, ResponseUtils, ShippingClient, StoreConfigClient, StorefrontAPIClient, StorefrontSDK } from "@commercengine/storefront-sdk";
|
|
3
|
-
export * from "@commercengine/storefront-sdk";
|
|
4
|
-
export { AuthClient, BrowserTokenStorage, CartClient, CatalogClient, CookieTokenStorage, CustomerClient, Environment, HelpersClient, MemoryTokenStorage, type NextJSSDKConfig, type NextJSTokenStorageOptions, OrderClient, ResponseUtils, ServerTokenStorage, ShippingClient, StoreConfigClient, StorefrontAPIClient, StorefrontSDK, getStorefrontSDK, initializeStorefrontSDK };
|