@detergent-software/atk 9.2.0-dev.6 → 9.2.0-dev.7
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 +15 -0
- package/build/commands/browse.d.ts.map +1 -1
- package/build/commands/browse.js +119 -16
- package/build/commands/browse.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +26 -143
- package/build/commands/install.js.map +1 -1
- package/build/components/BrowseList.d.ts +3 -1
- package/build/components/BrowseList.d.ts.map +1 -1
- package/build/components/BrowseList.js +12 -6
- package/build/components/BrowseList.js.map +1 -1
- package/build/components/HelpBar.d.ts +5 -1
- package/build/components/HelpBar.d.ts.map +1 -1
- package/build/components/HelpBar.js +18 -4
- package/build/components/HelpBar.js.map +1 -1
- package/build/components/InstallConfirmBar.d.ts +4 -2
- package/build/components/InstallConfirmBar.d.ts.map +1 -1
- package/build/components/InstallConfirmBar.js +15 -2
- package/build/components/InstallConfirmBar.js.map +1 -1
- package/build/hooks/useBrowseState.d.ts +31 -1
- package/build/hooks/useBrowseState.d.ts.map +1 -1
- package/build/hooks/useBrowseState.js +99 -15
- package/build/hooks/useBrowseState.js.map +1 -1
- package/build/lib/format.d.ts +5 -0
- package/build/lib/format.d.ts.map +1 -1
- package/build/lib/format.js +7 -0
- package/build/lib/format.js.map +1 -1
- package/build/lib/install-targets.d.ts +90 -0
- package/build/lib/install-targets.d.ts.map +1 -0
- package/build/lib/install-targets.js +146 -0
- package/build/lib/install-targets.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [9.2.0-dev.7](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.6&targetVersion=GTv9.2.0-dev.7) (2026-10-24)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **cli:** mark rows in atk browse and install them as one plan ([1b871cb](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/1b871cb9cd368de426f8d3afaa518c67109ea6c8))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **cli:** give browse's list the rows a wrapped bar takes ([0d8f1b2](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0d8f1b2bb1854ee531408327e7f3bcd1648f9889))
|
|
10
|
+
* **cli:** review fixes for marking rows in atk browse ([e42131d](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e42131d10a0130507a7eefe122f03277a33b865a))
|
|
11
|
+
|
|
12
|
+
### Refactoring
|
|
13
|
+
|
|
14
|
+
* **cli:** share the several-targets install path in lib ([c5866c8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/c5866c8667e5aa5c7ad258f12735003c519e3e1e))
|
|
15
|
+
|
|
1
16
|
## [9.2.0-dev.6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.5&targetVersion=GTv9.2.0-dev.6) (2026-10-23)
|
|
2
17
|
|
|
3
18
|
### Features
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmDxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;;;iBAsDlB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAKf,CAAC;AAiBH,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;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAC1E,EAAE,KAAK,+BA0BP"}
|
package/build/commands/browse.js
CHANGED
|
@@ -4,14 +4,16 @@ import { useEffect, useRef } from 'react';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import BrowseList from '../components/BrowseList.js';
|
|
6
6
|
import FilterBar from '../components/FilterBar.js';
|
|
7
|
-
import HelpBar from '../components/HelpBar.js';
|
|
7
|
+
import HelpBar, { helpBarText } from '../components/HelpBar.js';
|
|
8
8
|
import { errorGuidanceRows, ErrorView, Spinner } from '../components/index.js';
|
|
9
|
-
import InstallConfirmBar from '../components/InstallConfirmBar.js';
|
|
9
|
+
import InstallConfirmBar, { resultLine } from '../components/InstallConfirmBar.js';
|
|
10
10
|
import { TYPE_TAB_LABELS, TYPE_TABS, useBrowseInput, useBrowseState, } from '../hooks/useBrowseState.js';
|
|
11
11
|
import { useCommand } from '../hooks/useCommand.js';
|
|
12
12
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
13
13
|
import { loadConfig } from '../lib/config.js';
|
|
14
14
|
import { errorGuidance, errorMessage } from '../lib/errors.js';
|
|
15
|
+
import { wrappedExtraRows } from '../lib/format.js';
|
|
16
|
+
import { installPlannedTargets, planTargetsInstall } from '../lib/install-targets.js';
|
|
15
17
|
import { LOCKFILE_LOCKED_MESSAGE, LockfileLockedError, readLockfile, withLockfileLock } from '../lib/lockfile.js';
|
|
16
18
|
import { executeInstallPlanForTools } from '../lib/multi-tool-install.js';
|
|
17
19
|
import { formatOrgName, resolveActiveOrg } from '../lib/org.js';
|
|
@@ -98,17 +100,20 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
|
|
|
98
100
|
const [state, dispatch, dispatchLoad] = useBrowseState(initialFilter, initialType);
|
|
99
101
|
const { exit } = useApp();
|
|
100
102
|
const { stdout } = useStdout();
|
|
101
|
-
const isInstalling = state.status === 'ready' && state.mode.kind === 'installing';
|
|
103
|
+
const isInstalling = state.status === 'ready' && (state.mode.kind === 'installing' || state.mode.kind === 'installing-set');
|
|
102
104
|
const stateRef = useRef(state);
|
|
103
105
|
stateRef.current = state;
|
|
104
106
|
const resolvedToolsRef = useRef(UNRESOLVED_TOOLS);
|
|
105
107
|
const scopeRef = useRef(undefined);
|
|
106
108
|
const terminalWidth = stdout?.columns ?? 120;
|
|
109
|
+
// The rows the help bar wraps to past its first. The cursor moves only while it shows, so the
|
|
110
|
+
// reducer scrolls by the list it leaves.
|
|
111
|
+
const helpRows = state.status === 'ready' ? wrappedExtraRows(helpBarText(helpBarPropsOf(state)), terminalWidth) : 0;
|
|
107
112
|
// Track viewport height
|
|
108
113
|
useEffect(() => {
|
|
109
114
|
const height = stdout?.rows ?? 24;
|
|
110
|
-
dispatch({ height: Math.max(5, height - CHROME_LINES), type: 'SET_VIEWPORT_HEIGHT' });
|
|
111
|
-
}, [stdout?.rows, dispatch]);
|
|
115
|
+
dispatch({ height: Math.max(5, height - CHROME_LINES - helpRows), type: 'SET_VIEWPORT_HEIGHT' });
|
|
116
|
+
}, [stdout?.rows, helpRows, dispatch]);
|
|
112
117
|
// Load data
|
|
113
118
|
useEffect(() => {
|
|
114
119
|
let cancelled = false;
|
|
@@ -170,25 +175,30 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
|
|
|
170
175
|
if (stateRef.current.status !== 'ready')
|
|
171
176
|
return;
|
|
172
177
|
const currentState = stateRef.current;
|
|
173
|
-
if (currentState.mode.kind !== 'installing')
|
|
174
|
-
return;
|
|
175
178
|
const installingMode = currentState.mode;
|
|
179
|
+
if (installingMode.kind !== 'installing' && installingMode.kind !== 'installing-set')
|
|
180
|
+
return;
|
|
176
181
|
let cancelled = false;
|
|
177
182
|
(async () => {
|
|
178
183
|
try {
|
|
179
184
|
const resolved = scopeRef.current;
|
|
180
185
|
if (!resolved)
|
|
181
186
|
throw new Error('The install scope has not resolved yet.');
|
|
182
|
-
|
|
183
|
-
assetName: installingMode.assetName,
|
|
184
|
-
assetOrg: installingMode.assetOrg,
|
|
187
|
+
const shared = {
|
|
185
188
|
dispatch,
|
|
186
189
|
isCancelled: () => cancelled,
|
|
187
|
-
itemKind: installingMode.itemKind,
|
|
188
190
|
registry: currentState.registry,
|
|
189
191
|
resolved,
|
|
190
192
|
tools: resolvedToolsRef.current,
|
|
191
|
-
}
|
|
193
|
+
};
|
|
194
|
+
await (installingMode.kind === 'installing-set'
|
|
195
|
+
? executeSetInstallFromBrowse({ ...shared, items: installingMode.items })
|
|
196
|
+
: executeInstallFromBrowse({
|
|
197
|
+
...shared,
|
|
198
|
+
assetName: installingMode.assetName,
|
|
199
|
+
assetOrg: installingMode.assetOrg,
|
|
200
|
+
itemKind: installingMode.itemKind,
|
|
201
|
+
}));
|
|
192
202
|
}
|
|
193
203
|
catch (err) {
|
|
194
204
|
if (!cancelled) {
|
|
@@ -229,7 +239,6 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
|
|
|
229
239
|
: state.typeFilter === 'all'
|
|
230
240
|
? state.allAssets.length + state.allBundles.length
|
|
231
241
|
: state.allAssets.filter((a) => a.type === state.typeFilter).length;
|
|
232
|
-
const canInstall = state.filteredItems.length > 0;
|
|
233
242
|
const sortArrow = state.sortDirection === 'asc' ? '\u2191' : '\u2193';
|
|
234
243
|
const sortIndicator = `Sort: ${BROWSE_SORT_FIELD_LABELS[state.sortField]} ${sortArrow}`;
|
|
235
244
|
const expandedItem = state.expandedIndex !== null ? state.filteredItems[state.expandedIndex] : null;
|
|
@@ -238,9 +247,15 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
|
|
|
238
247
|
: expandedItem?.kind === 'bundle'
|
|
239
248
|
? buildBundleWebUrl(expandedItem.data.name, expandedItem.data.org)
|
|
240
249
|
: null;
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
|
|
250
|
+
// The viewport already leaves the help bar's extra rows. Another bar taller than one row (a failed
|
|
251
|
+
// install's hint and command, a long set result) takes its extra rows from the list instead.
|
|
252
|
+
const finished = mode.kind === 'install-result' || mode.kind === 'install-set-result' ? mode : null;
|
|
253
|
+
const barRows = finished
|
|
254
|
+
? (finished.success ? 0 : errorGuidanceRows(finished)) + wrappedExtraRows(resultLine(finished), terminalWidth)
|
|
255
|
+
: browsing
|
|
256
|
+
? helpRows
|
|
257
|
+
: 0;
|
|
258
|
+
return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, hasOrg: !!state.org, items: state.filteredItems, lockfile: state.lockfile, marked: state.marked, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: Math.max(1, state.viewportHeight + helpRows - barRows), webUrl: webUrl }), browsing ? _jsx(HelpBar, { ...helpBarPropsOf(state) }) : _jsx(InstallConfirmBar, { mode: mode })] }));
|
|
244
259
|
}
|
|
245
260
|
/**
|
|
246
261
|
* JSON / non-TTY render branch.
|
|
@@ -381,4 +396,92 @@ async function executeInstallFromBrowse({ assetName, assetOrg, dispatch, isCance
|
|
|
381
396
|
}
|
|
382
397
|
});
|
|
383
398
|
}
|
|
399
|
+
/**
|
|
400
|
+
* Install the marked rows through `atk install a b my-bundle`'s plan and install steps: resolved
|
|
401
|
+
* together into one plan, one install across tools with its rollback, a marked asset already in
|
|
402
|
+
* place left out (one in place only as a dependency made direct), and a bundle in place whole left
|
|
403
|
+
* out. As for one row, browse has no deprecation refusal, cross-scope notice or bundle report.
|
|
404
|
+
*/
|
|
405
|
+
async function executeSetInstallFromBrowse({ dispatch, isCancelled, items, registry, resolved, tools, }) {
|
|
406
|
+
const { root: projectDir, scope } = resolved;
|
|
407
|
+
if ('error' in tools) {
|
|
408
|
+
throw tools.error;
|
|
409
|
+
}
|
|
410
|
+
await withLockfileLock(projectDir, async () => {
|
|
411
|
+
if (!isCancelled()) {
|
|
412
|
+
dispatch({ message: `Resolving dependencies for ${items.length} marked...`, type: 'INSTALL_PROGRESS' });
|
|
413
|
+
}
|
|
414
|
+
// Read under the lock: the lockfile may have moved on since browse loaded it.
|
|
415
|
+
const lockfile = await readLockfile(projectDir);
|
|
416
|
+
const targets = items.map((item) => item.kind === 'bundle'
|
|
417
|
+
? { bundle: item.data, kind: 'bundle' }
|
|
418
|
+
: {
|
|
419
|
+
kind: 'asset',
|
|
420
|
+
name: item.data.name,
|
|
421
|
+
...(item.data.org ? { org: item.data.org } : {}),
|
|
422
|
+
type: item.data.type,
|
|
423
|
+
});
|
|
424
|
+
const planned = planTargetsInstall(registry, targets, lockfile, tools, { force: false, projectDir });
|
|
425
|
+
await installPlannedTargets(planned, tools, {
|
|
426
|
+
onProgress: (message) => {
|
|
427
|
+
if (!isCancelled())
|
|
428
|
+
dispatch({ message, type: 'INSTALL_PROGRESS' });
|
|
429
|
+
},
|
|
430
|
+
onTool: (toolName) => {
|
|
431
|
+
if (!isCancelled())
|
|
432
|
+
dispatch({ message: `Installing for ${toolName}...`, type: 'INSTALL_PROGRESS' });
|
|
433
|
+
},
|
|
434
|
+
projectDir,
|
|
435
|
+
scope,
|
|
436
|
+
});
|
|
437
|
+
const newLockfile = await readLockfile(projectDir);
|
|
438
|
+
if (!isCancelled()) {
|
|
439
|
+
dispatch({
|
|
440
|
+
message: setInstallMessage(planned, {
|
|
441
|
+
tools: tools.map((t) => t.tool).join(', '),
|
|
442
|
+
where: scopeLabel(resolved),
|
|
443
|
+
}),
|
|
444
|
+
newLockfile,
|
|
445
|
+
success: true,
|
|
446
|
+
type: 'INSTALL_COMPLETE',
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
/** The help bar for the browsing view: what it can do now, and how many rows are marked. */
|
|
452
|
+
function helpBarPropsOf(state) {
|
|
453
|
+
return {
|
|
454
|
+
canInstall: state.filteredItems.length > 0 || state.marked.size > 0,
|
|
455
|
+
expanded: state.expandedIndex !== null,
|
|
456
|
+
hasOrg: !!state.org,
|
|
457
|
+
inputMode: state.mode.kind === 'browsing' ? state.mode.inputMode : 'navigate',
|
|
458
|
+
markedCount: state.marked.size,
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* What a set install did with each marked row, in one line: what it installed and for which tools,
|
|
463
|
+
* what was already in place, and what became a direct install; the scope once, after the first part.
|
|
464
|
+
*/
|
|
465
|
+
function setInstallMessage({ assets, bundlesInPlace, toInstall }, { tools, where }) {
|
|
466
|
+
const assetsWith = (outcome) => assets.filter((a) => a.outcome === outcome).map((a) => formatOrgName(a.org, a.name));
|
|
467
|
+
const bundleLabel = ({ bundle }) => `bundle ${formatOrgName(bundle.org, bundle.name)} (${bundle.assetCount} assets)`;
|
|
468
|
+
const installed = [
|
|
469
|
+
...assetsWith('installed'),
|
|
470
|
+
...toInstall.flatMap((target) => (target.kind === 'bundle' ? [bundleLabel(target)] : [])),
|
|
471
|
+
];
|
|
472
|
+
const inPlace = [...assetsWith('already-installed'), ...bundlesInPlace.map(bundleLabel)];
|
|
473
|
+
const direct = assetsWith('upgraded-to-direct');
|
|
474
|
+
const are = (names) => (names.length === 1 ? 'is' : 'are');
|
|
475
|
+
const parts = [
|
|
476
|
+
...(installed.length > 0 ? [`Installed ${installed.join(', ')} for ${tools}`] : []),
|
|
477
|
+
...(inPlace.length > 0 ? [`${inPlace.join(', ')} ${are(inPlace)} already installed`] : []),
|
|
478
|
+
...(direct.length > 0
|
|
479
|
+
? [`${direct.join(', ')} ${are(direct)} now ${direct.length === 1 ? 'a direct install' : 'direct installs'}`]
|
|
480
|
+
: []),
|
|
481
|
+
];
|
|
482
|
+
const [first, ...rest] = parts;
|
|
483
|
+
if (!first)
|
|
484
|
+
return `Nothing to install in ${where}`;
|
|
485
|
+
return [`${first} in ${where}`, ...rest].join('; ');
|
|
486
|
+
}
|
|
384
487
|
//# sourceMappingURL=browse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8DxB,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,OAAO;;;;;;;;;;;;;iBA8GlB,CAAC;AAEH,eAAO,MAAM,IAAI,uDAoBd,CAAC;AA6GJ,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;AAQF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAC9F,EAAE,KAAK,+BAwDP"}
|
|
@@ -10,6 +10,7 @@ import { resolveBundleVersion } from '../lib/bundle-version.js';
|
|
|
10
10
|
import { loadConfig } from '../lib/config.js';
|
|
11
11
|
import { crossScopeNotice, findCrossScopeInstalls } from '../lib/cross-scope.js';
|
|
12
12
|
import { errorGuidance, errorMessage } from '../lib/errors.js';
|
|
13
|
+
import { bundleMembers, installPlannedTargets, isBundleInPlace, planTargetsInstall } from '../lib/install-targets.js';
|
|
13
14
|
import { isInstalledForTool } from '../lib/installed-for-tool.js';
|
|
14
15
|
import { InstallerError } from '../lib/installer.js';
|
|
15
16
|
import { addAssetToLockfile, findInstalledAsset, identityKey, readLockfile, upgradeToDirectInstall, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
@@ -18,8 +19,8 @@ import { addNotice } from '../lib/notices.js';
|
|
|
18
19
|
import { formatOrgName, isBareOrgScope, parseBundleSpec, resolveActiveOrg } from '../lib/org.js';
|
|
19
20
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
20
21
|
import { argument, option } from '../lib/pastel/index.js';
|
|
21
|
-
import { fetchRegistry, findAsset, findAssetsByName, findBundle,
|
|
22
|
-
import { resolveBundleInstallPlan, resolveInstallPlan, resolveMultipleInstallPlans, ResolverError,
|
|
22
|
+
import { fetchRegistry, findAsset, findAssetsByName, findBundle, getAssetsByOrg, isDeprecated, isLatestAlias, } from '../lib/registry.js';
|
|
23
|
+
import { resolveBundleInstallPlan, resolveInstallPlan, resolveMultipleInstallPlans, ResolverError, } from '../lib/resolver.js';
|
|
23
24
|
import { scopeLabel } from '../lib/scope.js';
|
|
24
25
|
import { resolvePlacingTools } from '../lib/tool-resolver.js';
|
|
25
26
|
import { parseNameVersion } from '../lib/version.js';
|
|
@@ -150,20 +151,6 @@ async function bundleAtRequestedVersion(entry, requested, progress) {
|
|
|
150
151
|
}
|
|
151
152
|
return resolution.bundle;
|
|
152
153
|
}
|
|
153
|
-
/**
|
|
154
|
-
* The bundle's members that one of `tools` places, as the registry has them. A member none of them
|
|
155
|
-
* places is left out, since this run can't adopt it, and so is a ref the registry can't find, which
|
|
156
|
-
* the install reports.
|
|
157
|
-
*/
|
|
158
|
-
function bundleMembers(registry, bundle, tools) {
|
|
159
|
-
return (bundle.assets ?? []).flatMap((ref) => {
|
|
160
|
-
const found = findBundleMember(registry, bundle, ref);
|
|
161
|
-
if (!found || !tools.some((t) => placesAsset(t.adapter, found.asset.type, found.versionData.tools)))
|
|
162
|
-
return [];
|
|
163
|
-
const { name, org, type } = found.asset;
|
|
164
|
-
return [{ name, ...(org ? { org } : {}), type }];
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
154
|
/**
|
|
168
155
|
* What a bundle install says about its members outside the bundle (`kept`) and the members it
|
|
169
156
|
* `adopted`. A member with no origin can be adopted; another bundle's member stays with that bundle.
|
|
@@ -593,10 +580,6 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
|
|
|
593
580
|
});
|
|
594
581
|
}
|
|
595
582
|
// A name every targeted tool already has in place is left out of the plan, as it is for one name.
|
|
596
|
-
const assets = [];
|
|
597
|
-
const bundles = [];
|
|
598
|
-
const upgrades = [];
|
|
599
|
-
const toInstall = [];
|
|
600
583
|
const adoptCommandFor = ({ bundle, version }) => installCommandFor(formatOrgName(bundle.org, bundle.name) + (version ? `@${version}` : ''), {
|
|
601
584
|
adopt: true,
|
|
602
585
|
force: false,
|
|
@@ -605,83 +588,22 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
|
|
|
605
588
|
tool,
|
|
606
589
|
user,
|
|
607
590
|
});
|
|
608
|
-
for (const request of targets) {
|
|
609
|
-
if (request.kind === 'bundle') {
|
|
610
|
-
const { bundle, version } = request;
|
|
611
|
-
const members = bundleMembers(registry, bundle, tools);
|
|
612
|
-
const requiredBundleVersion = version && !isLatestAlias(version) ? bundle.version : undefined;
|
|
613
|
-
if (force ||
|
|
614
|
-
!isBundleInPlace(registry, bundle, currentLockfile, { members, projectDir, requiredBundleVersion, tools })) {
|
|
615
|
-
toInstall.push(request);
|
|
616
|
-
continue;
|
|
617
|
-
}
|
|
618
|
-
bundles.push({
|
|
619
|
-
name: bundle.name,
|
|
620
|
-
...(bundle.org ? { org: bundle.org } : {}),
|
|
621
|
-
outcome: 'already-installed',
|
|
622
|
-
version: bundle.version,
|
|
623
|
-
...bundleReport(membersOutsideBundle(currentLockfile, members, bundle), [], {
|
|
624
|
-
adoptCommand: adoptCommandFor(request),
|
|
625
|
-
bundle,
|
|
626
|
-
}),
|
|
627
|
-
});
|
|
628
|
-
continue;
|
|
629
|
-
}
|
|
630
|
-
const match = findAsset(registry, request.name, request.type, request.version, request.org);
|
|
631
|
-
const existing = match
|
|
632
|
-
? findInstalledAsset(currentLockfile, request.name, match.asset.type, match.asset.org)
|
|
633
|
-
: undefined;
|
|
634
|
-
const supportingTools = existing && match ? tools.filter((t) => placesAsset(t.adapter, existing.type, match.versionData.tools)) : [];
|
|
635
|
-
const inPlace = !force &&
|
|
636
|
-
existing !== undefined &&
|
|
637
|
-
supportingTools.length > 0 &&
|
|
638
|
-
supportingTools.every((t) => isInstalledForTool(existing, t.adapter, projectDir)) &&
|
|
639
|
-
(!request.version || request.version === existing.version);
|
|
640
|
-
if (!inPlace) {
|
|
641
|
-
toInstall.push(request);
|
|
642
|
-
continue;
|
|
643
|
-
}
|
|
644
|
-
if (assets.some((a) => identityKey(a) === identityKey(existing)))
|
|
645
|
-
continue;
|
|
646
|
-
const dependency = (existing.installReason ?? 'direct') === 'dependency';
|
|
647
|
-
if (dependency)
|
|
648
|
-
upgrades.push(existing);
|
|
649
|
-
assets.push({
|
|
650
|
-
name: existing.name,
|
|
651
|
-
...(existing.org ? { org: existing.org } : {}),
|
|
652
|
-
outcome: dependency ? 'upgraded-to-direct' : 'already-installed',
|
|
653
|
-
type: existing.type,
|
|
654
|
-
version: existing.version,
|
|
655
|
-
});
|
|
656
|
-
}
|
|
657
591
|
progress('Resolving dependencies...');
|
|
658
|
-
const
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
name:
|
|
664
|
-
...(
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
return match ? [identityKey(match.asset)] : [];
|
|
674
|
-
}));
|
|
675
|
-
const installed = plan.entries
|
|
676
|
-
.filter((entry) => entry.reason === 'direct' && requested.has(identityKey(entry.asset)))
|
|
677
|
-
.map((entry) => ({
|
|
678
|
-
name: entry.asset.name,
|
|
679
|
-
...(entry.asset.org ? { org: entry.asset.org } : {}),
|
|
680
|
-
outcome: 'installed',
|
|
681
|
-
type: entry.asset.type,
|
|
682
|
-
version: entry.version,
|
|
683
|
-
}));
|
|
684
|
-
const report = [...installed, ...assets];
|
|
592
|
+
const targetsPlan = planTargetsInstall(registry, targets, currentLockfile, tools, { force, projectDir });
|
|
593
|
+
const { assets: report, plan, toInstall } = targetsPlan;
|
|
594
|
+
const bundles = targetsPlan.bundlesInPlace.map((request) => {
|
|
595
|
+
const { bundle } = request;
|
|
596
|
+
return {
|
|
597
|
+
name: bundle.name,
|
|
598
|
+
...(bundle.org ? { org: bundle.org } : {}),
|
|
599
|
+
outcome: 'already-installed',
|
|
600
|
+
version: bundle.version,
|
|
601
|
+
...bundleReport(membersOutsideBundle(currentLockfile, bundleMembers(registry, bundle, tools), bundle), [], {
|
|
602
|
+
adoptCommand: adoptCommandFor(request),
|
|
603
|
+
bundle,
|
|
604
|
+
}),
|
|
605
|
+
};
|
|
606
|
+
});
|
|
685
607
|
const crossScope = (resolvedPlan, installedAt) => crossScopeOf(resolvedPlan, { installedAt, json: effectiveJson, scope: installScope, tools: toolNames });
|
|
686
608
|
// Each bundle in the plan, in the order named, then the ones left out; and the orgs.
|
|
687
609
|
const targetsField = (lockfile, planned) => {
|
|
@@ -724,23 +646,14 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
|
|
|
724
646
|
};
|
|
725
647
|
}
|
|
726
648
|
return await withLockfileErrorHandling(projectDir, async () => {
|
|
727
|
-
const toolResults =
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
})
|
|
736
|
-
: [];
|
|
737
|
-
// After the install, so a failed one leaves even the install reasons as they were.
|
|
738
|
-
if (upgrades.length > 0) {
|
|
739
|
-
let lockfile = await readLockfile(projectDir);
|
|
740
|
-
for (const { name, org, type } of upgrades)
|
|
741
|
-
lockfile = upgradeToDirectInstall(lockfile, name, type, org);
|
|
742
|
-
await writeLockfile(projectDir, lockfile);
|
|
743
|
-
}
|
|
649
|
+
const toolResults = await installPlannedTargets(targetsPlan, tools, {
|
|
650
|
+
force,
|
|
651
|
+
onProgress: progress,
|
|
652
|
+
onTool: (toolName) => progress(`Installing for ${toolName}...`),
|
|
653
|
+
pin,
|
|
654
|
+
projectDir,
|
|
655
|
+
scope: installScope,
|
|
656
|
+
});
|
|
744
657
|
if (plan.entries.length === 0) {
|
|
745
658
|
return { assets: report, ...targetsField(currentLockfile, false), outcome: 'already-installed' };
|
|
746
659
|
}
|
|
@@ -1042,36 +955,6 @@ function InstallOrg({ cliOrg, dryRun, force, json, orgName, pin, projectRoot, sk
|
|
|
1042
955
|
}
|
|
1043
956
|
return null;
|
|
1044
957
|
}
|
|
1045
|
-
/**
|
|
1046
|
-
* Whether every member of the bundle is in place for every tool that takes it (with
|
|
1047
|
-
* `requiredBundleVersion`, recorded as this bundle at that version). False when no tool takes any
|
|
1048
|
-
* member, so the installer says why.
|
|
1049
|
-
*/
|
|
1050
|
-
function isBundleInPlace(registry, bundle, lockfile, { members, projectDir, requiredBundleVersion, tools, }) {
|
|
1051
|
-
const bundleAssets = bundle.assets ?? [];
|
|
1052
|
-
return tools.every(({ adapter: toolAdapter }) => members.length > 0 &&
|
|
1053
|
-
bundleAssets.every((ref) => {
|
|
1054
|
-
const found = findBundleMember(registry, bundle, ref);
|
|
1055
|
-
if (!found)
|
|
1056
|
-
return false;
|
|
1057
|
-
// A tool that doesn't take this member (its type, or a hook for other tools) has
|
|
1058
|
-
// nothing to check.
|
|
1059
|
-
if (!placesAsset(toolAdapter, found.asset.type, found.versionData.tools))
|
|
1060
|
-
return true;
|
|
1061
|
-
const installed = findInstalledAsset(lockfile, ref.name, ref.type, found.asset.org);
|
|
1062
|
-
if (!installed)
|
|
1063
|
-
return false;
|
|
1064
|
-
if (requiredBundleVersion && !isFromBundleVersion(installed, bundle, requiredBundleVersion)) {
|
|
1065
|
-
return false;
|
|
1066
|
-
}
|
|
1067
|
-
return isInstalledForTool(installed, toolAdapter, projectDir);
|
|
1068
|
-
}));
|
|
1069
|
-
}
|
|
1070
|
-
/** Whether a lockfile asset was installed as part of this bundle (name, org) at this version. */
|
|
1071
|
-
function isFromBundleVersion(installed, bundle, version) {
|
|
1072
|
-
const origin = installed.bundleOrigin;
|
|
1073
|
-
return origin?.name === bundle.name && origin.org === bundle.org && origin.version === version;
|
|
1074
|
-
}
|
|
1075
958
|
/** A member as a report names it: its spec and type. */
|
|
1076
959
|
function memberLabel({ name, org, type }) {
|
|
1077
960
|
return `${formatOrgName(org, name)} (${type})`;
|