@pack/hydrogen 3.2.6 → 3.2.8

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # `@pack/hydrogen`
2
2
 
3
- Hydrogen runtime integration for Pack content, preview, A/B testing, and server-side error tracking.
3
+ Hydrogen runtime integration for Pack content, preview, and A/B testing.
4
4
 
5
5
  ## Install
6
6
 
@@ -19,25 +19,18 @@ npm install @pack/hydrogen
19
19
  ## Minimal setup
20
20
 
21
21
  ```ts
22
- import {
23
- createPackClient,
24
- handleRequest,
25
- } from '@pack/hydrogen';
26
- import { createServerErrorHandler } from '@pack/errors';
22
+ import { createPackClient, handleRequest } from "@pack/hydrogen";
27
23
 
28
- // Optional if you want route-level error capture in addition to handleRequest wrapping.
29
- // Duplicate reports for the same Error instance are deduplicated automatically.
30
- export const handleError = createServerErrorHandler();
31
-
32
- export default async function fetch(request: Request, env: Env, ctx: ExecutionContext) {
24
+ export default async function fetch(
25
+ request: Request,
26
+ env: Env,
27
+ ctx: ExecutionContext,
28
+ ) {
33
29
  const pack = createPackClient({
34
30
  cache: caches.default,
35
31
  waitUntil: ctx.waitUntil.bind(ctx),
36
32
  storeId: env.PACK_STORE_ID,
37
33
  token: env.PACK_API_TOKEN,
38
- errorTracking: {
39
- dsn: env.PUBLIC_PACK_ERROR_TRACKING_DSN,
40
- },
41
34
  session,
42
35
  testSession,
43
36
  });
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { PackClient } from '@pack/client';
2
- import { ErrorTrackingOptions } from '@pack/errors';
3
2
  import { CacheCustom } from '@shopify/hydrogen';
4
3
  import { SessionStorage, Session, ActionFunctionArgs, LoaderFunctionArgs } from 'react-router';
5
4
  import * as react from 'react';
@@ -86,8 +85,6 @@ interface CreatePackClientOptions extends EnvironmentOptions {
86
85
  i18n?: I18nOptions;
87
86
  /** Default theme data to use when no token is provided */
88
87
  defaultThemeData?: DefaultThemeData;
89
- /** Configuration for server-side error tracking */
90
- errorTracking?: ErrorTrackingOptions;
91
88
  /**
92
89
  * Initial request to extract query parameters from.
93
90
  * If not provided, it will be captured from the first handleRequest call.
@@ -120,6 +117,7 @@ interface PackCustomizerMeta {
120
117
  };
121
118
  previewContext?: {
122
119
  locale?: string;
120
+ releaseId?: string;
123
121
  pageDraft?: string;
124
122
  siteSettingsDraft?: string;
125
123
  testHandle?: string;
@@ -145,14 +143,12 @@ interface Pack {
145
143
  packAbTest: Test$1 | null | undefined;
146
144
  packIsPreviewMode: boolean;
147
145
  packCustomizerMeta: PackCustomizerMeta | null;
148
- packErrorTracking?: ErrorTrackingOptions;
149
146
  };
150
147
  handleRequest(request: Request): Promise<(response: Response) => void>;
151
148
  isPreviewModeEnabled: () => boolean;
152
149
  isValidEditToken: PackClient["isValidEditToken"];
153
150
  query: <T = any>(query: string, options: QueryOptions) => Promise<QueryResponse<T>>;
154
151
  session: PackSession;
155
- errorTracking?: ErrorTrackingOptions;
156
152
  testSession: PackTestSession;
157
153
  }
158
154
  interface DefaultThemeData {
package/dist/index.js CHANGED
@@ -4356,9 +4356,6 @@ var require_dist = __commonJS({
4356
4356
  }
4357
4357
  });
4358
4358
 
4359
- // src/handle-request.ts
4360
- import { sendServerErrorEvent } from "@pack/errors";
4361
-
4362
4359
  // ../packlytics/dist/utils/get-packlytics-id.js
4363
4360
  function sha256(ascii) {
4364
4361
  function rightRotate(value, amount) {
@@ -4671,28 +4668,12 @@ async function packlytics(pack, request, next) {
4671
4668
  }
4672
4669
 
4673
4670
  // src/handle-request.ts
4674
- function getServerStatusError(request, status) {
4675
- let pathname = request.url;
4676
- try {
4677
- pathname = new URL(request.url).pathname;
4678
- } catch {
4679
- }
4680
- return new Error(`HTTP ${status} response for ${request.method} ${pathname}`);
4681
- }
4682
4671
  async function handleRequest(pack, request, handleRequest2) {
4683
4672
  const packHandleResponse = await pack.handleRequest(request);
4684
4673
  let response;
4685
- try {
4686
- response = await packlytics(pack, request, () => {
4687
- return handleRequest2(request);
4688
- });
4689
- } catch (error) {
4690
- sendServerErrorEvent(error, request, pack);
4691
- throw error;
4692
- }
4693
- if (response.status >= 500 && !request.signal.aborted) {
4694
- sendServerErrorEvent(getServerStatusError(request, response.status), request, pack);
4695
- }
4674
+ response = await packlytics(pack, request, () => {
4675
+ return handleRequest2(request);
4676
+ });
4696
4677
  packHandleResponse(response);
4697
4678
  response.headers.append("powered-by", "Shopify, Hydrogen + Pack Digital");
4698
4679
  response.headers.append("Set-Cookie", await pack.session.commit());
@@ -6211,13 +6192,13 @@ function createPackClient(options) {
6211
6192
  token,
6212
6193
  apiUrl,
6213
6194
  defaultThemeData,
6214
- errorTracking,
6215
6195
  i18n,
6216
6196
  request
6217
6197
  } = options;
6218
6198
  const previewEnabled = !!session.get("previewEnabled");
6219
6199
  const previewEnvironment = session.get("environment");
6220
6200
  const locale = session.get("locale");
6201
+ const releaseId = session.get("releaseId");
6221
6202
  const pageDraft = session.get("pageDraft");
6222
6203
  const siteSettingsDraft = session.get("siteSettingsDraft");
6223
6204
  const testHandle = session.get("testHandle");
@@ -6281,8 +6262,7 @@ function createPackClient(options) {
6281
6262
  packSessionId: session.id,
6282
6263
  packAbTest: getCurrentAbTest(),
6283
6264
  packIsPreviewMode: previewEnabled,
6284
- packCustomizerMeta: session.get("customizerMeta"),
6285
- packErrorTracking: errorTracking
6265
+ packCustomizerMeta: session.get("customizerMeta")
6286
6266
  };
6287
6267
  },
6288
6268
  isPreviewModeEnabled: () => previewEnabled,
@@ -6297,7 +6277,6 @@ function createPackClient(options) {
6297
6277
  return { data, error: null };
6298
6278
  },
6299
6279
  session,
6300
- errorTracking,
6301
6280
  testSession
6302
6281
  };
6303
6282
  }
@@ -6313,6 +6292,7 @@ function createPackClient(options) {
6313
6292
  sessionId: session.id,
6314
6293
  clientName: "HydrogenClient",
6315
6294
  locale,
6295
+ releaseId,
6316
6296
  pageDraft,
6317
6297
  siteSettingsDraft,
6318
6298
  testHandle,
@@ -6339,8 +6319,7 @@ function createPackClient(options) {
6339
6319
  packSessionId: session.id,
6340
6320
  packAbTest: getCurrentAbTest(),
6341
6321
  packIsPreviewMode: previewEnabled,
6342
- packCustomizerMeta: session.get("customizerMeta"),
6343
- packErrorTracking: errorTracking
6322
+ packCustomizerMeta: session.get("customizerMeta")
6344
6323
  };
6345
6324
  },
6346
6325
  handleRequest: handleRequest2,
@@ -6468,7 +6447,6 @@ function createPackClient(options) {
6468
6447
  }
6469
6448
  },
6470
6449
  session,
6471
- errorTracking,
6472
6450
  testSession
6473
6451
  };
6474
6452
  }
@@ -6547,6 +6525,7 @@ async function loader({ request, context }) {
6547
6525
  pack.session.set("environment", environment);
6548
6526
  pack.session.set("customizerMeta", customizerMetaJson);
6549
6527
  pack.session.set("locale", previewContext?.locale ?? null);
6528
+ pack.session.set("releaseId", previewContext?.releaseId ?? null);
6550
6529
  pack.session.set("pageDraft", previewContext?.pageDraft ?? null);
6551
6530
  pack.session.set(
6552
6531
  "siteSettingsDraft",