@pack/hydrogen 3.2.1 → 3.2.3

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
@@ -5537,6 +5537,14 @@ async function fetchTestRulesShared(packClient, withCache, token) {
5537
5537
  }
5538
5538
  );
5539
5539
  }
5540
+ function isPrefetchRequest(request) {
5541
+ const secPurpose = request.headers.get("sec-purpose")?.toLowerCase();
5542
+ const purpose = request.headers.get("purpose")?.toLowerCase();
5543
+ const xPurpose = request.headers.get("x-purpose")?.toLowerCase();
5544
+ return [secPurpose, purpose, xPurpose].some(
5545
+ (value) => value?.split(",").map((part) => part.trim()).includes("prefetch")
5546
+ );
5547
+ }
5540
5548
  async function packClientFetchTestByRules(packClient, testTargetAudienceAttributes, testSession, request, withCache, token, exposedTest, validateOnly) {
5541
5549
  try {
5542
5550
  debug3(
@@ -5768,6 +5776,10 @@ async function getTestInfo({
5768
5776
  requestUrl: request.url
5769
5777
  })
5770
5778
  );
5779
+ if (isPrefetchRequest(request)) {
5780
+ debug3("[Pack Test] Skipping test assignment for prefetch request.");
5781
+ return void 0;
5782
+ }
5771
5783
  let testInfo = void 0;
5772
5784
  let exposedTest = void 0;
5773
5785
  if (!testSession) {
@@ -6544,29 +6556,23 @@ async function loader({ request, context }) {
6544
6556
  try {
6545
6557
  customizerMetaJson = customizerMeta ? JSON.parse(customizerMeta) : null;
6546
6558
  previewContext = customizerMetaJson?.previewContext || null;
6547
- } catch (_error) {
6559
+ } catch {
6548
6560
  customizerMetaJson = null;
6549
6561
  }
6550
6562
  pack.session.set("previewEnabled", true);
6551
6563
  pack.session.set("environment", environment);
6552
6564
  pack.session.set("customizerMeta", customizerMetaJson);
6553
- if (previewContext) {
6554
- if (previewContext.locale) {
6555
- pack.session.set("locale", previewContext.locale);
6556
- }
6557
- if (previewContext.pageDraft) {
6558
- pack.session.set("pageDraft", previewContext.pageDraft);
6559
- }
6560
- if (previewContext.siteSettingsDraft) {
6561
- pack.session.set("siteSettingsDraft", previewContext.siteSettingsDraft);
6562
- }
6563
- if (previewContext.testHandle) {
6564
- pack.session.set("testHandle", previewContext.testHandle);
6565
- }
6566
- if (previewContext.testVariantHandle) {
6567
- pack.session.set("testVariantHandle", previewContext.testVariantHandle);
6568
- }
6569
- }
6565
+ pack.session.set("locale", previewContext?.locale ?? null);
6566
+ pack.session.set("pageDraft", previewContext?.pageDraft ?? null);
6567
+ pack.session.set(
6568
+ "siteSettingsDraft",
6569
+ previewContext?.siteSettingsDraft ?? null
6570
+ );
6571
+ pack.session.set("testHandle", previewContext?.testHandle ?? null);
6572
+ pack.session.set(
6573
+ "testVariantHandle",
6574
+ previewContext?.testVariantHandle ?? null
6575
+ );
6570
6576
  return redirect(redirectTo, {
6571
6577
  status: 307
6572
6578
  });