@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.
- package/README.md +76 -2
- package/dist/cli.js +4258 -2253
- package/dist/cli.js.map +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.
|
|
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.
|
|
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
|