@pxdiff/playwright 0.0.11 → 0.0.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAItE,wEAAwE;AACxE,eAAO,MAAM,UAAU,8BAAqC,CAAC;AAE7D,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB;kCAG9C;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,OAAO,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC;;;EA0C3E"}
1
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAItE,wEAAwE;AACxE,eAAO,MAAM,UAAU,8BAAqC,CAAC;AAE7D,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB;kCAG9C;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,OAAO,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC;;;EA4C3E"}
package/dist/fixture.js CHANGED
@@ -1,4 +1,4 @@
1
- import { PxdiffClient } from "@pxdiff/sdk";
1
+ import { PxdiffClient, detectAutoApprove, detectLocal } from "@pxdiff/sdk";
2
2
  import { detectBaselineRef, detectBranch, detectCommit } from "@pxdiff/sdk/git";
3
3
  const DEFAULT_API_URL = "https://pxdiff.com";
4
4
  /** Module-level WeakMap for passing context from fixture to matcher. */
@@ -15,7 +15,8 @@ export function createPxdiffFixture(options) {
15
15
  const apiUrl = options?.apiUrl ?? process.env.PXDIFF_API_URL ?? DEFAULT_API_URL;
16
16
  const suite = options?.suite ?? "playwright";
17
17
  const blocking = options?.blocking ?? true;
18
- const autoBaseline = options?.autoBaseline ?? true;
18
+ const isLocal = detectLocal(options?.local);
19
+ const autoApprove = detectAutoApprove(options?.autoApprove);
19
20
  const branch = await detectBranch(options?.git?.branch ?? process.env.PXDIFF_BRANCH);
20
21
  const commit = await detectCommit(options?.git?.commit ?? process.env.PXDIFF_COMMIT);
21
22
  const baselineRef = detectBaselineRef() ?? branch;
@@ -27,7 +28,8 @@ export function createPxdiffFixture(options) {
27
28
  apiUrl,
28
29
  suite,
29
30
  blocking,
30
- autoBaseline,
31
+ isLocal,
32
+ autoApprove,
31
33
  branch,
32
34
  commit,
33
35
  baselineRef,
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGhF,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IACjE,OAAO;QACN,OAAO,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAwC,EAAE,EAAE;gBAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACd,mDAAmD;wBAClD,+CAA+C,CAChD,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;gBAChF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAC3C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;gBAEnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,iBAAiB,EAAE,IAAI,MAAM,CAAC;gBAElD,kEAAkE;gBAClE,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAErC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;gBAE7D,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,YAAY;oBACZ,MAAM;oBACN,MAAM;oBACN,WAAW;oBACX,SAAS;iBACT,CAAC,CAAC;gBAEH,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;gBAErB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,EAAE,IAAI,EAAE,IAAI,EAAE;SACL;KACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGhF,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IACjE,OAAO;QACN,OAAO,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAwC,EAAE,EAAE;gBAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACd,mDAAmD;wBAClD,+CAA+C,CAChD,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;gBAChF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAE5D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,iBAAiB,EAAE,IAAI,MAAM,CAAC;gBAElD,kEAAkE;gBAClE,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAErC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;gBAE7D,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,OAAO;oBACP,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,WAAW;oBACX,SAAS;iBACT,CAAC,CAAC;gBAEH,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;gBAErB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,EAAE,IAAI,EAAE,IAAI,EAAE;SACL;KACV,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { pxdiffSetup } from "./setup.js";
4
4
  export type { MatchScreenshotOptions, PxdiffFixtureOptions, PxdiffResult, } from "./types.js";
5
5
  declare module "@playwright/test" {
6
6
  interface Matchers<R, T> {
7
- toMatchScreenshot(name: string, options?: import("./types.js").MatchScreenshotOptions): Promise<R>;
7
+ toMatchPxdiff(name: string, options?: import("./types.js").MatchScreenshotOptions): Promise<R>;
8
8
  }
9
9
  }
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,QAAQ,kBAAkB,CAAC;IACjC,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;QACtB,iBAAiB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,sBAAsB,GACnD,OAAO,CAAC,CAAC,CAAC,CAAC;KACd;CACD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,QAAQ,kBAAkB,CAAC;IACjC,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;QACtB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAC/F;CACD"}
@@ -1,7 +1,7 @@
1
1
  import type { Locator, Page } from "@playwright/test";
2
2
  import type { MatchScreenshotOptions } from "./types.js";
3
3
  export declare const pxdiffMatchers: {
4
- toMatchScreenshot(this: {
4
+ toMatchPxdiff(this: {
5
5
  isNot: boolean;
6
6
  }, received: Page | Locator, name: string, options?: MatchScreenshotOptions): Promise<{
7
7
  pass: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAgB,MAAM,YAAY,CAAC;AAyBvE,eAAO,MAAM,cAAc;4BAEnB;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,YACd,IAAI,GAAG,OAAO,QAClB,MAAM,YACF,sBAAsB;;;;CAuHjC,CAAC"}
1
+ {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAgB,MAAM,YAAY,CAAC;AAyBvE,eAAO,MAAM,cAAc;wBAEnB;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,YACd,IAAI,GAAG,OAAO,QAClB,MAAM,YACF,sBAAsB;;;;CAgJjC,CAAC"}
package/dist/matchers.js CHANGED
@@ -16,10 +16,10 @@ function getPage(received) {
16
16
  typeof received.page === "function") {
17
17
  return received.page();
18
18
  }
19
- throw new Error(`toMatchScreenshot() expects a Page or Locator. Got: ${typeof received}`);
19
+ throw new Error(`toMatchPxdiff() expects a Page or Locator. Got: ${typeof received}`);
20
20
  }
21
21
  export const pxdiffMatchers = {
22
- async toMatchScreenshot(received, name, options) {
22
+ async toMatchPxdiff(received, name, options) {
23
23
  const page = getPage(received);
24
24
  const ctx = contextMap.get(page);
25
25
  if (!ctx) {
@@ -65,8 +65,10 @@ export const pxdiffMatchers = {
65
65
  commit: ctx.commit,
66
66
  baselineRef: ctx.baselineRef ?? ctx.branch,
67
67
  viewport,
68
- autoBaseline: ctx.autoBaseline,
68
+ isLocal: ctx.isLocal,
69
+ autoApprove: ctx.autoApprove,
69
70
  sessionId: ctx.sessionId,
71
+ path: options?.path,
70
72
  });
71
73
  const pxdiffResult = {
72
74
  status: result.status,
@@ -74,6 +76,7 @@ export const pxdiffMatchers = {
74
76
  diffUrl: result.diffS3Key,
75
77
  snapshotName: name,
76
78
  viewport: viewport ?? null,
79
+ approvalStatus: result.approvalStatus,
77
80
  };
78
81
  // Attach result as test annotation
79
82
  const testInfo = page?.context?.()
@@ -89,12 +92,21 @@ export const pxdiffMatchers = {
89
92
  }
90
93
  // Determine pass/fail
91
94
  const blocking = options?.blocking ?? ctx.blocking;
95
+ // CI mode: PXDIFF_SESSION_ID set + not local → always soft-fail
96
+ const isCiMode = ctx.sessionId != null && !ctx.isLocal;
92
97
  if (result.status === "unchanged" || result.status === "new") {
93
98
  return {
94
99
  pass: true,
95
100
  message: () => `Screenshot "${name}" is ${result.status}.`,
96
101
  };
97
102
  }
103
+ // Auto-approved changes pass the assertion
104
+ if (result.status === "changed" && result.approvalStatus === "approved") {
105
+ return {
106
+ pass: true,
107
+ message: () => `Screenshot "${name}" changed by ${result.diffPercentage ?? "unknown"}% (auto-approved).`,
108
+ };
109
+ }
98
110
  // Status is "changed"
99
111
  if (options?.maxDiffPixelRatio !== undefined &&
100
112
  result.diffPercentage !== null &&
@@ -105,6 +117,14 @@ export const pxdiffMatchers = {
105
117
  `(within maxDiffPixelRatio of ${options.maxDiffPixelRatio}).`,
106
118
  };
107
119
  }
120
+ // CI mode always soft-fails — check run gates the PR instead
121
+ if (isCiMode) {
122
+ return {
123
+ pass: true,
124
+ message: () => `Screenshot "${name}" changed by ${result.diffPercentage ?? "unknown"}% ` +
125
+ `(CI mode — review in pxdiff dashboard, diff ID: ${result.diffId}).`,
126
+ };
127
+ }
108
128
  if (!blocking) {
109
129
  return {
110
130
  pass: true,
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ import { contextMap } from "./fixture.js";
3
3
  import { pxdiffMatchers } from "./matchers.js";
4
4
  // Mock PxdiffClient
5
5
  vi.mock("@pxdiff/sdk", () => ({
6
- PxdiffClient: vi.fn().mockImplementation(() => ({
7
- uploadSnapshotWithDiff: vi.fn(),
8
- })),
6
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
7
+ PxdiffClient: vi.fn().mockImplementation(function () {
8
+ return { uploadSnapshotWithDiff: vi.fn() };
9
+ }),
9
10
  }));
10
11
  import { PxdiffClient } from "@pxdiff/sdk";
11
12
  function createMockPage(viewportSize = { width: 1280, height: 720 }) {
@@ -33,7 +34,8 @@ const defaultContext = {
33
34
  apiUrl: "https://api.test.pxdiff.com",
34
35
  suite: "e2e",
35
36
  blocking: true,
36
- autoBaseline: true,
37
+ isLocal: false,
38
+ autoApprove: false,
37
39
  branch: "feat/test",
38
40
  commit: "abc123",
39
41
  baselineRef: "main",
@@ -50,13 +52,20 @@ function mockUploadResult(result) {
50
52
  currentS3Key: null,
51
53
  baselineS3Key: null,
52
54
  diffS3Key: null,
55
+ path: null,
56
+ approvalStatus: "pending",
57
+ baselineSource: null,
53
58
  ...result,
54
59
  };
55
- vi.mocked(PxdiffClient).mockImplementation(() => ({
56
- uploadSnapshotWithDiff: vi.fn().mockResolvedValue(fullResult),
57
- }));
60
+ vi.mocked(PxdiffClient).mockImplementation(
61
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
62
+ function () {
63
+ return {
64
+ uploadSnapshotWithDiff: vi.fn().mockResolvedValue(fullResult),
65
+ };
66
+ });
58
67
  }
59
- describe("pxdiffMatchers.toMatchScreenshot", () => {
68
+ describe("pxdiffMatchers.toMatchPxdiff", () => {
60
69
  let page;
61
70
  const matcherContext = { isNot: false };
62
71
  beforeEach(() => {
@@ -69,13 +78,13 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
69
78
  });
70
79
  it("passes for unchanged snapshots", async () => {
71
80
  mockUploadResult({ status: "unchanged" });
72
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "homepage");
81
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "homepage");
73
82
  expect(result.pass).toBe(true);
74
83
  expect(result.message()).toContain("unchanged");
75
84
  });
76
85
  it("passes for new snapshots", async () => {
77
86
  mockUploadResult({ status: "new" });
78
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "new-page");
87
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "new-page");
79
88
  expect(result.pass).toBe(true);
80
89
  expect(result.message()).toContain("new");
81
90
  });
@@ -86,22 +95,58 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
86
95
  diffId: "diff-abc",
87
96
  diffS3Key: "diffs/diff-abc/hash.png",
88
97
  });
89
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "login");
98
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "login");
90
99
  expect(result.pass).toBe(false);
91
100
  expect(result.message()).toContain("visual differences");
92
101
  expect(result.message()).toContain("5.2%");
93
102
  expect(result.message()).toContain("diff-abc");
94
103
  });
104
+ it("passes for auto-approved changed snapshots", async () => {
105
+ mockUploadResult({
106
+ status: "changed",
107
+ diffPercentage: 3.5,
108
+ approvalStatus: "approved",
109
+ });
110
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "auto-approved");
111
+ expect(result.pass).toBe(true);
112
+ expect(result.message()).toContain("auto-approved");
113
+ expect(result.message()).toContain("3.5%");
114
+ });
115
+ it("passes autoApprove from context to uploadSnapshotWithDiff", async () => {
116
+ contextMap.set(page, { ...defaultContext, autoApprove: true });
117
+ const uploadMock = vi.fn().mockResolvedValue({
118
+ name: "test",
119
+ suite: "e2e",
120
+ status: "unchanged",
121
+ diffPercentage: null,
122
+ diffId: "diff-1",
123
+ captureId: "cap-1",
124
+ currentS3Key: null,
125
+ baselineS3Key: null,
126
+ diffS3Key: null,
127
+ approvalStatus: "pending",
128
+ baselineSource: null,
129
+ });
130
+ vi.mocked(PxdiffClient).mockImplementation(
131
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
132
+ function () {
133
+ return {
134
+ uploadSnapshotWithDiff: uploadMock,
135
+ };
136
+ });
137
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "test-auto-approve");
138
+ expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ autoApprove: true }));
139
+ });
95
140
  it("passes for changed snapshots in non-blocking mode (fixture-level)", async () => {
96
141
  contextMap.set(page, { ...defaultContext, blocking: false });
97
142
  mockUploadResult({ status: "changed", diffPercentage: 3.1 });
98
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "dashboard");
143
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "dashboard");
99
144
  expect(result.pass).toBe(true);
100
145
  expect(result.message()).toContain("non-blocking");
101
146
  });
