@detergent-software/atk 9.2.0-dev.1 → 9.2.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 +112 -0
- package/README.md +32 -15
- package/build/command-manifest.json +81 -5
- 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/diff.d.ts +4 -2
- package/build/commands/diff.d.ts.map +1 -1
- package/build/commands/diff.js +86 -13
- package/build/commands/diff.js.map +1 -1
- package/build/commands/drift.d.ts +2 -1
- package/build/commands/drift.d.ts.map +1 -1
- package/build/commands/drift.js +8 -3
- package/build/commands/drift.js.map +1 -1
- package/build/commands/freeze.d.ts +2 -2
- package/build/commands/freeze.d.ts.map +1 -1
- package/build/commands/freeze.js +45 -22
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/info.d.ts.map +1 -1
- package/build/commands/info.js +18 -2
- package/build/commands/info.js.map +1 -1
- package/build/commands/install.d.ts +2 -2
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +285 -58
- package/build/commands/install.js.map +1 -1
- package/build/commands/outdated.d.ts +2 -1
- package/build/commands/outdated.d.ts.map +1 -1
- package/build/commands/outdated.js +11 -1
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/pin.d.ts +2 -2
- package/build/commands/pin.d.ts.map +1 -1
- package/build/commands/pin.js +77 -46
- package/build/commands/pin.js.map +1 -1
- package/build/commands/schema.d.ts +1 -1
- package/build/commands/sync.d.ts +14 -2
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +86 -17
- package/build/commands/sync.js.map +1 -1
- package/build/commands/thaw.d.ts +2 -2
- package/build/commands/thaw.d.ts.map +1 -1
- package/build/commands/thaw.js +44 -21
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/uninstall.d.ts +2 -2
- package/build/commands/uninstall.d.ts.map +1 -1
- package/build/commands/uninstall.js +35 -11
- package/build/commands/uninstall.js.map +1 -1
- package/build/commands/unpin.d.ts +2 -2
- package/build/commands/unpin.d.ts.map +1 -1
- package/build/commands/unpin.js +54 -25
- package/build/commands/unpin.js.map +1 -1
- package/build/commands/update.d.ts +3 -2
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +270 -74
- package/build/commands/update.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/BundleDetail.d.ts +3 -1
- package/build/components/BundleDetail.d.ts.map +1 -1
- package/build/components/BundleDetail.js +4 -2
- package/build/components/BundleDetail.js.map +1 -1
- package/build/components/DiffView.d.ts +34 -5
- package/build/components/DiffView.d.ts.map +1 -1
- package/build/components/DiffView.js +47 -8
- package/build/components/DiffView.js.map +1 -1
- package/build/components/Field.js +1 -1
- package/build/components/Field.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/components/index.d.ts +1 -1
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -1
- package/build/components/index.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/hooks/useUninstallState.d.ts +22 -2
- package/build/hooks/useUninstallState.d.ts.map +1 -1
- package/build/hooks/useUninstallState.js +161 -16
- package/build/hooks/useUninstallState.js.map +1 -1
- package/build/lib/atk-api/generated/types.gen.d.ts +8 -8
- package/build/lib/atk-schemas/claude-plugin.d.ts +56 -0
- package/build/lib/atk-schemas/claude-plugin.d.ts.map +1 -0
- package/build/lib/atk-schemas/claude-plugin.js +199 -0
- package/build/lib/atk-schemas/claude-plugin.js.map +1 -0
- package/build/lib/atk-schemas/index.d.ts +3 -0
- package/build/lib/atk-schemas/index.d.ts.map +1 -1
- package/build/lib/atk-schemas/index.js +3 -0
- package/build/lib/atk-schemas/index.js.map +1 -1
- package/build/lib/config.d.ts +18 -0
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +32 -9
- package/build/lib/config.js.map +1 -1
- package/build/lib/diff-command.d.ts +43 -3
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +93 -15
- package/build/lib/diff-command.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/build/lib/installer.js +3 -2
- package/build/lib/installer.js.map +1 -1
- package/build/lib/named-entry.d.ts +24 -0
- package/build/lib/named-entry.d.ts.map +1 -0
- package/build/lib/named-entry.js +33 -0
- package/build/lib/named-entry.js.map +1 -0
- package/build/lib/resolver.d.ts +35 -0
- package/build/lib/resolver.d.ts.map +1 -1
- package/build/lib/resolver.js +65 -21
- package/build/lib/resolver.js.map +1 -1
- package/build/lib/sync.d.ts +9 -0
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +13 -8
- package/build/lib/sync.js.map +1 -1
- package/build/lib/uninstaller.d.ts +51 -3
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +134 -39
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +6 -7
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +23 -33
- package/build/lib/updater.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,15 +7,17 @@ import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from
|
|
|
7
7
|
import { errorGuidance, errorMessage } from './errors.js';
|
|
8
8
|
import { findInstalledAssetWithFallback, readLockfile } from './lockfile.js';
|
|
9
9
|
import { resolveActiveOrg, scopeSwitchGuidance } from './org.js';
|
|
10
|
-
import { fetchAssetFileBytes, fetchRegistry, findAsset, listAssetFiles, RegistryError, versionTools, } from './registry.js';
|
|
10
|
+
import { fetchAssetFileBytes, fetchRegistry, findAsset, getSortedVersions, listAssetFiles, RegistryError, resolveAssetVersion, versionTools, } from './registry.js';
|
|
11
11
|
import { fromRoot } from './root-path.js';
|
|
12
12
|
import { resolveScope, scopedCommand } from './scope.js';
|
|
13
13
|
import { resolveTool } from './tool-resolver.js';
|
|
14
14
|
/**
|
|
15
15
|
* Core logic for the `atk diff` command. Computes the diff between a locally
|
|
16
|
-
* installed asset and
|
|
16
|
+
* installed asset and a version in the registry, the latest unless `target` names another,
|
|
17
|
+
* or for a `range` target between two registry versions of the installed asset.
|
|
17
18
|
*
|
|
18
19
|
* @param name - Asset name (without org prefix)
|
|
20
|
+
* @param target - The registry version to compare with
|
|
19
21
|
* @param org - Org from the --org CLI flag or inline @org/name syntax (already merged)
|
|
20
22
|
* @param tool - Tool override from --tool CLI flag
|
|
21
23
|
* @param context - Number of context lines for unified diff output
|
|
@@ -26,7 +28,7 @@ import { resolveTool } from './tool-resolver.js';
|
|
|
26
28
|
* @param inlineOrg - Org parsed from @org/name syntax
|
|
27
29
|
* @param progress - Callback to report progress messages to the UI
|
|
28
30
|
*/
|
|
29
|
-
export async function computeDiffOutcome(name, org, tool, context, refresh, projectRoot, user, cliOrg, inlineOrg, progress) {
|
|
31
|
+
export async function computeDiffOutcome(name, target, org, tool, context, refresh, projectRoot, user, cliOrg, inlineOrg, progress) {
|
|
30
32
|
const { root: projectDir, scope } = await resolveScope({ projectRoot, user });
|
|
31
33
|
progress('Loading configuration...');
|
|
32
34
|
const config = await loadConfig();
|
|
@@ -40,8 +42,9 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
40
42
|
if (!installed) {
|
|
41
43
|
return { name, outcome: 'not-installed' };
|
|
42
44
|
}
|
|
43
|
-
// Uninstalled for this tool (`atk uninstall --tool`): there is no local copy to diff.
|
|
44
|
-
|
|
45
|
+
// Uninstalled for this tool (`atk uninstall --tool`): there is no local copy to diff. A range
|
|
46
|
+
// compares two published versions, so it reads no local copy.
|
|
47
|
+
const excluded = target.kind !== 'range' && isExcludedForTool(installed, adapter.tool);
|
|
45
48
|
if (excluded && !isUndeclaredForTool(installed, adapter.tool)) {
|
|
46
49
|
throw Object.assign(new Error(`Asset "${name}" is not installed for ${adapter.tool}.`), {
|
|
47
50
|
command: scopedCommand(`atk install ${name} --tool ${adapter.tool}`, scope),
|
|
@@ -67,17 +70,35 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
67
70
|
throw Object.assign(new Error(message), guidance);
|
|
68
71
|
}
|
|
69
72
|
const { asset: registryAsset, version: latestVersion } = foundAsset;
|
|
70
|
-
progress('Fetching latest version...');
|
|
71
73
|
const assetRef = { name: registryAsset.name, org: registryAsset.org, type: registryAsset.type };
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
if (target.kind === 'range') {
|
|
75
|
+
const from = resolveAssetVersion(registryAsset, target.from);
|
|
76
|
+
const to = from && resolveAssetVersion(registryAsset, target.to);
|
|
77
|
+
if (!from || !to) {
|
|
78
|
+
return versionNotFound(registryAsset, name, scope, target.kind, from ? target.to : target.from);
|
|
79
|
+
}
|
|
80
|
+
progress(`Fetching v${from.version} and v${to.version}...`);
|
|
81
|
+
return {
|
|
82
|
+
diffs: await diffVersions(assetRef, name, from.version, to.version, context),
|
|
83
|
+
fromVersion: from.version,
|
|
84
|
+
name,
|
|
85
|
+
outcome: 'results',
|
|
86
|
+
target: target.kind,
|
|
87
|
+
toVersion: to.version,
|
|
88
|
+
};
|
|
75
89
|
}
|
|
76
|
-
|
|
77
|
-
|
|
90
|
+
let comparedVersion = latestVersion;
|
|
91
|
+
const requested = requestedVersion(target, installed);
|
|
92
|
+
if (requested !== undefined) {
|
|
93
|
+
// The locked version too: it may have been unpublished since it was installed.
|
|
94
|
+
const resolvedTarget = resolveAssetVersion(registryAsset, requested);
|
|
95
|
+
if (!resolvedTarget) {
|
|
96
|
+
return versionNotFound(registryAsset, name, scope, target.kind, requested);
|
|
97
|
+
}
|
|
98
|
+
comparedVersion = resolvedTarget.version;
|
|
78
99
|
}
|
|
79
|
-
|
|
80
|
-
const remoteFiles =
|
|
100
|
+
progress(`Fetching v${comparedVersion}...`);
|
|
101
|
+
const remoteFiles = await listRemoteFiles(assetRef, name, comparedVersion);
|
|
81
102
|
// Resolve installed paths via the adapter, where the copy was placed
|
|
82
103
|
const resolved = resolveInstalledPaths(installed, adapterAsPlaced(adapter, installed), projectDir);
|
|
83
104
|
const installedPathMap = new Map(resolved.files.map((f) => [f.sourcePath, f.installedPath]));
|
|
@@ -114,7 +135,7 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
114
135
|
filesToFetch.push({ file, installedPath, remotePath: remoteFile.relativePath });
|
|
115
136
|
}
|
|
116
137
|
// Fetch all remote file contents in parallel
|
|
117
|
-
const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchRemoteText(assetRef,
|
|
138
|
+
const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchRemoteText(assetRef, comparedVersion, remotePath)));
|
|
118
139
|
// Read all local file contents in parallel
|
|
119
140
|
const localContents = await Promise.all(filesToFetch.map(async ({ installedPath }) => readFile(fromRoot(projectDir, installedPath), 'utf-8')));
|
|
120
141
|
// Build diffs from fetched content
|
|
@@ -145,7 +166,7 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
145
166
|
// Collect added files (present in registry but not in installed files), then batch-fetch in parallel
|
|
146
167
|
const installedSourcePaths = new Set(installed.files.map((f) => f.sourcePath));
|
|
147
168
|
const addedRemoteFiles = [...remoteFiles.values()].filter((rf) => !installedSourcePaths.has(rf.relativePath));
|
|
148
|
-
const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) => fetchRemoteText(assetRef,
|
|
169
|
+
const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) => fetchRemoteText(assetRef, comparedVersion, rf.relativePath)));
|
|
149
170
|
for (let i = 0; i < addedRemoteFiles.length; i++) {
|
|
150
171
|
const remoteFile = addedRemoteFiles[i];
|
|
151
172
|
const remoteContent = addedContents[i];
|
|
@@ -153,6 +174,7 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
153
174
|
}
|
|
154
175
|
const sameVersion = installed.version === latestVersion;
|
|
155
176
|
return {
|
|
177
|
+
comparedVersion,
|
|
156
178
|
diffs,
|
|
157
179
|
installed,
|
|
158
180
|
latestVersion,
|
|
@@ -161,12 +183,63 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
161
183
|
registryAsset,
|
|
162
184
|
sameVersion,
|
|
163
185
|
scope,
|
|
186
|
+
target: target.kind,
|
|
164
187
|
};
|
|
165
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* The file diffs from version `from` of an asset to version `to`: `-` lines are `from`'s and `+`
|
|
191
|
+
* lines `to`'s, a file only `from` has is removed, and one only `to` has is added.
|
|
192
|
+
*/
|
|
193
|
+
async function diffVersions(ref, name, from, to, context) {
|
|
194
|
+
const [fromFiles, toFiles] = await Promise.all([listRemoteFiles(ref, name, from), listRemoteFiles(ref, name, to)]);
|
|
195
|
+
const fromPaths = [...fromFiles.keys()];
|
|
196
|
+
const addedPaths = [...toFiles.keys()].filter((path) => !fromFiles.has(path));
|
|
197
|
+
const [fromContents, toContents, addedContents] = await Promise.all([
|
|
198
|
+
Promise.all(fromPaths.map(async (path) => fetchRemoteText(ref, from, path))),
|
|
199
|
+
Promise.all(fromPaths.map(async (path) => (toFiles.has(path) ? fetchRemoteText(ref, to, path) : undefined))),
|
|
200
|
+
Promise.all(addedPaths.map(async (path) => fetchRemoteText(ref, to, path))),
|
|
201
|
+
]);
|
|
202
|
+
const diffs = fromPaths.map((fileName, i) => {
|
|
203
|
+
const fromContent = fromContents[i];
|
|
204
|
+
const toContent = toContents[i];
|
|
205
|
+
if (toContent === undefined) {
|
|
206
|
+
return { diffLines: computeRemovedFileDiff(fromContent), fileName, status: 'removed' };
|
|
207
|
+
}
|
|
208
|
+
const lines = { fromLines: fromContent.split('\n').length, toLines: toContent.split('\n').length };
|
|
209
|
+
if (fromContent === toContent) {
|
|
210
|
+
return { fileName, ...lines, status: 'unchanged' };
|
|
211
|
+
}
|
|
212
|
+
return { diffLines: computeUnifiedDiff(fromContent, toContent, context), fileName, ...lines, status: 'modified' };
|
|
213
|
+
});
|
|
214
|
+
for (const [i, fileName] of addedPaths.entries()) {
|
|
215
|
+
diffs.push({ diffLines: computeAddedFileDiff(addedContents[i]), fileName, status: 'added' });
|
|
216
|
+
}
|
|
217
|
+
return diffs;
|
|
218
|
+
}
|
|
166
219
|
/** Fetch one remote file and decode it as UTF-8 text for diffing. */
|
|
167
220
|
async function fetchRemoteText(ref, version, relativePath) {
|
|
168
221
|
return (await fetchAssetFileBytes(ref, version, relativePath)).toString('utf-8');
|
|
169
222
|
}
|
|
223
|
+
/** The files of a registry version, by their path relative to the version root. */
|
|
224
|
+
async function listRemoteFiles(ref, name, version) {
|
|
225
|
+
try {
|
|
226
|
+
return new Map((await listAssetFiles(ref, version)).map((f) => [f.relativePath, f]));
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
throw new RegistryError(`Failed to list asset directory files for "${name}": ${errorMessage(error)}`, errorGuidance(error));
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/** The version `target` asks for, or undefined for the latest. */
|
|
233
|
+
function requestedVersion(target, installed) {
|
|
234
|
+
switch (target.kind) {
|
|
235
|
+
case 'installed':
|
|
236
|
+
return installed.version;
|
|
237
|
+
case 'latest':
|
|
238
|
+
return undefined;
|
|
239
|
+
case 'version':
|
|
240
|
+
return target.version;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
170
243
|
/**
|
|
171
244
|
* The error for diffing a hook marked undeclared for `tool` (`undeclaredTools`): the registry no
|
|
172
245
|
* longer has its locked version, the version doesn't declare the tool, or it now does, and
|
|
@@ -190,4 +263,9 @@ function undeclaredError(name, installed, tool, registry, scope) {
|
|
|
190
263
|
hint: `Its locked version (v${installed.version}) now declares ${tool}, and \`${sync}\` places it.`,
|
|
191
264
|
});
|
|
192
265
|
}
|
|
266
|
+
/** The outcome for a version the registry doesn't have, with the versions it does. */
|
|
267
|
+
function versionNotFound(asset, name, scope, target, version) {
|
|
268
|
+
const { versions: availableVersions } = getSortedVersions(asset);
|
|
269
|
+
return { availableVersions, name, outcome: 'version-not-found', scope, target, version };
|
|
270
|
+
}
|
|
193
271
|
//# sourceMappingURL=diff-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
|
package/build/lib/format.d.ts
CHANGED
|
@@ -3,4 +3,9 @@
|
|
|
3
3
|
* Returns the original string if parsing fails.
|
|
4
4
|
*/
|
|
5
5
|
export declare function formatDate(isoString: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* How many rows past its first a one-line `text` wraps to inside a bordered box `width` columns
|
|
8
|
+
* wide, for views that size a list around the box. Ink wraps at words, so it can take one more.
|
|
9
|
+
*/
|
|
10
|
+
export declare function wrappedExtraRows(text: string, width: number): number;
|
|
6
11
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWpD"}
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
package/build/lib/format.js
CHANGED
|
@@ -15,4 +15,11 @@ export function formatDate(isoString) {
|
|
|
15
15
|
return isoString;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* How many rows past its first a one-line `text` wraps to inside a bordered box `width` columns
|
|
20
|
+
* wide, for views that size a list around the box. Ink wraps at words, so it can take one more.
|
|
21
|
+
*/
|
|
22
|
+
export function wrappedExtraRows(text, width) {
|
|
23
|
+
return Math.max(0, Math.ceil(text.length / Math.max(1, width - 2)) - 1);
|
|
24
|
+
}
|
|
18
25
|
//# sourceMappingURL=format.js.map
|
package/build/lib/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACtC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACtC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ToolInstallResult } from './multi-tool-install.js';
|
|
2
|
+
import type { InstallPlan } from './resolver.js';
|
|
3
|
+
import type { Adapter, AssetType, InstalledAsset, Registry, RegistryBundle } from './schemas/index.js';
|
|
4
|
+
import type { Lockfile } from './schemas/lockfile.js';
|
|
5
|
+
import { executeInstallPlanForTools } from './multi-tool-install.js';
|
|
6
|
+
/** An asset a run of several targets asks for: one named, or one of a named `@org`'s assets (`fromOrg`). */
|
|
7
|
+
export interface AssetTarget {
|
|
8
|
+
fromOrg?: boolean;
|
|
9
|
+
kind: 'asset';
|
|
10
|
+
name: string;
|
|
11
|
+
org?: string;
|
|
12
|
+
type?: AssetType;
|
|
13
|
+
version?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BundleMember {
|
|
16
|
+
name: string;
|
|
17
|
+
org?: string;
|
|
18
|
+
type: AssetType;
|
|
19
|
+
}
|
|
20
|
+
/** A bundle a run of several targets asks for, at the version `version` resolved to. */
|
|
21
|
+
export interface BundleTarget {
|
|
22
|
+
bundle: RegistryBundle;
|
|
23
|
+
kind: 'bundle';
|
|
24
|
+
version?: string;
|
|
25
|
+
}
|
|
26
|
+
/** What a run of several targets did with a named asset: the installed ones in plan order, then the rest. */
|
|
27
|
+
export interface NamedAsset {
|
|
28
|
+
name: string;
|
|
29
|
+
org?: string;
|
|
30
|
+
outcome: 'already-installed' | 'installed' | 'upgraded-to-direct';
|
|
31
|
+
type: AssetType;
|
|
32
|
+
version: string;
|
|
33
|
+
}
|
|
34
|
+
/** A run of several targets, split into what is in place and the plan for the rest. */
|
|
35
|
+
export interface PlannedTargets {
|
|
36
|
+
/** The named assets the plan installs, in plan order, then the ones already in place. */
|
|
37
|
+
assets: NamedAsset[];
|
|
38
|
+
/** The bundles every targeted tool has whole, in the order named. */
|
|
39
|
+
bundlesInPlace: BundleTarget[];
|
|
40
|
+
plan: InstallPlan;
|
|
41
|
+
/** The targets the plan installs, in the order named. */
|
|
42
|
+
toInstall: Array<AssetTarget | BundleTarget>;
|
|
43
|
+
/** The assets in place only as dependencies, which become direct once the install succeeds. */
|
|
44
|
+
upgrades: InstalledAsset[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The members of the bundle that one of `tools` places, as the registry has them. A member none of
|
|
48
|
+
* them places is left out, since this run can't adopt it, and so is a ref the registry can't find,
|
|
49
|
+
* which the install reports.
|
|
50
|
+
*/
|
|
51
|
+
export declare function bundleMembers(registry: Registry, bundle: RegistryBundle, tools: Array<{
|
|
52
|
+
adapter: Adapter;
|
|
53
|
+
}>): BundleMember[];
|
|
54
|
+
/**
|
|
55
|
+
* Install what {@link planTargetsInstall} planned: one install across tools when the plan has
|
|
56
|
+
* entries, with its rollback, then the upgrades to direct. They come after the install, so a failed
|
|
57
|
+
* one leaves even the install reasons as they were.
|
|
58
|
+
*/
|
|
59
|
+
export declare function installPlannedTargets({ plan, upgrades }: Pick<PlannedTargets, 'plan' | 'upgrades'>, tools: Array<{
|
|
60
|
+
adapter: Adapter;
|
|
61
|
+
tool: string;
|
|
62
|
+
}>, options: Parameters<typeof executeInstallPlanForTools>[2]): Promise<ToolInstallResult[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Whether every member of the bundle is in place for every tool that takes it (with
|
|
65
|
+
* `requiredBundleVersion`, recorded as this bundle at that version). False when no tool takes any
|
|
66
|
+
* member, so the installer says why.
|
|
67
|
+
*/
|
|
68
|
+
export declare function isBundleInPlace(registry: Registry, bundle: RegistryBundle, lockfile: Lockfile, { members, projectDir, requiredBundleVersion, tools, }: {
|
|
69
|
+
members: BundleMember[];
|
|
70
|
+
projectDir: string;
|
|
71
|
+
requiredBundleVersion?: string;
|
|
72
|
+
tools: Array<{
|
|
73
|
+
adapter: Adapter;
|
|
74
|
+
}>;
|
|
75
|
+
}): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* The targets resolved together (shared dependencies once, one version per asset) into one plan,
|
|
78
|
+
* as `atk install a b my-bundle` and `atk browse`'s marked rows install them. A target every
|
|
79
|
+
* targeted tool already has in place is left out of the plan, as it is for one name: an asset (at
|
|
80
|
+
* the requested version, when one is), or a bundle checked whole. An asset in place only as a
|
|
81
|
+
* dependency comes back in `upgrades`. Bundle members get the bundle's origin unless they are
|
|
82
|
+
* named themselves ({@link resolveTargetsInstallPlan}).
|
|
83
|
+
*/
|
|
84
|
+
export declare function planTargetsInstall(registry: Registry, targets: Array<AssetTarget | BundleTarget>, lockfile: Lockfile, tools: Array<{
|
|
85
|
+
adapter: Adapter;
|
|
86
|
+
}>, { force, projectDir }: {
|
|
87
|
+
force: boolean;
|
|
88
|
+
projectDir: string;
|
|
89
|
+
}): PlannedTargets;
|
|
90
|
+
//# sourceMappingURL=install-targets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-targets.d.ts","sourceRoot":"","sources":["../../src/lib/install-targets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { placesAsset } from './asset-tools.js';
|
|
2
|
+
import { isInstalledForTool } from './installed-for-tool.js';
|
|
3
|
+
import { findInstalledAsset, identityKey, readLockfile, upgradeToDirectInstall, writeLockfile } from './lockfile.js';
|
|
4
|
+
import { executeInstallPlanForTools } from './multi-tool-install.js';
|
|
5
|
+
import { findAsset, findBundleMember, isLatestAlias } from './registry.js';
|
|
6
|
+
import { resolveTargetsInstallPlan } from './resolver.js';
|
|
7
|
+
/**
|
|
8
|
+
* The members of the bundle that one of `tools` places, as the registry has them. A member none of
|
|
9
|
+
* them places is left out, since this run can't adopt it, and so is a ref the registry can't find,
|
|
10
|
+
* which the install reports.
|
|
11
|
+
*/
|
|
12
|
+
export function bundleMembers(registry, bundle, tools) {
|
|
13
|
+
return (bundle.assets ?? []).flatMap((ref) => {
|
|
14
|
+
const found = findBundleMember(registry, bundle, ref);
|
|
15
|
+
if (!found || !tools.some((t) => placesAsset(t.adapter, found.asset.type, found.versionData.tools)))
|
|
16
|
+
return [];
|
|
17
|
+
const { name, org, type } = found.asset;
|
|
18
|
+
return [{ name, ...(org ? { org } : {}), type }];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Install what {@link planTargetsInstall} planned: one install across tools when the plan has
|
|
23
|
+
* entries, with its rollback, then the upgrades to direct. They come after the install, so a failed
|
|
24
|
+
* one leaves even the install reasons as they were.
|
|
25
|
+
*/
|
|
26
|
+
export async function installPlannedTargets({ plan, upgrades }, tools, options) {
|
|
27
|
+
const toolResults = plan.entries.length > 0 ? await executeInstallPlanForTools(plan, tools, options) : [];
|
|
28
|
+
if (upgrades.length > 0) {
|
|
29
|
+
let lockfile = await readLockfile(options.projectDir);
|
|
30
|
+
for (const { name, org, type } of upgrades)
|
|
31
|
+
lockfile = upgradeToDirectInstall(lockfile, name, type, org);
|
|
32
|
+
await writeLockfile(options.projectDir, lockfile);
|
|
33
|
+
}
|
|
34
|
+
return toolResults;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether every member of the bundle is in place for every tool that takes it (with
|
|
38
|
+
* `requiredBundleVersion`, recorded as this bundle at that version). False when no tool takes any
|
|
39
|
+
* member, so the installer says why.
|
|
40
|
+
*/
|
|
41
|
+
export function isBundleInPlace(registry, bundle, lockfile, { members, projectDir, requiredBundleVersion, tools, }) {
|
|
42
|
+
const bundleAssets = bundle.assets ?? [];
|
|
43
|
+
return tools.every(({ adapter: toolAdapter }) => members.length > 0 &&
|
|
44
|
+
bundleAssets.every((ref) => {
|
|
45
|
+
const found = findBundleMember(registry, bundle, ref);
|
|
46
|
+
if (!found)
|
|
47
|
+
return false;
|
|
48
|
+
// A tool that doesn't take this member (its type, or a hook for other tools) has
|
|
49
|
+
// nothing to check.
|
|
50
|
+
if (!placesAsset(toolAdapter, found.asset.type, found.versionData.tools))
|
|
51
|
+
return true;
|
|
52
|
+
const installed = findInstalledAsset(lockfile, ref.name, ref.type, found.asset.org);
|
|
53
|
+
if (!installed)
|
|
54
|
+
return false;
|
|
55
|
+
if (requiredBundleVersion && !isFromBundleVersion(installed, bundle, requiredBundleVersion)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return isInstalledForTool(installed, toolAdapter, projectDir);
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The targets resolved together (shared dependencies once, one version per asset) into one plan,
|
|
63
|
+
* as `atk install a b my-bundle` and `atk browse`'s marked rows install them. A target every
|
|
64
|
+
* targeted tool already has in place is left out of the plan, as it is for one name: an asset (at
|
|
65
|
+
* the requested version, when one is), or a bundle checked whole. An asset in place only as a
|
|
66
|
+
* dependency comes back in `upgrades`. Bundle members get the bundle's origin unless they are
|
|
67
|
+
* named themselves ({@link resolveTargetsInstallPlan}).
|
|
68
|
+
*/
|
|
69
|
+
export function planTargetsInstall(registry, targets, lockfile, tools, { force, projectDir }) {
|
|
70
|
+
const inPlace = [];
|
|
71
|
+
const bundlesInPlace = [];
|
|
72
|
+
const upgrades = [];
|
|
73
|
+
const toInstall = [];
|
|
74
|
+
for (const request of targets) {
|
|
75
|
+
if (request.kind === 'bundle') {
|
|
76
|
+
const { bundle, version } = request;
|
|
77
|
+
const members = bundleMembers(registry, bundle, tools);
|
|
78
|
+
const requiredBundleVersion = version && !isLatestAlias(version) ? bundle.version : undefined;
|
|
79
|
+
if (force ||
|
|
80
|
+
!isBundleInPlace(registry, bundle, lockfile, { members, projectDir, requiredBundleVersion, tools })) {
|
|
81
|
+
toInstall.push(request);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
bundlesInPlace.push(request);
|
|
85
|
+
}
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const match = findAsset(registry, request.name, request.type, request.version, request.org);
|
|
89
|
+
const existing = match ? findInstalledAsset(lockfile, request.name, match.asset.type, match.asset.org) : undefined;
|
|
90
|
+
const supportingTools = existing && match ? tools.filter((t) => placesAsset(t.adapter, existing.type, match.versionData.tools)) : [];
|
|
91
|
+
const isInPlace = !force &&
|
|
92
|
+
existing !== undefined &&
|
|
93
|
+
supportingTools.length > 0 &&
|
|
94
|
+
supportingTools.every((t) => isInstalledForTool(existing, t.adapter, projectDir)) &&
|
|
95
|
+
(!request.version || request.version === existing.version);
|
|
96
|
+
if (!isInPlace) {
|
|
97
|
+
toInstall.push(request);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (inPlace.some((a) => identityKey(a) === identityKey(existing)))
|
|
101
|
+
continue;
|
|
102
|
+
const dependency = (existing.installReason ?? 'direct') === 'dependency';
|
|
103
|
+
if (dependency)
|
|
104
|
+
upgrades.push(existing);
|
|
105
|
+
inPlace.push({
|
|
106
|
+
name: existing.name,
|
|
107
|
+
...(existing.org ? { org: existing.org } : {}),
|
|
108
|
+
outcome: dependency ? 'upgraded-to-direct' : 'already-installed',
|
|
109
|
+
type: existing.type,
|
|
110
|
+
version: existing.version,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const plan = resolveTargetsInstallPlan(registry, toInstall.map((request) => request.kind === 'bundle'
|
|
114
|
+
? { bundle: request.bundle, kind: 'bundle' }
|
|
115
|
+
: {
|
|
116
|
+
...(request.fromOrg ? { fromOrg: true } : {}),
|
|
117
|
+
kind: 'asset',
|
|
118
|
+
name: request.name,
|
|
119
|
+
...(request.org ? { org: request.org } : {}),
|
|
120
|
+
...(request.type ? { type: request.type } : {}),
|
|
121
|
+
...(request.version ? { version: request.version } : {}),
|
|
122
|
+
}));
|
|
123
|
+
// The named and the org's assets the plan installs, in plan order.
|
|
124
|
+
const requested = new Set(toInstall.flatMap((request) => {
|
|
125
|
+
if (request.kind === 'bundle')
|
|
126
|
+
return [];
|
|
127
|
+
const match = findAsset(registry, request.name, request.type, request.version, request.org);
|
|
128
|
+
return match ? [identityKey(match.asset)] : [];
|
|
129
|
+
}));
|
|
130
|
+
const installed = plan.entries
|
|
131
|
+
.filter((entry) => entry.reason === 'direct' && requested.has(identityKey(entry.asset)))
|
|
132
|
+
.map((entry) => ({
|
|
133
|
+
name: entry.asset.name,
|
|
134
|
+
...(entry.asset.org ? { org: entry.asset.org } : {}),
|
|
135
|
+
outcome: 'installed',
|
|
136
|
+
type: entry.asset.type,
|
|
137
|
+
version: entry.version,
|
|
138
|
+
}));
|
|
139
|
+
return { assets: [...installed, ...inPlace], bundlesInPlace, plan, toInstall, upgrades };
|
|
140
|
+
}
|
|
141
|
+
/** Whether a lockfile asset was installed as part of this bundle (name, org) at this version. */
|
|
142
|
+
function isFromBundleVersion(installed, bundle, version) {
|
|
143
|
+
const origin = installed.bundleOrigin;
|
|
144
|
+
return origin?.name === bundle.name && origin.org === bundle.org && origin.version === version;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=install-targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-targets.js","sourceRoot":"","sources":["../../src/lib/install-targets.ts"],"names":[],"mappings":"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"}
|
package/build/lib/installer.js
CHANGED
|
@@ -963,8 +963,9 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
|
|
|
963
963
|
: previousEntry?.version === entry.version
|
|
964
964
|
? previousEntry.pinnedVersion
|
|
965
965
|
: undefined;
|
|
966
|
-
// `--adopt` takes in the bundle's members, never the dependencies an earlier install brought.
|
|
967
|
-
|
|
966
|
+
// `--adopt` takes in the bundle's members, never the dependencies an earlier install brought. A
|
|
967
|
+
// plan that mixes bundles with other targets gives each entry its own origin.
|
|
968
|
+
const bundleOrigin = bundleOriginFor(previousEntry, entry.bundleOrigin ?? options.bundleOrigin, !!options.adopt && entry.reason === 'direct');
|
|
968
969
|
// Where this tool's user config directory is, so its copy is found there once the directory moves.
|
|
969
970
|
const userConfigDirs = recordUserConfigDir(previousEntry?.userConfigDirs, adapter);
|
|
970
971
|
// Update lockfile — use resolved version and per-version dependency data
|