nowebcli 0.2.12 → 0.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nowebcli",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "Create, preview and publish community templates for Noweb",
5
5
  "license": "MIT",
6
6
  "repository": {
package/scripts/noweb.mjs CHANGED
@@ -162,12 +162,15 @@ async function createCover() {
162
162
  server.once("error", reject);
163
163
  server.listen(0, "127.0.0.1", resolve);
164
164
  });
165
- browser = await chromium.launch({ headless: true, args: ["--enable-unsafe-swiftshader", "--use-angle=swiftshader"] });
165
+ browser = await chromium.launch({ headless: true, args: ["--enable-unsafe-swiftshader", "--enable-unsafe-webgpu", "--use-angle=swiftshader"] });
166
166
  const page = await browser.newPage({ viewport: { width: 1920, height: 1080 }, deviceScaleFactor: 1 });
167
167
  const errors = [];
168
168
  page.on("pageerror", (error) => errors.push(error.message));
169
169
  page.on("console", (message) => { if (message.type() === "error") errors.push(message.text()); });
170
170
  await page.goto(`http://127.0.0.1:${server.address().port}`, { waitUntil: "load" });
171
+ if (template.source.includes("shaders/react") && !await page.evaluate(async () => Boolean(await navigator.gpu?.requestAdapter()))) {
172
+ throw new Error("Cannot create shader cover: Chromium has no WebGPU adapter. Update Chromium with `npx playwright install chromium`.");
173
+ }
171
174
  await page.waitForFunction(() => document.getElementById("root")?.childElementCount, undefined, { timeout: 15_000 }).catch(() => {
172
175
  throw new Error(`Template did not render: ${errors.slice(0, 3).join("; ") || "empty preview"}`);
173
176
  });