@todesktop/cli 1.18.2 → 1.19.0-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.
Files changed (4) hide show
  1. package/README.md +76 -2
  2. package/dist/cli.js +4258 -2253
  3. package/dist/cli.js.map +4 -4
  4. package/package.json +47 -43
package/README.md CHANGED
@@ -12,6 +12,7 @@ For more information, visit the project
12
12
  - [Get started](#get-started)
13
13
  - [CLI commands](#cli-commands)
14
14
  - [Release Webhooks](#release-webhooks)
15
+ - [Introspection & breakpoints](#introspection--breakpoints)
15
16
  - [Automating your builds (CI)](#automating-your-builds-ci)
16
17
  - [Project configuration (todesktop.json, todesktop.js, or todesktop.ts)](#project-configuration-todesktopjson-todesktopjs-or-todesktops)
17
18
  - [Build lifecycle hooks (package.json scripts)](#build-lifecycle-hooks-packagejson-scripts)
@@ -47,7 +48,7 @@ Create a `todesktop.json` file in the root of your Electron project.
47
48
 
48
49
  ```json
49
50
  {
50
- "$schema": "https://unpkg.com/@todesktop/cli@1.18.2/schemas/schema.json",
51
+ "$schema": "https://unpkg.com/@todesktop/cli@1.19.0/schemas/schema.json",
51
52
  "schemaVersion": 1
52
53
  "id": "your-todesktop-id",
53
54
  "icon": "./desktop-icon.png",
@@ -194,6 +195,17 @@ We also support:
194
195
  flag.
195
196
  - `todesktop build --ignore-extends-errors`. Ignore `id` and `appId` validation
196
197
  errors when extending another configuration file (`.json` or `.js`).
198
+ - `todesktop build --introspect`. Run a build with an active introspection
199
+ tunnel so you can inspect the build agent while it runs.
200
+ - `todesktop build --breakpoints=<comma-separated-list>`. Requires
201
+ `--introspect`; accepts phase names (for example `beforeInstall`) and hook
202
+ forms such as `hook:todesktop:beforeInstall:after`. Aliases and wildcards like
203
+ `hook:todesktop:beforeInstall:*` are expanded automatically and the resolved
204
+ queue is printed before the build starts.
205
+ - `todesktop build --breakpoints=list`. Print the catalog of supported
206
+ breakpoints with descriptions.
207
+ - `todesktop build --continue <buildId> --platform mac|windows|linux`. Resume a
208
+ paused build from another terminal using the same account that initiated it.
197
209
  - `todesktop release`. Release a build. This will publish a new download and an
198
210
  auto-update for existing users. By default it shows a list of builds for you
199
211
  to choose from.
@@ -206,6 +218,7 @@ We also support:
206
218
  reasons, you can only release apps through the
207
219
  [web UI](https://app.todesktop.com) with security token authentication. If
208
220
  you wish to enable CLI releases, please contact support with your app ID.
221
+
209
222
  - `todesktop builds`. View your recent builds.
210
223
  - Use `todesktop builds <id>` to view a specific build and its progress.
211
224
  - `todesktop builds --latest` will show the latest build and it's progress.
@@ -222,10 +235,57 @@ We also support:
222
235
  - `todesktop smoke-test --latest` will test the latest build.
223
236
  - Append `--config=<path.to.config.file>` to use a different configuration
224
237
  file.
238
+ - `todesktop introspect [buildId]`. Connect to a running build’s shell when
239
+ introspection is enabled. If you omit the build ID, the CLI will prompt you to
240
+ pick a build and platform.
225
241
  - `todesktop whoami`. Prints the email of the account you're signed into.
226
242
  - `todesktop --help`. Shows the help documentation.
227
243
  - `todesktop --version`. Shows the current version of the CLI.
228
244
 
245
+ ## Introspection & breakpoints
246
+
247
+ Interactive introspection lets you open a shell on a live build agent and pause
248
+ the build at deterministic breakpoints for deeper debugging.
249
+
250
+ ### Enable introspection on a build
251
+
252
+ - Run `todesktop build --introspect` to start a build with an introspection
253
+ tunnel. The CLI prints availability notices and keeps the session attached
254
+ while the build runs.
255
+ - Add `--breakpoints=list` to print the supported pause points and their
256
+ descriptions.
257
+ - Provide a comma-separated list via
258
+ `--breakpoints=beforeInstall,hook:todesktop:beforeInstall:after,afterPack`
259
+ (requires `--introspect`). Phase names such as `beforeInstall` and hook forms
260
+ like `hook:todesktop:beforeInstall:before` are validated, deduplicated, and
261
+ expanded to cover aliases (for example `hook:todesktop:beforeInstall:*`
262
+ expands to both before/after hook breakpoints).
263
+
264
+ ### Working with paused builds
265
+
266
+ - When a breakpoint is hit, the CLI displays a prompt similar to
267
+ `mac paused at beforeInstall (lease expires in 20m)`.
268
+ - Use `Enter` to resume to the next breakpoint, `x` to skip the remaining
269
+ breakpoints, `space` to renew the lease (adds 10 minutes when less than 20
270
+ minutes remain), and `Ctrl+C` to detach without resuming.
271
+ - The default lease lasts 20 minutes; inactivity triggers an automatic resume
272
+ which is surfaced as `autoResumed` in the CLI output and Firestore metadata.
273
+ - Only collaborators on the same app account can renew, resume, or skip
274
+ breakpoints; requests from other accounts return a permission error.
275
+
276
+ ### Control a paused build from another terminal
277
+
278
+ - Run `todesktop build --continue <buildId> --platform mac|windows|linux` to
279
+ resume a paused platform. This mirrors pressing `Enter` in the interactive
280
+ prompt and requires that the target platform is currently paused.
281
+
282
+ ### Open an introspection shell
283
+
284
+ - Run `todesktop introspect [buildId]` to connect to the build agent shell. If
285
+ you omit the build ID, the CLI presents a list of running builds with
286
+ introspection enabled followed by a platform picker that shows each platform’s
287
+ breakpoint and shell status (for example `⏸ mac (paused)`).
288
+
229
289
  ## Automating your builds (CI)
230
290
 
231
291
  You may want to automate builds with your Continuous Integration (CI) provider.
@@ -319,7 +379,7 @@ To enable JSON validation and IntelliSense for your `todesktop.json` file in com
319
379
  - For example, if using a hosted version of the schema:
320
380
  ```json
321
381
  {
322
- "$schema": "https://unpkg.com/@todesktop/cli@1.18.2/schemas/schema.json",
382
+ "$schema": "https://unpkg.com/@todesktop/cli@1.19.0/schemas/schema.json",
323
383
  "id": "your-todesktop-id"
324
384
  }
325
385
  ```
@@ -1531,6 +1591,20 @@ Now, when we build your app on ToDesktop servers, it will also run your custom
1531
1591
 
1532
1592
  ## Changelog
1533
1593
 
1594
+ ### 1.19.0
1595
+
1596
+ #### Minor Changes
1597
+
1598
+ - dc5fe40: Add `todesktop build --introspect` flag and
1599
+ `todesktop introspect [buildId]` command for interactive shell access to
1600
+ in-progress builds
1601
+
1602
+ ### 1.18.3
1603
+
1604
+ #### Patch Changes
1605
+
1606
+ - 51821cc: Add support for pnpm workspace catalogs in workspace bundling
1607
+
1534
1608
  ### 1.18.2
1535
1609
 
1536
1610
  #### Patch Changes