102
147
  it("passes for changed snapshots in non-blocking mode (option-level)", async () => {
103
148
  mockUploadResult({ status: "changed", diffPercentage: 2.0 });
104
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "dashboard", {
149
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "dashboard", {
105
150
  blocking: false,
106
151
  });
107
152
  expect(result.pass).toBe(true);
@@ -109,13 +154,15 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
109
154
  });
110
155
  it("passes when diffPercentage is within maxDiffPixelRatio", async () => {
111
156
  mockUploadResult({ status: "changed", diffPercentage: 0.5 });
112
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "subtle-change", { maxDiffPixelRatio: 0.01 });
157
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "subtle-change", {
158
+ maxDiffPixelRatio: 0.01,
159
+ });
113
160
  expect(result.pass).toBe(true);
114
161
  expect(result.message()).toContain("maxDiffPixelRatio");
115
162
  });
116
163
  it("fails when diffPercentage exceeds maxDiffPixelRatio", async () => {
117
164
  mockUploadResult({ status: "changed", diffPercentage: 5.0 });
118
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "big-change", {
165
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "big-change", {
119
166
  maxDiffPixelRatio: 0.01,
120
167
  });
121
168
  expect(result.pass).toBe(false);
@@ -124,21 +171,21 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
124
171
  it("works with a Locator instead of Page", async () => {
125
172
  const locator = createMockLocator(page);
126
173
  mockUploadResult({ status: "unchanged" });
127
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, locator, "button");
174
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, locator, "button");
128
175
  expect(result.pass).toBe(true);
129
176
  // Should call screenshot on the locator, not the page
130
177
  expect(locator.screenshot.mock.calls).toHaveLength(1);
131
178
  });
