@zappie/verify 0.1.5 → 0.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +43 -1
  3. package/dist/{category-page-UBHOB5IN.js → category-page-I3HDIAJA.js} +7 -3
  4. package/dist/category-page-I3HDIAJA.js.map +1 -0
  5. package/dist/{chunk-JYFSFOIS.js → chunk-47RIF6JW.js} +23 -11
  6. package/dist/chunk-47RIF6JW.js.map +1 -0
  7. package/dist/{debug-C3UDGUED.js → debug-LOXPIQRS.js} +1 -1
  8. package/dist/debug-LOXPIQRS.js.map +1 -0
  9. package/dist/index.d.ts +55 -5
  10. package/dist/index.js +1475 -86
  11. package/dist/index.js.map +1 -1
  12. package/dist/presentation-TKOXOILG.js +68 -0
  13. package/dist/presentation-TKOXOILG.js.map +1 -0
  14. package/dist/{quote-body-NAFPZOGR.js → quote-body-S5LELT7L.js} +1 -1
  15. package/dist/quote-body-S5LELT7L.js.map +1 -0
  16. package/dist/{quote-client-3NC5KSBE.js → quote-client-4RUY3TKQ.js} +8 -3
  17. package/dist/quote-client-4RUY3TKQ.js.map +1 -0
  18. package/dist/{search-YIHT6CXN.js → search-OF62VKI3.js} +7 -2
  19. package/dist/search-OF62VKI3.js.map +1 -0
  20. package/dist/{selected-menu-5AIX7JHU.js → selected-menu-AQHWDELR.js} +8 -3
  21. package/dist/selected-menu-AQHWDELR.js.map +1 -0
  22. package/dist/{store-AOU2FRUX.js → store-OPM3OFLC.js} +1 -1
  23. package/dist/store-OPM3OFLC.js.map +1 -0
  24. package/package.json +2 -2
  25. package/schema/verify-report.v1.json +25 -1
  26. package/dist/category-page-UBHOB5IN.js.map +0 -1
  27. package/dist/chunk-JYFSFOIS.js.map +0 -1
  28. package/dist/debug-C3UDGUED.js.map +0 -1
  29. package/dist/quote-body-NAFPZOGR.js.map +0 -1
  30. package/dist/quote-client-3NC5KSBE.js.map +0 -1
  31. package/dist/search-YIHT6CXN.js.map +0 -1
  32. package/dist/selected-menu-5AIX7JHU.js.map +0 -1
  33. package/dist/store-AOU2FRUX.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # @zappie/verify
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 8f75ba3: V10 and V13 reach the address and phone fields when a template opens them from a row.
8
+
9
+ - Mark the row with `data-zappie-field-open="address"` or `"phone"`. Verify taps it when the field isn't on the page.
10
+ - When the tap sends a signed-out shopper to sign in, verify signs in with the test session, returns to checkout, repeats the step before the row and taps it again.
11
+ - A phone field in a dialog is saved through `data-zappie-field-confirm`, or else the open dialog's submit or footer button, before V13 checks the checkout control.
12
+
13
+ V13 also waits for entry animations to finish before each accessibility scan, so an overlay that fades in is read as the shopper sees it once it has opened, not halfway through the fade. Animations that loop forever, such as a loading spinner, are not waited for.
14
+
15
+ V13's phone touch-target rule now asks for 24×24 px, the WCAG 2.2 AA size (2.5.8), instead of 44×44 px, the AAA size.
16
+
17
+ On a screen 768 px or wider, V13 accepts a cart the page always shows as a column, with no control to open it. It scans the cart with the page instead of opening it. A phone still needs a cart control.
18
+
19
+ - 22ccfe2: Verify scores the CPU again just before each timed page in V14, V15 and V16, not only at the start of the run, because a shared runner's speed changes during a run. The new `overlayOpenRates` metric records the throttling rate each V16 sample ran at.
20
+ - b932f64: The checks no longer assume one storefront design.
21
+
22
+ - V05 and V13 open an item through its `data-zappie-item` marker instead of a "View details" link. When the marked element is a link or button, as on a card that is the link, they tap it. Otherwise they tap a link inside the card, then a link beside it.
23
+ - V13 closes the item by a dialog button whose name contains "Close", or by Escape, instead of a button named "Close item". On a menu without quick add, it reaches Add from the keyboard through an item.
24
+ - V05 accepts an Add that stays enabled before a required choice, when a tap adds nothing and flags the group with a visible message. A tap that flags nothing fails with `required_option_unflagged`.
25
+ - V06 finds the quoted total in the bag or, when the bag hands over to a checkout page, on that page.
26
+ - V10 confirms a picked address when the template asks for it, through `data-zappie-address-confirm` or the open dialog's submit or footer button.
27
+ - V16 and V17 add an item without required options first when the bag trigger shows only once the cart has lines, then time and walk the bag as before.
28
+ - V06, V07 and V13 open the cart through `data-zappie-overlay-trigger="bag"` when no `data-zappie-cart-trigger` is marked.
29
+
30
+ The README lists the markers each journey relies on.
31
+
32
+ - 5a4f4de: V16 times each overlay's first open in a new browser context instead of on a reloaded menu, so neither the checks before it nor its own earlier samples can warm the overlay. It still opens each overlay three times, now each in its own context, and judges the median against the 100 ms budget. V17 checks each overlay in a new browser context too.
33
+ - Updated dependencies [e7cc5f0]
34
+ - Updated dependencies [1c3cbbf]
35
+ - @zappie/sdk@0.1.9
36
+
37
+ ## 0.2.2
38
+
39
+ ### Patch Changes
40
+
41
+ - d73fe38: V16 and V17 now wait for the menu to hydrate, then for the work it leaves for idle time, such as overlay preloads, and for the downloads that work starts, before they tap a trigger. That is what a shopper who has read the menu sees. A tap still times everything it starts, so an overlay whose code loads only on tap still fails V16.
42
+ - 959024d: V16 opens each overlay three times, each on a freshly loaded and settled menu, and judges the median against the 100 ms budget, so one slow sample on a busy machine doesn't fail it. `overlayOpenMs` holds the medians and the new `overlayOpenSamplesMs` holds every sample.
43
+
44
+ The phone profile's CPU slowdown is now calibrated to the machine. Before the checks run, verify scores the browser's CPU with a short fixed benchmark and sets the throttling rate so that V14, V15 and V16 see the same phone on a fast laptop and on a slow CI runner. A developer laptop still gets about four times. The rate stays between one and eight times, and the report's `environment` records `cpuBenchmark` and `cpuThrottlingRate`. The budgets are unchanged.
45
+
46
+ ## 0.2.1
47
+
48
+ ### Patch Changes
49
+
50
+ - 82fa181: Local mode now answers `/_zappie/session` as the test site host does, signed out until a check sets its test session cookie, so a template that checks the session as soon as a page loads no longer fails the routes check in a local preview.
51
+
52
+ ## 0.2.0
53
+
54
+ ### Minor Changes
55
+
56
+ - 79deec3: Hold every template to the same accessibility, semantics, performance and CSS bar.
57
+
58
+ - `eslint-plugin-zappie`: `zappie/no-lazy-overlay` reports `React.lazy` and `Suspense` and points at `deferred()` from `@zappie/foundations`. It is an error in `recommended`.
59
+ - `@zappie/check`: `lint` fails when a project turns down a `jsx-a11y` rule from `recommended`. A new `css` step reports `css/important` and `css/class-patch` as errors, and `css/duplicate-keyframes`, `css/duplicate-selector`, `css/arbitrary-token`, `css/literal-token`, `css/unused-custom-property`, `css/reduced-motion` and `css/unreadable` as warnings.
60
+ - `@zappie/verify`: V13 fails on a missing main landmark, a page without exactly one h1, a dialog without a name, a positive tabindex, a phone control under 44×44 px and focus that doesn't return after the item or cart closes. V16 times each marked overlay from tap to first paint on a phone profile. V17 checks each marked overlay's focus, Escape and scroll lock. Both are skipped while a menu has no overlay markers. V14 records `menuCssKbGz`. `findRegressions` compares two reports' metrics.
61
+ - `@zappie/starter`: menu controls are at least 44×44 px on a phone.
62
+
63
+ ### Patch Changes
64
+
65
+ - Updated dependencies [4f3cdc3]
66
+ - @zappie/sdk@0.1.8
67
+
3
68
  ## 0.1.5
