@mx-space/cli 0.2.3 → 0.3.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/README.md +14 -0
- package/ROADMAP.md +6 -0
- package/bin/mxs.cjs +5 -5
- package/dist/{Lexical.dev-CMevU1DO.mjs → Lexical.dev-rcxzwpir.mjs} +0 -2
- package/dist/{Lexical.node-BR9e7Cyk.mjs → Lexical.node-BUsI9gWr.mjs} +1 -3
- package/dist/{Lexical.prod-PUD-z9fY.mjs → Lexical.prod-C8HtkSD6.mjs} +0 -2
- package/dist/{LexicalClipboard.dev-DZC2zppG.mjs → LexicalClipboard.dev-BpqRwTLP.mjs} +5 -7
- package/dist/{LexicalClipboard.node-e5G1wVGb.mjs → LexicalClipboard.node-CO-MCKx5.mjs} +1 -3
- package/dist/{LexicalClipboard.prod-DE2azzIb.mjs → LexicalClipboard.prod-B_xdeiAC.mjs} +5 -7
- package/dist/{LexicalCodeCore.dev-gs--x55I.mjs → LexicalCodeCore.dev-7_cexm39.mjs} +2 -4
- package/dist/{LexicalCodeCore.prod-DPHOnyEj.mjs → LexicalCodeCore.prod-Bd6WFHcO.mjs} +2 -4
- package/dist/{LexicalDragon.dev-CVe8bzVN.mjs → LexicalDragon.dev-gBP8WSRS.mjs} +2 -4
- package/dist/{LexicalDragon.node-c7EHvcnK.mjs → LexicalDragon.node-OG6G55nl.mjs} +1 -3
- package/dist/{LexicalDragon.prod-D6KvqyLD.mjs → LexicalDragon.prod-DP-_Q8cv.mjs} +2 -4
- package/dist/{LexicalExtension.dev-PDo8HyEw.mjs → LexicalExtension.dev-DVbjljrm.mjs} +2 -4
- package/dist/{LexicalExtension.node-BKzjRb-0.mjs → LexicalExtension.node-CF3EAPN7.mjs} +1 -3
- package/dist/{LexicalExtension.prod-D0x_lX7q.mjs → LexicalExtension.prod-DklHHErZ.mjs} +2 -4
- package/dist/{LexicalHeadless.dev-DBKcW82j.mjs → LexicalHeadless.dev-DdWLM7Nl.mjs} +1 -3
- package/dist/{LexicalHeadless.prod-D4nEh7cR.mjs → LexicalHeadless.prod-CoiiTDzR.mjs} +1 -3
- package/dist/{LexicalHtml.dev-vsWW05es.mjs → LexicalHtml.dev-C3ZSWBFZ.mjs} +3 -5
- package/dist/{LexicalHtml.node-CpibAfba.mjs → LexicalHtml.node-D0TD152E.mjs} +1 -3
- package/dist/{LexicalHtml.prod-Bqz-3WAp.mjs → LexicalHtml.prod-CX47X0zl.mjs} +3 -5
- package/dist/{LexicalLink.dev-BO0J0B1E.mjs → LexicalLink.dev-BS1Bf-yD.mjs} +3 -5
- package/dist/{LexicalLink.prod-D66AhUCZ.mjs → LexicalLink.prod-B_crkoHP.mjs} +3 -5
- package/dist/{LexicalList.dev-DVGTWRk0.mjs → LexicalList.dev-OMqmcnQ-.mjs} +3 -5
- package/dist/{LexicalList.prod-Bao7NGl7.mjs → LexicalList.prod-CpL1s8vS.mjs} +3 -5
- package/dist/{LexicalMarkdown.dev-CRWkZwlp.mjs → LexicalMarkdown.dev-BHSdx_Gr.mjs} +3 -5
- package/dist/{LexicalMarkdown.prod-tGG6js4r.mjs → LexicalMarkdown.prod-C-S7Ii6-.mjs} +3 -5
- package/dist/{LexicalRichText.dev-DPXfQePC.mjs → LexicalRichText.dev-Bz9A_WbM.mjs} +5 -7
- package/dist/{LexicalRichText.node-BEkm_YwY.mjs → LexicalRichText.node-DDpwfE-P.mjs} +4 -6
- package/dist/{LexicalRichText.prod-DlfudC5w.mjs → LexicalRichText.prod-C8qXACDL.mjs} +5 -7
- package/dist/{LexicalSelection.dev-BVTArZ-b.mjs → LexicalSelection.dev-CQ380fnD.mjs} +1 -3
- package/dist/{LexicalSelection.node-CQ8iTYsz.mjs → LexicalSelection.node-DesBMjIE.mjs} +1 -3
- package/dist/{LexicalSelection.prod-BZKGGs-G.mjs → LexicalSelection.prod-D2jivCDB.mjs} +1 -3
- package/dist/{LexicalTable.dev-C-AOEpJn.mjs → LexicalTable.dev-Ca7mQ7Jk.mjs} +4 -6
- package/dist/{LexicalTable.prod-Cyn0qWxZ.mjs → LexicalTable.prod-DyPAcC7y.mjs} +4 -6
- package/dist/{LexicalUtils.dev-DRRDyAlS.mjs → LexicalUtils.dev-HxM8F0g6.mjs} +2 -4
- package/dist/{LexicalUtils.node-Dz-HANi6.mjs → LexicalUtils.node-lCWjRjoG.mjs} +1 -3
- package/dist/{LexicalUtils.prod-CmeHwh8W.mjs → LexicalUtils.prod-Bti5w4ki.mjs} +2 -4
- package/dist/bin/mxs.d.mts +2 -929
- package/dist/bin/mxs.mjs +2 -3596
- package/dist/esm-BKxzBG1f.mjs +2 -0
- package/dist/esm-DO9hVR8S.mjs +37652 -0
- package/dist/index.d.mts +1492 -374
- package/dist/index.mjs +2 -11
- package/dist/mxs-CM8-6uAr.d.mts +4 -0
- package/dist/mxs-D-YXaS2T.mjs +30445 -0
- package/package.json +7 -2
- package/dist/Lexical.dev-CMevU1DO.mjs.map +0 -1
- package/dist/Lexical.node-BR9e7Cyk.mjs.map +0 -1
- package/dist/Lexical.prod-PUD-z9fY.mjs.map +0 -1
- package/dist/LexicalClipboard.dev-DZC2zppG.mjs.map +0 -1
- package/dist/LexicalClipboard.node-e5G1wVGb.mjs.map +0 -1
- package/dist/LexicalClipboard.prod-DE2azzIb.mjs.map +0 -1
- package/dist/LexicalCodeCore.dev-gs--x55I.mjs.map +0 -1
- package/dist/LexicalCodeCore.prod-DPHOnyEj.mjs.map +0 -1
- package/dist/LexicalDragon.dev-CVe8bzVN.mjs.map +0 -1
- package/dist/LexicalDragon.node-c7EHvcnK.mjs.map +0 -1
- package/dist/LexicalDragon.prod-D6KvqyLD.mjs.map +0 -1
- package/dist/LexicalExtension.dev-PDo8HyEw.mjs.map +0 -1
- package/dist/LexicalExtension.node-BKzjRb-0.mjs.map +0 -1
- package/dist/LexicalExtension.prod-D0x_lX7q.mjs.map +0 -1
- package/dist/LexicalHeadless.dev-DBKcW82j.mjs.map +0 -1
- package/dist/LexicalHeadless.prod-D4nEh7cR.mjs.map +0 -1
- package/dist/LexicalHtml.dev-vsWW05es.mjs.map +0 -1
- package/dist/LexicalHtml.node-CpibAfba.mjs.map +0 -1
- package/dist/LexicalHtml.prod-Bqz-3WAp.mjs.map +0 -1
- package/dist/LexicalLink.dev-BO0J0B1E.mjs.map +0 -1
- package/dist/LexicalLink.prod-D66AhUCZ.mjs.map +0 -1
- package/dist/LexicalList.dev-DVGTWRk0.mjs.map +0 -1
- package/dist/LexicalList.prod-Bao7NGl7.mjs.map +0 -1
- package/dist/LexicalMarkdown.dev-CRWkZwlp.mjs.map +0 -1
- package/dist/LexicalMarkdown.prod-tGG6js4r.mjs.map +0 -1
- package/dist/LexicalRichText.dev-DPXfQePC.mjs.map +0 -1
- package/dist/LexicalRichText.node-BEkm_YwY.mjs.map +0 -1
- package/dist/LexicalRichText.prod-DlfudC5w.mjs.map +0 -1
- package/dist/LexicalSelection.dev-BVTArZ-b.mjs.map +0 -1
- package/dist/LexicalSelection.node-CQ8iTYsz.mjs.map +0 -1
- package/dist/LexicalSelection.prod-BZKGGs-G.mjs.map +0 -1
- package/dist/LexicalTable.dev-C-AOEpJn.mjs.map +0 -1
- package/dist/LexicalTable.prod-Cyn0qWxZ.mjs.map +0 -1
- package/dist/LexicalUtils.dev-DRRDyAlS.mjs.map +0 -1
- package/dist/LexicalUtils.node-Dz-HANi6.mjs.map +0 -1
- package/dist/LexicalUtils.prod-CmeHwh8W.mjs.map +0 -1
- package/dist/auth-CAKmTDpF.mjs +0 -211
- package/dist/auth-CAKmTDpF.mjs.map +0 -1
- package/dist/bin/mxs.mjs.map +0 -1
- package/dist/config-store-B8_9iStL.mjs +0 -166
- package/dist/config-store-B8_9iStL.mjs.map +0 -1
- package/dist/create-5wbU7IQh.mjs +0 -23
- package/dist/create-5wbU7IQh.mjs.map +0 -1
- package/dist/create-Bs6K7AyQ.mjs +0 -23
- package/dist/create-Bs6K7AyQ.mjs.map +0 -1
- package/dist/create-DBReocgJ.mjs +0 -24
- package/dist/create-DBReocgJ.mjs.map +0 -1
- package/dist/create-DGVaE0_S.mjs +0 -19
- package/dist/create-DGVaE0_S.mjs.map +0 -1
- package/dist/create-lLFZuMsz.mjs +0 -23
- package/dist/create-lLFZuMsz.mjs.map +0 -1
- package/dist/delete-6tkhHQDp.mjs +0 -22
- package/dist/delete-6tkhHQDp.mjs.map +0 -1
- package/dist/delete-CRFxitDN.mjs +0 -31
- package/dist/delete-CRFxitDN.mjs.map +0 -1
- package/dist/delete-DU2Hvsy8.mjs +0 -22
- package/dist/delete-DU2Hvsy8.mjs.map +0 -1
- package/dist/delete-nJmHtvfq.mjs +0 -31
- package/dist/delete-nJmHtvfq.mjs.map +0 -1
- package/dist/delete-tJhXI8s4.mjs +0 -22
- package/dist/delete-tJhXI8s4.mjs.map +0 -1
- package/dist/dist-DJF1Ntdn.mjs +0 -810
- package/dist/dist-DJF1Ntdn.mjs.map +0 -1
- package/dist/document-output-BFJdwPV0.mjs +0 -200
- package/dist/document-output-BFJdwPV0.mjs.map +0 -1
- package/dist/edit-BMjTbPQO.mjs +0 -40
- package/dist/edit-BMjTbPQO.mjs.map +0 -1
- package/dist/edit-BnEmMmv6.mjs +0 -80
- package/dist/edit-BnEmMmv6.mjs.map +0 -1
- package/dist/edit-C4vRSmRy.mjs +0 -79
- package/dist/edit-C4vRSmRy.mjs.map +0 -1
- package/dist/edit-CQsW5gnk.mjs +0 -86
- package/dist/edit-CQsW5gnk.mjs.map +0 -1
- package/dist/editor-BIw1ALTF.mjs +0 -42
- package/dist/editor-BIw1ALTF.mjs.map +0 -1
- package/dist/envelope-overlays-DXXygxdF.mjs +0 -26
- package/dist/envelope-overlays-DXXygxdF.mjs.map +0 -1
- package/dist/get-B3Y5hAAO.mjs +0 -10
- package/dist/get-B3Y5hAAO.mjs.map +0 -1
- package/dist/get-C5fmd5Vf.mjs +0 -14
- package/dist/get-C5fmd5Vf.mjs.map +0 -1
- package/dist/get-Cdp2tmwz.mjs +0 -28
- package/dist/get-Cdp2tmwz.mjs.map +0 -1
- package/dist/get-D18ChSKU.mjs +0 -10
- package/dist/get-D18ChSKU.mjs.map +0 -1
- package/dist/get-NSHTGu4Y.mjs +0 -13
- package/dist/get-NSHTGu4Y.mjs.map +0 -1
- package/dist/get-XBPJr95m.mjs +0 -14
- package/dist/get-XBPJr95m.mjs.map +0 -1
- package/dist/list-B6703n9X.mjs +0 -10
- package/dist/list-B6703n9X.mjs.map +0 -1
- package/dist/list-BtNocJhc.mjs +0 -14
- package/dist/list-BtNocJhc.mjs.map +0 -1
- package/dist/list-C9dXrU9H.mjs +0 -10
- package/dist/list-C9dXrU9H.mjs.map +0 -1
- package/dist/list-CcwcYZgN.mjs +0 -10
- package/dist/list-CcwcYZgN.mjs.map +0 -1
- package/dist/list-Ctc8b5gT.mjs +0 -10
- package/dist/list-Ctc8b5gT.mjs.map +0 -1
- package/dist/list-b60JzCTw.mjs +0 -15
- package/dist/list-b60JzCTw.mjs.map +0 -1
- package/dist/litexml-codec-CfIxcPG0.mjs +0 -13451
- package/dist/litexml-codec-CfIxcPG0.mjs.map +0 -1
- package/dist/login-bZx4HaVs.mjs +0 -591
- package/dist/login-bZx4HaVs.mjs.map +0 -1
- package/dist/logout-C0Dzitsu.mjs +0 -18
- package/dist/logout-C0Dzitsu.mjs.map +0 -1
- package/dist/ls-wMiTXZPQ.mjs +0 -33
- package/dist/ls-wMiTXZPQ.mjs.map +0 -1
- package/dist/mark-Dh9BErsf.mjs +0 -29
- package/dist/mark-Dh9BErsf.mjs.map +0 -1
- package/dist/onboarding-Bw_I8qpf.mjs +0 -214
- package/dist/onboarding-Bw_I8qpf.mjs.map +0 -1
- package/dist/output-D2dDlyV2.d.mts +0 -16
- package/dist/output-vzequvhd.mjs +0 -163
- package/dist/output-vzequvhd.mjs.map +0 -1
- package/dist/payload-CO4zbNr8.mjs +0 -547
- package/dist/payload-CO4zbNr8.mjs.map +0 -1
- package/dist/profile-CNe2uWJi.mjs +0 -172
- package/dist/profile-CNe2uWJi.mjs.map +0 -1
- package/dist/publish-CzzucXQq.mjs +0 -23
- package/dist/publish-CzzucXQq.mjs.map +0 -1
- package/dist/publish-DRQkpxsz.mjs +0 -23
- package/dist/publish-DRQkpxsz.mjs.map +0 -1
- package/dist/resolve-BYg5Gees.mjs +0 -23
- package/dist/resolve-BYg5Gees.mjs.map +0 -1
- package/dist/resolve-BlpMdnaM.mjs +0 -16
- package/dist/resolve-BlpMdnaM.mjs.map +0 -1
- package/dist/resolve-CUsHGcb-.mjs +0 -119
- package/dist/resolve-CUsHGcb-.mjs.map +0 -1
- package/dist/resolve-helpers-CoHYa2uk.mjs +0 -30
- package/dist/resolve-helpers-CoHYa2uk.mjs.map +0 -1
- package/dist/resolve-jdb1VqAG.mjs +0 -26
- package/dist/resolve-jdb1VqAG.mjs.map +0 -1
- package/dist/rm-D-2iW1Cr.mjs +0 -33
- package/dist/rm-D-2iW1Cr.mjs.map +0 -1
- package/dist/run-Dnax6uhZ.mjs +0 -130
- package/dist/run-Dnax6uhZ.mjs.map +0 -1
- package/dist/self-update-CZywTwGd.mjs +0 -1610
- package/dist/self-update-CZywTwGd.mjs.map +0 -1
- package/dist/set-Dk28LAy5.mjs +0 -43
- package/dist/set-Dk28LAy5.mjs.map +0 -1
- package/dist/shared-d0_6ZPn_.mjs +0 -50
- package/dist/shared-d0_6ZPn_.mjs.map +0 -1
- package/dist/show-DScu6mXz.mjs +0 -39
- package/dist/show-DScu6mXz.mjs.map +0 -1
- package/dist/status-8F6tgphP.mjs +0 -23
- package/dist/status-8F6tgphP.mjs.map +0 -1
- package/dist/update-B1LGxV0n.mjs +0 -30
- package/dist/update-B1LGxV0n.mjs.map +0 -1
- package/dist/update-CXetpFT3.mjs +0 -28
- package/dist/update-CXetpFT3.mjs.map +0 -1
- package/dist/update-Dr4BW8U-.mjs +0 -30
- package/dist/update-Dr4BW8U-.mjs.map +0 -1
- package/dist/update-bqcHRJPC.mjs +0 -36
- package/dist/update-bqcHRJPC.mjs.map +0 -1
- package/dist/update-dBtzzmkN.mjs +0 -37
- package/dist/update-dBtzzmkN.mjs.map +0 -1
- package/dist/use-D7eKESSW.mjs +0 -29
- package/dist/use-D7eKESSW.mjs.map +0 -1
- package/dist/whoami-CKSNd6zL.mjs +0 -22
- package/dist/whoami-CKSNd6zL.mjs.map +0 -1
package/dist/run-Dnax6uhZ.mjs
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { n as ue, r as q } from "./dist-DJF1Ntdn.mjs";
|
|
2
|
-
import { c as MxsErrorCode, i as emitSuccess, r as emitInfo, s as MxsError } from "./output-vzequvhd.mjs";
|
|
3
|
-
import { a as resolveCliEntrypoint, i as fetchLatestVersion, n as compareSemver, o as satisfiesNodeEngine, r as detectPackageManager, s as spawnUpgrade, t as buildUpgradeCommand } from "./self-update-CZywTwGd.mjs";
|
|
4
|
-
//#region src/commands/update/run.ts
|
|
5
|
-
const KNOWN_PMS = new Set([
|
|
6
|
-
"npm",
|
|
7
|
-
"pnpm",
|
|
8
|
-
"yarn",
|
|
9
|
-
"bun"
|
|
10
|
-
]);
|
|
11
|
-
async function run(opts, flags, out, currentVersion) {
|
|
12
|
-
const channel = opts.prerelease ? "next" : "stable";
|
|
13
|
-
const detection = detectPackageManager(resolveCliEntrypoint());
|
|
14
|
-
let pm;
|
|
15
|
-
if (opts.pm) {
|
|
16
|
-
if (!KNOWN_PMS.has(opts.pm)) throw new MxsError({
|
|
17
|
-
code: MxsErrorCode.UpdatePmUnknown,
|
|
18
|
-
message: `unknown package manager '${opts.pm}'`,
|
|
19
|
-
hint: "supported values: npm | pnpm | yarn | bun"
|
|
20
|
-
});
|
|
21
|
-
pm = opts.pm;
|
|
22
|
-
} else switch (detection.kind) {
|
|
23
|
-
case "dev": throw new MxsError({
|
|
24
|
-
code: MxsErrorCode.UpdateDevEnvironment,
|
|
25
|
-
message: "dev install detected; mxs is running from the monorepo source tree",
|
|
26
|
-
hint: "pull the repo with `git pull` and rebuild instead of self-updating"
|
|
27
|
-
});
|
|
28
|
-
case "transient": throw new MxsError({
|
|
29
|
-
code: MxsErrorCode.UpdateTransientInstall,
|
|
30
|
-
message: `mxs is running from a transient ${detection.cache} cache`,
|
|
31
|
-
hint: "install mxs globally first, e.g. `npm i -g @mx-space/cli` or `pnpm add -g @mx-space/cli`"
|
|
32
|
-
});
|
|
33
|
-
case "unknown": throw new MxsError({
|
|
34
|
-
code: MxsErrorCode.UpdatePmUnknown,
|
|
35
|
-
message: "unable to detect the package manager that installed mxs",
|
|
36
|
-
hint: "pass --pm <npm|pnpm|yarn|bun> to override detection",
|
|
37
|
-
details: { realPath: detection.realPath }
|
|
38
|
-
});
|
|
39
|
-
case "global":
|
|
40
|
-
pm = detection.pm;
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
let hit;
|
|
44
|
-
try {
|
|
45
|
-
const result = await fetchLatestVersion(channel);
|
|
46
|
-
if ("notModified" in result && result.notModified) throw new Error("unexpected 304 without an etag");
|
|
47
|
-
hit = result;
|
|
48
|
-
} catch (err) {
|
|
49
|
-
throw new MxsError({
|
|
50
|
-
code: MxsErrorCode.UpdateRegistryUnreachable,
|
|
51
|
-
message: "unable to reach the npm registry",
|
|
52
|
-
hint: "check your network connection or set MXS_NO_UPDATE_CHECK=1 to silence the notifier",
|
|
53
|
-
cause: err
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
if (compareSemver(currentVersion, hit.version) >= 0) {
|
|
57
|
-
emitSuccess({
|
|
58
|
-
current: currentVersion,
|
|
59
|
-
latest: hit.version,
|
|
60
|
-
channel,
|
|
61
|
-
up_to_date: true
|
|
62
|
-
}, out);
|
|
63
|
-
if (!out.json) emitInfo(`mxs: already up to date (${currentVersion})`, out);
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
if (hit.engines?.node && !satisfiesNodeEngine(process.versions.node, hit.engines.node)) throw new MxsError({
|
|
67
|
-
code: MxsErrorCode.UpdateNodeIncompatible,
|
|
68
|
-
message: `mxs ${hit.version} requires Node ${hit.engines.node} (current: v${process.versions.node})`,
|
|
69
|
-
hint: "upgrade Node first, then re-run `mxs update`"
|
|
70
|
-
});
|
|
71
|
-
if (!out.json) emitInfo(`mxs: ${currentVersion} → ${hit.version} (channel: ${channel}, pm: ${pm})`, out);
|
|
72
|
-
if (opts.check) {
|
|
73
|
-
emitSuccess({
|
|
74
|
-
current: currentVersion,
|
|
75
|
-
latest: hit.version,
|
|
76
|
-
channel,
|
|
77
|
-
pm,
|
|
78
|
-
up_to_date: false
|
|
79
|
-
}, out);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const { cmd, args } = buildUpgradeCommand(pm, channel);
|
|
83
|
-
if (flags.dryRun) {
|
|
84
|
-
const shown = `${cmd} ${args.join(" ")}`;
|
|
85
|
-
emitSuccess({
|
|
86
|
-
current: currentVersion,
|
|
87
|
-
latest: hit.version,
|
|
88
|
-
channel,
|
|
89
|
-
pm,
|
|
90
|
-
command: shown,
|
|
91
|
-
dry_run: true
|
|
92
|
-
}, out);
|
|
93
|
-
if (!out.json) emitInfo(`mxs: would run: ${shown}`, out);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const interactive = Boolean(process.stdin.isTTY) && Boolean(process.stderr.isTTY) && !out.json;
|
|
97
|
-
if (!opts.yes && interactive) {
|
|
98
|
-
const ok = await ue({ message: `Run \`${cmd} ${args.join(" ")}\` to upgrade?` });
|
|
99
|
-
if (q(ok) || !ok) {
|
|
100
|
-
emitInfo("mxs: update cancelled", out);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
const result = await spawnUpgrade(cmd, args, {});
|
|
105
|
-
if (result.status === 0) {
|
|
106
|
-
emitSuccess({
|
|
107
|
-
current: currentVersion,
|
|
108
|
-
latest: hit.version,
|
|
109
|
-
channel,
|
|
110
|
-
pm,
|
|
111
|
-
upgraded: true
|
|
112
|
-
}, out);
|
|
113
|
-
if (!out.json) emitInfo(`mxs: upgraded to ${hit.version}. Restart any long-running mxs process.`, out);
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
if (/eacces|permission denied/i.test(result.stderr)) throw new MxsError({
|
|
117
|
-
code: MxsErrorCode.UpdatePermissionDenied,
|
|
118
|
-
message: "package manager could not write to the global install directory",
|
|
119
|
-
hint: `rerun with elevated permissions, e.g. \`sudo ${cmd} ${args.join(" ")}\``
|
|
120
|
-
});
|
|
121
|
-
throw new MxsError({
|
|
122
|
-
code: MxsErrorCode.UpdateSpawnFailed,
|
|
123
|
-
message: `${cmd} exited with status ${result.status}`,
|
|
124
|
-
hint: `rerun with \`mxs update --dry-run\` to inspect the exact command`
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
//#endregion
|
|
128
|
-
export { run };
|
|
129
|
-
|
|
130
|
-
//# sourceMappingURL=run-Dnax6uhZ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-Dnax6uhZ.mjs","names":["confirm","isCancel"],"sources":["../src/commands/update/run.ts"],"sourcesContent":["import { confirm, isCancel } from '@clack/prompts'\n\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildUpgradeCommand,\n type Channel,\n compareSemver,\n detectPackageManager,\n fetchLatestVersion,\n type PmKind,\n resolveCliEntrypoint,\n satisfiesNodeEngine,\n spawnUpgrade,\n} from '../../core/self-update'\nimport type { GlobalFlags } from '../internal/shared'\n\nexport interface UpdateOpts {\n check?: boolean\n prerelease?: boolean\n pm?: string\n force?: boolean\n yes?: boolean\n}\n\nconst KNOWN_PMS: ReadonlySet<PmKind> = new Set<PmKind>([\n 'npm',\n 'pnpm',\n 'yarn',\n 'bun',\n])\n\nexport async function run(\n opts: UpdateOpts,\n flags: GlobalFlags,\n out: OutputOptions,\n currentVersion: string,\n): Promise<void> {\n const channel: Channel = opts.prerelease ? 'next' : 'stable'\n\n // 1. Detect package manager\n const entry = resolveCliEntrypoint()\n const detection = detectPackageManager(entry)\n\n let pm: PmKind\n if (opts.pm) {\n if (!KNOWN_PMS.has(opts.pm as PmKind)) {\n throw new MxsError({\n code: MxsErrorCode.UpdatePmUnknown,\n message: `unknown package manager '${opts.pm}'`,\n hint: 'supported values: npm | pnpm | yarn | bun',\n })\n }\n pm = opts.pm as PmKind\n } else {\n switch (detection.kind) {\n case 'dev': {\n throw new MxsError({\n code: MxsErrorCode.UpdateDevEnvironment,\n message:\n 'dev install detected; mxs is running from the monorepo source tree',\n hint: 'pull the repo with `git pull` and rebuild instead of self-updating',\n })\n }\n case 'transient': {\n throw new MxsError({\n code: MxsErrorCode.UpdateTransientInstall,\n message: `mxs is running from a transient ${detection.cache} cache`,\n hint: 'install mxs globally first, e.g. `npm i -g @mx-space/cli` or `pnpm add -g @mx-space/cli`',\n })\n }\n case 'unknown': {\n throw new MxsError({\n code: MxsErrorCode.UpdatePmUnknown,\n message: 'unable to detect the package manager that installed mxs',\n hint: 'pass --pm <npm|pnpm|yarn|bun> to override detection',\n details: { realPath: detection.realPath },\n })\n }\n case 'global': {\n pm = detection.pm\n break\n }\n }\n }\n\n // 2. Fetch latest from registry\n let hit\n try {\n const result = await fetchLatestVersion(channel)\n if ('notModified' in result && result.notModified) {\n throw new Error('unexpected 304 without an etag')\n }\n hit = result\n } catch (err) {\n throw new MxsError({\n code: MxsErrorCode.UpdateRegistryUnreachable,\n message: 'unable to reach the npm registry',\n hint: 'check your network connection or set MXS_NO_UPDATE_CHECK=1 to silence the notifier',\n cause: err,\n })\n }\n\n const cmp = compareSemver(currentVersion, hit.version)\n if (cmp >= 0) {\n emitSuccess(\n {\n current: currentVersion,\n latest: hit.version,\n channel,\n up_to_date: true,\n },\n out,\n )\n if (!out.json) {\n emitInfo(`mxs: already up to date (${currentVersion})`, out)\n }\n return\n }\n\n // 3. Node engine compatibility\n if (\n hit.engines?.node &&\n !satisfiesNodeEngine(process.versions.node, hit.engines.node)\n ) {\n throw new MxsError({\n code: MxsErrorCode.UpdateNodeIncompatible,\n message: `mxs ${hit.version} requires Node ${hit.engines.node} (current: v${process.versions.node})`,\n hint: 'upgrade Node first, then re-run `mxs update`',\n })\n }\n\n // 4. Announce\n if (!out.json) {\n emitInfo(\n `mxs: ${currentVersion} → ${hit.version} (channel: ${channel}, pm: ${pm})`,\n out,\n )\n }\n\n if (opts.check) {\n emitSuccess(\n {\n current: currentVersion,\n latest: hit.version,\n channel,\n pm,\n up_to_date: false,\n },\n out,\n )\n return\n }\n\n const { cmd, args } = buildUpgradeCommand(pm, channel)\n\n if (flags.dryRun) {\n const shown = `${cmd} ${args.join(' ')}`\n emitSuccess(\n {\n current: currentVersion,\n latest: hit.version,\n channel,\n pm,\n command: shown,\n dry_run: true,\n },\n out,\n )\n if (!out.json) emitInfo(`mxs: would run: ${shown}`, out)\n return\n }\n\n // 5. Confirmation\n const interactive =\n Boolean(process.stdin.isTTY) && Boolean(process.stderr.isTTY) && !out.json\n if (!opts.yes && interactive) {\n const ok = await confirm({\n message: `Run \\`${cmd} ${args.join(' ')}\\` to upgrade?`,\n })\n if (isCancel(ok) || !ok) {\n emitInfo('mxs: update cancelled', out)\n return\n }\n }\n\n // 6. Spawn\n const result = await spawnUpgrade(cmd, args, {})\n if (result.status === 0) {\n emitSuccess(\n {\n current: currentVersion,\n latest: hit.version,\n channel,\n pm,\n upgraded: true,\n },\n out,\n )\n if (!out.json) {\n emitInfo(\n `mxs: upgraded to ${hit.version}. Restart any long-running mxs process.`,\n out,\n )\n }\n return\n }\n\n if (/eacces|permission denied/i.test(result.stderr)) {\n throw new MxsError({\n code: MxsErrorCode.UpdatePermissionDenied,\n message:\n 'package manager could not write to the global install directory',\n hint: `rerun with elevated permissions, e.g. \\`sudo ${cmd} ${args.join(' ')}\\``,\n })\n }\n\n throw new MxsError({\n code: MxsErrorCode.UpdateSpawnFailed,\n message: `${cmd} exited with status ${result.status}`,\n hint: `rerun with \\`mxs update --dry-run\\` to inspect the exact command`,\n })\n}\n"],"mappings":"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"}
|