@pack/hydrogen 3.1.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 CHANGED
@@ -4356,7 +4356,7 @@ var require_dist = __commonJS({
4356
4356
  }
4357
4357
  });
4358
4358
 
4359
- // ../packlytics/dist/utils/get-packlytics-id.js
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
- // ../packlytics/dist/utils/get-headers.js
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
- // ../packlytics/dist/utils/get-client-locales.js
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
- // ../packlytics/dist/utils/sanatize-payload.js
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
- // ../packlytics/dist/utils/send-event.js
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
- // ../packlytics/dist/utils/page-hit.js
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
- // ../packlytics/dist/utils/get-client-device.js
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
- // ../packlytics/dist/packlytics.js
4611
+ // node_modules/@pack/packlytics/dist/packlytics.js
4612
4612
  import { getStorefrontHeaders } from "@shopify/hydrogen/oxygen";
4613
4613
 
4614
- // ../packlytics/dist/utils/get-client-location.js
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
- // ../packlytics/dist/packlytics.js
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 = "https://test-cache-check-production.packdigital.workers.dev/tests-updated-at";
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
- if (publishedAt) {
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, {