132
179
  it("returns error when context is missing", async () => {
133
180
  contextMap.delete(page);
134
- const result = await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "no-context");
181
+ const result = await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "no-context");
135
182
  expect(result.pass).toBe(false);
136
183
  expect(result.message()).toContain("pxdiff context not found");
137
184
  });
138
185
  it("sets viewport before taking screenshot", async () => {
139
186
  mockUploadResult({ status: "unchanged" });
140
187
  const viewport = { width: 375, height: 812 };
141
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "mobile", {
188
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "mobile", {
142
189
  viewport,
143
190
  });
144
191
  expect(page.setViewportSize.mock
@@ -146,7 +193,7 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
146
193
  });
147
194
  it("passes screenshot options through", async () => {
148
195
  mockUploadResult({ status: "unchanged" });
149
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "full-page", {
196
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "full-page", {
150
197
  fullPage: true,
151
198
  animations: "disabled",
152
199
  timeout: 5000,
@@ -169,10 +216,14 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
169
216
  baselineS3Key: null,
170
217
  diffS3Key: null,
171
218
  });
172
- vi.mocked(PxdiffClient).mockImplementation(() => ({
173
- uploadSnapshotWithDiff: uploadMock,
174
- }));
175
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "test-session");
219
+ vi.mocked(PxdiffClient).mockImplementation(
220
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
221
+ function () {
222
+ return {
223
+ uploadSnapshotWithDiff: uploadMock,
224
+ };
225
+ });
226
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "test-session");
176
227
  expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ sessionId: "sess-123" }));
