renderdiff 0.0.0-stage → 0.2.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,61 @@
1
1
  {
2
2
  "name": "renderdiff",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.2.0",
4
+ "description": "Screenshot diff between two origins — captures routes at several viewport widths, pixel-diffs them, writes a scored HTML report.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Timur Mashara",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/tmashara/renderdiff.git"
11
+ },
12
+ "homepage": "https://github.com/tmashara/renderdiff#readme",
13
+ "bugs": "https://github.com/tmashara/renderdiff/issues",
14
+ "bin": {
15
+ "renderdiff": "dist/cli.js"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "default": "./dist/index.js"
21
+ }
22
+ },
23
+ "types": "./dist/index.d.ts",
24
+ "files": [
25
+ "dist",
26
+ "README.md",
27
+ "renderdiff.config.example.ts"
28
+ ],
29
+ "engines": {
30
+ "node": ">=22.18"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc",
34
+ "typecheck": "tsc --noEmit -p tsconfig.test.json",
35
+ "prepare": "tsc",
36
+ "test": "node --test tests/unit/*.test.ts",
37
+ "test:visual": "node --test --test-timeout=300000 tests/visual/*.test.ts",
38
+ "test:all": "npm test && npm run test:visual",
39
+ "lint": "oxlint --deny-warnings",
40
+ "format": "oxfmt src tests renderdiff.config.example.ts",
41
+ "format:check": "oxfmt --check src tests renderdiff.config.example.ts"
42
+ },
43
+ "keywords": [
44
+ "visual-regression",
45
+ "screenshot",
46
+ "diff",
47
+ "playwright",
48
+ "pixelmatch"
49
+ ],
50
+ "dependencies": {
51
+ "pixelmatch": "^7.2.0",
52
+ "playwright": "^1.61.1",
53
+ "sharp": "^0.35.3"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^22.15.0",
57
+ "oxfmt": "0.74.0",
58
+ "oxlint": "1.89.0",
59
+ "typescript": "^5.8.3"
60
+ }
61
+ }
@@ -0,0 +1,111 @@
1
+ // Copy to `renderdiff.config.ts` in the directory you run `renderdiff` from.
2
+ //
3
+ // Everything here is optional, and CLI flags always win over it. The type import and
4
+ // `satisfies` are for editor types only: Node erases both, so this loads without
5
+ // renderdiff installed in the project.
6
+ import type { RenderdiffConfig } from "renderdiff";
7
+
8
+ export default {
9
+ // The two origins. The tool has no notion of which is "prod" — it just diffs them.
10
+ left: "http://localhost:3000",
11
+ right: "https://example.com",
12
+
13
+ // Diffed when you run bare `renderdiff` with no positional routes. `/a::/b` (or
14
+ // `{ left: "/a", right: "/b" }`) loads /a on the left and /b on the right — for a page
15
+ // the migration moved. `selector` compares one element instead of the page (a string,
16
+ // or `{ left, right }`); it must match exactly one, and `--selector` replaces it. List a
17
+ // route once per selector to compare several components of it.
18
+ routes: [
19
+ "/",
20
+ "/about",
21
+ "/pricing::/plans",
22
+ { left: "/blog", right: "/posts" },
23
+ { left: "/pricing", selector: { left: ".plans-v2", right: ".plans" } },
24
+ // `before` runs on each side after the page loads, before it settles and is shot, so
25
+ // the open menu is what gets measured. Replaces the top-level `before` for this route.
26
+ {
27
+ left: "/docs",
28
+ before: async (page) => {
29
+ await page.click("[aria-label=Menu]");
30
+ },
31
+ },
32
+ ],
33
+
34
+ // For every route without its own `before`, CLI routes included. Gets
35
+ // `{ side, route, width }`; use `side` only for markup that legitimately differs per
36
+ // side, never to make the two sides look alike. A throw is a route error, not retried.
37
+ // Actions use Playwright's 30s default timeout, so check first for what may not be
38
+ // there. hideSelectors and extraCss apply after the hook.
39
+ before: async (page) => {
40
+ const accept = page.getByRole("button", { name: "Accept" });
41
+ if (await accept.isVisible()) await accept.click();
42
+ },
43
+
44
+ // Playwright storage state (cookies, localStorage) each side starts with, e.g. signed
45
+ // in: `npx playwright codegen --save-storage=auth.json <url>`. One file, or
46
+ // `{ left, right }`. Relative to this file. It holds live session tokens: never commit
47
+ // it, and add it to .gitignore. The out dir then holds signed-in screenshots and text,
48
+ // so keep it out of git and don't publish it either. `--storage-state` replaces it.
49
+ storageState: "auth.json",
50
+
51
+ // Replaces the default set (1440, 1152, 896, 704, 375).
52
+ widths: [1440, 896, 375],
53
+
54
+ // Non-zero exit if any comparison scores below this.
55
+ threshold: 0.97,
56
+
57
+ // Relative to the directory you run in. Wiped at the start of each run.
58
+ outDir: "renderdiff-out",
59
+
60
+ // Captures run in parallel. Default half the CPU cores, between 2 and 8. Keep it low if
61
+ // the right origin is someone's live site.
62
+ concurrency: 2,
63
+
64
+ // Appended to the built-in analytics/consent/A-B blocklist. Aborted at the network
65
+ // layer on BOTH sides — blocking asymmetrically is itself a diff.
66
+ blockUrlPatterns: ["**://*.my-tracker.example/**"],
67
+
68
+ // Appended to the built-in consent-banner and dev-toolbar selectors.
69
+ //
70
+ // Two rules: match the element EXACTLY (consent scripts also stamp classes on <html>,
71
+ // and a substring selector will hide the whole document — blank matches blank, so
72
+ // every page then "passes"), and hide rather than remove (removing after the cookie
73
+ // script has run wedges the renderer and screenshots hang).
74
+ hideSelectors: [".site-cookie-banner", "#promo-ribbon"],
75
+
76
+ // Raw CSS injected after the built-in rules. An escape hatch for the odd case that
77
+ // a selector list cannot express.
78
+ extraCss: `.hero video { visibility: hidden !important }`,
79
+
80
+ // Content that renders on both sides but whose value drifts. Painted over on both,
81
+ // so the noise cancels out instead of scoring against you.
82
+ //
83
+ // Masks rather than CSS because these occupy a box: hiding one reflows the page, and
84
+ // `visibility:hidden` is no better — "9.9k" and "10.0k" size their box differently
85
+ // and shove their flex neighbours around.
86
+ //
87
+ // Keep the list short. Every mask is coverage given up, so add only what is proven
88
+ // to drift. Each `reason` is printed verbatim in the report, so the report stays
89
+ // honest about what it did not measure.
90
+ //
91
+ // Each needs exactly one of `selector` (a Playwright selector) or `locate`. Without
92
+ // `urlPath` it applies to every route; on a pair it matches either side's path.
93
+ masks: [
94
+ {
95
+ // Baked in at build time from a nightly job, so a local tree and a production
96
+ // build days apart legitimately disagree.
97
+ urlPath: "/pricing",
98
+ reason: "live star count on /pricing",
99
+ selector: "[data-star-count]",
100
+ },
101
+ {
102
+ // The escape hatch, for what a selector can't say: here, matching by text because
103
+ // the element carries only utility classes. A clock rendered from `new Date()` in
104
+ // the browser rarely needs a mask (both sides start at the same instant); this one
105
+ // is rendered on the server.
106
+ urlPath: "/events",
107
+ reason: "server-rendered clock on /events",
108
+ locate: (page) => page.getByText(/^\d{1,2}:\d{2}(AM|PM)$/),
109
+ },
110
+ ],
111
+ } satisfies RenderdiffConfig;