versioncam 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,28 @@ and versions follow [semantic versioning](https://semver.org/). While the
6
6
  major version is 0, a minor version may change the config or the clip DSL,
7
7
  and its entry here says how.
8
8
 
9
+ ## 0.5.3 (2026-11-01)
10
+
11
+ A patch version: the config and the clip DSL are as they were. The browser
12
+ installs on the Ubuntu that GitHub's `ubuntu-latest` became, and the README
13
+ says what the plans are and how the private beta gives Pro.
14
+
15
+ ### Fixed
16
+
17
+ - `versioncam install` on an Ubuntu newer than its Playwright knows, which
18
+ is GitHub's `ubuntu-latest` since it became 26.04 in October 2026: where
19
+ Playwright refuses the OS outright, the installer runs again as
20
+ `ubuntu24.04`, the newest Ubuntu it knows, whose build and system
21
+ libraries record the same. `login` and `preview` fetch their browser the
22
+ same way. An override set by hand in `PLAYWRIGHT_HOST_PLATFORM_OVERRIDE`
23
+ is left alone.
24
+
25
+ ### Changed
26
+
27
+ - The README's version.cam section states the plans, as planned: Free for
28
+ public repositories, Pro for private ones at $35 a project a month, Max
29
+ for ten projects at $145, and how the private beta gives Pro away.
30
+
9
31
  ## 0.5.2 (2026-10-29)
10
32
 
11
33
  A patch version: the config and the clip DSL are as they were. The README
package/README.md CHANGED
@@ -500,6 +500,19 @@ also reports each publish on GitHub: a check on its commit, and on a pull
500
500
  request a comment naming the clips that look different and the ones that
501
501
  failed.
502
502
 
503
+ ### Plans
504
+
505
+ Priced per project, never per seat, and planned until the first bill
506
+ confirms them. Free, for public repositories: three projects, ten clips a
507
+ project, thirty days of history, clips to sixty seconds, a gigabyte, the
508
+ pull request check and the badge. Pro, $35 a project a month or $350 a
509
+ year: private repositories too, unlimited history, a hundred clips a
510
+ project, and the team told by email, Slack or a GitHub issue when a clip
511
+ breaks. Max, $145 a month for ten projects with everything Pro has. The
512
+ recorder and the Action are free whatever the plan. While the beta is
513
+ private nothing is sold: Free works for anyone who signs in, and the first
514
+ ten accounts that write to hello@version.cam have Pro free until it ends.
515
+
503
516
  ### When a clip breaks
504
517
 
505
518
  A clip breaks when its check fails on the default branch: a control it uses
@@ -46,12 +46,49 @@ export declare function browserPaths(): {
46
46
  shell: string | null;
47
47
  full: string | null;
48
48
  };
49
- /** Playwright's installer, with its output on this terminal; its exit code. */
50
- export declare function runInstaller(command: string, args: string[]): Promise<number>;
49
+ /** How a run of Playwright's installer ended, and what it said. */
50
+ export type Installed = {
51
+ code: number;
52
+ output: string;
53
+ };
54
+ /**
55
+ * Playwright's installer. `env` is added to this process's environment for
56
+ * that run alone.
57
+ */
58
+ export type Installer = (command: string, args: string[], env?: Record<string, string>) => Promise<Installed>;
59
+ /**
60
+ * Playwright's installer, its output on this terminal as it runs and kept
61
+ * as well, for `fallbackPlatform` to read what it refused. The exit code
62
+ * comes with `close`, not `exit`: the last of the output arrives between
63
+ * the two.
64
+ */
65
+ export declare const runInstaller: Installer;
66
+ /**
67
+ * The platform to run the installer again as, when Playwright refused this
68
+ * one; null when there is none to try.
69
+ *
70
+ * Playwright knows the Ubuntu releases of its day and refuses a newer one
71
+ * outright, the browser as well as the system libraries: "Playwright does
72
+ * not support chromium-headless-shell on ubuntu26.04-x64". GitHub's
73
+ * ubuntu-latest became 26.04 in October 2026, and Playwright 1.59 says
74
+ * exactly that there. Told through PLAYWRIGHT_HOST_PLATFORM_OVERRIDE that
75
+ * the host is 24.04, the newest it knows, it installs that build and that
76
+ * list of libraries, and the clips record the same (a run of
77
+ * petbul/notify-test on 2026-10-31). Only Ubuntu, and only a newer one: for
78
+ * a distribution Playwright never knew there is no stand-in known to work,
79
+ * and its own message stands.
80
+ */
81
+ export declare function fallbackPlatform(output: string): string | null;
82
+ /**
83
+ * The installer, and once more as a platform Playwright knows where it
84
+ * refused this one (`fallbackPlatform`), saying so between the two. An
85
+ * override the person set themselves is theirs: nothing second-guesses it.
86
+ */
87
+ export declare function runWithFallback(command: string, args: string[], io: Pick<InstallerIO, "run" | "write">): Promise<number>;
51
88
  /** What `ensureFullBrowser` touches, so a test can stand in for all of it. */
52
89
  export type InstallerIO = {
53
90
  has: () => boolean;
54
- run: (command: string, args: string[]) => Promise<number>;
91
+ run: Installer;
55
92
  write: (text: string) => void;
56
93
  };
57
94
  /**
@@ -65,16 +65,68 @@ export function browserPaths() {
65
65
  };
66
66
  return { shell: where("chromium-headless-shell"), full: where("chromium") };
67
67
  }
68
- /** Playwright's installer, with its output on this terminal; its exit code. */
69
- export function runInstaller(command, args) {
70
- return new Promise((resolve) => {
71
- const child = spawn(command, args, { stdio: "inherit" });
72
- child.on("error", (error) => {
73
- process.stderr.write(`Could not run the installer: ${error.message}\n`);
74
- resolve(1);
75
- });
76
- child.on("exit", (code) => resolve(code ?? 1));
68
+ /**
69
+ * Playwright's installer, its output on this terminal as it runs and kept
70
+ * as well, for `fallbackPlatform` to read what it refused. The exit code
71
+ * comes with `close`, not `exit`: the last of the output arrives between
72
+ * the two.
73
+ */
74
+ export const runInstaller = (command, args, env = {}) => new Promise((resolve) => {
75
+ let output = "";
76
+ const child = spawn(command, args, {
77
+ stdio: ["inherit", "pipe", "pipe"],
78
+ env: { ...process.env, ...env },
79
+ });
80
+ const tee = (to) => (chunk) => {
81
+ output += chunk.toString();
82
+ to.write(chunk);
83
+ };
84
+ child.stdout?.on("data", tee(process.stdout));
85
+ child.stderr?.on("data", tee(process.stderr));
86
+ child.on("error", (error) => {
87
+ process.stderr.write(`Could not run the installer: ${error.message}\n`);
88
+ resolve({ code: 1, output });
77
89
  });
90
+ child.on("close", (code) => resolve({ code: code ?? 1, output }));
91
+ });
92
+ /**
93
+ * The platform to run the installer again as, when Playwright refused this
94
+ * one; null when there is none to try.
95
+ *
96
+ * Playwright knows the Ubuntu releases of its day and refuses a newer one
97
+ * outright, the browser as well as the system libraries: "Playwright does
98
+ * not support chromium-headless-shell on ubuntu26.04-x64". GitHub's
99
+ * ubuntu-latest became 26.04 in October 2026, and Playwright 1.59 says
100
+ * exactly that there. Told through PLAYWRIGHT_HOST_PLATFORM_OVERRIDE that
101
+ * the host is 24.04, the newest it knows, it installs that build and that
102
+ * list of libraries, and the clips record the same (a run of
103
+ * petbul/notify-test on 2026-10-31). Only Ubuntu, and only a newer one: for
104
+ * a distribution Playwright never knew there is no stand-in known to work,
105
+ * and its own message stands.
106
+ */
107
+ export function fallbackPlatform(output) {
108
+ const refused = /does not support \S+ on ubuntu(\d+)\.(\d+)-([a-z0-9]+)/.exec(output);
109
+ if (!refused)
110
+ return null;
111
+ const [, major, minor, arch] = refused;
112
+ const newer = Number(major) > 24 || (Number(major) === 24 && Number(minor) > 4);
113
+ return newer ? `ubuntu24.04-${arch}` : null;
114
+ }
115
+ /**
116
+ * The installer, and once more as a platform Playwright knows where it
117
+ * refused this one (`fallbackPlatform`), saying so between the two. An
118
+ * override the person set themselves is theirs: nothing second-guesses it.
119
+ */
120
+ export async function runWithFallback(command, args, io) {
121
+ const first = await io.run(command, args);
122
+ if (first.code === 0 || process.env.PLAYWRIGHT_HOST_PLATFORM_OVERRIDE)
123
+ return first.code;
124
+ const as = fallbackPlatform(first.output);
125
+ if (as === null)
126
+ return first.code;
127
+ io.write(`Playwright ${pinnedPlaywright().version} does not know this OS yet. Installing as ${as}, the newest Ubuntu it does, whose build and libraries record the same here:\n` +
128
+ ` PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=${as} ${[command, ...args].join(" ")}\n`);
129
+ return (await io.run(command, args, { PLAYWRIGHT_HOST_PLATFORM_OVERRIDE: as })).code;
78
130
  }
79
131
  /**
80
132
  * Before a command opens a window: the full browser, fetched once if `install`
@@ -94,7 +146,7 @@ export async function ensureFullBrowser(io = {
94
146
  "fetched only the headless shell that records.\n" +
95
147
  `Fetching it once, for Playwright ${playwright.version}:\n` +
96
148
  ` ${[command, ...args].join(" ")}\n`);
97
- return (await io.run(command, args)) === 0;
149
+ return (await runWithFallback(command, args, io)) === 0;
98
150
  }
99
151
  /**
100
152
  * Install the Chromium this version of versioncam records with.
@@ -121,6 +173,9 @@ export async function install(argv) {
121
173
  ? `Both Chromium builds for Playwright ${playwright.version}: the headless shell versioncam records with, and the browser login and preview open:\n`
122
174
  : `The headless Chromium versioncam records with, for Playwright ${playwright.version}:\n`) +
123
175
  ` ${[command, ...args].join(" ")}\n`);
124
- return runInstaller(command, args);
176
+ return runWithFallback(command, args, {
177
+ run: runInstaller,
178
+ write: (text) => process.stdout.write(text),
179
+ });
125
180
  }
126
181
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAwB,CAAC;IAC7D,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,GAAW,EACX,UAAkD,EAAE;IAEpD,OAAO;QACL,IAAI;QACJ,GAAG;QACH,SAAS;QACT,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACzC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW;IACvD,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAiB,EAAE;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9D,OAAO,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAc;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACxE,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAkB;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,KAAK,IAAI;IACvC,GAAG,EAAE,YAAY;IACjB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;CAC5C;IAED,IAAI,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7E,EAAE,CAAC,KAAK,CACN,2EAA2E;QACzE,iDAAiD;QACjD,oCAAoC,UAAU,CAAC,OAAO,KAAK;QAC3D,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CACxC,CAAC;IACF,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACxE,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE;QACvE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI;QACtC,IAAI;KACL,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,CAAC,IAAI;QACH,CAAC,CAAC,uCAAuC,UAAU,CAAC,OAAO,yFAAyF;QACpJ,CAAC,CAAC,iEAAiE,UAAU,CAAC,OAAO,KAAK,CAAC;QAC3F,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CACxC,CAAC;IACF,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "versioncam",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "type": "module",
5
5
  "description": "Record demo clips of a real web app: scripted, deterministic, re-recorded on every push.",
6
6
  "license": "FSL-1.1-ALv2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "versioncam",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Record a short, true demo clip of a web app from one sentence: a skill that sets the repository up on its first run, writes the clip, and has a reviewer pass it from a contact sheet.",
5
5
  "author": {
6
6
  "name": "Peter Bulovec"