4
69
 
5
70
  ### Patch Changes
package/README.md CHANGED
@@ -18,7 +18,7 @@ ZAPPIE_KEY=pk_test_... npx zappie verify
18
18
  ZAPPIE_KEY=pk_test_... npx zappie verify https://your-store.example
19
19
  ```
20
20
 
21
- With no URL, it builds your project, starts a local preview, runs the checks and stops the preview. It only accepts test keys, so it never touches live orders.
21
+ With no URL, it builds your project, starts a local preview, runs the checks and stops the preview. It only accepts test keys, so it never touches live orders. A local preview has no site host, so verify answers `/_zappie/session` itself: signed out until a check signs in. Don't build or typecheck the project while it runs, because a rebuild under the preview stops the page from hydrating and fails checks that would pass.
22
22
 
23
23
  | Option | What it does |
24
24
  | -------------------------------- | ---------------------------------------------------- |
@@ -42,6 +42,48 @@ console.log(printSummary(report));
42
42
 
43
43
  The report's shape is the JSON Schema at `@zappie/verify/schema/verify-report.v1.json`.
44
44
 
45
+ ## Markers
46
+
47
+ The checks find shopping controls by their `data-zappie-*` markers, the ones the `zappie/verify-markers` lint rule and the template standards ask for, not by their labels, so your copy is yours to write. Where no marker names a control, a check uses its role. Text is read in three places only: V03 counts an item by its name when its card has no marker, V10 picks the address it typed from the suggestions, and V13 closes an item by a button whose name contains "Close".
48
+
49
+ They accept either way of building a journey where templates differ:
50
+
51
+ - **Opening an item.** When the element marked `data-zappie-item` is a link or button, as on a card that is the link, the checks tap it. Otherwise they tap the first link inside the marked card, then the first link beside it.
52
+ - **The cart control.** `data-zappie-cart-trigger`, or on a template that marks only its overlays, the visible `data-zappie-overlay-trigger="bag"` control.
53
+ - **Required options (V05).** Add can be disabled until every required choice is made. Or it can stay enabled: a tap then adds nothing, keeps the item open and marks the group with `aria-invalid` or `data-invalid` and a visible message, in the group, in its `aria-describedby` or `aria-errormessage` target, or in a `role="alert"` in the dialog.
54
+ - **The quoted total (V06).** `data-zappie-total` in the bag, or, when the bag hands over to a checkout page through `data-zappie-cart-checkout` or a link to `/checkout`, on that page.
55
+ - **A cart column (V13).** On a screen 768 px or wider, a cart the page always shows, with no visible cart control, is scanned with the page. V13 then skips opening it and the focus-return check for it. On a phone the cart control is still required.
56
+ - **A checkout field behind a row (V10, V13).** The address and phone fields can be on the page, or open from a row marked `data-zappie-field-open="address"` or `"phone"`. Verify taps the row. When the tap sends a signed-out shopper to sign in, on the site or another origin, verify signs in with the test session, returns to the page, repeats the step before the row (choosing Delivery for the address) and taps it again. A phone field in a dialog is saved with `data-zappie-field-confirm`, or else the enabled submit or footer button of the dialog.
57
+ - **A picked address (V10).** It can be stored as soon as the shopper picks it. Or the template can ask them to confirm it first: verify then taps `data-zappie-address-confirm`, or else the enabled submit or footer button of the open dialog.
58
+ - **A bag trigger shown only once the cart has lines (V16, V17).** When the menu shows no `data-zappie-overlay-trigger="bag"`, they first add an item without required options, the way V04 does, open the menu again and then time or walk the bag as before.
59
+
60
+ V13 scans each page and overlay once its entry animations have finished, so a fade-in is read as it ends. V13 relies on these markers:
61
+
62
+ | Marker | What V13 does with it |
63
+ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
64
+ | `data-zappie-item` | Opens the first available item, as above, and checks that focus returns to its card when it closes. |
65
+ | `role="dialog"` | Finds the open item and closes it by a button whose name contains "Close", or else by Escape. |
66
+ | `data-zappie-cart-trigger` | Opens the cart for its scan, and checks that focus returns to it when the cart closes. |
67
+ | `data-zappie-action="add-to-cart"` | Checks that the keyboard reaches an Add control. On a menu without quick add, it tabs to an item without required options, opens it with Enter and tabs to its Add. |
68
+ | `data-zappie-checkout` | Checks that the keyboard reaches the enabled checkout control on `/checkout`. |
69
+
70
+ ## Overlays
71
+
72
+ Mark each control that opens an overlay with `data-zappie-overlay-trigger="bag"`, `"branch"`, `"search"` or `"item"`, and the overlay's `role="dialog"` element with `data-zappie-overlay` and the same name. V16 waits until the menu has hydrated and its idle work, such as overlay preloads, and the downloads that work starts are done, as they would be for a shopper who has read the menu. Then it taps each marked trigger on a phone profile with the CPU slowed four times, and fails when the overlay takes more than 100 ms to paint. Anything the tap itself loads counts toward that time. Each tap is a shopper's first open on a first visit: V16 opens every overlay in a new browser context, so the checks before it can't warm it. It opens each overlay three times, each in its own context, and judges the median, so one slow sample on a busy machine doesn't fail it. The CPU slowdown is calibrated to the machine: before the checks run, verify scores the browser's CPU with a short fixed benchmark and sets the throttling rate so that V14, V15 and V16 see the same phone everywhere. A developer laptop gets about four times, a slower CI runner less, between one and eight times. The report's `environment` records `cpuBenchmark` and the `cpuThrottlingRate` the checks used. The report's `overlayOpenMs` holds the medians and `overlayOpenSamplesMs` holds every sample, in the order they ran. V17 opens each one from the keyboard, in a new browser context too, and checks that focus moves in, Tab stays in, the page behind doesn't scroll, Escape closes it and focus returns to the trigger. Both are skipped while the menu has no markers.
73
+
74
+ ## Compare with a baseline
75
+
76
+ `findRegressions(baseline, head)` compares the metrics of two reports and returns each one that grew past its threshold, even when it is still inside the budget:
77
+
78
+ ```ts
79
+ import { findRegressions } from "@zappie/verify";
80
+
81
+ const regressions = findRegressions(baselineReport, report);
82
+ // [{ metric: "overlayOpenMs.bag", base: 60, head: 81, allowed: 80 }]
83
+ ```
84
+
85
+ A metric regresses when it grows by more than its relative threshold or its absolute floor, whichever is larger. The defaults are in `DEFAULT_REGRESSION_THRESHOLDS`. A metric the baseline records and the new report doesn't also counts as a regression.
86
+
45
87
  ## Docs
46
88
 
47
89
  - [CLI: zappie verify](https://docs.zappie.ai/cli/verify)
@@ -1,6 +1,10 @@
1
1
  // ../sdk/src/transport/category-page.ts
2
- function categoryPage(raw, ctx, mapMenu, invalid) {
3
- const menu = mapMenu(raw, ctx.branchId);
2
+ async function categoryPage(raw, ctx, mapMenu, invalid) {
3
+ const menu = (await import("./presentation-TKOXOILG.js")).presentMenu(
4
+ mapMenu(raw, ctx.branchId),
5
+ raw,
6
+ invalid
7
+ );
4
8
  if (raw.next_cursor != null && (typeof raw.next_cursor !== "string" || !raw.next_cursor || raw.next_cursor === ctx.cursor) || menu.categories.some((c) => c.id !== ctx.categoryId) || Object.keys(menu.items).some(
5
9
  (id) => !menu.categories.some((c) => c.itemIds.includes(id))
6
10
  ) || !menu.menus?.some(
@@ -18,4 +22,4 @@ function categoryPage(raw, ctx, mapMenu, invalid) {
18
22
  export {
19
23
  categoryPage
20
24
  };
21
- //# sourceMappingURL=category-page-UBHOB5IN.js.map
25
+ //# sourceMappingURL=category-page-I3HDIAJA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/category-page.ts"],"mappings":";AASA,eAAsB,aACpB,KACA,KAMA,SACA,SACuB;AACvB,QAAM,QAAQ,MAAM,OAAO,4BAAgB,GAAG;AAAA,IAC5C,QAAQ,KAAK,IAAI,QAAQ;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACA,MACG,IAAI,eAAe,SACjB,OAAO,IAAI,gBAAgB,YAC1B,CAAC,IAAI,eACL,IAAI,gBAAgB,IAAI,WAC5B,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,UAAU,KACnD,OAAO,KAAK,KAAK,KAAK,EAAE;AAAA,IACtB,CAAC,OAAO,CAAC,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,SAAS,EAAE,CAAC;AAAA,EAC7D,KACA,CAAC,KAAK,OAAO;AAAA,IACX,CAAC,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,YAAY,SAAS,IAAI,UAAU;AAAA,EACrE,GACA;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AAAA,IACL,MAAM,EAAE,GAAG,MAAM,cAAc,UAAU;AAAA,IACzC,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB,GAAI,OAAO,IAAI,gBAAgB,YAAY,IAAI,cAC3C,EAAE,YAAY,IAAI,YAAY,IAC9B,CAAC;AAAA,EACP;AACF;","names":[]}
@@ -821,7 +821,7 @@ function createCart(deps) {
821
821
  };
822
822
  let quotes;
823
823
  let loadingQuotes;
824
- const quoteClient = () => loadingQuotes ??= import("./quote-client-3NC5KSBE.js").then(
824
+ const quoteClient = () => loadingQuotes ??= import("./quote-client-4RUY3TKQ.js").then(
825
825
  ({ createQuoteClient }) => quotes = createQuoteClient(deps.transport, deps.context, config),
826
826
  (error) => {
827
827
  loadingQuotes = void 0;
@@ -2138,6 +2138,7 @@ function mapSeo(value) {
2138
2138
  // ../sdk/src/transport/rest.ts
2139
2139
  var MAX_RETRY_WAIT_MS = 5e3;
2140
2140
  var wireFulfilment2 = (value) => value === "dineIn" ? "dine_in" : value;
2141
+ var presentationError = () => new ZappieError("server_error", "Invalid storefront presentation");
2141
2142
  var RestTransport = class {
2142
2143
  constructor(opts = {}) {
2143
2144
  const url = new URL(opts.baseUrl ?? "https://api.zappie.ai/storefront/v1");
@@ -2226,7 +2227,7 @@ var RestTransport = class {
2226
2227
  }
2227
2228
  }
2228
2229
  async quote(ctx, body) {
2229
- body = (await import("./quote-body-NAFPZOGR.js")).quoteBody(body);
2230
+ body = (await import("./quote-body-S5LELT7L.js")).quoteBody(body);
2230
2231
  const request = {
2231
2232
  ...ctx,
2232
2233
  idempotencyKey: ctx.idempotencyKey ?? await payloadKey(JSON.stringify(body))
@@ -2237,18 +2238,23 @@ var RestTransport = class {
2237
2238
  return raw;
2238
2239
  }
2239
2240
  async getStore(ctx) {
2240
- const mapper = import("./store-AOU2FRUX.js").catch((cause) => {
2241
+ const mapper = import("./store-OPM3OFLC.js").catch((cause) => {
2241
2242
  throw new ZappieError(
2242
2243
  "server_error",
2243
2244
  "Could not load the storefront store mapper",
2244
2245
  { cause }
2245
2246
  );
2246
2247
  });
2248
+ const presentation = import("./presentation-TKOXOILG.js");
2247
2249
  const response = this.request("/store", ctx).then(
2248
2250
  (value) => this.json(value)
2249
2251
  );
2250
- const [{ mapStore }, raw] = await Promise.all([mapper, response]);
2251
- return mapStore(
2252
+ const [{ mapStore }, { presentStore }, raw] = await Promise.all([
2253
+ mapper,
2254
+ presentation,
2255
+ response
2256
+ ]);
2257
+ const store = mapStore(
2252
2258
  raw,
2253
2259
  record,
2254
2260
  text,
@@ -2261,8 +2267,10 @@ var RestTransport = class {
2261
2267
  isBoolean,
2262
2268
  mapSeo
2263
2269
  );
2270
+ return presentStore(store, raw, presentationError);
2264
2271
  }
2265
2272
  async getMenu(ctx) {
2273
+ const presentation = import("./presentation-TKOXOILG.js");
2266
2274
  let cursor;
2267
2275
  const seen = /* @__PURE__ */ new Set();
2268
2276
  let output;
@@ -2292,7 +2300,11 @@ var RestTransport = class {
2292
2300
  };
2293
2301
  }
2294
2302
  const raw = record(await this.json(response));
2295
- const page = mapMenu(raw, ctx.branchId);
2303
+ const page = (await presentation).presentMenu(
2304
+ mapMenu(raw, ctx.branchId),
2305
+ raw,
2306
+ presentationError
2307
+ );
2296
2308
  if (ctx.metadataOnly) {
2297
2309
  if (Object.keys(page.items).length || raw.next_cursor) {
2298
2310
  throw new ZappieError("server_error", "Invalid metadata response");
@@ -2363,7 +2375,7 @@ var RestTransport = class {
2363
2375
  return { menu: output, ...etag ? { etag } : {} };
2364
2376
  }
2365
2377
  async getSelectedMenu(ctx) {
2366
- return (await import("./selected-menu-5AIX7JHU.js")).selectedMenu(
2378
+ return (await import("./selected-menu-AQHWDELR.js")).selectedMenu(
2367
2379
  ctx,
2368
2380
  (path) => this.request(path, ctx, ctx.ifNoneMatch),
2369
2381
  (response) => this.json(response),
@@ -2372,7 +2384,7 @@ var RestTransport = class {
2372
2384
  );
2373
2385
  }
2374
2386
  async search(ctx) {
2375
- return (await import("./search-YIHT6CXN.js")).searchPage(
2387
+ return (await import("./search-OF62VKI3.js")).searchPage(
2376
2388
  ctx,
2377
2389
  async (path) => this.json(await this.request(path, ctx)),
2378
2390
  mapMenu,
@@ -2390,7 +2402,7 @@ var RestTransport = class {
2390
2402
  ctx
2391
2403
  )
2392
2404
  );
2393
- return (await import("./category-page-UBHOB5IN.js")).categoryPage(
2405
+ return (await import("./category-page-I3HDIAJA.js")).categoryPage(
2394
2406
  record(raw),
2395
2407
  ctx,
2396
2408
  mapMenu,
@@ -2674,7 +2686,7 @@ function buildClient(input, secret = false) {
2674
2686
  function createZappie(config) {
2675
2687
  const client = buildClient(config);
2676
2688
  if (client.mode === "test" && typeof window !== "undefined") {
2677
- void import("./debug-C3UDGUED.js").then(({ installDebug }) => installDebug(client));
2689
+ void import("./debug-LOXPIQRS.js").then(({ installDebug }) => installDebug(client));
2678
2690
  }
2679
2691
  return client;
2680
2692
  }
@@ -2792,4 +2804,4 @@ export {
2792
2804
  createZappie,
2793
2805
  previewItem
2794
2806
  };
2795
- //# sourceMappingURL=chunk-JYFSFOIS.js.map
2807
+ //# sourceMappingURL=chunk-47RIF6JW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/errors.ts","../../sdk/src/money.ts","../../sdk/src/internal/money-math.ts","../../sdk/src/cart/errors.ts","../../sdk/src/cart/price.ts","../../sdk/src/cart/source-menu.ts","../../sdk/src/cart/validate.ts","../../sdk/src/cart/reconcile.ts","../../sdk/src/cart/storage.ts","../../sdk/src/cart/wire.ts","../../sdk/src/cart/index.ts","../../sdk/src/cart/working-set.ts","../../sdk/src/config.ts","../../sdk/src/internal/abort.ts","../../sdk/src/internal/cache.ts","../../sdk/src/internal/emitter.ts","../../sdk/src/internal/digest.ts","../../sdk/src/transport/mappers.ts","../../sdk/src/transport/rest.ts","../../sdk/src/client.ts","../../sdk/src/cart/preview.ts","../../sdk/src/internal/customer-http.ts"],"mappings":"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","names":["codes","text","schedule","current","wireFulfilment","wait"]}
@@ -75,4 +75,4 @@ function installDebug(client) {
75
75
  export {
76
76
  installDebug
77
77
  };
78
- //# sourceMappingURL=debug-C3UDGUED.js.map
78
+ //# sourceMappingURL=debug-LOXPIQRS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/debug.ts"],"mappings":";AAOA,IAAM,UACJ,OAAO,2BAA2B,WAC9B,yBACA;AAoCC,SAAS,aAAa,QAAgB;AAC3C,MAAI,OAAO,WAAW,eAAe,OAAO,SAAS,QAAQ;AAC3D;AAAA,EACF;AACA,QAAM,SAAuB,CAAC;AAC9B,MAAI;AACJ,QAAM,OAAO,CAAC,MAAc,WAAoB;AAC9C,UAAM,QAAQ,EAAE,MAAM,QAAQ,KAAI,oBAAI,KAAK,GAAE,YAAY,EAAE;AAC3D,WAAO,KAAK,KAAK;AACjB,WAAO,cAAc,IAAI,YAAY,gBAAgB,EAAE,QAAQ,MAAM,CAAC,CAAC;AAAA,EACzE;AACA,aAAW,eAAe;AAC1B,SAAO,WAAW;AAAA,IAChB,SAAS;AAAA,IACT,OAAO,OAAO,OAAO;AAAA,IACrB,MAAM,YAAY;AAChB,YAAM,OAAO,KAAK,QAAQ;AAC1B,YAAM,UAAU,MAAM,OAAO,MAAM,IAAI,GAAG,SAAS;AAAA,QACjD,CAAC,UAAU,MAAM,OAAO,OAAO,KAAK,YAAY,EAAE;AAAA,MACpD;AACA,aAAO,EAAE,QAAQ,MAAM,MAAM,OAAO,KAAK,IAAI,EAAE,QAAQ,OAAO,GAAG,CAAC,EAAE;AAAA,IACtE;AAAA,IACA,MAAM,OAAO,OAAO,MAAM,OAAO,KAAK,YAAY,GAAG;AAAA,MACnD,MAAM,OAAO,OAEV;AACD,cAAM,OAAO,KAAK,QAAQ;AAC1B,YACE,MAAM,MAAM,SAAS,OACrB,MAAM,MAAM;AAAA,UACV,CAAC,SACC,CAAC,OAAO,UAAU,KAAK,YAAY,CAAC,MACnC,KAAK,YAAY,KAAK,MACtB,KAAK,YAAY,KAAK;AAAA,QAC3B,GACA;AACA,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAAA,QACF;AACA,cAAM,WAAW,OAAO,KAAK,YAAY;AACzC,cAAM,QAAQ;AAAA,UACZ,GAAG;AAAA,UACH,aAAa,OAAO,UAAU,cAAc,EAAG;AAAA,UAC/C,WAAW,KAAK,IAAI;AAAA,UACpB,YAAY,SAAS;AAAA,UACrB,WAAW,SAAS;AAAA,UACpB,OAAO,MAAM,MAAM,IAAI,CAAC,MAAM,WAAW;AAAA,YACvC,GAAG;AAAA,YACH,IAAI,SAAS,KAAK;AAAA,YAClB,MAAM,KAAK;AAAA,YACX,UAAU,KAAK,YAAY;AAAA,YAC3B,UAAU,KAAK,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY;AAAA,cAC7C,GAAG;AAAA,cACH,UAAU,OAAO,YAAY;AAAA,YAC/B,EAAE;AAAA,YACF,QAAQ,KAAK,UAAU,CAAC;AAAA,YACxB,UAAS,oBAAI,KAAK,GAAE,YAAY;AAAA,UAClC,EAAE;AAAA,QACJ;AACA,cAAM,QAAQ,OAAO,OAAO,MAAM;AAClC,SAAC,OAAO,OAAO,WAAW,OAAO,cAAc;AAAA,UAC7C,kBAAkB,OAAO,OAAO,KAAK,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAAI,KAAK,KAAK,EAAE;AAAA,UACrF,KAAK,UAAU,KAAK;AAAA,QACtB;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,OAAO,MAAM;AAAA,IACb;AAAA,EACF;AACA,SAAO,GAAG,eAAe,CAAC,WAAW,KAAK,eAAe,MAAM,CAAC;AAChE,SAAO,KAAK,UAAU,MAAM;AAC1B,UAAM,QAAQ,OAAO,KAAK;AAC1B,UAAM,OAAO,WAAW,QAAQ,MAAM,QAAQ;AAC9C,QAAI,QAAQ,SAAS,OAAO;AAC1B,cAAQ;AACR,WAAK,SAAS,IAAI;AAAA,IACpB;AAAA,EACF,CAAC;AACH;","names":[]}
package/dist/index.d.ts CHANGED
@@ -36,6 +36,10 @@ type VerifyReport = {
36
36
  verifyVersion: string;
37
37
  sdkVersion: string;
38
38
  browser: string;
39
+ /** The browser's CPU benchmark score at the start of the run. Higher is faster. */
40
+ cpuBenchmark?: number;
41
+ /** The CPU throttling rate the timed checks ran at, calibrated from `cpuBenchmark`. */
42
+ cpuThrottlingRate?: number;
39
43
  };
40
44
  startedAt: string;
41
45
  durationMs: number;
@@ -52,6 +56,13 @@ type VerifyReport = {
52
56
  cls?: number;
53
57
  productCardTappableMs?: number;
54
58
  productCardOpenMs?: number;
59
+ menuCssKbGz?: number;
60
+ /** Tap to first paint of each marked overlay, by its `data-zappie-overlay` name: the median of its samples. */
61
+ overlayOpenMs?: Record<string, number>;
62
+ /** Each overlay's timed first opens, one per fresh browser context, in the order they ran. */
63
+ overlayOpenSamplesMs?: Record<string, number[]>;
64
+ /** The CPU throttling rate each of those samples ran at, calibrated just before it. */
65
+ overlayOpenRates?: Record<string, number[]>;
55
66
  };
56
67
  signature?: string;
57
68
  };
@@ -72,9 +83,11 @@ type VerifyOptions = {
72
83
  status: "running" | "passed" | "failed" | "skipped";
73
84
  }) => void;
74
85
  /**
75
- * Answer `/_zappie/view` with 204, as Zappie's site host does on hosting.
76
- * Set it for a local preview, which has no site host, so the page-view
77
- * beacon doesn't fail the routes check. Never set it for a deployed URL.
86
+ * Answer `/_zappie/view` with 204 and `/_zappie/session` as the test site
87
+ * host does: signed out until a check sets its test session cookie. Set it
88
+ * for a local preview, which has no site host, so the page-view beacon and
89
+ * the session check don't fail the routes check. Never set it for a
90
+ * deployed URL.
78
91
  */
79
92
  standInForPlatform?: boolean;
80
93
  signingKey?: string;
@@ -90,13 +103,50 @@ type VerifyProjectOptions = Omit<VerifyOptions, "url" | "store" | "runner"> & {
90
103
  declare class VerifyError extends Error {
91
104
  readonly code: string;
92
105
  readonly hint: string;
93
- constructor(code: string, message: string, hint: string);
106
+ /** Report the check as skipped, not failed. */
107
+ readonly skip: boolean;
108
+ constructor(code: string, message: string, hint: string,
109
+ /** Report the check as skipped, not failed. */
110
+ skip?: boolean);
94
111
  }
95
112
 
96
113
  declare function verifyProject(options: VerifyProjectOptions): Promise<VerifyReport>;
97
114
 
115
+ /** How far a metric may grow over the baseline before it counts as a regression. */
116
+ type RegressionThreshold = {
117
+ /** Growth allowed as a fraction of the baseline value, such as 0.1 for 10%. */
118
+ relative: number;
119
+ /** Growth always allowed, in the metric's own unit, so small values don't trip on noise. */
120
+ absolute: number;
121
+ };
122
+ type RegressionMetric = "menuJsKbGz" | "menuCssKbGz" | "lcpMs" | "cls" | "productCardTappableMs" | "productCardOpenMs" | "overlayOpenMs";
123
+ /**
124
+ * A metric regresses when `head - base > max(absolute, relative × base)`. Sizes are
125
+ * deterministic, so their allowance is small; timings carry runner noise, so theirs is wider.
126
+ */
127
+ declare const DEFAULT_REGRESSION_THRESHOLDS: Record<RegressionMetric, RegressionThreshold>;
128
+ type MetricRegression = {
129
+ /** `menuJsKbGz`, or `overlayOpenMs.<name>` for one overlay. */
130
+ metric: string;
131
+ base: number;
132
+ /** Undefined when the head run no longer records a metric the baseline had. */
133
+ head: number | undefined;
134
+ /** The largest head value the threshold allows. */
135
+ allowed: number;
136
+ };
137
+ type Metrics = VerifyReport["metrics"];
138
+ type ReportMetrics = {
139
+ metrics: Metrics;
140
+ };
141
+ /**
142
+ * Compares a head report's metrics with the target branch's baseline report. A metric the
143
+ * baseline lacks is new and never regresses. A metric the baseline has and the head lacks
144
+ * regresses, so a run can't pass by dropping a measurement.
145
+ */
146
+ declare function findRegressions(baseline: ReportMetrics, head: ReportMetrics, thresholds?: Partial<Record<RegressionMetric, RegressionThreshold>>): MetricRegression[];
147
+
98
148
  declare function printSummary(report: VerifyReport): string;
99
149
 
100
150
  declare function verify(options: VerifyOptions): Promise<VerifyReport>;
101
151
 
102
- export { type CheckResult, type PackageManager, VerifyError, type VerifyOptions, type VerifyProjectOptions, type VerifyReport, printSummary, verify, verifyProject };
152
+ export { type CheckResult, DEFAULT_REGRESSION_THRESHOLDS, type MetricRegression, type PackageManager, type RegressionMetric, type RegressionThreshold, VerifyError, type VerifyOptions, type VerifyProjectOptions, type VerifyReport, findRegressions, printSummary, verify, verifyProject };