@pack/hydrogen 3.0.0 → 3.1.1-beta.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.js +64 -12
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -4356,7 +4356,7 @@ var require_dist = __commonJS({
|
|
|
4356
4356
|
}
|
|
4357
4357
|
});
|
|
4358
4358
|
|
|
4359
|
-
//
|
|
4359
|
+
// node_modules/@pack/packlytics/dist/utils/get-packlytics-id.js
|
|
4360
4360
|
function sha256(ascii) {
|
|
4361
4361
|
function rightRotate(value, amount) {
|
|
4362
4362
|
return value >>> amount | value << 32 - amount;
|
|
@@ -4471,7 +4471,7 @@ var parseAcceptLanguage = function parseAcceptLanguage2(languageHeaderValue, opt
|
|
|
4471
4471
|
});
|
|
4472
4472
|
};
|
|
4473
4473
|
|
|
4474
|
-
//
|
|
4474
|
+
// node_modules/@pack/packlytics/dist/utils/get-headers.js
|
|
4475
4475
|
function getHeaders(requestOrHeaders) {
|
|
4476
4476
|
if (requestOrHeaders instanceof Request) {
|
|
4477
4477
|
return requestOrHeaders.headers;
|
|
@@ -4479,7 +4479,7 @@ function getHeaders(requestOrHeaders) {
|
|
|
4479
4479
|
return requestOrHeaders;
|
|
4480
4480
|
}
|
|
4481
4481
|
|
|
4482
|
-
//
|
|
4482
|
+
// node_modules/@pack/packlytics/dist/utils/get-client-locales.js
|
|
4483
4483
|
function getClientLocales(requestOrHeaders) {
|
|
4484
4484
|
let headers = getHeaders(requestOrHeaders);
|
|
4485
4485
|
let acceptLanguage = headers.get("Accept-Language");
|
|
@@ -4494,7 +4494,7 @@ function getClientLocales(requestOrHeaders) {
|
|
|
4494
4494
|
return locales;
|
|
4495
4495
|
}
|
|
4496
4496
|
|
|
4497
|
-
//
|
|
4497
|
+
// node_modules/@pack/packlytics/dist/utils/sanatize-payload.js
|
|
4498
4498
|
var sanitizePayload = (data) => {
|
|
4499
4499
|
let dataStr = JSON.stringify(data);
|
|
4500
4500
|
const sensitiveFields = [
|
|
@@ -4525,7 +4525,7 @@ var sanitizePayload = (data) => {
|
|
|
4525
4525
|
return dataStr;
|
|
4526
4526
|
};
|
|
4527
4527
|
|
|
4528
|
-
//
|
|
4528
|
+
// node_modules/@pack/packlytics/dist/utils/send-event.js
|
|
4529
4529
|
var metadata = null;
|
|
4530
4530
|
var getPacklyticsMetadata = async () => {
|
|
4531
4531
|
if (metadata)
|
|
@@ -4583,14 +4583,14 @@ var sendEvent = (storefrontId, sessionId) => {
|
|
|
4583
4583
|
};
|
|
4584
4584
|
};
|
|
4585
4585
|
|
|
4586
|
-
//
|
|
4586
|
+
// node_modules/@pack/packlytics/dist/utils/page-hit.js
|
|
4587
4587
|
var trackPageHit = (storefrontId, sessionId) => {
|
|
4588
4588
|
return (eventPayload = {}) => {
|
|
4589
4589
|
return sendEvent(storefrontId, sessionId)("page_hit", eventPayload);
|
|
4590
4590
|
};
|
|
4591
4591
|
};
|
|
4592
4592
|
|
|
4593
|
-
//
|
|
4593
|
+
// node_modules/@pack/packlytics/dist/utils/get-client-device.js
|
|
4594
4594
|
var import_ua_parser_js = __toESM(require_ua_parser());
|
|
4595
4595
|
function getDevice(userAgent) {
|
|
4596
4596
|
const userAgentData = (0, import_ua_parser_js.default)(userAgent);
|
|
@@ -4608,16 +4608,16 @@ function getDevice(userAgent) {
|
|
|
4608
4608
|
};
|
|
4609
4609
|
}
|
|
4610
4610
|
|
|
4611
|
-
//
|
|
4611
|
+
// node_modules/@pack/packlytics/dist/packlytics.js
|
|
4612
4612
|
import { getStorefrontHeaders } from "@shopify/hydrogen/oxygen";
|
|
4613
4613
|
|
|
4614
|
-
//
|
|
4614
|
+
// node_modules/@pack/packlytics/dist/utils/get-client-location.js
|
|
4615
4615
|
function getClientLocation(locale) {
|
|
4616
4616
|
const localeSplit = locale.split("-");
|
|
4617
4617
|
return localeSplit.length > 1 ? localeSplit[1].toLowerCase() : "";
|
|
4618
4618
|
}
|
|
4619
4619
|
|
|
4620
|
-
//
|
|
4620
|
+
// node_modules/@pack/packlytics/dist/packlytics.js
|
|
4621
4621
|
async function sendEvent2(request, session, params) {
|
|
4622
4622
|
if (process.env.NODE_ENV === "development") {
|
|
4623
4623
|
return;
|
|
@@ -4691,6 +4691,7 @@ var PACK_COOKIE_ID = "__pack";
|
|
|
4691
4691
|
var PACK_USER_CONSENT_COOKIE_ID = "__pack_user_consent";
|
|
4692
4692
|
var PACK_TEST_COOKIE_ID = "__pack_test";
|
|
4693
4693
|
var PACK_COOKIE_MAX_AGE = 60 * 60 * 24 * 360;
|
|
4694
|
+
var PACK_TEST_CACHE_CHECK_URL = "https://test-cache-check-production.packdigital.workers.dev/tests-updated-at";
|
|
4694
4695
|
|
|
4695
4696
|
// src/session/usePackCookies.ts
|
|
4696
4697
|
function usePackCookies(options) {
|
|
@@ -5315,7 +5316,7 @@ async function fetchTestRulesShared(packClient, withCache, token) {
|
|
|
5315
5316
|
async ({
|
|
5316
5317
|
addDebugData
|
|
5317
5318
|
}) => {
|
|
5318
|
-
const URL2 =
|
|
5319
|
+
const URL2 = PACK_TEST_CACHE_CHECK_URL;
|
|
5319
5320
|
const resp2 = await fetch(URL2, {
|
|
5320
5321
|
headers: {
|
|
5321
5322
|
Authorization: `Bearer ${token}`
|
|
@@ -6044,8 +6045,45 @@ async function getCacheKey(withCache, query, token, options) {
|
|
|
6044
6045
|
debug4(`Error getting cache key: ${err}`);
|
|
6045
6046
|
console.error(err);
|
|
6046
6047
|
}
|
|
6047
|
-
|
|
6048
|
+
let testsUpdatedAt;
|
|
6049
|
+
const hasTestHeaders = options?.headers && (options.headers["X-Pack-Test-Id"] || options.headers["X-Pack-Test-Handle"] || options.headers["X-Pack-Test-Variant-Id"] || options.headers["X-Pack-Test-Variant-Handle"]);
|
|
6050
|
+
if (hasTestHeaders) {
|
|
6051
|
+
try {
|
|
6052
|
+
const resp = await withCache.run(
|
|
6053
|
+
{
|
|
6054
|
+
cacheKey: ["pack:tests:updatedAt"],
|
|
6055
|
+
cacheStrategy: CacheCustom({
|
|
6056
|
+
maxAge: 15,
|
|
6057
|
+
staleWhileRevalidate: 15
|
|
6058
|
+
}),
|
|
6059
|
+
shouldCacheResult: (value) => value !== null
|
|
6060
|
+
},
|
|
6061
|
+
async ({
|
|
6062
|
+
addDebugData
|
|
6063
|
+
}) => {
|
|
6064
|
+
const URL2 = PACK_TEST_CACHE_CHECK_URL;
|
|
6065
|
+
const resp2 = await fetch(URL2, {
|
|
6066
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
6067
|
+
});
|
|
6068
|
+
addDebugData?.({
|
|
6069
|
+
displayName: "Pack Test Cache Check (content key)",
|
|
6070
|
+
response: resp2
|
|
6071
|
+
});
|
|
6072
|
+
if (resp2.status !== 200) return null;
|
|
6073
|
+
return resp2.json();
|
|
6074
|
+
}
|
|
6075
|
+
);
|
|
6076
|
+
testsUpdatedAt = resp?.testsUpdatedAt;
|
|
6077
|
+
} catch (err) {
|
|
6078
|
+
debug4(`Error getting testsUpdatedAt for cache key: ${err}`);
|
|
6079
|
+
}
|
|
6080
|
+
}
|
|
6081
|
+
if (publishedAt && testsUpdatedAt) {
|
|
6082
|
+
return `${queryHash}:${publishedAt}:${testsUpdatedAt}`;
|
|
6083
|
+
} else if (publishedAt) {
|
|
6048
6084
|
return `${queryHash}:${publishedAt}`;
|
|
6085
|
+
} else if (testsUpdatedAt) {
|
|
6086
|
+
return `${queryHash}:${testsUpdatedAt}`;
|
|
6049
6087
|
}
|
|
6050
6088
|
return queryHash;
|
|
6051
6089
|
}
|
|
@@ -6299,6 +6337,20 @@ function createPackClient(options) {
|
|
|
6299
6337
|
testInfoForRequest,
|
|
6300
6338
|
testFromQueryParams: testFromQueryParams || test
|
|
6301
6339
|
});
|
|
6340
|
+
if (testFromQueryParams) {
|
|
6341
|
+
try {
|
|
6342
|
+
const result = await packClient.fetch(query, {
|
|
6343
|
+
variables: queryVariables,
|
|
6344
|
+
headers
|
|
6345
|
+
});
|
|
6346
|
+
return {
|
|
6347
|
+
...result,
|
|
6348
|
+
packTestInfo: testInfoForLoader
|
|
6349
|
+
};
|
|
6350
|
+
} catch (error) {
|
|
6351
|
+
return { error, data: null };
|
|
6352
|
+
}
|
|
6353
|
+
}
|
|
6302
6354
|
if (previewEnabled) {
|
|
6303
6355
|
try {
|
|
6304
6356
|
const result = await packClient.fetch(query, {
|