177
228
  });
178
229
  it("passes undefined sessionId when env var not set", async () => {
@@ -187,12 +238,54 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
187
238
  baselineS3Key: null,
188
239
  diffS3Key: null,
189
240
  });
190
- vi.mocked(PxdiffClient).mockImplementation(() => ({
191
- uploadSnapshotWithDiff: uploadMock,
192
- }));
193
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "test-no-session");
241
+ vi.mocked(PxdiffClient).mockImplementation(
242
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
243
+ function () {
244
+ return {
245
+ uploadSnapshotWithDiff: uploadMock,
246
+ };
247
+ });
248
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "test-no-session");
194
249
  expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ sessionId: undefined }));
195
250
  });
251
+ it("passes isLocal from context to uploadSnapshotWithDiff", async () => {
252
+ contextMap.set(page, { ...defaultContext, isLocal: true });
253
+ const uploadMock = vi.fn().mockResolvedValue({
254
+ name: "test",
255
+ suite: "e2e",
256
+ status: "unchanged",
257
+ diffPercentage: null,
258
+ diffId: "diff-1",
259
+ captureId: "cap-1",
260
+ currentS3Key: null,
261
+ baselineS3Key: null,
262
+ diffS3Key: null,
263
+ approvalStatus: "pending",
264
+ baselineSource: null,
265
+ });
266
+ vi.mocked(PxdiffClient).mockImplementation(
267
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
268
+ function () {
269
+ return {
270
+ uploadSnapshotWithDiff: uploadMock,
271
+ };
272
+ });
273
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "test-local");
274
+ expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ isLocal: true }));
275
+ });
276
+ it("includes approvalStatus in PxdiffResult annotation", async () => {
277
+ mockUploadResult({ status: "changed", diffPercentage: 2.0, approvalStatus: "approved" });
278
+ const annotations = [];
279
+ const pageWithAnnotations = createMockPage();
280
+ pageWithAnnotations.context = vi
281
+ .fn()
282
+ .mockReturnValue({ _testInfo: { annotations } });
283
+ contextMap.set(pageWithAnnotations, { ...defaultContext, blocking: false });
284
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, pageWithAnnotations, "approved-shot");
285
+ expect(annotations).toHaveLength(1);
286
+ const parsed = JSON.parse(annotations[0]?.description ?? "{}");
287
+ expect(parsed.approvalStatus).toBe("approved");
288
+ });
196
289
  it("sends correct metadata to uploadSnapshotWithDiff", async () => {
197
290
  const uploadMock = vi.fn().mockResolvedValue({
198
291
  name: "test",
@@ -205,10 +298,14 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
205
298
  baselineS3Key: null,
206
299
  diffS3Key: null,
207
300
  });
208
- vi.mocked(PxdiffClient).mockImplementation(() => ({
209
- uploadSnapshotWithDiff: uploadMock,
210
- }));
211
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "test");
301
+ vi.mocked(PxdiffClient).mockImplementation(
302
+ // biome-ignore lint/complexity/useArrowFunction: vitest 4 requires function/class for constructor mocks
303
+ function () {
304
+ return {
305
+ uploadSnapshotWithDiff: uploadMock,
306
+ };
307
+ });
308
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "test");
212
309
  expect(uploadMock).toHaveBeenCalledWith({
213
310
  name: "test",
214
311
  png: expect.any(Uint8Array),
@@ -217,16 +314,17 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
217
314
  commit: "abc123",
218
315
  baselineRef: "main",
219
316
  viewport: { width: 1280, height: 720 },
220
- autoBaseline: true,
317
+ isLocal: false,
318
+ autoApprove: false,
221
319
  sessionId: undefined,
222
320
  });
