@detergent-software/atk 8.7.0-dev.1 → 8.7.0-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/CHANGELOG.md +98 -0
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +34 -11
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.d.ts.map +1 -1
- package/build/commands/browse.js +23 -15
- package/build/commands/browse.js.map +1 -1
- package/build/commands/freeze.d.ts.map +1 -1
- package/build/commands/freeze.js +11 -6
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/index.d.ts.map +1 -1
- package/build/commands/index.js +1 -0
- package/build/commands/index.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +91 -26
- package/build/commands/install.js.map +1 -1
- package/build/commands/list.d.ts +2 -1
- package/build/commands/list.d.ts.map +1 -1
- package/build/commands/list.js +82 -66
- package/build/commands/list.js.map +1 -1
- package/build/commands/move.d.ts +28 -0
- package/build/commands/move.d.ts.map +1 -0
- package/build/commands/move.js +180 -0
- package/build/commands/move.js.map +1 -0
- package/build/commands/outdated.d.ts +2 -1
- package/build/commands/outdated.d.ts.map +1 -1
- package/build/commands/outdated.js +67 -24
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/pin.d.ts.map +1 -1
- package/build/commands/pin.js +12 -7
- package/build/commands/pin.js.map +1 -1
- package/build/commands/prune.d.ts.map +1 -1
- package/build/commands/prune.js +17 -10
- package/build/commands/prune.js.map +1 -1
- package/build/commands/schema.d.ts +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +22 -13
- package/build/commands/sync.js.map +1 -1
- package/build/commands/thaw.d.ts.map +1 -1
- package/build/commands/thaw.js +11 -6
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/uninstall.d.ts.map +1 -1
- package/build/commands/uninstall.js +20 -15
- package/build/commands/uninstall.js.map +1 -1
- package/build/commands/unpin.d.ts.map +1 -1
- package/build/commands/unpin.js +11 -6
- package/build/commands/unpin.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +11 -11
- package/build/commands/update.js.map +1 -1
- package/build/components/CrossScopeWarning.d.ts +12 -0
- package/build/components/CrossScopeWarning.d.ts.map +1 -0
- package/build/components/CrossScopeWarning.js +13 -0
- package/build/components/CrossScopeWarning.js.map +1 -0
- package/build/components/DryRunBanner.d.ts +3 -1
- package/build/components/DryRunBanner.d.ts.map +1 -1
- package/build/components/DryRunBanner.js +2 -2
- package/build/components/DryRunBanner.js.map +1 -1
- package/build/components/InstallConfirmBar.d.ts.map +1 -1
- package/build/components/InstallConfirmBar.js +1 -3
- package/build/components/InstallConfirmBar.js.map +1 -1
- package/build/components/InstallSummary.d.ts +3 -1
- package/build/components/InstallSummary.d.ts.map +1 -1
- package/build/components/InstallSummary.js +2 -2
- package/build/components/InstallSummary.js.map +1 -1
- package/build/components/ListActionBar.d.ts +4 -2
- package/build/components/ListActionBar.d.ts.map +1 -1
- package/build/components/ListActionBar.js +5 -4
- package/build/components/ListActionBar.js.map +1 -1
- package/build/components/ListBrowseList.d.ts +7 -6
- package/build/components/ListBrowseList.d.ts.map +1 -1
- package/build/components/ListBrowseList.js +10 -6
- package/build/components/ListBrowseList.js.map +1 -1
- package/build/components/StatusBadge.d.ts +1 -1
- package/build/components/StatusBadge.d.ts.map +1 -1
- package/build/components/StatusBadge.js +1 -0
- package/build/components/StatusBadge.js.map +1 -1
- package/build/components/SyncAllInSync.d.ts +3 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +2 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/SyncDriftedList.d.ts +3 -1
- package/build/components/SyncDriftedList.d.ts.map +1 -1
- package/build/components/SyncDriftedList.js +3 -3
- package/build/components/SyncDriftedList.js.map +1 -1
- package/build/components/SyncNoAssets.d.ts +3 -1
- package/build/components/SyncNoAssets.d.ts.map +1 -1
- package/build/components/SyncNoAssets.js +2 -2
- package/build/components/SyncNoAssets.js.map +1 -1
- package/build/components/index.d.ts +1 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -0
- package/build/components/index.js.map +1 -1
- package/build/hooks/useInitState.d.ts.map +1 -1
- package/build/hooks/useInitState.js +4 -2
- package/build/hooks/useInitState.js.map +1 -1
- package/build/hooks/useListActions.d.ts +19 -6
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +37 -33
- package/build/hooks/useListActions.js.map +1 -1
- package/build/hooks/useListState.d.ts +29 -12
- package/build/hooks/useListState.d.ts.map +1 -1
- package/build/hooks/useListState.js +22 -6
- package/build/hooks/useListState.js.map +1 -1
- package/build/hooks/usePruneState.d.ts +6 -0
- package/build/hooks/usePruneState.d.ts.map +1 -1
- package/build/hooks/usePruneState.js +6 -1
- package/build/hooks/usePruneState.js.map +1 -1
- package/build/hooks/useResolvedScope.d.ts +21 -0
- package/build/hooks/useResolvedScope.d.ts.map +1 -0
- package/build/hooks/useResolvedScope.js +15 -0
- package/build/hooks/useResolvedScope.js.map +1 -0
- package/build/hooks/useUninstallState.d.ts +6 -0
- package/build/hooks/useUninstallState.d.ts.map +1 -1
- package/build/hooks/useUninstallState.js +6 -1
- package/build/hooks/useUninstallState.js.map +1 -1
- package/build/lib/adapter.d.ts +41 -2
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +147 -12
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +2 -1
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config-entries.d.ts +5 -3
- package/build/lib/config-entries.d.ts.map +1 -1
- package/build/lib/config-entries.js +7 -4
- package/build/lib/config-entries.js.map +1 -1
- package/build/lib/config-file.d.ts +10 -3
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +29 -7
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/config-lock.d.ts +3 -1
- package/build/lib/config-lock.d.ts.map +1 -1
- package/build/lib/config-lock.js +12 -5
- package/build/lib/config-lock.js.map +1 -1
- package/build/lib/cross-scope.d.ts +50 -0
- package/build/lib/cross-scope.d.ts.map +1 -0
- package/build/lib/cross-scope.js +132 -0
- package/build/lib/cross-scope.js.map +1 -0
- package/build/lib/diagnostics.d.ts +15 -2
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +152 -10
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +7 -7
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +2 -1
- package/build/lib/init.js.map +1 -1
- package/build/lib/installed-for-tool.d.ts +2 -1
- package/build/lib/installed-for-tool.d.ts.map +1 -1
- package/build/lib/installed-for-tool.js +7 -4
- package/build/lib/installed-for-tool.js.map +1 -1
- package/build/lib/installer.d.ts +2 -2
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +111 -40
- package/build/lib/installer.js.map +1 -1
- package/build/lib/lockfile.d.ts +1 -1
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +2 -2
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/mover.d.ts +103 -0
- package/build/lib/mover.d.ts.map +1 -0
- package/build/lib/mover.js +375 -0
- package/build/lib/mover.js.map +1 -0
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +8 -8
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/read-scopes.d.ts +32 -0
- package/build/lib/read-scopes.d.ts.map +1 -0
- package/build/lib/read-scopes.js +55 -0
- package/build/lib/read-scopes.js.map +1 -0
- package/build/lib/root-path.d.ts +7 -0
- package/build/lib/root-path.d.ts.map +1 -0
- package/build/lib/root-path.js +10 -0
- package/build/lib/root-path.js.map +1 -0
- package/build/lib/schemas/adapter.d.ts +49 -1
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +36 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +2 -0
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +8 -2
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/scope.d.ts +11 -0
- package/build/lib/scope.d.ts.map +1 -1
- package/build/lib/scope.js +12 -0
- package/build/lib/scope.js.map +1 -1
- package/build/lib/sync.d.ts +2 -1
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +12 -5
- package/build/lib/sync.js.map +1 -1
- package/build/lib/toml-edit.d.ts +10 -0
- package/build/lib/toml-edit.d.ts.map +1 -0
- package/build/lib/toml-edit.js +311 -0
- package/build/lib/toml-edit.js.map +1 -0
- package/build/lib/tool-resolver.d.ts +3 -0
- package/build/lib/tool-resolver.d.ts.map +1 -1
- package/build/lib/tool-resolver.js +10 -10
- package/build/lib/tool-resolver.js.map +1 -1
- package/build/lib/uninstaller.d.ts +14 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +68 -25
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +3 -2
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +18 -12
- package/build/lib/updater.js.map +1 -1
- package/build/lib/write-file.d.ts +5 -2
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +6 -3
- package/build/lib/write-file.js.map +1 -1
- package/package.json +1 -1
- package/tool-adapters/claude-code.json +13 -0
- package/tool-adapters/codex-cli.json +28 -0
- package/tool-adapters/copilot-cli.json +46 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAEhG,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAuD,CAAC;AAEzE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA0ElG"}
|
package/build/commands/thaw.js
CHANGED
|
@@ -4,12 +4,13 @@ import { option } from 'pastel';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
6
6
|
import { useCommand } from '../hooks/useCommand.js';
|
|
7
|
+
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
8
|
import { isAssetFrozen, thawAssetInConfig } from '../lib/config.js';
|
|
8
9
|
import { readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
10
|
import { parseOrgFromName } from '../lib/org.js';
|
|
10
11
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
12
|
import { AssetType } from '../lib/schemas/index.js';
|
|
12
|
-
import {
|
|
13
|
+
import { scopeLabel } from '../lib/scope.js';
|
|
13
14
|
export const description = 'Thaw a frozen asset to allow sync and update to overwrite it again';
|
|
14
15
|
export const options = z.object({
|
|
15
16
|
json: z
|
|
@@ -41,14 +42,16 @@ export const args = z.tuple([z.string().describe('Asset name to thaw')]);
|
|
|
41
42
|
export default function Thaw({ args: [rawName], options: { json, projectRoot, type, user } }) {
|
|
42
43
|
const { name, org } = parseOrgFromName(rawName);
|
|
43
44
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
45
|
+
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
44
46
|
const state = useCommand(async (progress) => {
|
|
45
|
-
const
|
|
47
|
+
const where = await resolve();
|
|
48
|
+
const projectDir = where.root;
|
|
46
49
|
// Note: resolveTool is intentionally omitted — thaw only toggles the
|
|
47
50
|
// frozen state in the project config and does not place or modify any files.
|
|
48
51
|
progress('Reading lockfile...');
|
|
49
52
|
const lockfile = await readLockfile(projectDir);
|
|
50
53
|
// Verify the asset is installed and is a direct install
|
|
51
|
-
requireDirectInstall(lockfile, name, 'thawed', type, org);
|
|
54
|
+
requireDirectInstall(lockfile, name, 'thawed', type, org, scopeLabel(where));
|
|
52
55
|
// Check if the asset is actually frozen (via project config)
|
|
53
56
|
const frozen = await isAssetFrozen(projectDir, name, type, org);
|
|
54
57
|
if (!frozen) {
|
|
@@ -69,18 +72,20 @@ export default function Thaw({ args: [rawName], options: { json, projectRoot, ty
|
|
|
69
72
|
...(state.hint ? { hint: state.hint } : {}),
|
|
70
73
|
message: state.message,
|
|
71
74
|
outcome: 'error',
|
|
75
|
+
...fields,
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
78
|
return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
|
|
75
79
|
}
|
|
76
80
|
const { data } = state;
|
|
77
81
|
if (effectiveJson) {
|
|
78
|
-
return renderJson(data);
|
|
82
|
+
return renderJson({ ...data, ...fields });
|
|
79
83
|
}
|
|
84
|
+
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
80
85
|
if (data.outcome === 'not-frozen') {
|
|
81
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently frozen"] }));
|
|
86
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently frozen", where] }));
|
|
82
87
|
}
|
|
83
88
|
// data.outcome === 'thawed'
|
|
84
|
-
return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children: data.name })] }));
|
|
89
|
+
return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children: data.name }), where] }));
|
|
85
90
|
}
|
|
86
91
|
//# sourceMappingURL=thaw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;iBAwFlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAsE,CAAC;AAiBxF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAUF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EAAE,CAAC,IAAI,CAAC,EACZ,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GACrF,EAAE,KAAK,kDA6bP"}
|
|
@@ -6,11 +6,12 @@ import { z } from 'zod';
|
|
|
6
6
|
import { DryRunBanner, ErrorView, OrphanListItem, Spinner } from '../components/index.js';
|
|
7
7
|
import { useConfirmation } from '../hooks/useConfirmation.js';
|
|
8
8
|
import { useUninstallState } from '../hooks/useUninstallState.js';
|
|
9
|
-
import { resolveInstalledPaths } from '../lib/adapter.js';
|
|
9
|
+
import { adapterAsPlaced, resolveInstalledPaths } from '../lib/adapter.js';
|
|
10
10
|
import { identityKey } from '../lib/lockfile.js';
|
|
11
11
|
import { formatOrgName } from '../lib/org.js';
|
|
12
12
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
13
13
|
import { AssetType } from '../lib/schemas/index.js';
|
|
14
|
+
import { scopeFields, scopeLabel } from '../lib/scope.js';
|
|
14
15
|
export const description = 'Uninstall an asset or bundle';
|
|
15
16
|
export const options = z.object({
|
|
16
17
|
cascade: z
|
|
@@ -151,6 +152,9 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
|
|
|
151
152
|
// ---------------------------------------------------------------------------
|
|
152
153
|
// Render
|
|
153
154
|
// ---------------------------------------------------------------------------
|
|
155
|
+
const fields = state.where ? scopeFields(state.where) : {};
|
|
156
|
+
const label = state.where && scopeLabel(state.where);
|
|
157
|
+
const where = label ? ` in ${label}` : '';
|
|
154
158
|
// Loading phase
|
|
155
159
|
if (state.phase === 'loading') {
|
|
156
160
|
return _jsx(Spinner, { message: state.progress });
|
|
@@ -164,6 +168,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
|
|
|
164
168
|
...(state.errorHint ? { hint: state.errorHint } : {}),
|
|
165
169
|
message: state.errorMessage,
|
|
166
170
|
outcome: 'error',
|
|
171
|
+
...fields,
|
|
167
172
|
});
|
|
168
173
|
}
|
|
169
174
|
return _jsx(ErrorView, { command: state.errorCommand, hint: state.errorHint, message: state.errorMessage });
|
|
@@ -178,7 +183,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
|
|
|
178
183
|
const cancelled = outcome?.outcome === 'confirming' || outcome?.outcome === 'bundle-confirming';
|
|
179
184
|
// JSON path: emit the outcome shape directly once we have one
|
|
180
185
|
if (effectiveJson && state.phase === 'done' && outcome) {
|
|
181
|
-
return renderJson(cancelled ? { name, outcome: 'cancelled' } : outcome);
|
|
186
|
+
return renderJson({ ...(cancelled ? { name, outcome: 'cancelled' } : outcome), ...fields });
|
|
182
187
|
}
|
|
183
188
|
// Cancelled from confirming (done phase with no outcome change — cancelled before execution)
|
|
184
189
|
if (state.phase === 'done' && outcome?.outcome === 'confirming') {
|
|
@@ -194,51 +199,51 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
|
|
|
194
199
|
// --- Single-asset outcomes ---
|
|
195
200
|
if (outcome.outcome === 'not-installed') {
|
|
196
201
|
// Echo the spec the user typed (keeps the @org/ prefix visible).
|
|
197
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not installed."] }));
|
|
202
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not installed", where, "."] }));
|
|
198
203
|
}
|
|
199
204
|
if (outcome.outcome === 'dry-run-single') {
|
|
200
205
|
const { lockfileEffects, plan, projectDir, tools } = outcome;
|
|
201
206
|
const resolvedToolNames = tools.map((t) => t.tool);
|
|
202
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: 1, tools: resolvedToolNames }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", plan.primary.type, ") v", plan.primary.version] })] }), tools.map(({ adapter: toolAdapter, tool: toolName }) => {
|
|
203
|
-
const resolved = resolveInstalledPaths(plan.primary, toolAdapter, projectDir);
|
|
207
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: 1, tools: resolvedToolNames, where: label }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", plan.primary.type, ") v", plan.primary.version] })] }), tools.map(({ adapter: toolAdapter, tool: toolName }) => {
|
|
208
|
+
const resolved = resolveInstalledPaths(plan.primary, adapterAsPlaced(toolAdapter, plan.primary), projectDir);
|
|
204
209
|
return (_jsxs(Box, { flexDirection: 'column', children: [resolved.files.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["Files to remove (", toolName, "):"] }), resolved.files.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', "\u2715 ", f.installedPath] }, f.installedPath)))] })), resolved.configEntries.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["Config entries to clean (", toolName, "):"] }), resolved.configEntries.map((c) => (_jsxs(Text, { dimColor: true, children: [' ', "\u2715 ", c.key] }, c.key)))] }))] }, toolName));
|
|
205
210
|
}), plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on", ' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`)))] })), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that would also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: resolvedToolNames })] }));
|
|
206
211
|
}
|
|
207
212
|
if (outcome.outcome === 'success') {
|
|
208
|
-
return (_jsx(Box, { flexDirection: 'column', children: outcome.toolResults.map(({ plan, results, tool: toolName }) => (_jsx(SingleUninstallSummary, { name: name, plan: plan, results: results, tools: [toolName] }, toolName))) }));
|
|
213
|
+
return (_jsx(Box, { flexDirection: 'column', children: outcome.toolResults.map(({ plan, results, tool: toolName }) => (_jsx(SingleUninstallSummary, { name: name, plan: plan, results: results, tools: [toolName], where: where }, toolName))) }));
|
|
209
214
|
}
|
|
210
215
|
if (outcome.outcome === 'confirming') {
|
|
211
216
|
const { lockfileEffects, plan, tools: confirmTools } = outcome;
|
|
212
217
|
// Awaiting confirmation — show dependents warning and prompt
|
|
213
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that will also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: confirmTools.map((t) => t.tool) }), _jsx(Text, { children: " " }),
|
|
218
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that will also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: confirmTools.map((t) => t.tool) }), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Continue with uninstall", where, "? (y/n)"] })] }));
|
|
214
219
|
}
|
|
215
220
|
// --- Bundle outcomes ---
|
|
216
221
|
if (outcome.outcome === 'dry-run-bundle') {
|
|
217
222
|
const { lockfileEffects, plan, tools } = outcome;
|
|
218
223
|
const totalRemovals = plan.assetsToRemove.length + plan.orphansToRemove.length;
|
|
219
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: totalRemovals, tools: tools }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: tools })] }));
|
|
224
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: totalRemovals, tools: tools, where: label }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: tools })] }));
|
|
220
225
|
}
|
|
221
226
|
if (outcome.outcome === 'bundle-not-installed') {
|
|
222
227
|
// Echo the spec the user typed (keeps the @org/ prefix visible).
|
|
223
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " Bundle ", _jsx(Text, { bold: true, children: name }), " is not currently installed."] }));
|
|
228
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " Bundle ", _jsx(Text, { bold: true, children: name }), " is not currently installed", where, "."] }));
|
|
224
229
|
}
|
|
225
230
|
if (outcome.outcome === 'bundle-confirming') {
|
|
226
231
|
const { lockfileEffects, plan, tools } = outcome;
|
|
227
232
|
const totalRemovals = plan.assetsToRemove.length + plan.orphansToRemove.length;
|
|
228
233
|
// Awaiting confirmation — show plan
|
|
229
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: tools.map((t) => t.tool) }), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', "? (y/n)"] })] }));
|
|
234
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: tools.map((t) => t.tool) }), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', where, "? (y/n)"] })] }));
|
|
230
235
|
}
|
|
231
236
|
if (outcome.outcome === 'bundle-success' ||
|
|
232
237
|
outcome.outcome === 'bundle-partial' ||
|
|
233
238
|
outcome.outcome === 'bundle-failed') {
|
|
234
|
-
return _jsx(BundleUninstallSummary, { plan: outcome.plan, result: outcome.result, tools: outcome.tools });
|
|
239
|
+
return _jsx(BundleUninstallSummary, { plan: outcome.plan, result: outcome.result, tools: outcome.tools, where: where });
|
|
235
240
|
}
|
|
236
241
|
// This should never be reached, but TypeScript exhaustiveness
|
|
237
242
|
return null;
|
|
238
243
|
}
|
|
239
|
-
function BundleUninstallSummary({ plan, result, tools }) {
|
|
244
|
+
function BundleUninstallSummary({ plan, result, tools, where }) {
|
|
240
245
|
const totalRemoved = result.removedAssets.length + result.removedOrphans.length;
|
|
241
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: result.errors.length === 0 ? 'green' : totalRemoved > 0 ? 'yellow' : 'red', children: [result.errors.length === 0 ? '✓' : totalRemoved > 0 ? '!' : '✕', " Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', '), result.errors.length > 0 ? `; ${result.errors.length} could not be removed` : ''] }), result.removedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed assets:" }), result.removedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), result.removedOrphans.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), result.removedOrphans.map((a) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), result.skippedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), result.skippedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: (result.keptEntries ?? []).map((k) => ({ ...k, entryKept: true })), keptOnly: true, tools: tools }), result.errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), result.errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", formatOrgName(e.org, e.asset), ": ", e.error] }, `err-${identityKey({ name: e.asset, org: e.org, type: e.type })}`)))] }))] }));
|
|
246
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: result.errors.length === 0 ? 'green' : totalRemoved > 0 ? 'yellow' : 'red', children: [result.errors.length === 0 ? '✓' : totalRemoved > 0 ? '!' : '✕', " Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', '), where, result.errors.length > 0 ? `; ${result.errors.length} could not be removed` : ''] }), result.removedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed assets:" }), result.removedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), result.removedOrphans.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), result.removedOrphans.map((a) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), result.skippedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), result.skippedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: (result.keptEntries ?? []).map((k) => ({ ...k, entryKept: true })), keptOnly: true, tools: tools }), result.errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), result.errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", formatOrgName(e.org, e.asset), ": ", e.error] }, `err-${identityKey({ name: e.asset, org: e.org, type: e.type })}`)))] }))] }));
|
|
242
247
|
}
|
|
243
248
|
/**
|
|
244
249
|
* Says what happens to each asset's lockfile entry. A `--tool` uninstall keeps the entry while
|
|
@@ -252,10 +257,10 @@ function LockfileEffects({ effects, keptOnly = false, tools }) {
|
|
|
252
257
|
? `${formatOrgName(e.org, e.name)}: entry kept — still installed for ${e.remainingTools.join(', ')}; excluded for ${tools.join(', ')}`
|
|
253
258
|
: `${formatOrgName(e.org, e.name)}: entry removed`] }, `lock-${identityKey(e)}`)))] }));
|
|
254
259
|
}
|
|
255
|
-
function SingleUninstallSummary({ name, plan, results, tools }) {
|
|
260
|
+
function SingleUninstallSummary({ name, plan, results, tools, where }) {
|
|
256
261
|
const primaryResult = results.find((r) => r.reason === 'direct');
|
|
257
262
|
const orphanResults = results.filter((r) => r.reason === 'orphan');
|
|
258
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: formatOrgName(primaryResult.org, primaryResult.name) }), " (", primaryResult.type, ") v", primaryResult.version, " from ", tools.join(', ')] })), primaryResult && primaryResult.filesRemoved.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed files:" }), primaryResult.filesRemoved.map((f) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", f] }, f)))] })), primaryResult && primaryResult.configEntriesCleaned.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Cleaned config entries:" }), primaryResult.configEntriesCleaned.map((c) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", c.key] }, c.key)))] })), orphanResults.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), orphanResults.map((r) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: r.name, org: r.org, type: r.type, version: r.version }, `orphan-${identityKey(r)}`)))] })), _jsx(LockfileEffects, { effects: results
|
|
263
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: formatOrgName(primaryResult.org, primaryResult.name) }), " (", primaryResult.type, ") v", primaryResult.version, " from ", tools.join(', '), where] })), primaryResult && primaryResult.filesRemoved.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed files:" }), primaryResult.filesRemoved.map((f) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", f] }, f)))] })), primaryResult && primaryResult.configEntriesCleaned.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Cleaned config entries:" }), primaryResult.configEntriesCleaned.map((c) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", c.key] }, c.key)))] })), orphanResults.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), orphanResults.map((r) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: r.name, org: r.org, type: r.type, version: r.version }, `orphan-${identityKey(r)}`)))] })), _jsx(LockfileEffects, { effects: results
|
|
259
264
|
.filter((r) => r.lockfileEntryKept)
|
|
260
265
|
.map((r) => ({
|
|
261
266
|
entryKept: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAwD,CAAC;AAE1E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAiFnG"}
|
package/build/commands/unpin.js
CHANGED
|
@@ -4,11 +4,12 @@ import { option } from 'pastel';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
6
6
|
import { useCommand } from '../hooks/useCommand.js';
|
|
7
|
+
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
8
|
import { findInstalledAsset, isPinned, LockfileError, readLockfile, unpinAssetVersion, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
8
9
|
import { parseOrgFromName } from '../lib/org.js';
|
|
9
10
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
10
11
|
import { AssetType } from '../lib/schemas/index.js';
|
|
11
|
-
import {
|
|
12
|
+
import { scopeLabel } from '../lib/scope.js';
|
|
12
13
|
export const description = 'Remove a version pin from an installed asset';
|
|
13
14
|
export const options = z.object({
|
|
14
15
|
json: z
|
|
@@ -40,15 +41,17 @@ export const args = z.tuple([z.string().describe('Asset name to unpin')]);
|
|
|
40
41
|
export default function Unpin({ args: [rawName], options: { json, projectRoot, type, user } }) {
|
|
41
42
|
const { name, org } = parseOrgFromName(rawName);
|
|
42
43
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
44
|
+
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
43
45
|
const state = useCommand(async (progress) => {
|
|
44
|
-
const
|
|
46
|
+
const where = await resolve();
|
|
47
|
+
const projectDir = where.root;
|
|
45
48
|
return await withLockfileErrorHandling(projectDir, async () => {
|
|
46
49
|
progress('Reading lockfile...');
|
|
47
50
|
const lockfile = await readLockfile(projectDir);
|
|
48
51
|
// Verify the asset is installed
|
|
49
52
|
const installed = findInstalledAsset(lockfile, name, type, org);
|
|
50
53
|
if (!installed) {
|
|
51
|
-
throw new LockfileError(`Asset '${rawName}' is not installed`);
|
|
54
|
+
throw new LockfileError(`Asset '${rawName}' is not installed in ${scopeLabel(where)}`);
|
|
52
55
|
}
|
|
53
56
|
// Check if the asset is actually pinned
|
|
54
57
|
if (!isPinned(lockfile, name, type, org)) {
|
|
@@ -73,18 +76,20 @@ export default function Unpin({ args: [rawName], options: { json, projectRoot, t
|
|
|
73
76
|
...(state.hint ? { hint: state.hint } : {}),
|
|
74
77
|
message: state.message,
|
|
75
78
|
outcome: 'error',
|
|
79
|
+
...fields,
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
|
|
79
83
|
}
|
|
80
84
|
const { data } = state;
|
|
81
85
|
if (effectiveJson) {
|
|
82
|
-
return renderJson(data);
|
|
86
|
+
return renderJson({ ...data, ...fields });
|
|
83
87
|
}
|
|
88
|
+
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
84
89
|
if (data.outcome === 'not-pinned') {
|
|
85
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently pinned"] }));
|
|
90
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently pinned", where] }));
|
|
86
91
|
}
|
|
87
92
|
// data.outcome === 'unpinned'
|
|
88
|
-
return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children: data.name }), " ", _jsxs(Text, { dimColor: true, children: ["(was pinned to v", data.version, ")"] })] }));
|
|
93
|
+
return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children: data.name }), " ", _jsxs(Text, { dimColor: true, children: ["(was pinned to v", data.version, ")"] }), where] }));
|
|
89
94
|
}
|
|
90
95
|
//# sourceMappingURL=unpin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;iBAqElB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAChE,EAAE,KAAK,2CAoZP"}
|
package/build/commands/update.js
CHANGED
|
@@ -4,12 +4,13 @@ import { option } from 'pastel';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { AssetVersionLine, DryRunBanner, ErrorView, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
|
|
6
6
|
import { useCommand } from '../hooks/useCommand.js';
|
|
7
|
+
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
8
|
import { readLockfile, withLockfileErrorHandling } from '../lib/lockfile.js';
|
|
8
9
|
import { formatOrgName } from '../lib/org.js';
|
|
9
10
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
10
11
|
import { fetchRegistry } from '../lib/registry.js';
|
|
11
12
|
import { AssetType } from '../lib/schemas/index.js';
|
|
12
|
-
import { loadScopeConfig,
|
|
13
|
+
import { loadScopeConfig, scopedCommand, scopeLabel } from '../lib/scope.js';
|
|
13
14
|
import { resolveTools } from '../lib/tool-resolver.js';
|
|
14
15
|
import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, } from '../lib/updater.js';
|
|
15
16
|
import { parseNameVersion } from '../lib/version.js';
|
|
@@ -76,8 +77,9 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
|
|
|
76
77
|
const name = parsed?.name;
|
|
77
78
|
const requestedVersion = parsed?.version;
|
|
78
79
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
80
|
+
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
79
81
|
const state = useCommand(async (progress) => {
|
|
80
|
-
const { root: projectDir, scope } = await
|
|
82
|
+
const { root: projectDir, scope } = await resolve();
|
|
81
83
|
// Load the scope's config to get frozen assets
|
|
82
84
|
const projectConfig = await loadScopeConfig(projectDir);
|
|
83
85
|
const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
|
|
@@ -89,7 +91,7 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
|
|
|
89
91
|
progress('Reading lockfile...');
|
|
90
92
|
const preCheckLockfile = await readLockfile(projectDir);
|
|
91
93
|
const target = name
|
|
92
|
-
? findUpdateTarget(preCheckLockfile, name, { scope, type, version: requestedVersion })
|
|
94
|
+
? findUpdateTarget(preCheckLockfile, name, { root: projectDir, scope, type, version: requestedVersion })
|
|
93
95
|
: undefined;
|
|
94
96
|
if ((preCheckLockfile.assets ?? []).length === 0) {
|
|
95
97
|
return { outcome: 'up-to-date', tools: toolNames };
|
|
@@ -240,30 +242,28 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
|
|
|
240
242
|
...(state.hint ? { hint: state.hint } : {}),
|
|
241
243
|
message: state.message,
|
|
242
244
|
outcome: 'error',
|
|
245
|
+
...fields,
|
|
243
246
|
});
|
|
244
247
|
}
|
|
245
248
|
return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
|
|
246
249
|
}
|
|
247
250
|
const { data } = state;
|
|
251
|
+
const where = resolved ? ` in ${scopeLabel(resolved)}` : '';
|
|
248
252
|
if (data.outcome === 'failed' || data.outcome === 'partial') {
|
|
249
253
|
process.exitCode = 1;
|
|
250
254
|
}
|
|
251
255
|
if (effectiveJson) {
|
|
252
|
-
|
|
253
|
-
return renderJson(data);
|
|
254
|
-
// The scope only words the hints' commands; the JSON payload leaves it out.
|
|
255
|
-
const { scope: _scope, ...payload } = data;
|
|
256
|
-
return renderJson(payload);
|
|
256
|
+
return renderJson({ ...data, ...fields });
|
|
257
257
|
}
|
|
258
258
|
if (data.outcome === 'up-to-date') {
|
|
259
|
-
return _jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), "."] });
|
|
259
|
+
return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), where, "."] }));
|
|
260
260
|
}
|
|
261
261
|
if (data.outcome === 'dry-run') {
|
|
262
262
|
const hasUpdatable = data.outdated.length > 0;
|
|
263
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 })] }));
|
|
263
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 })] }));
|
|
264
264
|
}
|
|
265
265
|
const stoppedAt = data.toolResults.find((tr) => tr.notAttempted);
|
|
266
|
-
return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
|
|
266
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool, where] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
|
|
267
267
|
? `its dependency ${formatOrgName(a.dependency.org, a.dependency.name)} failed to update`
|
|
268
268
|
: 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] }))] }));
|
|
269
269
|
}
|