@bitmagic/cli 0.1.53-dev.0 → 0.1.53-dev.10
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 +130 -29
- package/dist/assets/revoxelize.d.ts +116 -0
- package/dist/assets/revoxelize.js +343 -0
- package/dist/assets/revoxelize.js.map +1 -0
- package/dist/cli.d.ts +27 -1
- package/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets.d.ts +18 -0
- package/dist/commands/assets.js +110 -1
- package/dist/commands/assets.js.map +1 -1
- package/dist/commands/cover.d.ts +5 -0
- package/dist/commands/cover.js +3 -0
- package/dist/commands/cover.js.map +1 -1
- package/dist/commands/dev.js +1 -2
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/forge.d.ts +4 -0
- package/dist/commands/forge.js +9 -0
- package/dist/commands/forge.js.map +1 -1
- package/dist/commands/generate.d.ts +25 -0
- package/dist/commands/generate.js +80 -8
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.js +12 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/publish.d.ts +31 -4
- package/dist/commands/publish.js +86 -15
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/reload.js +1 -3
- package/dist/commands/reload.js.map +1 -1
- package/dist/commands/reset-account.js +25 -8
- package/dist/commands/reset-account.js.map +1 -1
- package/dist/commands/self-update.d.ts +67 -0
- package/dist/commands/self-update.js +196 -0
- package/dist/commands/self-update.js.map +1 -0
- package/dist/commands/upgrade.js +5 -2
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/editor/asset-detail-panel.d.ts +2 -2
- package/dist/editor/asset-detail-panel.js +5 -2
- package/dist/editor/asset-detail-panel.js.map +1 -1
- package/dist/editor/cli-update.d.ts +32 -0
- package/dist/editor/cli-update.js +67 -0
- package/dist/editor/cli-update.js.map +1 -0
- package/dist/editor/publish-panel.d.ts +31 -0
- package/dist/editor/publish-panel.js +69 -0
- package/dist/editor/publish-panel.js.map +1 -0
- package/dist/editor/server.js +43 -1
- package/dist/editor/server.js.map +1 -1
- package/dist/editor/shell-page.js +249 -8
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/forge/upload-proxy.d.ts +14 -0
- package/dist/forge/upload-proxy.js +28 -1
- package/dist/forge/upload-proxy.js.map +1 -1
- package/dist/generate/model.d.ts +7 -0
- package/dist/generate/model.js +13 -3
- package/dist/generate/model.js.map +1 -1
- package/dist/generate/prop.d.ts +20 -0
- package/dist/generate/prop.js +22 -2
- package/dist/generate/prop.js.map +1 -1
- package/dist/generate/vehicle.d.ts +2 -0
- package/dist/generate/vehicle.js +1 -0
- package/dist/generate/vehicle.js.map +1 -1
- package/dist/project/dev-handle.d.ts +28 -0
- package/dist/project/dev-handle.js +43 -0
- package/dist/project/dev-handle.js.map +1 -1
- package/dist/project/jobs.js +11 -9
- package/dist/project/jobs.js.map +1 -1
- package/dist/publish/client.d.ts +13 -2
- package/dist/publish/client.js.map +1 -1
- package/dist/publish/record.d.ts +22 -0
- package/dist/publish/record.js +62 -0
- package/dist/publish/record.js.map +1 -0
- package/dist/render/qr-output.d.ts +44 -0
- package/dist/render/qr-output.js +71 -0
- package/dist/render/qr-output.js.map +1 -0
- package/dist/render/qr-png.d.ts +37 -0
- package/dist/render/qr-png.js +111 -0
- package/dist/render/qr-png.js.map +1 -0
- package/dist/render/qr-terminal.d.ts +63 -0
- package/dist/render/qr-terminal.js +142 -0
- package/dist/render/qr-terminal.js.map +1 -0
- package/dist/render/qr.d.ts +51 -0
- package/dist/render/qr.js +516 -0
- package/dist/render/qr.js.map +1 -0
- package/dist/scaffold/project-files.js +44 -27
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/suggest-template.d.ts +2 -0
- package/dist/scaffold/suggest-template.js +2 -1
- package/dist/scaffold/suggest-template.js.map +1 -1
- package/dist/telemetry/command-context.d.ts +12 -0
- package/dist/telemetry/command-context.js +7 -0
- package/dist/telemetry/command-context.js.map +1 -1
- package/dist/telemetry/creator-prompt.d.ts +35 -0
- package/dist/telemetry/creator-prompt.js +45 -0
- package/dist/telemetry/creator-prompt.js.map +1 -0
- package/dist/update/check.js +2 -1
- package/dist/update/check.js.map +1 -1
- package/dist/update/notice.d.ts +31 -1
- package/dist/update/notice.js +39 -5
- package/dist/update/notice.js.map +1 -1
- package/dist/update/self-install.d.ts +175 -0
- package/dist/update/self-install.js +335 -0
- package/dist/update/self-install.js.map +1 -0
- package/package.json +4 -4
package/dist/commands/publish.js
CHANGED
|
@@ -34,6 +34,8 @@ import * as fs from 'fs';
|
|
|
34
34
|
import * as path from 'path';
|
|
35
35
|
import { CliError } from '../errors.js';
|
|
36
36
|
import { engineUpdateNotice } from '../project/engine-update.js';
|
|
37
|
+
import { emitQr } from '../render/qr-output.js';
|
|
38
|
+
import { writePublishRecord } from '../publish/record.js';
|
|
37
39
|
import { createOutput } from '../output.js';
|
|
38
40
|
import { loadProjectContext } from '../project/context.js';
|
|
39
41
|
import { coverImagePath } from './cover.js';
|
|
@@ -52,11 +54,21 @@ import { beginPublish, completePublish, putBundle, putSourceArchive, requestThum
|
|
|
52
54
|
function verifyArtifactDir(root) {
|
|
53
55
|
return path.join(root, '.bitmagic', 'verify');
|
|
54
56
|
}
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
+
/**
|
|
58
|
+
* `'public' | 'private'`, or `undefined` when the flag was not passed.
|
|
59
|
+
*
|
|
60
|
+
* Undefined is NOT "private": it means "say nothing about visibility", and the server keeps
|
|
61
|
+
* whatever the game already is. Defaulting to private here meant every bare `bitmagic publish`
|
|
62
|
+
* re-asserted it, so shipping a routine update to a public game silently unlisted it and took
|
|
63
|
+
* its `/play/` page out of service. A game's first publish is still private — `createGame`
|
|
64
|
+
* inserts it that way; nobody has to assert it on every publish thereafter.
|
|
65
|
+
*
|
|
66
|
+
* A typo is still rejected rather than silently coerced, matching the server's own asymmetric
|
|
67
|
+
* contract (see cli-publish.ts).
|
|
68
|
+
*/
|
|
57
69
|
export function resolveVisibility(raw) {
|
|
58
70
|
if (raw === undefined)
|
|
59
|
-
return
|
|
71
|
+
return undefined;
|
|
60
72
|
if (raw === 'public' || raw === 'private')
|
|
61
73
|
return raw;
|
|
62
74
|
throw new CliError(`--visibility must be "public" or "private", got ${JSON.stringify(raw)}.`);
|
|
@@ -74,6 +86,7 @@ function defaultDeps() {
|
|
|
74
86
|
const { runSmokeCheck } = await import('../smoke/run.js');
|
|
75
87
|
return runSmokeCheck(options);
|
|
76
88
|
},
|
|
89
|
+
emitQr,
|
|
77
90
|
};
|
|
78
91
|
}
|
|
79
92
|
/**
|
|
@@ -219,7 +232,9 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
219
232
|
// call returns.
|
|
220
233
|
const begun = await beginPublish(environment, token, {
|
|
221
234
|
gameId: context.metadata.gameId,
|
|
222
|
-
visibility
|
|
235
|
+
// Spread, not sent as undefined: an ABSENT visibility means "keep what is stored"
|
|
236
|
+
// server-side, which is a different message from 'private'. See resolveVisibility.
|
|
237
|
+
...(visibility !== undefined ? { visibility } : {}),
|
|
223
238
|
...overrides,
|
|
224
239
|
engineVersion: context.metadata.engineVersion,
|
|
225
240
|
thumbnailUrl,
|
|
@@ -274,18 +289,21 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
274
289
|
const platform = readPlatformIndicators(context.root);
|
|
275
290
|
for (const note of platform.notes)
|
|
276
291
|
log(note);
|
|
277
|
-
// `visibility`, `name`, `description`, and `thumbnailUrl` are
|
|
278
|
-
// `complete` re-authorizes against its OWN body — `begin` writes nothing,
|
|
279
|
-
// validated is bound
|
|
280
|
-
//
|
|
281
|
-
//
|
|
282
|
-
// would make `complete`'s own meta-block recomputation diverge from what `begin`
|
|
283
|
-
// rendered — see `CompletePublishRequest`'s doc comment in publish/client.ts.
|
|
292
|
+
// `visibility`, `name`, `description`, and `thumbnailUrl` are re-sent EXACTLY as `begin` got
|
|
293
|
+
// them, not implied. `complete` re-authorizes against its OWN body — `begin` writes nothing,
|
|
294
|
+
// so nothing it validated is bound. Sending a DIFFERENT visibility here than `begin` saw
|
|
295
|
+
// would let `--visibility public` pass the ban gate at `begin` and then land as something
|
|
296
|
+
// else; omitting a name would overwrite a stored one with a default; and omitting
|
|
297
|
+
// thumbnailUrl would make `complete`'s own meta-block recomputation diverge from what `begin`
|
|
298
|
+
// actually rendered — see `CompletePublishRequest`'s doc comment in publish/client.ts.
|
|
299
|
+
//
|
|
300
|
+
// Both calls therefore omit visibility in the same case: when the flag was not passed. That
|
|
301
|
+
// absence is the message ("keep what is stored"), and it must be consistent across the pair.
|
|
284
302
|
const done = await completePublish(environment, token, {
|
|
285
303
|
gameId: context.metadata.gameId,
|
|
286
304
|
key: begun.key,
|
|
287
305
|
publishVersion: begun.publishVersion,
|
|
288
|
-
visibility,
|
|
306
|
+
...(visibility !== undefined ? { visibility } : {}),
|
|
289
307
|
...overrides,
|
|
290
308
|
thumbnailUrl,
|
|
291
309
|
bundleBytes: publishedBytes,
|
|
@@ -314,12 +332,58 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
314
332
|
log(upgrade);
|
|
315
333
|
log(`Published ${done.visibility}: ${done.url}`);
|
|
316
334
|
if (done.visibility === 'private') {
|
|
317
|
-
log('Not listed.
|
|
335
|
+
log('Not listed. Run `bitmagic publish --visibility public` when you are ready.');
|
|
318
336
|
}
|
|
337
|
+
// Where the rest of publishing lives — visibility, and taking a game down. Omitted against an
|
|
338
|
+
// older api-server that does not send it, rather than guessed at from the api URL: locally the
|
|
339
|
+
// portal is a different origin entirely (subscribe-flow.ts makes the same point about
|
|
340
|
+
// `subscribeUrl`). Printed for every publish, since a public game is the one most likely to
|
|
341
|
+
// need managing.
|
|
342
|
+
if (done.manageUrl)
|
|
343
|
+
log(`Manage this game: ${done.manageUrl}`);
|
|
319
344
|
// Advisory only — the publish already succeeded, and none of these change the exit code. Printed
|
|
320
345
|
// in the same ` warning:` shape the smoke check uses below so one prose convention covers both.
|
|
321
346
|
for (const warning of done.sourceChecks?.warnings ?? [])
|
|
322
347
|
log(` warning: ${warning}`);
|
|
348
|
+
// The URL is already printed above and stays there whatever happens here; this only saves the
|
|
349
|
+
// creator from retyping it into a phone. Drawn beside the URL rather than after the smoke check
|
|
350
|
+
// so it is there immediately, and on `--skip-smoke` too.
|
|
351
|
+
//
|
|
352
|
+
// `--json` is passed rather than left to the isTTY gate inside the terminal renderer: `--json` on
|
|
353
|
+
// a terminal still HAS a TTY stdout, and that stream must carry exactly one document. It does not
|
|
354
|
+
// suppress the IMAGE, though — an agent run is a pipe, and the creator on the other side of it is
|
|
355
|
+
// the one person here who can actually scan something.
|
|
356
|
+
// Recorded before anything below can fail: `complete` has written the bytes and the row, so the
|
|
357
|
+
// game IS live at this URL whatever the smoke check goes on to say. The `bitmagic dev` view reads
|
|
358
|
+
// this to show the creator where their game is without them going to find the terminal they
|
|
359
|
+
// published from. Best-effort — a publish is not worth failing over a file nothing gates on.
|
|
360
|
+
try {
|
|
361
|
+
writePublishRecord(context.root, {
|
|
362
|
+
url: done.url,
|
|
363
|
+
visibility: done.visibility,
|
|
364
|
+
publishVersion: done.publishVersion,
|
|
365
|
+
gameId: context.metadata.gameId,
|
|
366
|
+
at: new Date().toISOString(),
|
|
367
|
+
...(done.manageUrl ? { manageUrl: done.manageUrl } : {}),
|
|
368
|
+
// Only when this publish named the game explicitly. The project's own name lives in
|
|
369
|
+
// game.json and is not worth a read here — the view shows the URL and version, and a
|
|
370
|
+
// label it cannot vouch for is worse than none.
|
|
371
|
+
...(args.name ? { name: args.name } : {}),
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
// A read-only or full disk costs a link in the dev view, not the publish.
|
|
376
|
+
}
|
|
377
|
+
const qrPath = deps.emitQr(done.url, {
|
|
378
|
+
root: context.root,
|
|
379
|
+
json: args.json === true,
|
|
380
|
+
disabled: args['no-qr'] === true,
|
|
381
|
+
});
|
|
382
|
+
// Named on stdout AND carried in the result below, because those are two different readers: an
|
|
383
|
+
// agent parsing `--json` never sees this line, and has no other way to learn the file exists.
|
|
384
|
+
if (qrPath !== null) {
|
|
385
|
+
log(`QR code: ${qrPath} — show it to your creator to open the game on a phone.`);
|
|
386
|
+
}
|
|
323
387
|
output.result({
|
|
324
388
|
ok: true,
|
|
325
389
|
url: done.url,
|
|
@@ -327,6 +391,8 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
327
391
|
publishVersion: done.publishVersion,
|
|
328
392
|
gameId: context.metadata.gameId,
|
|
329
393
|
thumbnailSource: thumbnail.source,
|
|
394
|
+
...(done.manageUrl ? { manageUrl: done.manageUrl } : {}),
|
|
395
|
+
...(qrPath !== null ? { qrPath } : {}),
|
|
330
396
|
...(done.sourceChecks ? { sourceChecks: done.sourceChecks } : {}),
|
|
331
397
|
});
|
|
332
398
|
// Everything below runs AFTER the game is live. `complete` has written the bytes and the row,
|
|
@@ -356,12 +422,13 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
356
422
|
export const publishCommand = defineCommand({
|
|
357
423
|
meta: {
|
|
358
424
|
name: 'publish',
|
|
359
|
-
description: 'Build, verify-gate, and publish the game —
|
|
425
|
+
description: 'Build, verify-gate, and publish the game — keeps its current visibility.',
|
|
360
426
|
},
|
|
361
427
|
args: {
|
|
362
428
|
visibility: {
|
|
363
429
|
type: 'string',
|
|
364
|
-
description: '"public" or "private"
|
|
430
|
+
description: '"public" or "private". Omit to keep the game as it is; a new game is private until '
|
|
431
|
+
+ 'published public. Public also requires an unbanned profile.',
|
|
365
432
|
},
|
|
366
433
|
name: {
|
|
367
434
|
type: 'string',
|
|
@@ -379,6 +446,10 @@ export const publishCommand = defineCommand({
|
|
|
379
446
|
type: 'boolean',
|
|
380
447
|
description: 'Skip the post-publish render check. The game still publishes; it is simply not confirmed to render.',
|
|
381
448
|
},
|
|
449
|
+
'no-qr': {
|
|
450
|
+
type: 'boolean',
|
|
451
|
+
description: 'Do not draw the published URL as a QR code. `BITMAGIC_NO_QR` does the same for every run.',
|
|
452
|
+
},
|
|
382
453
|
json: {
|
|
383
454
|
type: 'boolean',
|
|
384
455
|
description: 'Print the result as JSON on stdout; all progress goes to stderr.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/reload.js
CHANGED
|
@@ -18,11 +18,9 @@
|
|
|
18
18
|
import { defineCommand } from 'citty';
|
|
19
19
|
import { CliError } from '../errors.js';
|
|
20
20
|
import { loadProjectContext } from '../project/context.js';
|
|
21
|
-
import { readDevHandle } from '../project/dev-handle.js';
|
|
21
|
+
import { DEFAULT_EDITOR_PORT, readDevHandle } from '../project/dev-handle.js';
|
|
22
22
|
import { parseLocalPort } from '../local-port.js';
|
|
23
23
|
import { createOutput } from '../output.js';
|
|
24
|
-
/** Matches `dev`'s own default, for the case where the handle file is missing or stale. */
|
|
25
|
-
const DEFAULT_EDITOR_PORT = 3011;
|
|
26
24
|
/** Long enough for a loopback POST, short enough that a wedged server cannot stall a turn. */
|
|
27
25
|
const REQUEST_TIMEOUT_MS = 3_000;
|
|
28
26
|
export const reloadCommand = defineCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/commands/reload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/commands/reload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import { spawnSync } from 'child_process';
|
|
3
2
|
import { createInterface } from 'readline/promises';
|
|
3
|
+
import { isUpdatable, managerFor, readInstalledVersion, realSpawnManager, resolveInstall, uninstallArgs, } from '../update/self-install.js';
|
|
4
4
|
import { selectEnvironmentForCommand, resolveAuth0ClientId } from '../config/environments.js';
|
|
5
5
|
import { clearCredentials } from '../config/credentials.js';
|
|
6
6
|
import { getAccessToken } from '../auth/session.js';
|
|
@@ -16,16 +16,33 @@ async function askOnStdin(question) {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
19
|
+
* Remove the global install — the one this CLI is actually running from.
|
|
20
|
+
*
|
|
21
|
+
* This used to spawn a bare `npm`, and had exactly the bug `bitmagic self-update` was written to
|
|
22
|
+
* fix: on a machine using nvm, the `npm` a non-interactive shell resolves is not the one that owns
|
|
23
|
+
* this install, so the uninstall quietly removed nothing while the command went on to report that
|
|
24
|
+
* the reset had succeeded — leaving the creator with the old CLI and no sign of it. The location
|
|
25
|
+
* and the executable now come from the running process instead (see update/self-install.ts).
|
|
26
|
+
*
|
|
27
|
+
* npm's output is CAPTURED, not inherited. Under `--json` this command's stdout is contractually
|
|
28
|
+
* one JSON document (see output.ts), and a subprocess writing its own progress there would corrupt
|
|
29
|
+
* it — the exact hazard the Output seam exists to prevent, reintroduced by spawning a process
|
|
30
|
+
* instead of calling console.log. Nothing is printed unless it fails, and then it goes through
|
|
24
31
|
* `output.info` like every other line.
|
|
25
32
|
*/
|
|
26
33
|
function uninstallGlobally() {
|
|
27
|
-
const
|
|
28
|
-
|
|
34
|
+
const location = resolveInstall(import.meta.url);
|
|
35
|
+
// An npx run, a checkout, or a shape this does not recognise: there is no install to remove, and
|
|
36
|
+
// guessing at one is how the old version got this wrong. Reported as "not uninstalled", which is
|
|
37
|
+
// the truth, and the command's existing warning then says so.
|
|
38
|
+
if (!isUpdatable(location))
|
|
39
|
+
return false;
|
|
40
|
+
const command = managerFor(location, process.execPath);
|
|
41
|
+
const outcome = realSpawnManager(command.command, [...command.leadingArgs, ...uninstallArgs(location)]);
|
|
42
|
+
if (outcome.error !== undefined || outcome.status !== 0)
|
|
43
|
+
return false;
|
|
44
|
+
// Same rule as the update: the manager saying it worked is not evidence that it did.
|
|
45
|
+
return readInstalledVersion(location.verifyDir) === null;
|
|
29
46
|
}
|
|
30
47
|
export const defaultResetDeps = {
|
|
31
48
|
fetch: globalThis.fetch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-account.js","sourceRoot":"","sources":["../../src/commands/reset-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reset-account.js","sourceRoot":"","sources":["../../src/commands/reset-account.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type Output } from '../output.js';
|
|
2
|
+
import { type UpdateCheckCache, type UpdateTag } from '../update/notice.js';
|
|
3
|
+
import { type EnvironmentName } from '../config/environments.js';
|
|
4
|
+
import { type Exists, type InstallLocation, type SpawnManager } from '../update/self-install.js';
|
|
5
|
+
/**
|
|
6
|
+
* Everything this command touches outside itself, in one place — including the two reads that look
|
|
7
|
+
* like constants (`currentVersion`, `pinned`) but are both facts about the machine it happens to be
|
|
8
|
+
* running on, and the cache write, which would otherwise reach into the real `~/.bitmagic` from a
|
|
9
|
+
* test run.
|
|
10
|
+
*/
|
|
11
|
+
export interface SelfUpdateDeps {
|
|
12
|
+
currentVersion: () => string;
|
|
13
|
+
pinned: () => EnvironmentName | undefined;
|
|
14
|
+
resolve: () => InstallLocation;
|
|
15
|
+
fetchTag: (tag: UpdateTag) => Promise<string | null>;
|
|
16
|
+
spawn: SpawnManager;
|
|
17
|
+
readVersion: (dir: string) => string | null;
|
|
18
|
+
writable: (dir: string) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Path probe used to locate the package manager. Injected for the same reason as everything else
|
|
21
|
+
* here: the tests describe machines that do not exist, and a real `existsSync` would answer for
|
|
22
|
+
* this one instead — silently dropping every case into the PATH fallback.
|
|
23
|
+
*/
|
|
24
|
+
exists: Exists;
|
|
25
|
+
writeCache: (cache: UpdateCheckCache) => void;
|
|
26
|
+
sleep: (ms: number) => Promise<void>;
|
|
27
|
+
now: () => number;
|
|
28
|
+
execPath: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const defaultSelfUpdateDeps: SelfUpdateDeps;
|
|
31
|
+
/**
|
|
32
|
+
* Which npm line to install from, and never a question put to the creator.
|
|
33
|
+
*
|
|
34
|
+
* The order is the same rule the startup nudge already applies, just acted on instead of printed:
|
|
35
|
+
* an explicit `--tag` is a deliberate override; otherwise a project's committed pin decides,
|
|
36
|
+
* because the project is where a wrong line actually bites (a prerelease against `prod` calls
|
|
37
|
+
* `/api/cli/v1` endpoints that are not deployed there yet); and outside a project the only honest
|
|
38
|
+
* answer is the line this build is already on.
|
|
39
|
+
*
|
|
40
|
+
* That middle case is what makes this command the fix for `cliLineMismatchNotice` too: run inside
|
|
41
|
+
* a project on the wrong line, it crosses over without being told to.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveTargetTag(explicit: string | undefined, pinned: 'dev' | 'prod' | 'local' | undefined, currentVersion: string): UpdateTag;
|
|
44
|
+
/** What `--json` reports, and what the human lines above it say in prose. */
|
|
45
|
+
export interface SelfUpdateResult {
|
|
46
|
+
ok: true;
|
|
47
|
+
/** The version that was running when the command started. */
|
|
48
|
+
from: string;
|
|
49
|
+
/** The version now on disk. Equal to `from` when there was nothing newer. */
|
|
50
|
+
to: string;
|
|
51
|
+
tag: UpdateTag;
|
|
52
|
+
/** True when an install actually ran. False when the CLI was already current. */
|
|
53
|
+
updated: boolean;
|
|
54
|
+
manager: 'npm' | 'pnpm';
|
|
55
|
+
packageDir: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function runSelfUpdate(explicitTag: string | undefined, output: Output, deps?: SelfUpdateDeps): Promise<SelfUpdateResult>;
|
|
58
|
+
export declare const selfUpdateCommand: import("citty").CommandDef<{
|
|
59
|
+
readonly tag: {
|
|
60
|
+
readonly type: "string";
|
|
61
|
+
readonly description: string;
|
|
62
|
+
};
|
|
63
|
+
readonly json: {
|
|
64
|
+
readonly type: "boolean";
|
|
65
|
+
readonly description: "Print the result as JSON on stdout; all progress goes to stderr.";
|
|
66
|
+
};
|
|
67
|
+
}>;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `bitmagic self-update` — replace this CLI with the newest build of its own line.
|
|
3
|
+
*
|
|
4
|
+
* Why a command and not a printed instruction: see the header of `update/self-install.ts`. In
|
|
5
|
+
* short, a printed `npm i -g` is run by whatever `npm` the calling shell happens to resolve, which
|
|
6
|
+
* on an nvm machine is routinely not the one that owns this install — the update lands in a prefix
|
|
7
|
+
* nobody's PATH points at, npm reports success, and the next `bitmagic` is still the old build.
|
|
8
|
+
* This command asks the shell nothing.
|
|
9
|
+
*
|
|
10
|
+
* It is also what every update nudge now names, and that is safe by construction: the CLI printing
|
|
11
|
+
* the nudge is on that shell's PATH, because it just ran there.
|
|
12
|
+
*/
|
|
13
|
+
import { defineCommand } from 'citty';
|
|
14
|
+
import { createOutput } from '../output.js';
|
|
15
|
+
import { CliError } from '../errors.js';
|
|
16
|
+
import { currentCliVersion } from '../update/cli-version.js';
|
|
17
|
+
import { fetchTagVersion, writeUpdateCache } from '../update/check.js';
|
|
18
|
+
import { describeUpdateTag, installCommandFor, updateTagFor, updateTagForEnvironment, } from '../update/notice.js';
|
|
19
|
+
import { readPinnedEnvironment } from '../config/environments.js';
|
|
20
|
+
import { isOlderSemverVersion } from '../project/version-compare.js';
|
|
21
|
+
import * as fs from 'fs';
|
|
22
|
+
import { PACKAGE_NAME, installArgs, isStalePackumentFailure, isUpdatable, isWritable, managerFor, readInstalledVersion, realSpawnManager, resolveInstall, } from '../update/self-install.js';
|
|
23
|
+
/** How long to wait before the single retry that a stale packument earns. */
|
|
24
|
+
const RETRY_DELAY_MS = 5000;
|
|
25
|
+
export const defaultSelfUpdateDeps = {
|
|
26
|
+
currentVersion: currentCliVersion,
|
|
27
|
+
pinned: () => readPinnedEnvironment(),
|
|
28
|
+
resolve: () => resolveInstall(import.meta.url),
|
|
29
|
+
fetchTag: (tag) => fetchTagVersion(tag),
|
|
30
|
+
spawn: realSpawnManager,
|
|
31
|
+
readVersion: (dir) => readInstalledVersion(dir),
|
|
32
|
+
writable: (dir) => isWritable(dir),
|
|
33
|
+
exists: (candidate) => fs.existsSync(candidate),
|
|
34
|
+
writeCache: (cache) => writeUpdateCache(cache),
|
|
35
|
+
sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
|
|
36
|
+
now: Date.now,
|
|
37
|
+
execPath: process.execPath,
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Which npm line to install from, and never a question put to the creator.
|
|
41
|
+
*
|
|
42
|
+
* The order is the same rule the startup nudge already applies, just acted on instead of printed:
|
|
43
|
+
* an explicit `--tag` is a deliberate override; otherwise a project's committed pin decides,
|
|
44
|
+
* because the project is where a wrong line actually bites (a prerelease against `prod` calls
|
|
45
|
+
* `/api/cli/v1` endpoints that are not deployed there yet); and outside a project the only honest
|
|
46
|
+
* answer is the line this build is already on.
|
|
47
|
+
*
|
|
48
|
+
* That middle case is what makes this command the fix for `cliLineMismatchNotice` too: run inside
|
|
49
|
+
* a project on the wrong line, it crosses over without being told to.
|
|
50
|
+
*/
|
|
51
|
+
export function resolveTargetTag(explicit, pinned, currentVersion) {
|
|
52
|
+
if (explicit !== undefined) {
|
|
53
|
+
if (explicit !== 'latest' && explicit !== 'dev') {
|
|
54
|
+
throw new CliError(`--tag must be \`latest\` or \`dev\`, not \`${explicit}\`.`);
|
|
55
|
+
}
|
|
56
|
+
return explicit;
|
|
57
|
+
}
|
|
58
|
+
if (pinned !== undefined)
|
|
59
|
+
return updateTagForEnvironment(pinned);
|
|
60
|
+
return updateTagFor(currentVersion);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Turn a location this command cannot act on into the sentence that says why, and what to do
|
|
64
|
+
* instead.
|
|
65
|
+
*
|
|
66
|
+
* Every branch names the resolved directory. That is the point: the failure being replaced is one
|
|
67
|
+
* where nobody could tell WHERE the install went, so a refusal that does not say where it looked
|
|
68
|
+
* would be the same failure wearing a different message.
|
|
69
|
+
*/
|
|
70
|
+
function refuse(location, tag) {
|
|
71
|
+
const manual = installCommandFor(tag);
|
|
72
|
+
if (location.kind === 'npx') {
|
|
73
|
+
return new CliError(`This CLI is running from an npx cache (${location.packageDir}), so there is no install to ` +
|
|
74
|
+
`update — npx fetches a fresh copy every time. To keep one, run \`${manual}\`.`);
|
|
75
|
+
}
|
|
76
|
+
if (location.kind === 'linked-dev') {
|
|
77
|
+
return new CliError(`This CLI is running from a source checkout (${location.packageDir}), not from an npm ` +
|
|
78
|
+
'install. Update it with `git pull` and a rebuild (`pnpm run build` in `cli/`).');
|
|
79
|
+
}
|
|
80
|
+
return new CliError(`Could not recognise how this CLI is installed (${location.packageDir}), so it will not guess ` +
|
|
81
|
+
`at where to write. Update it the way you installed it — for a normal install that is ` +
|
|
82
|
+
`\`${manual}\`.`);
|
|
83
|
+
}
|
|
84
|
+
export async function runSelfUpdate(explicitTag, output, deps = defaultSelfUpdateDeps) {
|
|
85
|
+
const current = deps.currentVersion();
|
|
86
|
+
if (current === '') {
|
|
87
|
+
throw new CliError('Could not read this CLI\'s own version, so there is nothing to compare against.');
|
|
88
|
+
}
|
|
89
|
+
const tag = resolveTargetTag(explicitTag, deps.pinned(), current);
|
|
90
|
+
const target = await deps.fetchTag(tag);
|
|
91
|
+
if (target === null) {
|
|
92
|
+
throw new CliError(`Could not reach the npm registry to find the newest ${describeUpdateTag(tag)} build. ` +
|
|
93
|
+
'Check your connection and try again.', 1, 'unreachable');
|
|
94
|
+
}
|
|
95
|
+
const location = deps.resolve();
|
|
96
|
+
if (!isUpdatable(location))
|
|
97
|
+
throw refuse(location, tag);
|
|
98
|
+
const manager = location.kind === 'npm-global' ? 'npm' : 'pnpm';
|
|
99
|
+
// Already current is reported before anything is spawned, but AFTER the location is resolved:
|
|
100
|
+
// being told "you are up to date" by a command that could not have updated you anyway is the
|
|
101
|
+
// kind of all-clear that hides a broken install until the day it matters.
|
|
102
|
+
if (target === current) {
|
|
103
|
+
output.info(`Already on the newest ${describeUpdateTag(tag)} build: ${current}.`);
|
|
104
|
+
// Recorded even though nothing changed: this run just asked npm the question the startup nudge
|
|
105
|
+
// caches an answer to, and throwing that away would leave the nudge free to contradict it.
|
|
106
|
+
deps.writeCache({ latest: target, tag, checkedAt: deps.now() });
|
|
107
|
+
return { ok: true, from: current, to: current, tag, updated: false, manager, packageDir: location.packageDir };
|
|
108
|
+
}
|
|
109
|
+
// A CLI ahead of the registry is a normal state on the dev line right after a release, and
|
|
110
|
+
// "updating" to it would be a downgrade nobody asked for. Asked before the two checks below,
|
|
111
|
+
// which are about whether an install COULD be performed: refusing over an unwritable prefix
|
|
112
|
+
// someone was never going to write to would replace a true answer with an irrelevant complaint.
|
|
113
|
+
if (isOlderSemverVersion(current, target) !== true) {
|
|
114
|
+
output.info(`Nothing newer on the ${describeUpdateTag(tag)} line: it is at ${target}, you have ${current}.`);
|
|
115
|
+
return { ok: true, from: current, to: current, tag, updated: false, manager, packageDir: location.packageDir };
|
|
116
|
+
}
|
|
117
|
+
if (location.kind === 'pnpm-global' && location.binDir === undefined) {
|
|
118
|
+
throw new CliError(`This CLI was installed with pnpm into ${location.globalDir}, but the matching global bin ` +
|
|
119
|
+
'directory could not be found, and installing into a guessed one would put the update ' +
|
|
120
|
+
`somewhere your PATH does not look. Run \`pnpm add -g --global-dir ${location.globalDir} ` +
|
|
121
|
+
`--global-bin-dir <your bin dir> ${PACKAGE_NAME}@${target}\`.`);
|
|
122
|
+
}
|
|
123
|
+
if (!deps.writable(location.modulesRoot)) {
|
|
124
|
+
throw new CliError(`${location.modulesRoot} is not writable by this user, so the update cannot be installed ` +
|
|
125
|
+
'there. Either fix its ownership, or reinstall the CLI into a prefix you own.');
|
|
126
|
+
}
|
|
127
|
+
const command = managerFor(location, deps.execPath, deps.exists);
|
|
128
|
+
const spec = `${PACKAGE_NAME}@${target}`;
|
|
129
|
+
const args = [...command.leadingArgs, ...installArgs(location, spec)];
|
|
130
|
+
output.info(`Updating ${PACKAGE_NAME} on the ${describeUpdateTag(tag)} line: ${current} -> ${target}`);
|
|
131
|
+
output.info(` into ${location.modulesRoot}`);
|
|
132
|
+
if (command.fromPath) {
|
|
133
|
+
output.info(` using \`${command.command}\` from PATH — no bundled ${manager} was found next to this node.`);
|
|
134
|
+
}
|
|
135
|
+
// Nothing below this line may need a module that has not been imported yet: the install replaces
|
|
136
|
+
// the very directory this process is executing out of, and a lazy import after it would resolve
|
|
137
|
+
// against a directory npm has already unlinked.
|
|
138
|
+
let outcome = deps.spawn(command.command, args);
|
|
139
|
+
if (outcome.status !== 0 && isStalePackumentFailure(outcome)) {
|
|
140
|
+
// The documented post-release window: the version IS published, but this machine's cached
|
|
141
|
+
// packument predates it. Retrying is the fix (docs/npm-publishing.md).
|
|
142
|
+
output.info(' npm has a stale package listing for a just-published version; retrying once…');
|
|
143
|
+
await deps.sleep(RETRY_DELAY_MS);
|
|
144
|
+
outcome = deps.spawn(command.command, args);
|
|
145
|
+
}
|
|
146
|
+
if (outcome.error !== undefined) {
|
|
147
|
+
throw new CliError(`Could not run \`${command.command}\`: ${outcome.error.message}. ` +
|
|
148
|
+
(command.fromPath
|
|
149
|
+
? `It was not found next to this node installation and is not on PATH either.`
|
|
150
|
+
: 'The file exists but could not be executed.'));
|
|
151
|
+
}
|
|
152
|
+
if (outcome.status !== 0) {
|
|
153
|
+
const detail = (outcome.stderr.trim() || outcome.stdout.trim()).split('\n').slice(-8);
|
|
154
|
+
for (const line of detail)
|
|
155
|
+
output.info(` ${line}`);
|
|
156
|
+
throw new CliError(`\`${manager}\` exited ${outcome.status ?? 'without a status'}; the CLI was not updated.`);
|
|
157
|
+
}
|
|
158
|
+
// The check that makes a silent no-op impossible. The manager reporting success is not evidence
|
|
159
|
+
// that anything moved — that was precisely the old failure, where npm cheerfully installed into
|
|
160
|
+
// a prefix nobody's PATH pointed at and said so.
|
|
161
|
+
const installed = deps.readVersion(location.verifyDir);
|
|
162
|
+
if (installed !== target) {
|
|
163
|
+
throw new CliError(`\`${manager}\` reported success, but ${location.verifyDir} still holds ` +
|
|
164
|
+
`${installed ?? 'no readable version'} instead of ${target}. The update did not land where ` +
|
|
165
|
+
'this CLI is installed; nothing has been changed.');
|
|
166
|
+
}
|
|
167
|
+
// Written so the startup nudge goes quiet on the very next command instead of at the end of its
|
|
168
|
+
// refresh interval — being told to update by the CLI you just updated reads as a failed update.
|
|
169
|
+
deps.writeCache({ latest: target, tag, checkedAt: deps.now() });
|
|
170
|
+
output.info(`Done. \`bitmagic --version\` now reports ${target}.`);
|
|
171
|
+
return { ok: true, from: current, to: target, tag, updated: true, manager, packageDir: location.packageDir };
|
|
172
|
+
}
|
|
173
|
+
export const selfUpdateCommand = defineCommand({
|
|
174
|
+
meta: {
|
|
175
|
+
name: 'self-update',
|
|
176
|
+
description: 'Update the bitmagic CLI itself to the newest build of its line, installing it where this ' +
|
|
177
|
+
'CLI actually lives rather than wherever `npm` on your PATH would put it.',
|
|
178
|
+
},
|
|
179
|
+
args: {
|
|
180
|
+
tag: {
|
|
181
|
+
type: 'string',
|
|
182
|
+
description: "Which npm line to install: `latest` or `dev`. Defaults to the project's environment, or " +
|
|
183
|
+
'to the line this build is already on.',
|
|
184
|
+
},
|
|
185
|
+
json: {
|
|
186
|
+
type: 'boolean',
|
|
187
|
+
description: 'Print the result as JSON on stdout; all progress goes to stderr.',
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
async run({ args }) {
|
|
191
|
+
const output = createOutput(args.json === true);
|
|
192
|
+
const result = await runSelfUpdate(typeof args.tag === 'string' ? args.tag : undefined, output);
|
|
193
|
+
output.result(result);
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
//# sourceMappingURL=self-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"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"}
|