223
321
  });
224
322
  it("throws for non-page/non-locator values", async () => {
225
- await expect(pxdiffMatchers.toMatchScreenshot.call(matcherContext, "not-a-page", "test")).rejects.toThrow("toMatchScreenshot() expects a Page or Locator");
323
+ await expect(pxdiffMatchers.toMatchPxdiff.call(matcherContext, "not-a-page", "test")).rejects.toThrow("toMatchPxdiff() expects a Page or Locator");
226
324
  });
227
325
  it("injects ignore CSS with custom selectors before screenshot", async () => {
228
326
  mockUploadResult({ status: "unchanged" });
229
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "with-ignore", {
327
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "with-ignore", {
230
328
  ignoreSelectors: [".ad-banner", "#clock"],
231
329
  });
232
330
  const addStyleTag = page.addStyleTag;
@@ -240,7 +338,7 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
240
338
  });
241
339
  it("injects default ignore CSS even without custom selectors", async () => {
242
340
  mockUploadResult({ status: "unchanged" });
243
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "default-ignore");
341
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "default-ignore");
244
342
  const addStyleTag = page.addStyleTag;
245
343
  expect(addStyleTag).toHaveBeenCalledOnce();
246
344
  const cssArg = addStyleTag.mock.calls[0]?.[0];
