@kitschpatrol/tldraw-cli 4.7.0 → 4.7.1

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/bin/cli.js CHANGED
@@ -27420,7 +27420,7 @@ import yargs from "yargs";
27420
27420
  import { hideBin } from "yargs/helpers";
27421
27421
 
27422
27422
  // package.json
27423
- var version = "4.7.0";
27423
+ var version = "4.7.1";
27424
27424
 
27425
27425
  // node_modules/.pnpm/nanoid@5.1.5/node_modules/nanoid/index.js
27426
27426
  import { webcrypto as crypto } from "node:crypto";
@@ -30365,9 +30365,10 @@ var LocalTldrawServer = class {
30365
30365
  }
30366
30366
  get href() {
30367
30367
  if (!this.server) throw new Error("Server not started");
30368
- const { port } = this.server.address();
30369
- return `http://localhost:${port}`;
30368
+ if (!this.port) throw new Error("Server port not available");
30369
+ return `http://localhost:${this.port}`;
30370
30370
  }
30371
+ port;
30371
30372
  server;
30372
30373
  close() {
30373
30374
  if (!this.server) throw new Error("Server not started");
@@ -30383,7 +30384,7 @@ var LocalTldrawServer = class {
30383
30384
  );
30384
30385
  log_default.info(`tldraw served from "${tldrawPath}"`);
30385
30386
  const app = new Hono2();
30386
- const port = await getPorts();
30387
+ this.port = await getPorts();
30387
30388
  app.get(
30388
30389
  "/tldr-data",
30389
30390
  (c) => this.tldrData === void 0 ? c.text("No tldr data provided", 404) : c.text(this.tldrData, 200, {
@@ -30394,13 +30395,28 @@ var LocalTldrawServer = class {
30394
30395
  try {
30395
30396
  this.server = serve({
30396
30397
  fetch: app.fetch,
30397
- port
30398
+ port: this.port
30398
30399
  });
30400
+ await this.waitForServer();
30399
30401
  } catch (error) {
30400
30402
  log_default.error(error);
30403
+ throw error;
30401
30404
  }
30402
30405
  log_default.info(`tldraw hosted at "${this.href}"`);
30403
30406
  }
30407
+ async waitForServer(maxAttempts = 50, delay = 10) {
30408
+ if (!this.server) throw new Error("Server not initialized");
30409
+ for (let i = 0; i < maxAttempts; i++) {
30410
+ const address = this.server.address();
30411
+ if (address !== null) {
30412
+ return;
30413
+ }
30414
+ await new Promise((resolve) => {
30415
+ setTimeout(resolve, delay);
30416
+ });
30417
+ }
30418
+ throw new Error("Server failed to start within timeout");
30419
+ }
30404
30420
  };
30405
30421
 
30406
30422
  // src/lib/tldraw-to-image.ts
@@ -46879,14 +46895,26 @@ var TldrawController = class {
46879
46895
  this.page = await this.browser.newPage();
46880
46896
  this.page.setDefaultTimeout(12e4);
46881
46897
  this.page.on("console", (message) => {
46882
- const messageType = message.type();
46883
- const messageText = message.text();
46884
- if (messageType === "error") {
46885
- log_default.errorPrefixed("Browser", messageText);
46886
- } else if (messageType === "warn") {
46887
- log_default.warnPrefixed("Browser", messageText);
46888
- } else {
46889
- log_default.infoPrefixed("Browser", messageText);
46898
+ const type = message.type();
46899
+ const text3 = message.text();
46900
+ switch (type) {
46901
+ case "error": {
46902
+ const isSuppressedError = text3.endsWith("ERR_CONNECTION_REFUSED") && message.location().url?.startsWith("https://www.googletagmanager.com");
46903
+ if (!isSuppressedError) {
46904
+ log_default.errorPrefixed("Browser", text3);
46905
+ }
46906
+ break;
46907
+ }
46908
+ case "warn": {
46909
+ const isSuppressedWarning = text3.startsWith("ToggleGroup is changing from controlled to uncontrolled") || text3.startsWith("ToggleGroup is changing from uncontrolled to controlled");
46910
+ if (!isSuppressedWarning) {
46911
+ log_default.warnPrefixed("Browser", text3);
46912
+ }
46913
+ break;
46914
+ }
46915
+ default: {
46916
+ log_default.infoPrefixed("Browser", text3);
46917
+ }
46890
46918
  }
46891
46919
  });
46892
46920
  log_default.info(`Navigating to: ${this.href}`);
package/dist/.DS_Store CHANGED
Binary file
package/dist/lib/index.js CHANGED
@@ -30138,9 +30138,10 @@ var LocalTldrawServer = class {
30138
30138
  }
30139
30139
  get href() {
30140
30140
  if (!this.server) throw new Error("Server not started");
30141
- const { port } = this.server.address();
30142
- return `http://localhost:${port}`;
30141
+ if (!this.port) throw new Error("Server port not available");
30142
+ return `http://localhost:${this.port}`;
30143
30143
  }
30144
+ port;
30144
30145
  server;
30145
30146
  close() {
30146
30147
  if (!this.server) throw new Error("Server not started");
@@ -30156,7 +30157,7 @@ var LocalTldrawServer = class {
30156
30157
  );
30157
30158
  log_default.info(`tldraw served from "${tldrawPath}"`);
30158
30159
  const app = new Hono2();
30159
- const port = await getPorts();
30160
+ this.port = await getPorts();
30160
30161
  app.get(
30161
30162
  "/tldr-data",
30162
30163
  (c) => this.tldrData === void 0 ? c.text("No tldr data provided", 404) : c.text(this.tldrData, 200, {
@@ -30167,13 +30168,28 @@ var LocalTldrawServer = class {
30167
30168
  try {
30168
30169
  this.server = serve({
30169
30170
  fetch: app.fetch,
30170
- port
30171
+ port: this.port
30171
30172
  });
30173
+ await this.waitForServer();
30172
30174
  } catch (error) {
30173
30175
  log_default.error(error);
30176
+ throw error;
30174
30177
  }
30175
30178
  log_default.info(`tldraw hosted at "${this.href}"`);
30176
30179
  }
30180
+ async waitForServer(maxAttempts = 50, delay = 10) {
30181
+ if (!this.server) throw new Error("Server not initialized");
30182
+ for (let i = 0; i < maxAttempts; i++) {
30183
+ const address = this.server.address();
30184
+ if (address !== null) {
30185
+ return;
30186
+ }
30187
+ await new Promise((resolve) => {
30188
+ setTimeout(resolve, delay);
30189
+ });
30190
+ }
30191
+ throw new Error("Server failed to start within timeout");
30192
+ }
30177
30193
  };
30178
30194
 
30179
30195
  // src/lib/tldraw-to-image.ts
@@ -46652,14 +46668,26 @@ var TldrawController = class {
46652
46668
  this.page = await this.browser.newPage();
46653
46669
  this.page.setDefaultTimeout(12e4);
46654
46670
  this.page.on("console", (message) => {
46655
- const messageType = message.type();
46656
- const messageText = message.text();
46657
- if (messageType === "error") {
46658
- log_default.errorPrefixed("Browser", messageText);
46659
- } else if (messageType === "warn") {
46660
- log_default.warnPrefixed("Browser", messageText);
46661
- } else {
46662
- log_default.infoPrefixed("Browser", messageText);
46671
+ const type = message.type();
46672
+ const text3 = message.text();
46673
+ switch (type) {
46674
+ case "error": {
46675
+ const isSuppressedError = text3.endsWith("ERR_CONNECTION_REFUSED") && message.location().url?.startsWith("https://www.googletagmanager.com");
46676
+ if (!isSuppressedError) {
46677
+ log_default.errorPrefixed("Browser", text3);
46678
+ }
46679
+ break;
46680
+ }
46681
+ case "warn": {
46682
+ const isSuppressedWarning = text3.startsWith("ToggleGroup is changing from controlled to uncontrolled") || text3.startsWith("ToggleGroup is changing from uncontrolled to controlled");
46683
+ if (!isSuppressedWarning) {
46684
+ log_default.warnPrefixed("Browser", text3);
46685
+ }
46686
+ break;
46687
+ }
46688
+ default: {
46689
+ log_default.infoPrefixed("Browser", text3);
46690
+ }
46663
46691
  }
46664
46692
  });
46665
46693
  log_default.info(`Navigating to: ${this.href}`);
@@ -1,8 +1,10 @@
1
1
  export default class LocalTldrawServer {
2
2
  private readonly tldrData?;
3
3
  get href(): string;
4
+ private port?;
4
5
  private server?;
5
6
  constructor(tldrData?: string | undefined);
6
7
  close(): void;
7
8
  start(): Promise<void>;
9
+ private waitForServer;
8
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitschpatrol/tldraw-cli",
3
- "version": "4.7.0",
3
+ "version": "4.7.1",
4
4
  "description": "A CLI tool and TypeScript library for exporting tldraw sketches to PNG or SVG images.",
5
5
  "keywords": [
6
6
  "tldraw",
@@ -40,7 +40,7 @@
40
40
  "@fontsource/inter": "^5.2.6",
41
41
  "@hono/node-server": "^1.19.1",
42
42
  "hono": "^4.9.5",
43
- "puppeteer": "^24.17.1",
43
+ "puppeteer": "^24.18.0",
44
44
  "uint8array-extras": "^1.5.0",
45
45
  "yargs": "^18.0.0"
46
46
  },
@@ -74,7 +74,7 @@
74
74
  "tsx": "^4.20.5",
75
75
  "typescript": "~5.9.2",
76
76
  "untildify": "^5.0.0",
77
- "vite": "^7.1.3",
77
+ "vite": "^7.1.4",
78
78
  "vitest": "^3.2.4"
79
79
  },
80
80
  "engines": {