@pxdiff/playwright 0.0.3 → 0.0.4
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.js +1 -1
- package/dist/fixture.js.map +1 -1
- package/package.json +2 -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.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();
|
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,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,YAAY;oBACZ,MAAM;oBACN,MAAM;oBACN,WAAW;iBACX,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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pxdiff/playwright",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@pxdiff/sdk": "0.0.
|
|
15
|
+
"@pxdiff/sdk": "0.0.4"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"@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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"}
|