@@ -251,14 +349,14 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
251
349
  });
252
350
  it("removes ignore CSS style element after screenshot", async () => {
253
351
  mockUploadResult({ status: "unchanged" });
254
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "cleanup-test");
352
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "cleanup-test");
255
353
  const evaluate = page.evaluate;
256
354
  // evaluate should be called to remove the style element
257
355
  expect(evaluate).toHaveBeenCalledWith(expect.any(Function), expect.anything());
258
356
  });
259
357
  it("waits 16ms for reflow after injecting ignore CSS", async () => {
260
358
  mockUploadResult({ status: "unchanged" });
261
- await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "reflow-test");
359
+ await pxdiffMatchers.toMatchPxdiff.call(matcherContext, page, "reflow-test");
262
360
  const waitForTimeout = page
263
361
  .waitForTimeout;
264
362
  expect(waitForTimeout).toHaveBeenCalledWith(16);
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.test.js","sourceRoot":"","sources":["../src/matchers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchers.test.js","sourceRoot":"","sources":["../src/matchers.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,oBAAoB;AACpB,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,wGAAwG;IACxG,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC;QACxC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,SAAS,cAAc,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAClE,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG;QACZ,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QACnD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACrD,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACnD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACpD,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC9C,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACrD,CAAC;IACF,OAAO,IAAkD,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAqC;IAC/D,MAAM,OAAO,GAAG;QACf,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;KACnC,CAAC;IACF,OAAO,OAAwD,CAAC;AACjE,CAAC;AAED,MAAM,cAAc,GAAkB;IACrC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,SAAS;CACpB,CAAC;AAEF,SAAS,gBAAgB,CAAC,MAAmC;IAC5D,MAAM,UAAU,GAAuB;QACtC,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,IAAI;QACpB,GAAG,MAAM;KACT,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;IACzC,wGAAwG;IACxG;QACC,OAAO;YACN,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;SACb,CAAC;IACnD,CAAC,CACD,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC7C,IAAI,IAAqC,CAAC;IAC1C,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAExC,UAAU,CAAC,GAAG,EAAE;QACf,IAAI,GAAG,cAAc,EAAE,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,EAAE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC/C,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAEzF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAEzF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC7D,gBAAgB,CAAC;YAChB,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,yBAAyB;SACpC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEtF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC3D,gBAAgB,CAAC;YAChB,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,GAAG;YACnB,cAAc,EAAE,UAAU;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QAE9F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC1E,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;QACzC,wGAAwG;QACxG;YACC,OAAO;gBACN,sBAAsB,EAAE,UAAU;aACc,CAAC;QACnD,CAAC,CACD,CAAC;QAEF,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEnF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAClF,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QACjF,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;YACzF,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE;YAC7F,iBAAiB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;YAC1F,iBAAiB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,sDAAsD;QACtD,MAAM,CACJ,OAAqE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAC5F,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAE3F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAE7C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvE,QAAQ;SACR,CAAC,CAAC;QAEH,MAAM,CACJ,IAAuE,CAAC,eAAe,CAAC,IAAI;aAC3F,KAAK,CAAC,CAAC,CAAC,CACV,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAClD,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;YAC1E,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,cAAc,GACnB,IACA,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACxE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;QACzC,wGAAwG;QACxG;YACC,OAAO;gBACN,sBAAsB,EAAE,UAAU;aACc,CAAC;QACnD,CAAC,CACD,CAAC;QAEF,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAE9E,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;QACzC,wGAAwG;QACxG;YACC,OAAO;gBACN,sBAAsB,EAAE,UAAU;aACc,CAAC;QACnD,CAAC,CACD,CAAC;QAEF,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEjF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACtE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;QACzC,wGAAwG;QACxG;YACC,OAAO;gBACN,sBAAsB,EAAE,UAAU;aACc,CAAC;QACnD,CAAC,CACD,CAAC;QAEF,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAE5E,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACnE,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;QACzF,MAAM,WAAW,GAAiD,EAAE,CAAC;QACrE,MAAM,mBAAmB,GAAG,cAAc,EAAE,CAAC;QAC5C,mBAAwE,CAAC,OAAO,GAAG,EAAE;aACpF,EAAE,EAAE;aACJ,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClD,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAE9F,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB;QACzC,wGAAwG;QACxG;YACC,OAAO;gBACN,sBAAsB,EAAE,UAAU;aACc,CAAC;QACnD,CAAC,CACD,CAAC;QAEF,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACvC,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,MAAM;YACnB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YACtC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,SAAS;SACpB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,CACX,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,YAAqB,EAAE,MAAM,CAAC,CAChF,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC3E,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE;YAC5E,eAAe,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;SACzC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAI,IAA6D,CAAC,WAAW,CAAC;QAC/F,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAwB,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACzE,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAI,IAA6D,CAAC,WAAW,CAAC;QAC/F,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAwB,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC9D,0CAA0C;QAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAI,IAA0D,CAAC,QAAQ,CAAC;QACtF,wDAAwD;QACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QACjE,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1C,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAE7E,MAAM,cAAc,GAAI,IAAgE;aACtF,cAAc,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -10,8 +10,10 @@ export interface PxdiffFixtureOptions {
10
10
  branch?: string;
11
11
  commit?: string;
12
12
  };
13
- /** Auto-promote snapshots to baseline when no baseline exists. Defaults to true. */
14
- autoBaseline?: boolean;
13
+ /** Run in local mode (no CI). Auto-detected from PXDIFF_LOCAL or CI env vars. */
14
+ local?: boolean;
15
+ /** Auto-approve changed snapshots. Auto-detected from PXDIFF_AUTO_APPROVE env var. */
16
+ autoApprove?: boolean;
15
17
  }
