@detergent-software/atk 8.9.0-dev.10 → 8.9.0-dev.12
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/audit.d.ts.map +1 -1
- package/build/commands/audit.js +1 -1
- package/build/commands/audit.js.map +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/index.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +28 -7
- package/build/commands/install.js.map +1 -1
- package/build/commands/sync.d.ts +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +27 -12
- package/build/commands/sync.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +58 -9
- package/build/commands/update.js.map +1 -1
- package/build/components/LocalEditsHint.d.ts +16 -0
- package/build/components/LocalEditsHint.d.ts.map +1 -0
- package/build/components/LocalEditsHint.js +18 -0
- package/build/components/LocalEditsHint.js.map +1 -0
- package/build/components/SyncAllInSync.d.ts +5 -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/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/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +4 -0
- package/build/hooks/useListActions.js.map +1 -1
- package/build/lib/checksum.d.ts +10 -0
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +17 -0
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/errors.d.ts +4 -1
- package/build/lib/errors.d.ts.map +1 -1
- package/build/lib/errors.js.map +1 -1
- package/build/lib/local-edits.d.ts +72 -0
- package/build/lib/local-edits.d.ts.map +1 -0
- package/build/lib/local-edits.js +145 -0
- package/build/lib/local-edits.js.map +1 -0
- package/build/lib/mover.d.ts.map +1 -1
- package/build/lib/mover.js +8 -12
- package/build/lib/mover.js.map +1 -1
- package/build/lib/registry.d.ts +2 -0
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +1 -1
- package/build/lib/registry.js.map +1 -1
- package/build/lib/sync.d.ts +22 -6
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +31 -7
- package/build/lib/sync.js.map +1 -1
- package/build/lib/updater.d.ts +31 -1
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +143 -4
- package/build/lib/updater.js.map +1 -1
- package/package.json +1 -1
package/build/lib/sync.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { ProjectConfig } from './schemas/config.js';
|
|
|
4
4
|
import type { Registry } from './schemas/index.js';
|
|
5
5
|
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
6
6
|
import { type ErrorGuidance, GuidedError } from './errors.js';
|
|
7
|
+
import { type LocalEdits } from './local-edits.js';
|
|
7
8
|
import { type Scope } from './scope.js';
|
|
8
9
|
export interface ClassifySyncEntriesOptions {
|
|
9
10
|
adapter: Adapter;
|
|
@@ -12,13 +13,18 @@ export interface ClassifySyncEntriesOptions {
|
|
|
12
13
|
onProgress?: (msg: string) => void;
|
|
13
14
|
projectConfig: null | ProjectConfig;
|
|
14
15
|
projectDir: string;
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* For the tools each asset's locked version declares, and the published versions a changed file
|
|
18
|
+
* is matched against. Without it, every hook counts as declared and every changed file as an edit.
|
|
19
|
+
*/
|
|
16
20
|
registry?: Registry;
|
|
17
21
|
}
|
|
18
22
|
export interface ClassifySyncEntriesResult {
|
|
19
23
|
/** Assets skipped because they were uninstalled for this tool (`excludedTools`). */
|
|
20
24
|
excludedSkipped: number;
|
|
21
25
|
frozenSkipped: number;
|
|
26
|
+
/** Assets not synced because files they placed were edited (see {@link localEditsAmong}); only without `force`. */
|
|
27
|
+
localEdits: LocalEdits[];
|
|
22
28
|
skipped: number;
|
|
23
29
|
toSync: SyncEntry[];
|
|
24
30
|
/**
|
|
@@ -59,7 +65,11 @@ export interface SyncAssetsOptions {
|
|
|
59
65
|
}
|
|
60
66
|
export interface SyncEntry {
|
|
61
67
|
asset: InstalledAsset;
|
|
62
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* `moved`: the tool's user config directory moved since ATK placed the asset. `modified`: its
|
|
70
|
+
* files hold another published version's content (the lockfile moved past them), its config
|
|
71
|
+
* entries drifted, or its hook script lacks the exec bit; edited files are `localEdits`.
|
|
72
|
+
*/
|
|
63
73
|
reason: 'forced' | 'missing' | 'modified' | 'moved';
|
|
64
74
|
result?: InstallResult;
|
|
65
75
|
}
|
|
@@ -94,6 +104,8 @@ export interface ToolDryRunResult {
|
|
|
94
104
|
/** Assets skipped because they were uninstalled for this tool. Absent when zero. */
|
|
95
105
|
excludedSkipped?: number;
|
|
96
106
|
frozenSkipped: number;
|
|
107
|
+
/** Assets a live sync leaves alone because their files were edited. Absent when none. */
|
|
108
|
+
localEdits?: LocalEdits[];
|
|
97
109
|
skipped: number;
|
|
98
110
|
tool: string;
|
|
99
111
|
toSync: SyncEntry[];
|
|
@@ -108,6 +120,8 @@ export interface ToolSyncResult {
|
|
|
108
120
|
excludedSkipped?: number;
|
|
109
121
|
failures: SyncFailure[];
|
|
110
122
|
frozenSkipped: number;
|
|
123
|
+
/** Assets not synced because their files were edited; `force` overwrites them. Absent when none. */
|
|
124
|
+
localEdits?: LocalEdits[];
|
|
111
125
|
/**
|
|
112
126
|
* Present only when the run stopped at a run-wide failure (`isRunWideFailure`): the
|
|
113
127
|
* names of this tool's assets after it that were not attempted. Later tools are not run.
|
|
@@ -133,10 +147,12 @@ export declare class SyncError extends GuidedError {
|
|
|
133
147
|
* `force`, so sync never resurrects it. A hook excluded only because its manifest didn't
|
|
134
148
|
* declare the tool (`undeclaredTools`) is checked as below once its locked version declares it.
|
|
135
149
|
* 2. If `force` is true, marks it as `forced` without checking checksums.
|
|
136
|
-
* 3. Otherwise, resolves installed paths via the adapter
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
150
|
+
* 3. Otherwise, resolves installed paths via the adapter and verifies the file checksums. A file
|
|
151
|
+
* that is there with content no published version of the asset had is a local edit: the asset
|
|
152
|
+
* goes to `localEdits` and is not reinstalled, which would overwrite it (see
|
|
153
|
+
* {@link localEditsAmong}). One holding a published version's content is stale. Then it verifies the registered config-entry
|
|
154
|
+
* checksums (e.g. a hook's `hooks.<Event>` group or an mcp server block), and classifies as
|
|
155
|
+
* `missing` or `modified` when either fails, or increments `skipped` when all pass. A hook
|
|
140
156
|
* script that lacks the exec bit also counts as `modified`.
|
|
141
157
|
*/
|
|
142
158
|
export declare function classifySyncEntries(options: ClassifySyncEntriesOptions): Promise<ClassifySyncEntriesResult>;
|
package/build/lib/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAetE,OAAO,EAGL,KAAK,aAAa,EAElB,WAAW,EAEZ,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
package/build/lib/sync.js
CHANGED
|
@@ -7,6 +7,7 @@ import { isFrozenInConfig } from './config.js';
|
|
|
7
7
|
import { asSentence, errorGuidance, errorMessage, GuidedError, isRunWideFailure, } from './errors.js';
|
|
8
8
|
import { hookScriptPath, lacksExecBit } from './hook-script.js';
|
|
9
9
|
import { executeInstallPlan, fetchPlanFiles, installFailureMessage } from './installer.js';
|
|
10
|
+
import { changedAmong, editedFiles, localEditsAmong } from './local-edits.js';
|
|
10
11
|
import { addAssetToLockfile, getLockfilePath, LockfileError, readLockfile, removeAssetFromLockfile, withLockfileErrorHandling, writeLockfile, } from './lockfile.js';
|
|
11
12
|
import { scopeSwitchGuidance } from './org.js';
|
|
12
13
|
import { verifyOwnConfigEntries, verifyOwnFiles } from './owned-paths.js';
|
|
@@ -32,14 +33,17 @@ export class SyncError extends GuidedError {
|
|
|
32
33
|
* `force`, so sync never resurrects it. A hook excluded only because its manifest didn't
|
|
33
34
|
* declare the tool (`undeclaredTools`) is checked as below once its locked version declares it.
|
|
34
35
|
* 2. If `force` is true, marks it as `forced` without checking checksums.
|
|
35
|
-
* 3. Otherwise, resolves installed paths via the adapter
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
36
|
+
* 3. Otherwise, resolves installed paths via the adapter and verifies the file checksums. A file
|
|
37
|
+
* that is there with content no published version of the asset had is a local edit: the asset
|
|
38
|
+
* goes to `localEdits` and is not reinstalled, which would overwrite it (see
|
|
39
|
+
* {@link localEditsAmong}). One holding a published version's content is stale. Then it verifies the registered config-entry
|
|
40
|
+
* checksums (e.g. a hook's `hooks.<Event>` group or an mcp server block), and classifies as
|
|
41
|
+
* `missing` or `modified` when either fails, or increments `skipped` when all pass. A hook
|
|
39
42
|
* script that lacks the exec bit also counts as `modified`.
|
|
40
43
|
*/
|
|
41
44
|
export async function classifySyncEntries(options) {
|
|
42
45
|
const { adapter, assets, force, onProgress, projectConfig, projectDir, registry } = options;
|
|
46
|
+
const localEdits = [];
|
|
43
47
|
const toSync = [];
|
|
44
48
|
const undeclared = [];
|
|
45
49
|
let excludedSkipped = 0;
|
|
@@ -94,9 +98,13 @@ export async function classifySyncEntries(options) {
|
|
|
94
98
|
continue;
|
|
95
99
|
}
|
|
96
100
|
// The tool's user config directory moved since ATK placed the asset: reinstall it where the tool
|
|
97
|
-
// reads it now (removing it from the old directory first).
|
|
101
|
+
// reads it now (removing it from the old directory first), unless that loses an edit.
|
|
98
102
|
if (configDirMove(adapter, asset)) {
|
|
99
|
-
|
|
103
|
+
const edits = await editedFiles(asset, adapter, projectDir, { assets }, registry);
|
|
104
|
+
if (edits)
|
|
105
|
+
localEdits.push(edits);
|
|
106
|
+
else
|
|
107
|
+
toSync.push({ asset, reason: 'moved' });
|
|
100
108
|
continue;
|
|
101
109
|
}
|
|
102
110
|
const resolved = resolveInstalledPaths(asset, adapter, projectDir);
|
|
@@ -107,6 +115,15 @@ export async function classifySyncEntries(options) {
|
|
|
107
115
|
// A file holding the content of another asset that places it is not drift: reinstalling
|
|
108
116
|
// would only swap the two.
|
|
109
117
|
const checksumFailures = await verifyOwnFiles(filesToCheck, asset, { assets }, adapter, projectDir);
|
|
118
|
+
// A file the user edited is kept: the reinstall would overwrite it, also when another of the
|
|
119
|
+
// asset's files is missing. One holding a published version's content is only stale, and is
|
|
120
|
+
// placed again.
|
|
121
|
+
const changed = changedAmong(resolved.files, checksumFailures, projectDir);
|
|
122
|
+
const edits = await localEditsAmong(asset, changed, projectDir, registry);
|
|
123
|
+
if (edits) {
|
|
124
|
+
localEdits.push(edits);
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
110
127
|
// Also verify registered config entries (e.g. a hook's `hooks.<Event>` group or an
|
|
111
128
|
// mcp server block). Config-only drift leaves the asset's files intact, so it is
|
|
112
129
|
// invisible to file checksums alone — check both before deciding to skip. The lockfile
|
|
@@ -144,7 +161,7 @@ export async function classifySyncEntries(options) {
|
|
|
144
161
|
reason: hasMissing ? 'missing' : 'modified',
|
|
145
162
|
});
|
|
146
163
|
}
|
|
147
|
-
return { excludedSkipped, frozenSkipped, skipped, toSync, undeclared };
|
|
164
|
+
return { excludedSkipped, frozenSkipped, localEdits, skipped, toSync, undeclared };
|
|
148
165
|
}
|
|
149
166
|
/**
|
|
150
167
|
* Perform a dry-run sync: read the lockfile (without locking), classify each
|
|
@@ -207,6 +224,7 @@ export async function dryRunSync(options) {
|
|
|
207
224
|
toolResults.push({
|
|
208
225
|
...(classified.excludedSkipped > 0 ? { excludedSkipped: classified.excludedSkipped } : {}),
|
|
209
226
|
frozenSkipped: classified.frozenSkipped,
|
|
227
|
+
...localEditsField(classified),
|
|
210
228
|
skipped: classified.skipped,
|
|
211
229
|
tool: toolName,
|
|
212
230
|
toSync,
|
|
@@ -298,6 +316,7 @@ export async function syncAssets(options) {
|
|
|
298
316
|
...(classified.excludedSkipped > 0 ? { excludedSkipped: classified.excludedSkipped } : {}),
|
|
299
317
|
failures,
|
|
300
318
|
frozenSkipped: classified.frozenSkipped,
|
|
319
|
+
...localEditsField(classified),
|
|
301
320
|
...(removed.length > 0 ? { removed } : {}),
|
|
302
321
|
skipped: classified.skipped,
|
|
303
322
|
synced: [],
|
|
@@ -397,6 +416,7 @@ export async function syncAssets(options) {
|
|
|
397
416
|
...(classified.excludedSkipped > 0 ? { excludedSkipped: classified.excludedSkipped } : {}),
|
|
398
417
|
failures,
|
|
399
418
|
frozenSkipped: classified.frozenSkipped,
|
|
419
|
+
...localEditsField(classified),
|
|
400
420
|
...(notAttempted ? { notAttempted } : {}),
|
|
401
421
|
...(removed.length > 0 ? { removed } : {}),
|
|
402
422
|
skipped: classified.skipped,
|
|
@@ -422,6 +442,10 @@ function isLockfileReadFailure(error, projectDir) {
|
|
|
422
442
|
return (error instanceof LockfileError ||
|
|
423
443
|
(error instanceof Error && 'path' in error && error.path === getLockfilePath(projectDir)));
|
|
424
444
|
}
|
|
445
|
+
/** A tool result's `localEdits`, absent when there are none. */
|
|
446
|
+
function localEditsField({ localEdits }) {
|
|
447
|
+
return localEdits.length > 0 ? { localEdits } : {};
|
|
448
|
+
}
|
|
425
449
|
/**
|
|
426
450
|
* The refusal for an org entry whose asset is gone from the registry: its lookup falls back to the
|
|
427
451
|
* global asset of the same name, which is another asset, so sync does not reinstall from it.
|
package/build/lib/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
package/build/lib/updater.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { Registry } from './schemas/index.js';
|
|
|
4
4
|
import type { InstalledAsset, Lockfile } from './schemas/lockfile.js';
|
|
5
5
|
import { ApiCodeError, type ErrorGuidance } from './errors.js';
|
|
6
6
|
import { type InstallResult } from './installer.js';
|
|
7
|
+
import { type LocalEdits } from './local-edits.js';
|
|
7
8
|
import { type Scope } from './scope.js';
|
|
8
9
|
export interface OutdatedAsset {
|
|
9
10
|
/** Whether the asset is frozen. */
|
|
@@ -40,6 +41,11 @@ export interface UndeclaredRemoval {
|
|
|
40
41
|
}>;
|
|
41
42
|
}
|
|
42
43
|
export interface UpdateAssetsResult {
|
|
44
|
+
/**
|
|
45
|
+
* Assets skipped during bulk update because files they placed were edited (`localEdits`), with
|
|
46
|
+
* those files. `force` updates them.
|
|
47
|
+
*/
|
|
48
|
+
editedSkipped?: Array<OutdatedAsset & Pick<LocalEdits, 'dependencies' | 'files' | 'unchecked'>>;
|
|
43
49
|
/** Assets skipped because they were uninstalled for this tool (`excludedTools`). */
|
|
44
50
|
excludedSkipped?: Array<{
|
|
45
51
|
name: string;
|
|
@@ -105,10 +111,17 @@ export interface UpdateOptions {
|
|
|
105
111
|
* every tool and the lockfile stay on the version they had.
|
|
106
112
|
*/
|
|
107
113
|
failedFor?: Map<string, string>;
|
|
108
|
-
/** Force update even if the asset is pinned. */
|
|
114
|
+
/** Force update even if the asset is pinned, and overwrite local edits. */
|
|
109
115
|
force?: boolean;
|
|
110
116
|
/** Set of frozen asset composite keys in format `${type}:${org ?? ''}:${name}`. */
|
|
111
117
|
frozenAssets?: Set<string>;
|
|
118
|
+
/**
|
|
119
|
+
* The installed assets with local edits (`findLocalEdits`), keyed like `frozenAssets`: an update
|
|
120
|
+
* would overwrite them, so without `force` a bulk update skips them and a named one, or one whose
|
|
121
|
+
* plan replaces an edited dependency, is refused. Found once before a multi-tool run, so every
|
|
122
|
+
* tool skips the same assets and the lockfile keeps one version for them.
|
|
123
|
+
*/
|
|
124
|
+
localEdits?: Map<string, LocalEdits>;
|
|
112
125
|
/** Callback for progress updates. */
|
|
113
126
|
onProgress?: (message: string) => void;
|
|
114
127
|
/** Project root directory. */
|
|
@@ -146,6 +159,7 @@ export interface UpdateWarning {
|
|
|
146
159
|
command: string;
|
|
147
160
|
message: string;
|
|
148
161
|
}
|
|
162
|
+
type AssetIdentity = Pick<InstalledAsset, 'name' | 'org' | 'type'>;
|
|
149
163
|
export declare class UpdaterError extends ApiCodeError {
|
|
150
164
|
name: string;
|
|
151
165
|
}
|
|
@@ -215,4 +229,20 @@ export declare function updateAsset(assetName: string, installed: InstalledAsset
|
|
|
215
229
|
* bypasses the outdated check and updates directly to the specified version.
|
|
216
230
|
*/
|
|
217
231
|
export declare function updateAssets(assetNames: string[] | undefined, lockfile: Lockfile, registry: Registry, options: UpdateOptions): Promise<UpdateAssetsResult>;
|
|
232
|
+
/**
|
|
233
|
+
* `localEdits` plus, for each of `outdated` without edits of its own, the edits of the installed
|
|
234
|
+
* dependencies its update to `targetVersion` (else its `latestVersion`) would replace or remove for
|
|
235
|
+
* any of `adapters`, under the asset's key with those dependencies named. An update skips or
|
|
236
|
+
* refuses such an asset as it does one with its own edits. Found once, before a multi-tool run
|
|
237
|
+
* changes any files, and for the dry run the same way, so both list the same assets.
|
|
238
|
+
*/
|
|
239
|
+
export declare function withDependencyEdits(outdated: Array<AssetIdentity & {
|
|
240
|
+
latestVersion: string;
|
|
241
|
+
}>, lockfile: Lockfile, registry: Registry, localEdits: Map<string, LocalEdits>, { adapters, projectDir, scope, targetVersion, }: {
|
|
242
|
+
adapters: Adapter[];
|
|
243
|
+
projectDir: string;
|
|
244
|
+
scope?: Scope;
|
|
245
|
+
targetVersion?: string;
|
|
246
|
+
}): Map<string, LocalEdits>;
|
|
247
|
+
export {};
|
|
218
248
|
//# sourceMappingURL=updater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAatE,OAAO,EACL,YAAY,EAGZ,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAatE,OAAO,EACL,YAAY,EAGZ,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBnD,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,YAAY,CAAC;AAGnE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,iDAAiD;IACjD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;IAChG,oFAAoF;IACpF,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACzE;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,SAAS,CAAA;SAAE,CAAC;QAC7D,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,gFAAgF;IAChF,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;AAEnE,qBAAa,YAAa,SAAQ,YAAY;IACnC,IAAI,SAAkB;CAChC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CA2BhH;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,CAenF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,EACtD,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxG,cAAc,CA+BhB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,cAAc,EAAE,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EACE,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG;IAAE,YAAY,EAAE,QAAQ,CAAA;CAAE,GAC3F,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CA6P7B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,EACE,QAAQ,EACR,UAAU,EACV,KAAK,EACL,aAAa,GACd,EAAE;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACpF,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAoCzB"}
|
package/build/lib/updater.js
CHANGED
|
@@ -6,14 +6,15 @@ import { getConfigEntriesForTool } from './config-entries.js';
|
|
|
6
6
|
import { ApiCodeError, asSentence, errorGuidance, errorMessage, isRunWideFailure, } from './errors.js';
|
|
7
7
|
import { restoreFiles, snapshotFiles } from './file-snapshot.js';
|
|
8
8
|
import { executeInstallPlan, fetchPlanFiles, FileConflictError, InstallerError, installFailureMessage, InstallPlanError, } from './installer.js';
|
|
9
|
-
import {
|
|
9
|
+
import {} from './local-edits.js';
|
|
10
|
+
import { addAssetToLockfile, findDependencyAsset, findDependents, findInstalledAsset, getLockfilePath, identityKey, readLockfile, writeLockfile, } from './lockfile.js';
|
|
10
11
|
import { withoutKeptDependencies } from './multi-tool-install.js';
|
|
11
12
|
import { formatOrgName, parseOrgFromName, scopeSwitchGuidance } from './org.js';
|
|
12
13
|
import { findAsset } from './registry.js';
|
|
13
14
|
import { resolveInstallPlan } from './resolver.js';
|
|
14
15
|
import { fromRoot } from './root-path.js';
|
|
15
16
|
import { scopedCommand, scopeLabel } from './scope.js';
|
|
16
|
-
import { removeUndeclaredCopy, uninstallAsset } from './uninstaller.js';
|
|
17
|
+
import { planUninstall, removeUndeclaredCopy, uninstallAsset } from './uninstaller.js';
|
|
17
18
|
export class UpdaterError extends ApiCodeError {
|
|
18
19
|
name = 'UpdaterError';
|
|
19
20
|
}
|
|
@@ -198,6 +199,9 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
198
199
|
if (installed.pinnedVersion && !options.force) {
|
|
199
200
|
throw pinnedError(`Asset "${name}" is pinned to version "${installed.pinnedVersion}".`, spec, options.scope);
|
|
200
201
|
}
|
|
202
|
+
const edits = options.force ? undefined : options.localEdits?.get(compositeKey);
|
|
203
|
+
if (edits)
|
|
204
|
+
throw localEditsError(name, [edits], spec, options.scope);
|
|
201
205
|
// Uninstalled for this tool: leave it alone (updating would reinstall it here). The
|
|
202
206
|
// other tools in a multi-tool update still get the new version.
|
|
203
207
|
if (excludedAtVersion(registry, installed, options.targetVersion, options.adapter)) {
|
|
@@ -238,6 +242,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
238
242
|
}
|
|
239
243
|
const outdated = checkOutdated(lockfile, registry, options.frozenAssets);
|
|
240
244
|
let toUpdate;
|
|
245
|
+
const editedSkipped = [];
|
|
241
246
|
const frozenSkipped = [];
|
|
242
247
|
const skipped = [];
|
|
243
248
|
if (assetNames && assetNames.length > 0) {
|
|
@@ -265,11 +270,17 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
265
270
|
throw pinnedError(`Asset "${asset.name}" is pinned.`, assetSpec(asset, options.type), options.scope);
|
|
266
271
|
}
|
|
267
272
|
}
|
|
273
|
+
for (const asset of toUpdate) {
|
|
274
|
+
const edits = options.force ? undefined : options.localEdits?.get(identityKey(asset));
|
|
275
|
+
if (edits)
|
|
276
|
+
throw localEditsError(asset.name, [edits], assetSpec(asset, options.type), options.scope);
|
|
277
|
+
}
|
|
268
278
|
}
|
|
269
279
|
else {
|
|
270
|
-
// Bulk update: skip pinned and
|
|
280
|
+
// Bulk update: skip pinned, frozen and edited assets without error
|
|
271
281
|
toUpdate = [];
|
|
272
282
|
for (const asset of outdated) {
|
|
283
|
+
const edits = options.force ? undefined : options.localEdits?.get(identityKey(asset));
|
|
273
284
|
if (asset.frozen) {
|
|
274
285
|
frozenSkipped.push(asset);
|
|
275
286
|
const thaw = scopedCommand(`atk thaw ${asset.name}`, options.scope);
|
|
@@ -280,6 +291,17 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
280
291
|
const force = scopedCommand(`atk update ${asset.name} --force`, options.scope);
|
|
281
292
|
options.onProgress?.(`Skipping pinned asset ${asset.name} (pinned, use "${force}" to override)`);
|
|
282
293
|
}
|
|
294
|
+
else if (edits) {
|
|
295
|
+
const { dependencies, files, unchecked } = edits;
|
|
296
|
+
editedSkipped.push({
|
|
297
|
+
...asset,
|
|
298
|
+
...(dependencies ? { dependencies } : {}),
|
|
299
|
+
files,
|
|
300
|
+
...(unchecked ? { unchecked } : {}),
|
|
301
|
+
});
|
|
302
|
+
const force = scopedCommand(`atk update ${assetSpec(asset, options.type)} --force`, options.scope);
|
|
303
|
+
options.onProgress?.(`Skipping ${asset.name}: it has local edits (use "${force}" to overwrite them)`);
|
|
304
|
+
}
|
|
283
305
|
else {
|
|
284
306
|
toUpdate.push(asset);
|
|
285
307
|
}
|
|
@@ -320,6 +342,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
320
342
|
});
|
|
321
343
|
if (toUpdate.length === 0) {
|
|
322
344
|
return {
|
|
345
|
+
...(editedSkipped.length > 0 ? { editedSkipped } : {}),
|
|
323
346
|
...(excludedSkipped.length > 0 ? { excludedSkipped } : {}),
|
|
324
347
|
...(failedSkipped.length > 0 ? { failedSkipped } : {}),
|
|
325
348
|
failures: [],
|
|
@@ -382,6 +405,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
382
405
|
toolLockfile = await withInstalledEntries(toolLockfile, updated.plan, options).catch(() => toolLockfile);
|
|
383
406
|
}
|
|
384
407
|
return {
|
|
408
|
+
...(editedSkipped.length > 0 ? { editedSkipped } : {}),
|
|
385
409
|
...(excludedSkipped.length > 0 ? { excludedSkipped } : {}),
|
|
386
410
|
...(failedSkipped.length > 0 ? { failedSkipped } : {}),
|
|
387
411
|
failures,
|
|
@@ -392,10 +416,95 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
392
416
|
...(undeclared.length > 0 ? { undeclared } : {}),
|
|
393
417
|
};
|
|
394
418
|
}
|
|
419
|
+
/**
|
|
420
|
+
* `localEdits` plus, for each of `outdated` without edits of its own, the edits of the installed
|
|
421
|
+
* dependencies its update to `targetVersion` (else its `latestVersion`) would replace or remove for
|
|
422
|
+
* any of `adapters`, under the asset's key with those dependencies named. An update skips or
|
|
423
|
+
* refuses such an asset as it does one with its own edits. Found once, before a multi-tool run
|
|
424
|
+
* changes any files, and for the dry run the same way, so both list the same assets.
|
|
425
|
+
*/
|
|
426
|
+
export function withDependencyEdits(outdated, lockfile, registry, localEdits, { adapters, projectDir, scope, targetVersion, }) {
|
|
427
|
+
const withDependencies = new Map(localEdits);
|
|
428
|
+
if (localEdits.size === 0)
|
|
429
|
+
return withDependencies;
|
|
430
|
+
for (const asset of outdated) {
|
|
431
|
+
const installed = lockfileEntryFor(lockfile, asset);
|
|
432
|
+
if (!installed || localEdits.has(identityKey(installed)))
|
|
433
|
+
continue;
|
|
434
|
+
const version = targetVersion ?? asset.latestVersion;
|
|
435
|
+
const resolved = findAsset(registry, installed.name, installed.type, version, installed.org);
|
|
436
|
+
if (!resolved || resolved.asset.org !== installed.org)
|
|
437
|
+
continue;
|
|
438
|
+
const edited = new Map();
|
|
439
|
+
for (const adapter of adapters) {
|
|
440
|
+
if (!supportsType(adapter, installed.type) || isExcludedForTool(installed, adapter.tool))
|
|
441
|
+
continue;
|
|
442
|
+
let plan;
|
|
443
|
+
try {
|
|
444
|
+
plan = planFor(registry, installed, resolved.version, { adapter, lockfile, projectDir, scope });
|
|
445
|
+
}
|
|
446
|
+
catch {
|
|
447
|
+
// The update itself refuses it (a pinned dependency it would move) and says why.
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
const newDeps = resolved.versionData.dependencies ?? [];
|
|
451
|
+
for (const edits of editsReplacedBy(plan, installed, newDeps, lockfile, adapter, localEdits)) {
|
|
452
|
+
edited.set(identityKey(edits), edits);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
if (edited.size === 0)
|
|
456
|
+
continue;
|
|
457
|
+
const deps = [...edited.values()];
|
|
458
|
+
withDependencies.set(identityKey(installed), {
|
|
459
|
+
dependencies: deps.map(({ name, org, type }) => ({ name, ...(org ? { org } : {}), type })),
|
|
460
|
+
files: deps.flatMap((e) => e.files),
|
|
461
|
+
name: installed.name,
|
|
462
|
+
...(installed.org ? { org: installed.org } : {}),
|
|
463
|
+
type: installed.type,
|
|
464
|
+
...(deps.some((e) => e.unchecked) ? { unchecked: true } : {}),
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
return withDependencies;
|
|
468
|
+
}
|
|
395
469
|
/** How a command names an asset: `@org/name`, with `--type` when the run was given one. */
|
|
396
470
|
function assetSpec(asset, type) {
|
|
397
471
|
return `${formatOrgName(asset.org, asset.name)}${type ? ` --type ${asset.type}` : ''}`;
|
|
398
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* The installed dependencies of `installed` an update to a version needing `newDeps` removes, as its
|
|
475
|
+
* cleanup does: dependencies it no longer declares, installed as dependencies, that no other asset
|
|
476
|
+
* the adapter's tool has depends on, and the dependencies only they needed.
|
|
477
|
+
*/
|
|
478
|
+
function droppedDependencies(installed, newDeps, lockfile, adapter) {
|
|
479
|
+
const newDepKeys = new Set(newDeps.map((d) => `${d.type}:${d.name}`));
|
|
480
|
+
return (installed.dependencies ?? [])
|
|
481
|
+
.filter((d) => !newDepKeys.has(`${d.type}:${d.name}`))
|
|
482
|
+
.flatMap((d) => {
|
|
483
|
+
const dep = findDependencyAsset(lockfile, d, installed.org);
|
|
484
|
+
if (!dep || (dep.installReason ?? 'direct') !== 'dependency')
|
|
485
|
+
return [];
|
|
486
|
+
const others = findDependents(lockfile, dep.name, dep.type, dep.org).filter((other) => !isSameAsset(other, installed) && !isExcludedForTool(other, adapter.tool));
|
|
487
|
+
// The cleanup uninstalls it with cascade, which also removes the dependencies only it needed.
|
|
488
|
+
return others.length === 0
|
|
489
|
+
? [dep, ...planUninstall(lockfile, dep.name, dep.org, dep.type, [adapter.tool]).orphanedDependencies]
|
|
490
|
+
: [];
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* The local edits of the installed dependencies an update of `installed` with `plan` replaces (the
|
|
495
|
+
* plan's other entries) or removes (see {@link droppedDependencies}). Entries `localEdits` holds for
|
|
496
|
+
* an asset because of its own dependencies (`dependencies` set) don't count.
|
|
497
|
+
*/
|
|
498
|
+
function editsReplacedBy(plan, installed, newDeps, lockfile, adapter, localEdits) {
|
|
499
|
+
const keys = new Set([
|
|
500
|
+
...plan.entries.filter((e) => !isSameAsset(e.asset, installed)).map((e) => identityKey(e.asset)),
|
|
501
|
+
...droppedDependencies(installed, newDeps, lockfile, adapter).map(identityKey),
|
|
502
|
+
]);
|
|
503
|
+
return [...keys].flatMap((key) => {
|
|
504
|
+
const edits = localEdits.get(key);
|
|
505
|
+
return edits && !edits.dependencies ? [edits] : [];
|
|
506
|
+
});
|
|
507
|
+
}
|
|
399
508
|
/**
|
|
400
509
|
* The skip record for an asset whose update would move a dependency whose own update failed for
|
|
401
510
|
* an earlier tool in the run: that tool kept the version the lockfile records, so moving it here
|
|
@@ -499,6 +608,23 @@ function liftFailure(installed, error) {
|
|
|
499
608
|
...errorGuidance(error),
|
|
500
609
|
};
|
|
501
610
|
}
|
|
611
|
+
/**
|
|
612
|
+
* The refusal to update `assetName` over local edits: its own (`edits` is the asset's) or those
|
|
613
|
+
* of a dependency the update replaces. The command forces the update of `spec` in its scope.
|
|
614
|
+
*/
|
|
615
|
+
function localEditsError(assetName, edits, spec, scope) {
|
|
616
|
+
const files = [...new Set(edits.flatMap((e) => e.files))].join(', ');
|
|
617
|
+
const own = edits.some((e) => e.name === assetName && !e.dependencies);
|
|
618
|
+
const dependencies = edits.flatMap((e) => e.dependencies ?? (e.name === assetName ? [] : [e]));
|
|
619
|
+
const names = [...new Set(dependencies.map((d) => `"${formatOrgName(d.org, d.name)}"`))].join(', ');
|
|
620
|
+
const command = scopedCommand(`atk update ${spec} --force`, scope);
|
|
621
|
+
const unchecked = edits.some((e) => e.unchecked)
|
|
622
|
+
? " Some files couldn't be checked against the registry's versions, so they may only be an earlier version's."
|
|
623
|
+
: '';
|
|
624
|
+
return new UpdaterError(own
|
|
625
|
+
? `Asset "${assetName}" has local edits (${files}), which updating it would overwrite. Use --force to overwrite them.`
|
|
626
|
+
: `Updating "${assetName}" would overwrite local edits in ${names} (${files}). Use --force to overwrite them.`, { command, hint: `Copy the edits somewhere else first, or pass --force to overwrite them.${unchecked}` });
|
|
627
|
+
}
|
|
502
628
|
/** The lockfile entry of an outdated asset: same name, type and org. */
|
|
503
629
|
function lockfileEntryFor(lockfile, asset) {
|
|
504
630
|
return (lockfile.assets ?? []).find((a) => isSameAsset(a, asset));
|
|
@@ -591,14 +717,27 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
|
|
|
591
717
|
// Dependencies this tool already has at a version the new one accepts stay as they are, as in
|
|
592
718
|
// `atk install`; moving a pinned one refuses the update before anything changes.
|
|
593
719
|
let plan;
|
|
720
|
+
let kept;
|
|
594
721
|
try {
|
|
595
|
-
|
|
722
|
+
kept = { ...options, lockfile: options.toolLockfile ?? (await readLockfile(projectDir)) };
|
|
596
723
|
plan = planFor(registry, installed, toVersion, kept);
|
|
597
724
|
}
|
|
598
725
|
catch (planError) {
|
|
599
726
|
throw new UpdaterError(`Failed to update "${assetName}" to v${toVersion}: ${failureReason(planError, installed)} ` +
|
|
600
727
|
`v${fromVersion} is still installed.`, errorGuidance(planError));
|
|
601
728
|
}
|
|
729
|
+
// The update replaces the asset and each installed dependency its plan moves, and removes the ones
|
|
730
|
+
// it drops: refuse before the download when one has local edits.
|
|
731
|
+
if (!options.force && options.localEdits) {
|
|
732
|
+
const own = options.localEdits.get(identityKey(installed));
|
|
733
|
+
const newDeps = resolved.versionData.dependencies ?? [];
|
|
734
|
+
const edited = [
|
|
735
|
+
...(own ? [own] : []),
|
|
736
|
+
...editsReplacedBy(plan, installed, newDeps, kept.lockfile, adapter, options.localEdits),
|
|
737
|
+
];
|
|
738
|
+
if (edited.length > 0)
|
|
739
|
+
throw localEditsError(assetName, edited, assetSpec(installed, options.type), scope);
|
|
740
|
+
}
|
|
602
741
|
// Download the target version before removing anything, so a refused download (an outdated
|
|
603
742
|
// CLI, an expired sign-in, the API down) leaves the installed version in place.
|
|
604
743
|
onProgress?.(`Downloading ${assetName}@${toVersion}...`);
|