@pack/hydrogen 2.0.6 → 2.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/dist/index.d.ts +12 -0
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -68,6 +68,10 @@ interface EnvironmentOptions {
|
|
|
68
68
|
*/
|
|
69
69
|
waitUntil: ExecutionContext["waitUntil"];
|
|
70
70
|
}
|
|
71
|
+
interface I18nOptions {
|
|
72
|
+
language: string;
|
|
73
|
+
country: string;
|
|
74
|
+
}
|
|
71
75
|
interface CreatePackClientOptions extends EnvironmentOptions {
|
|
72
76
|
apiUrl?: string;
|
|
73
77
|
token?: string;
|
|
@@ -75,6 +79,7 @@ interface CreatePackClientOptions extends EnvironmentOptions {
|
|
|
75
79
|
session: PackSession;
|
|
76
80
|
testSession: PackTestSession;
|
|
77
81
|
contentEnvironment?: string;
|
|
82
|
+
i18n?: I18nOptions;
|
|
78
83
|
/** Default theme data to use when no token is provided */
|
|
79
84
|
defaultThemeData?: DefaultThemeData;
|
|
80
85
|
/**
|
|
@@ -107,6 +112,13 @@ interface PackCustomizerMeta {
|
|
|
107
112
|
src?: string;
|
|
108
113
|
version?: string;
|
|
109
114
|
};
|
|
115
|
+
previewContext?: {
|
|
116
|
+
locale?: string;
|
|
117
|
+
pageDraft?: string;
|
|
118
|
+
siteSettingsDraft?: string;
|
|
119
|
+
testHandle?: string;
|
|
120
|
+
testVariantHandle?: string;
|
|
121
|
+
};
|
|
110
122
|
[key: string]: any;
|
|
111
123
|
}
|
|
112
124
|
interface Pack {
|
package/dist/index.js
CHANGED
|
@@ -4655,7 +4655,7 @@ async function handleRequest(pack, request, handleRequest2) {
|
|
|
4655
4655
|
packHandleResponse(response);
|
|
4656
4656
|
response.headers.append("powered-by", "Shopify, Hydrogen + Pack Digital");
|
|
4657
4657
|
response.headers.append("Set-Cookie", await pack.session.commit());
|
|
4658
|
-
if (pack.testSession.hasChanges()) {
|
|
4658
|
+
if (pack.testSession && pack.testSession.hasChanges()) {
|
|
4659
4659
|
response.headers.append("Set-Cookie", await pack.testSession.commit());
|
|
4660
4660
|
}
|
|
4661
4661
|
return response;
|
|
@@ -6072,10 +6072,16 @@ function createPackClient(options) {
|
|
|
6072
6072
|
token,
|
|
6073
6073
|
apiUrl,
|
|
6074
6074
|
defaultThemeData,
|
|
6075
|
+
i18n,
|
|
6075
6076
|
request
|
|
6076
6077
|
} = options;
|
|
6077
6078
|
const previewEnabled = !!session.get("previewEnabled");
|
|
6078
6079
|
const previewEnvironment = session.get("environment");
|
|
6080
|
+
const locale = session.get("locale");
|
|
6081
|
+
const pageDraft = session.get("pageDraft");
|
|
6082
|
+
const siteSettingsDraft = session.get("siteSettingsDraft");
|
|
6083
|
+
const testHandle = session.get("testHandle");
|
|
6084
|
+
const testVariantHandle = session.get("testVariantHandle");
|
|
6079
6085
|
const clientContentEnvironment = previewEnvironment || contentEnvironment;
|
|
6080
6086
|
let packClient;
|
|
6081
6087
|
let testInfoForRequest = void 0;
|
|
@@ -6168,7 +6174,14 @@ function createPackClient(options) {
|
|
|
6168
6174
|
token,
|
|
6169
6175
|
contentEnvironment: clientContentEnvironment,
|
|
6170
6176
|
sessionId: session.id,
|
|
6171
|
-
clientName: "HydrogenClient"
|
|
6177
|
+
clientName: "HydrogenClient",
|
|
6178
|
+
locale,
|
|
6179
|
+
pageDraft,
|
|
6180
|
+
siteSettingsDraft,
|
|
6181
|
+
testHandle,
|
|
6182
|
+
testVariantHandle,
|
|
6183
|
+
// When in preview mode, ignore test status to allow previewing draft tests
|
|
6184
|
+
ignoreTestStatus: previewEnabled
|
|
6172
6185
|
});
|
|
6173
6186
|
return {
|
|
6174
6187
|
get abTest() {
|
|
@@ -6218,6 +6231,10 @@ function createPackClient(options) {
|
|
|
6218
6231
|
} else {
|
|
6219
6232
|
queryVariables.version = "PUBLISHED";
|
|
6220
6233
|
}
|
|
6234
|
+
if (i18n) {
|
|
6235
|
+
queryVariables.language = i18n.language;
|
|
6236
|
+
queryVariables.country = i18n.country;
|
|
6237
|
+
}
|
|
6221
6238
|
if (packClient && token && !testInfoForRequest && currentRequest) {
|
|
6222
6239
|
try {
|
|
6223
6240
|
if (!testInfoPromise) {
|
|
@@ -6387,14 +6404,33 @@ var loader = async function({ request, context }) {
|
|
|
6387
6404
|
throw new InvalidTokenError();
|
|
6388
6405
|
}
|
|
6389
6406
|
let customizerMetaJson;
|
|
6407
|
+
let previewContext = null;
|
|
6390
6408
|
try {
|
|
6391
6409
|
customizerMetaJson = customizerMeta ? JSON.parse(customizerMeta) : null;
|
|
6410
|
+
previewContext = customizerMetaJson?.previewContext || null;
|
|
6392
6411
|
} catch (_error) {
|
|
6393
6412
|
customizerMetaJson = null;
|
|
6394
6413
|
}
|
|
6395
6414
|
pack.session.set("previewEnabled", true);
|
|
6396
6415
|
pack.session.set("environment", environment);
|
|
6397
6416
|
pack.session.set("customizerMeta", customizerMetaJson);
|
|
6417
|
+
if (previewContext) {
|
|
6418
|
+
if (previewContext.locale) {
|
|
6419
|
+
pack.session.set("locale", previewContext.locale);
|
|
6420
|
+
}
|
|
6421
|
+
if (previewContext.pageDraft) {
|
|
6422
|
+
pack.session.set("pageDraft", previewContext.pageDraft);
|
|
6423
|
+
}
|
|
6424
|
+
if (previewContext.siteSettingsDraft) {
|
|
6425
|
+
pack.session.set("siteSettingsDraft", previewContext.siteSettingsDraft);
|
|
6426
|
+
}
|
|
6427
|
+
if (previewContext.testHandle) {
|
|
6428
|
+
pack.session.set("testHandle", previewContext.testHandle);
|
|
6429
|
+
}
|
|
6430
|
+
if (previewContext.testVariantHandle) {
|
|
6431
|
+
pack.session.set("testVariantHandle", previewContext.testVariantHandle);
|
|
6432
|
+
}
|
|
6433
|
+
}
|
|
6398
6434
|
return redirect(redirectTo, {
|
|
6399
6435
|
status: 307
|
|
6400
6436
|
});
|