16
18
  export interface MatchScreenshotOptions {
17
19
  /** Override blocking mode for this snapshot. */
@@ -35,6 +37,8 @@ export interface MatchScreenshotOptions {
35
37
  animations?: "disabled" | "allow";
36
38
  /** Screenshot timeout in ms. */
37
39
  timeout?: number;
40
+ /** Display hierarchy path for tree grouping in the review UI. */
41
+ path?: string[];
38
42
  }
39
43
  export interface PxdiffResult {
40
44
  status: "new" | "changed" | "unchanged";
@@ -45,13 +49,15 @@ export interface PxdiffResult {
45
49
  width: number;
46
50
  height: number;
47
51
  } | null;
52
+ approvalStatus: "pending" | "approved" | "rejected";
48
53
  }
49
54
  export interface PxdiffContext {
50
55
  apiKey: string;
51
56
  apiUrl: string;
52
57
  suite: string;
53
58
  blocking: boolean;
54
- autoBaseline: boolean;
59
+ isLocal: boolean;
60
+ autoApprove: boolean;
55
61
  branch: string;
56
62
  commit: string;
57
63
  baselineRef: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,GAAG,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,GAAG,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,cAAc,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pxdiff/playwright",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -18,7 +18,7 @@
18
18
  "dist"
19
19
  ],
20
20
  "dependencies": {
21
- "@pxdiff/sdk": "0.0.11"
21
+ "@pxdiff/sdk": "0.0.13"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "@playwright/test": ">=1.40"
@@ -26,7 +26,7 @@
26
26
  "devDependencies": {
27
27
  "@playwright/test": "^1.50.0",
28
28
  "typescript": "^5.7.3",
29
- "vitest": "^3.0.5"
29
+ "vitest": "^4.0.0"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsc --build",