@pxdiff/playwright 0.0.3 → 0.0.5
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/fixture.d.ts.map +1 -1
- package/dist/fixture.js +3 -1
- package/dist/fixture.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/matchers.d.ts.map +1 -1
- package/dist/matchers.js +1 -0
- package/dist/matchers.js.map +1 -1
- package/dist/matchers.test.js +39 -0
- package/dist/matchers.test.js.map +1 -1
- package/dist/setup.d.ts +10 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +16 -0
- package/dist/setup.js.map +1 -0
- package/dist/setup.test.d.ts +2 -0
- package/dist/setup.test.d.ts.map +1 -0
- package/dist/setup.test.js +27 -0
- package/dist/setup.test.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
- package/dist/git.d.ts +0 -4
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -61
- package/dist/git.js.map +0 -1
- package/dist/git.test.d.ts +0 -2
- package/dist/git.test.d.ts.map +0 -1
- package/dist/git.test.js +0 -119
- package/dist/git.test.js.map +0 -1
package/dist/fixture.d.ts.map
CHANGED
|
@@ -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;;;
|
|
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"}
|
package/dist/fixture.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PxdiffClient } from "@pxdiff/sdk";
|
|
2
|
-
import { detectBaselineRef, detectBranch, detectCommit } from "
|
|
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. */
|
|
5
5
|
export const contextMap = new WeakMap();
|
|
@@ -21,6 +21,7 @@ export function createPxdiffFixture(options) {
|
|
|
21
21
|
const baselineRef = detectBaselineRef() ?? branch;
|
|
22
22
|
// Verify the client can be created (validates apiKey format etc.)
|
|
23
23
|
new PxdiffClient({ apiKey, apiUrl });
|
|
24
|
+
const sessionId = process.env.PXDIFF_SESSION_ID || undefined;
|
|
24
25
|
contextMap.set(page, {
|
|
25
26
|
apiKey,
|
|
26
27
|
apiUrl,
|
|
@@ -30,6 +31,7 @@ export function createPxdiffFixture(options) {
|
|
|
30
31
|
branch,
|
|
31
32
|
commit,
|
|
32
33
|
baselineRef,
|
|
34
|
+
sessionId,
|
|
33
35
|
});
|
|
34
36
|
await use(undefined);
|
|
35
37
|
contextMap.delete(page);
|
package/dist/fixture.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createPxdiffFixture } from "./fixture.js";
|
|
2
2
|
export { pxdiffMatchers } from "./matchers.js";
|
|
3
|
+
export { pxdiffSetup } from "./setup.js";
|
|
3
4
|
export type { MatchScreenshotOptions, PxdiffFixtureOptions, PxdiffResult, } from "./types.js";
|
|
4
5
|
declare module "@playwright/test" {
|
|
5
6
|
interface Matchers<R, T> {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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,iBAAiB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,sBAAsB,GACnD,OAAO,CAAC,CAAC,CAAC,CAAC;KACd;CACD"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","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"}
|
package/dist/matchers.d.ts.map
CHANGED
|
@@ -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;;;;
|
|
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;;;;CA4GjC,CAAC"}
|
package/dist/matchers.js
CHANGED
package/dist/matchers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,SAAS,MAAM,CAAC,KAAc;IAC7B,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,YAAY,IAAI,KAAK;QACrB,cAAc,IAAI,KAAK;QACvB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAClB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,QAAiB;IACjC,IAAI,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtC,IACC,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,MAAM,IAAI,QAAQ;QAClB,OAAQ,QAAoB,CAAC,IAAI,KAAK,UAAU,EAC/C,CAAC;QACF,OAAQ,QAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,QAAQ,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,KAAK,CAAC,iBAAiB,CAEtB,QAAwB,EACxB,IAAY,EACZ,OAAgC;QAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;gBACN,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAG,EAAE,CACb,uEAAuE;oBACvE,2CAA2C;aAC5C,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAAoB,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC;YAC7C,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,IAAI,EAAE,OAAO,EAAE,IAA6B;YAC5C,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,YAAY;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE;YAC5D,CAAC,CAAC,SAAS,CAAC;QAEb,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC;YAClD,IAAI;YACJ,GAAG;YACH,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM;YAC1C,QAAQ;YACR,YAAY,EAAE,GAAG,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"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"}
|
package/dist/matchers.test.js
CHANGED
|
@@ -33,6 +33,7 @@ const defaultContext = {
|
|
|
33
33
|
branch: "feat/test",
|
|
34
34
|
commit: "abc123",
|
|
35
35
|
baselineRef: "main",
|
|
36
|
+
sessionId: undefined,
|
|
36
37
|
};
|
|
37
38
|
function mockUploadResult(result) {
|
|
38
39
|
const fullResult = {
|
|
@@ -151,6 +152,43 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
|
|
|
151
152
|
expect(screenshotCall?.animations).toBe("disabled");
|
|
152
153
|
expect(screenshotCall?.timeout).toBe(5000);
|
|
153
154
|
});
|
|
155
|
+
it("passes sessionId from context to uploadSnapshotWithDiff", async () => {
|
|
156
|
+
contextMap.set(page, { ...defaultContext, sessionId: "sess-123" });
|
|
157
|
+
const uploadMock = vi.fn().mockResolvedValue({
|
|
158
|
+
name: "test",
|
|
159
|
+
suite: "e2e",
|
|
160
|
+
status: "unchanged",
|
|
161
|
+
diffPercentage: null,
|
|
162
|
+
diffId: "diff-1",
|
|
163
|
+
captureId: "cap-1",
|
|
164
|
+
currentS3Key: null,
|
|
165
|
+
baselineS3Key: null,
|
|
166
|
+
diffS3Key: null,
|
|
167
|
+
});
|
|
168
|
+
vi.mocked(PxdiffClient).mockImplementation(() => ({
|
|
169
|
+
uploadSnapshotWithDiff: uploadMock,
|
|
170
|
+
}));
|
|
171
|
+
await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "test-session");
|
|
172
|
+
expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ sessionId: "sess-123" }));
|
|
173
|
+
});
|
|
174
|
+
it("passes undefined sessionId when env var not set", async () => {
|
|
175
|
+
const uploadMock = vi.fn().mockResolvedValue({
|
|
176
|
+
name: "test",
|
|
177
|
+
suite: "e2e",
|
|
178
|
+
status: "unchanged",
|
|
179
|
+
diffPercentage: null,
|
|
180
|
+
diffId: "diff-1",
|
|
181
|
+
captureId: "cap-1",
|
|
182
|
+
currentS3Key: null,
|
|
183
|
+
baselineS3Key: null,
|
|
184
|
+
diffS3Key: null,
|
|
185
|
+
});
|
|
186
|
+
vi.mocked(PxdiffClient).mockImplementation(() => ({
|
|
187
|
+
uploadSnapshotWithDiff: uploadMock,
|
|
188
|
+
}));
|
|
189
|
+
await pxdiffMatchers.toMatchScreenshot.call(matcherContext, page, "test-no-session");
|
|
190
|
+
expect(uploadMock).toHaveBeenCalledWith(expect.objectContaining({ sessionId: undefined }));
|
|
191
|
+
});
|
|
154
192
|
it("sends correct metadata to uploadSnapshotWithDiff", async () => {
|
|
155
193
|
const uploadMock = vi.fn().mockResolvedValue({
|
|
156
194
|
name: "test",
|
|
@@ -176,6 +214,7 @@ describe("pxdiffMatchers.toMatchScreenshot", () => {
|
|
|
176
214
|
baselineRef: "main",
|
|
177
215
|
viewport: { width: 1280, height: 720 },
|
|
178
216
|
autoBaseline: true,
|
|
217
|
+
sessionId: undefined,
|
|
179
218
|
});
|
|
180
219
|
});
|
|
181
220
|
it("throws for non-page/non-locator values", async () => {
|
|
@@ -1 +1 @@
|
|
|
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,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B,CAAC,CAAC;CACH,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,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,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,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"matchers.test.js","sourceRoot":"","sources":["../src/matchers.test.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a session ID and sets it in `process.env.PXDIFF_SESSION_ID`.
|
|
3
|
+
* Call this in your Playwright `globalSetup` to group all screenshots
|
|
4
|
+
* from a single test run into one capture and one diff.
|
|
5
|
+
*
|
|
6
|
+
* Does not overwrite an existing `PXDIFF_SESSION_ID` value.
|
|
7
|
+
*/
|
|
8
|
+
export declare function pxdiffSetup(): void;
|
|
9
|
+
export default function setup(): void;
|
|
10
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAGD,MAAM,CAAC,OAAO,UAAU,KAAK,IAAI,IAAI,CAEpC"}
|
package/dist/setup.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Generates a session ID and sets it in `process.env.PXDIFF_SESSION_ID`.
|
|
4
|
+
* Call this in your Playwright `globalSetup` to group all screenshots
|
|
5
|
+
* from a single test run into one capture and one diff.
|
|
6
|
+
*
|
|
7
|
+
* Does not overwrite an existing `PXDIFF_SESSION_ID` value.
|
|
8
|
+
*/
|
|
9
|
+
export function pxdiffSetup() {
|
|
10
|
+
process.env.PXDIFF_SESSION_ID ??= randomUUID();
|
|
11
|
+
}
|
|
12
|
+
// biome-ignore lint/style/noDefaultExport: Playwright requires default export for globalSetup
|
|
13
|
+
export default function setup() {
|
|
14
|
+
pxdiffSetup();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;AAChD,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,OAAO,UAAU,KAAK;IAC5B,WAAW,EAAE,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.test.d.ts","sourceRoot":"","sources":["../src/setup.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { pxdiffSetup } from "./setup.js";
|
|
3
|
+
describe("pxdiffSetup", () => {
|
|
4
|
+
const originalSessionId = process.env.PXDIFF_SESSION_ID;
|
|
5
|
+
afterEach(() => {
|
|
6
|
+
if (originalSessionId !== undefined) {
|
|
7
|
+
process.env.PXDIFF_SESSION_ID = originalSessionId;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
// biome-ignore lint/performance/noDelete: must truly remove env var (assigning undefined sets string "undefined")
|
|
11
|
+
delete process.env.PXDIFF_SESSION_ID;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
it("sets PXDIFF_SESSION_ID when not set", () => {
|
|
15
|
+
// biome-ignore lint/performance/noDelete: must truly remove env var (assigning undefined sets string "undefined")
|
|
16
|
+
delete process.env.PXDIFF_SESSION_ID;
|
|
17
|
+
pxdiffSetup();
|
|
18
|
+
expect(process.env.PXDIFF_SESSION_ID).toBeDefined();
|
|
19
|
+
expect(process.env.PXDIFF_SESSION_ID).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/);
|
|
20
|
+
});
|
|
21
|
+
it("does not overwrite existing PXDIFF_SESSION_ID", () => {
|
|
22
|
+
process.env.PXDIFF_SESSION_ID = "existing-session-id";
|
|
23
|
+
pxdiffSetup();
|
|
24
|
+
expect(process.env.PXDIFF_SESSION_ID).toBe("existing-session-id");
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=setup.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../src/setup.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QACnD,CAAC;aAAM,CAAC;YACP,kHAAkH;YAClH,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACtC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,kHAAkH;QAClH,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAErC,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAC5C,uEAAuE,CACvE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;QAEtD,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -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,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;
|
|
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,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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pxdiff/playwright",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"import": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts"
|
|
9
|
+
},
|
|
10
|
+
"./setup": {
|
|
11
|
+
"import": "./dist/setup.js",
|
|
12
|
+
"types": "./dist/setup.d.ts"
|
|
9
13
|
}
|
|
10
14
|
},
|
|
11
15
|
"files": [
|
|
12
16
|
"dist"
|
|
13
17
|
],
|
|
14
18
|
"dependencies": {
|
|
15
|
-
"@pxdiff/sdk": "0.0.
|
|
19
|
+
"@pxdiff/sdk": "0.0.5"
|
|
16
20
|
},
|
|
17
21
|
"peerDependencies": {
|
|
18
22
|
"@playwright/test": ">=1.40"
|
package/dist/git.d.ts
DELETED
package/dist/git.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBrE;AAED,wBAAsB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBrE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD"}
|
package/dist/git.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
2
|
-
import { promisify } from "node:util";
|
|
3
|
-
const execFileAsync = promisify(execFile);
|
|
4
|
-
export async function detectBranch(override) {
|
|
5
|
-
if (override)
|
|
6
|
-
return override;
|
|
7
|
-
// GitHub Actions: PR head branch
|
|
8
|
-
const ghHead = process.env.GITHUB_HEAD_REF;
|
|
9
|
-
if (ghHead)
|
|
10
|
-
return ghHead;
|
|
11
|
-
// GitHub Actions: push branch (strip refs/heads/ prefix)
|
|
12
|
-
const ghRef = process.env.GITHUB_REF;
|
|
13
|
-
if (ghRef) {
|
|
14
|
-
const prefix = "refs/heads/";
|
|
15
|
-
return ghRef.startsWith(prefix) ? ghRef.slice(prefix.length) : ghRef;
|
|
16
|
-
}
|
|
17
|
-
// GitLab CI
|
|
18
|
-
const glRef = process.env.CI_COMMIT_REF_NAME;
|
|
19
|
-
if (glRef)
|
|
20
|
-
return glRef;
|
|
21
|
-
// Local git
|
|
22
|
-
try {
|
|
23
|
-
const { stdout } = await execFileAsync("git", ["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
24
|
-
return stdout.trim();
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
throw new Error("Failed to detect git branch. Set PXDIFF_BRANCH or run in a git repository.");
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export async function detectCommit(override) {
|
|
31
|
-
if (override)
|
|
32
|
-
return override;
|
|
33
|
-
// GitHub Actions
|
|
34
|
-
const ghSha = process.env.GITHUB_SHA;
|
|
35
|
-
if (ghSha)
|
|
36
|
-
return ghSha;
|
|
37
|
-
// GitLab CI
|
|
38
|
-
const glSha = process.env.CI_COMMIT_SHA;
|
|
39
|
-
if (glSha)
|
|
40
|
-
return glSha;
|
|
41
|
-
// Local git
|
|
42
|
-
try {
|
|
43
|
-
const { stdout } = await execFileAsync("git", ["rev-parse", "HEAD"]);
|
|
44
|
-
return stdout.trim();
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
throw new Error("Failed to detect git commit. Set PXDIFF_COMMIT or run in a git repository.");
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export function detectBaselineRef() {
|
|
51
|
-
// GitHub Actions: PR base branch
|
|
52
|
-
const ghBase = process.env.GITHUB_BASE_REF;
|
|
53
|
-
if (ghBase)
|
|
54
|
-
return ghBase;
|
|
55
|
-
// Explicit override
|
|
56
|
-
const pxdiffRef = process.env.PXDIFF_BASELINE_REF;
|
|
57
|
-
if (pxdiffRef)
|
|
58
|
-
return pxdiffRef;
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=git.js.map
|
package/dist/git.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAiB;IACnD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,yDAAyD;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrC,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAED,YAAY;IACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC7C,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC/F,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAiB;IACnD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,iBAAiB;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACxC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC/F,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,oBAAoB;IACpB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAClD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,IAAI,CAAC;AACb,CAAC"}
|
package/dist/git.test.d.ts
DELETED
package/dist/git.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.test.d.ts","sourceRoot":"","sources":["../src/git.test.ts"],"names":[],"mappings":""}
|
package/dist/git.test.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
// Mock child_process before importing the module
|
|
3
|
-
vi.mock("node:child_process", () => ({
|
|
4
|
-
execFile: vi.fn(),
|
|
5
|
-
}));
|
|
6
|
-
import { execFile } from "node:child_process";
|
|
7
|
-
import { detectBaselineRef, detectBranch, detectCommit } from "./git.js";
|
|
8
|
-
function mockExecFile(stdout) {
|
|
9
|
-
vi.mocked(execFile).mockImplementation((_cmd, _args, cb) => {
|
|
10
|
-
cb(null, { stdout });
|
|
11
|
-
return undefined;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
function mockExecFileError() {
|
|
15
|
-
vi.mocked(execFile).mockImplementation((_cmd, _args, cb) => {
|
|
16
|
-
cb(new Error("git not found"));
|
|
17
|
-
return undefined;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
describe("detectBranch", () => {
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
vi.unstubAllEnvs();
|
|
23
|
-
});
|
|
24
|
-
afterEach(() => {
|
|
25
|
-
vi.restoreAllMocks();
|
|
26
|
-
});
|
|
27
|
-
it("returns override when provided", async () => {
|
|
28
|
-
expect(await detectBranch("my-branch")).toBe("my-branch");
|
|
29
|
-
});
|
|
30
|
-
it("reads GITHUB_HEAD_REF for PR branches", async () => {
|
|
31
|
-
vi.stubEnv("GITHUB_HEAD_REF", "feat/new-feature");
|
|
32
|
-
expect(await detectBranch()).toBe("feat/new-feature");
|
|
33
|
-
});
|
|
34
|
-
it("reads GITHUB_REF and strips refs/heads/ prefix", async () => {
|
|
35
|
-
vi.stubEnv("GITHUB_HEAD_REF", "");
|
|
36
|
-
vi.stubEnv("GITHUB_REF", "refs/heads/main");
|
|
37
|
-
expect(await detectBranch()).toBe("main");
|
|
38
|
-
});
|
|
39
|
-
it("returns GITHUB_REF as-is when not a heads ref", async () => {
|
|
40
|
-
vi.stubEnv("GITHUB_HEAD_REF", "");
|
|
41
|
-
vi.stubEnv("GITHUB_REF", "refs/tags/v1.0.0");
|
|
42
|
-
expect(await detectBranch()).toBe("refs/tags/v1.0.0");
|
|
43
|
-
});
|
|
44
|
-
it("reads CI_COMMIT_REF_NAME for GitLab CI", async () => {
|
|
45
|
-
vi.stubEnv("GITHUB_HEAD_REF", "");
|
|
46
|
-
vi.stubEnv("GITHUB_REF", "");
|
|
47
|
-
vi.stubEnv("CI_COMMIT_REF_NAME", "develop");
|
|
48
|
-
expect(await detectBranch()).toBe("develop");
|
|
49
|
-
});
|
|
50
|
-
it("falls back to git rev-parse", async () => {
|
|
51
|
-
vi.stubEnv("GITHUB_HEAD_REF", "");
|
|
52
|
-
vi.stubEnv("GITHUB_REF", "");
|
|
53
|
-
vi.stubEnv("CI_COMMIT_REF_NAME", "");
|
|
54
|
-
mockExecFile("feature-branch\n");
|
|
55
|
-
expect(await detectBranch()).toBe("feature-branch");
|
|
56
|
-
});
|
|
57
|
-
it("throws when git command fails and no env vars set", async () => {
|
|
58
|
-
vi.stubEnv("GITHUB_HEAD_REF", "");
|
|
59
|
-
vi.stubEnv("GITHUB_REF", "");
|
|
60
|
-
vi.stubEnv("CI_COMMIT_REF_NAME", "");
|
|
61
|
-
mockExecFileError();
|
|
62
|
-
await expect(detectBranch()).rejects.toThrow("Failed to detect git branch");
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe("detectCommit", () => {
|
|
66
|
-
beforeEach(() => {
|
|
67
|
-
vi.unstubAllEnvs();
|
|
68
|
-
});
|
|
69
|
-
afterEach(() => {
|
|
70
|
-
vi.restoreAllMocks();
|
|
71
|
-
});
|
|
72
|
-
it("returns override when provided", async () => {
|
|
73
|
-
expect(await detectCommit("abc123")).toBe("abc123");
|
|
74
|
-
});
|
|
75
|
-
it("reads GITHUB_SHA", async () => {
|
|
76
|
-
vi.stubEnv("GITHUB_SHA", "deadbeef1234567890abcdef");
|
|
77
|
-
expect(await detectCommit()).toBe("deadbeef1234567890abcdef");
|
|
78
|
-
});
|
|
79
|
-
it("reads CI_COMMIT_SHA for GitLab CI", async () => {
|
|
80
|
-
vi.stubEnv("GITHUB_SHA", "");
|
|
81
|
-
vi.stubEnv("CI_COMMIT_SHA", "gitlab-sha-123");
|
|
82
|
-
expect(await detectCommit()).toBe("gitlab-sha-123");
|
|
83
|
-
});
|
|
84
|
-
it("falls back to git rev-parse", async () => {
|
|
85
|
-
vi.stubEnv("GITHUB_SHA", "");
|
|
86
|
-
vi.stubEnv("CI_COMMIT_SHA", "");
|
|
87
|
-
mockExecFile("abcdef1234567890\n");
|
|
88
|
-
expect(await detectCommit()).toBe("abcdef1234567890");
|
|
89
|
-
});
|
|
90
|
-
it("throws when git command fails and no env vars set", async () => {
|
|
91
|
-
vi.stubEnv("GITHUB_SHA", "");
|
|
92
|
-
vi.stubEnv("CI_COMMIT_SHA", "");
|
|
93
|
-
mockExecFileError();
|
|
94
|
-
await expect(detectCommit()).rejects.toThrow("Failed to detect git commit");
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
describe("detectBaselineRef", () => {
|
|
98
|
-
beforeEach(() => {
|
|
99
|
-
vi.unstubAllEnvs();
|
|
100
|
-
});
|
|
101
|
-
afterEach(() => {
|
|
102
|
-
vi.restoreAllMocks();
|
|
103
|
-
});
|
|
104
|
-
it("reads GITHUB_BASE_REF for PR base branch", () => {
|
|
105
|
-
vi.stubEnv("GITHUB_BASE_REF", "main");
|
|
106
|
-
expect(detectBaselineRef()).toBe("main");
|
|
107
|
-
});
|
|
108
|
-
it("reads PXDIFF_BASELINE_REF when set", () => {
|
|
109
|
-
vi.stubEnv("GITHUB_BASE_REF", "");
|
|
110
|
-
vi.stubEnv("PXDIFF_BASELINE_REF", "develop");
|
|
111
|
-
expect(detectBaselineRef()).toBe("develop");
|
|
112
|
-
});
|
|
113
|
-
it("returns null when no env vars set", () => {
|
|
114
|
-
vi.stubEnv("GITHUB_BASE_REF", "");
|
|
115
|
-
vi.stubEnv("PXDIFF_BASELINE_REF", "");
|
|
116
|
-
expect(detectBaselineRef()).toBeNull();
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
//# sourceMappingURL=git.test.js.map
|
package/dist/git.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.test.js","sourceRoot":"","sources":["../src/git.test.ts"],"names":[],"mappings":"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"}
|