@detergent-software/atk 8.6.1 → 8.7.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +5 -5
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.js +6 -2
- package/build/commands/browse.js.map +1 -1
- package/build/commands/diff.d.ts.map +1 -1
- package/build/commands/diff.js +1 -1
- package/build/commands/diff.js.map +1 -1
- package/build/commands/doctor.d.ts +2 -1
- package/build/commands/doctor.d.ts.map +1 -1
- package/build/commands/doctor.js +9 -3
- package/build/commands/doctor.js.map +1 -1
- package/build/commands/install.js +9 -2
- package/build/commands/install.js.map +1 -1
- package/build/commands/outdated.d.ts.map +1 -1
- package/build/commands/outdated.js +9 -9
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/pin.js +3 -3
- package/build/commands/pin.js.map +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +11 -10
- package/build/commands/sync.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +21 -7
- package/build/commands/update.js.map +1 -1
- package/build/commands/why.d.ts.map +1 -1
- package/build/commands/why.js +5 -4
- package/build/commands/why.js.map +1 -1
- package/build/components/DiffView.d.ts +4 -1
- package/build/components/DiffView.d.ts.map +1 -1
- package/build/components/DiffView.js +3 -2
- package/build/components/DiffView.js.map +1 -1
- package/build/components/ExcludedSkippedHint.d.ts +4 -1
- package/build/components/ExcludedSkippedHint.d.ts.map +1 -1
- package/build/components/ExcludedSkippedHint.js +3 -2
- package/build/components/ExcludedSkippedHint.js.map +1 -1
- package/build/components/FrozenSkippedHint.d.ts +4 -1
- package/build/components/FrozenSkippedHint.d.ts.map +1 -1
- package/build/components/FrozenSkippedHint.js +3 -2
- package/build/components/FrozenSkippedHint.js.map +1 -1
- package/build/components/SyncAllInSync.d.ts +4 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +2 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/SyncDriftedList.d.ts +4 -1
- package/build/components/SyncDriftedList.d.ts.map +1 -1
- package/build/components/SyncDriftedList.js +3 -3
- package/build/components/SyncDriftedList.js.map +1 -1
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +3 -1
- package/build/hooks/useListActions.js.map +1 -1
- package/build/lib/adapter.d.ts +7 -0
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +8 -0
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/config-file.d.ts +5 -1
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +6 -3
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/config-lock.d.ts +20 -0
- package/build/lib/config-lock.d.ts.map +1 -0
- package/build/lib/config-lock.js +60 -0
- package/build/lib/config-lock.js.map +1 -0
- package/build/lib/diagnostics.d.ts +12 -6
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +29 -24
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.d.ts +3 -0
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +10 -8
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/hook-config.d.ts +7 -0
- package/build/lib/hook-config.d.ts.map +1 -1
- package/build/lib/hook-config.js +11 -0
- package/build/lib/hook-config.js.map +1 -1
- package/build/lib/installer.d.ts +6 -2
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +47 -22
- package/build/lib/installer.js.map +1 -1
- package/build/lib/multi-tool-install.d.ts +1 -1
- package/build/lib/multi-tool-install.d.ts.map +1 -1
- package/build/lib/multi-tool-install.js +10 -6
- package/build/lib/multi-tool-install.js.map +1 -1
- package/build/lib/org.d.ts +2 -1
- package/build/lib/org.d.ts.map +1 -1
- package/build/lib/org.js +4 -3
- package/build/lib/org.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +31 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +12 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/scope.d.ts +5 -0
- package/build/lib/scope.d.ts.map +1 -1
- package/build/lib/scope.js +7 -0
- package/build/lib/scope.js.map +1 -1
- package/build/lib/sync.d.ts +11 -2
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +8 -7
- package/build/lib/sync.js.map +1 -1
- package/build/lib/tool-resolver.d.ts +2 -0
- package/build/lib/tool-resolver.d.ts.map +1 -1
- package/build/lib/tool-resolver.js +8 -4
- package/build/lib/tool-resolver.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +5 -3
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +12 -6
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +56 -37
- package/build/lib/updater.js.map +1 -1
- package/build/lib/write-file.d.ts +12 -2
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +54 -7
- package/build/lib/write-file.js.map +1 -1
- package/package.json +1 -1
- package/tool-adapters/claude-code.json +31 -0
package/build/lib/updater.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import type { Adapter } from './schemas/adapter.js';
|
|
|
2
2
|
import type { AssetType } from './schemas/index.js';
|
|
3
3
|
import type { Registry } from './schemas/index.js';
|
|
4
4
|
import type { InstalledAsset, Lockfile } from './schemas/lockfile.js';
|
|
5
|
-
import type { Scope } from './scope.js';
|
|
6
5
|
import { ApiCodeError, type ErrorGuidance } from './errors.js';
|
|
7
6
|
import { type InstallResult } from './installer.js';
|
|
7
|
+
import { type Scope } from './scope.js';
|
|
8
8
|
export interface OutdatedAsset {
|
|
9
9
|
/** Whether the asset is frozen. */
|
|
10
10
|
frozen?: boolean;
|
|
@@ -113,7 +113,10 @@ export interface UpdateOptions {
|
|
|
113
113
|
onProgress?: (message: string) => void;
|
|
114
114
|
/** Project root directory. */
|
|
115
115
|
projectDir: string;
|
|
116
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* The scope `projectDir` is the root of. The fix-it commands in errors and warnings carry it,
|
|
118
|
+
* and it is passed on to the installer (see `InstallOptions.scope`).
|
|
119
|
+
*/
|
|
117
120
|
scope?: Scope;
|
|
118
121
|
/** Target version to update to (defaults to latest). */
|
|
119
122
|
targetVersion?: string;
|
|
@@ -155,9 +158,10 @@ export declare function checkOutdated(lockfile: Lockfile, registry: Registry, fr
|
|
|
155
158
|
/**
|
|
156
159
|
* Installed assets pinned to a version other than the one installed. Older CLIs let
|
|
157
160
|
* `atk pin name@X` write the pin without installing X, and `update` skips pinned assets, so
|
|
158
|
-
* nothing else brings them back into line.
|
|
161
|
+
* nothing else brings them back into line. Each one's `command` installs the pinned version in
|
|
162
|
+
* `scope`.
|
|
159
163
|
*/
|
|
160
|
-
export declare function checkPinMismatches(lockfile: Lockfile): PinMismatch[];
|
|
164
|
+
export declare function checkPinMismatches(lockfile: Lockfile, scope?: Scope): PinMismatch[];
|
|
161
165
|
/**
|
|
162
166
|
* Whether the manifest of `version` of the asset lets the adapter's tool take it (see
|
|
163
167
|
* {@link declarationAllows}); only a hook's declaration decides that. A version the registry lacks
|
|
@@ -178,9 +182,11 @@ export declare function excludedAtVersion(registry: Registry, installed: Install
|
|
|
178
182
|
/**
|
|
179
183
|
* The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
|
|
180
184
|
* bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
|
|
181
|
-
* one. A name installed as more than one type needs `type` to pick one.
|
|
185
|
+
* one. A name installed as more than one type needs `type` to pick one. The commands its errors
|
|
186
|
+
* suggest run in `scope`.
|
|
182
187
|
*/
|
|
183
|
-
export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { type, version }?: {
|
|
188
|
+
export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { scope, type, version }?: {
|
|
189
|
+
scope?: Scope;
|
|
184
190
|
type?: AssetType;
|
|
185
191
|
version?: string;
|
|
186
192
|
}): InstalledAsset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAGA,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;
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
|
package/build/lib/updater.js
CHANGED
|
@@ -12,6 +12,7 @@ import { withoutKeptDependencies } from './multi-tool-install.js';
|
|
|
12
12
|
import { formatOrgName, parseOrgFromName, scopeSwitchGuidance } from './org.js';
|
|
13
13
|
import { findAsset } from './registry.js';
|
|
14
14
|
import { resolveInstallPlan } from './resolver.js';
|
|
15
|
+
import { scopedCommand } from './scope.js';
|
|
15
16
|
import { removeUndeclaredCopy, uninstallAsset } from './uninstaller.js';
|
|
16
17
|
export class UpdaterError extends ApiCodeError {
|
|
17
18
|
name = 'UpdaterError';
|
|
@@ -49,13 +50,14 @@ export function checkOutdated(lockfile, registry, frozenNames) {
|
|
|
49
50
|
/**
|
|
50
51
|
* Installed assets pinned to a version other than the one installed. Older CLIs let
|
|
51
52
|
* `atk pin name@X` write the pin without installing X, and `update` skips pinned assets, so
|
|
52
|
-
* nothing else brings them back into line.
|
|
53
|
+
* nothing else brings them back into line. Each one's `command` installs the pinned version in
|
|
54
|
+
* `scope`.
|
|
53
55
|
*/
|
|
54
|
-
export function checkPinMismatches(lockfile) {
|
|
56
|
+
export function checkPinMismatches(lockfile, scope) {
|
|
55
57
|
return (lockfile.assets ?? []).flatMap(({ name, org, pinnedVersion, type, version }) => pinnedVersion && pinnedVersion !== version
|
|
56
58
|
? [
|
|
57
59
|
{
|
|
58
|
-
command: `atk install ${formatOrgName(org, name)}@${pinnedVersion} --pin`,
|
|
60
|
+
command: scopedCommand(`atk install ${formatOrgName(org, name)}@${pinnedVersion} --pin`, scope),
|
|
59
61
|
installedVersion: version,
|
|
60
62
|
name,
|
|
61
63
|
...(org ? { org } : {}),
|
|
@@ -93,9 +95,10 @@ export function excludedAtVersion(registry, installed, version, adapter) {
|
|
|
93
95
|
/**
|
|
94
96
|
* The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
|
|
95
97
|
* bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
|
|
96
|
-
* one. A name installed as more than one type needs `type` to pick one.
|
|
98
|
+
* one. A name installed as more than one type needs `type` to pick one. The commands its errors
|
|
99
|
+
* suggest run in `scope`.
|
|
97
100
|
*/
|
|
98
|
-
export function findUpdateTarget(lockfile, spec, { type, version } = {}) {
|
|
101
|
+
export function findUpdateTarget(lockfile, spec, { scope, type, version } = {}) {
|
|
99
102
|
const { name, org } = parseOrgFromName(spec);
|
|
100
103
|
const named = (lockfile.assets ?? []).filter((a) => a.name === name && (!type || a.type === type));
|
|
101
104
|
let matches = named.filter((a) => a.org === (org ?? lockfile.org));
|
|
@@ -105,14 +108,16 @@ export function findUpdateTarget(lockfile, spec, { type, version } = {}) {
|
|
|
105
108
|
const versionSuffix = version ? `@${version}` : '';
|
|
106
109
|
if (matches.length > 1) {
|
|
107
110
|
const types = matches.map((a) => a.type).sort();
|
|
108
|
-
throw new UpdaterError(`"${spec}" is installed as more than one type (${types.join(', ')}). Name the one to update with --type.`, { command: `atk update ${spec}${versionSuffix} --type ${types[0]}
|
|
111
|
+
throw new UpdaterError(`"${spec}" is installed as more than one type (${types.join(', ')}). Name the one to update with --type.`, { command: scopedCommand(`atk update ${spec}${versionSuffix} --type ${types[0]}`, scope) });
|
|
109
112
|
}
|
|
110
113
|
if (matches.length === 1)
|
|
111
114
|
return matches[0];
|
|
112
115
|
const elsewhere = [...new Set(named.map((a) => formatOrgName(a.org, a.name)))].sort();
|
|
113
116
|
if (elsewhere.length > 0) {
|
|
114
117
|
throw new UpdaterError(`Asset "${spec}" is not installed. Installed as: ${elsewhere.join(', ')}.`, elsewhere.length === 1
|
|
115
|
-
? {
|
|
118
|
+
? {
|
|
119
|
+
command: scopedCommand(`atk update ${elsewhere[0]}${versionSuffix}${type ? ` --type ${type}` : ''}`, scope),
|
|
120
|
+
}
|
|
116
121
|
: {});
|
|
117
122
|
}
|
|
118
123
|
throw new UpdaterError(`Asset "${spec}" is not installed.`);
|
|
@@ -176,6 +181,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
176
181
|
// and delegate directly to updateAsset which handles version comparison.
|
|
177
182
|
if (options.targetVersion && assetNames && assetNames.length === 1) {
|
|
178
183
|
const installed = findUpdateTarget(lockfile, assetNames[0], {
|
|
184
|
+
scope: options.scope,
|
|
179
185
|
type: options.type,
|
|
180
186
|
version: options.targetVersion,
|
|
181
187
|
});
|
|
@@ -184,17 +190,11 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
184
190
|
// Check frozen state for explicitly targeted asset
|
|
185
191
|
const compositeKey = `${installed.type}:${installed.org ?? ''}:${name}`;
|
|
186
192
|
if (options.frozenAssets?.has(compositeKey)) {
|
|
187
|
-
throw
|
|
188
|
-
command: `atk thaw ${spec}`,
|
|
189
|
-
hint: 'Thaw the asset before updating, or remove it from your lockfile.',
|
|
190
|
-
});
|
|
193
|
+
throw frozenError(name, spec, options.scope);
|
|
191
194
|
}
|
|
192
195
|
// Check pin state for explicitly targeted asset
|
|
193
196
|
if (installed.pinnedVersion && !options.force) {
|
|
194
|
-
throw
|
|
195
|
-
command: `atk unpin ${spec}`,
|
|
196
|
-
hint: 'Unpin the asset, or pass --force to override the pin.',
|
|
197
|
-
});
|
|
197
|
+
throw pinnedError(`Asset "${name}" is pinned to version "${installed.pinnedVersion}".`, spec, options.scope);
|
|
198
198
|
}
|
|
199
199
|
// Uninstalled for this tool: leave it alone (updating would reinstall it here). The
|
|
200
200
|
// other tools in a multi-tool update still get the new version.
|
|
@@ -239,14 +239,14 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
239
239
|
const frozenSkipped = [];
|
|
240
240
|
const skipped = [];
|
|
241
241
|
if (assetNames && assetNames.length > 0) {
|
|
242
|
-
const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { type: options.type }));
|
|
242
|
+
const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { scope: options.scope, type: options.type }));
|
|
243
243
|
toUpdate = outdated.filter((o) => targets.some((t) => isSameAsset(t, o)));
|
|
244
244
|
// Check for names that aren't outdated
|
|
245
245
|
for (const target of targets) {
|
|
246
246
|
if (!outdated.some((o) => isSameAsset(target, o))) {
|
|
247
247
|
const resolved = findAsset(registry, target.name, target.type, undefined, target.org);
|
|
248
248
|
if (resolved && resolved.asset.org !== target.org) {
|
|
249
|
-
throw scopeSwitchError(target, resolved.asset);
|
|
249
|
+
throw scopeSwitchError(target, resolved.asset, options.scope);
|
|
250
250
|
}
|
|
251
251
|
throw new UpdaterError(`Asset "${formatOrgName(target.org, target.name)}" is already at the latest version (v${target.version}).`);
|
|
252
252
|
}
|
|
@@ -254,20 +254,13 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
254
254
|
// For explicitly targeted frozen assets, throw
|
|
255
255
|
for (const asset of toUpdate) {
|
|
256
256
|
if (asset.frozen) {
|
|
257
|
-
|
|
258
|
-
throw new UpdaterError(`Asset "${asset.name}" is frozen. Use "atk thaw ${spec}" to unfreeze it before updating.`, {
|
|
259
|
-
command: `atk thaw ${spec}`,
|
|
260
|
-
hint: 'Thaw the asset before updating, or remove it from your lockfile.',
|
|
261
|
-
});
|
|
257
|
+
throw frozenError(asset.name, assetSpec(asset, options.type), options.scope);
|
|
262
258
|
}
|
|
263
259
|
}
|
|
264
260
|
// For explicitly targeted pinned assets, throw unless force is true
|
|
265
261
|
for (const asset of toUpdate) {
|
|
266
262
|
if (asset.pinned && !options.force) {
|
|
267
|
-
throw
|
|
268
|
-
command: `atk unpin ${assetSpec(asset, options.type)}`,
|
|
269
|
-
hint: 'Unpin the asset, or pass --force to override the pin.',
|
|
270
|
-
});
|
|
263
|
+
throw pinnedError(`Asset "${asset.name}" is pinned.`, assetSpec(asset, options.type), options.scope);
|
|
271
264
|
}
|
|
272
265
|
}
|
|
273
266
|
}
|
|
@@ -277,11 +270,13 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
|
|
|
277
270
|
for (const asset of outdated) {
|
|
278
271
|
if (asset.frozen) {
|
|
279
272
|
frozenSkipped.push(asset);
|
|
280
|
-
|
|
273
|
+
const thaw = scopedCommand(`atk thaw ${asset.name}`, options.scope);
|
|
274
|
+
options.onProgress?.(`Skipping frozen asset ${asset.name} (frozen, use "${thaw}" to unfreeze)`);
|
|
281
275
|
}
|
|
282
276
|
else if (asset.pinned) {
|
|
283
277
|
skipped.push(asset);
|
|
284
|
-
|
|
278
|
+
const force = scopedCommand(`atk update ${asset.name} --force`, options.scope);
|
|
279
|
+
options.onProgress?.(`Skipping pinned asset ${asset.name} (pinned, use "${force}" to override)`);
|
|
285
280
|
}
|
|
286
281
|
else {
|
|
287
282
|
toUpdate.push(asset);
|
|
@@ -417,8 +412,13 @@ async function failedDependencySkipFor(installed, registry, options) {
|
|
|
417
412
|
const lockfile = await readLockfile(options.projectDir);
|
|
418
413
|
let plan;
|
|
419
414
|
try {
|
|
420
|
-
const { adapter, projectDir, toolLockfile } = options;
|
|
421
|
-
plan = planFor(registry, installed, resolved.version, {
|
|
415
|
+
const { adapter, projectDir, scope, toolLockfile } = options;
|
|
416
|
+
plan = planFor(registry, installed, resolved.version, {
|
|
417
|
+
adapter,
|
|
418
|
+
lockfile: toolLockfile ?? lockfile,
|
|
419
|
+
projectDir,
|
|
420
|
+
scope,
|
|
421
|
+
});
|
|
422
422
|
}
|
|
423
423
|
catch (error) {
|
|
424
424
|
// It would move a pinned dependency, which the update itself refuses and reports.
|
|
@@ -462,6 +462,14 @@ function failedSkipFor(asset, snapshot, recorded, options) {
|
|
|
462
462
|
function failureReason(error, installed) {
|
|
463
463
|
return asSentence(installFailureMessage(error, installed));
|
|
464
464
|
}
|
|
465
|
+
/** The refusal to update a frozen asset, with the thaw command for its scope. */
|
|
466
|
+
function frozenError(name, spec, scope) {
|
|
467
|
+
const thaw = scopedCommand(`atk thaw ${spec}`, scope);
|
|
468
|
+
return new UpdaterError(`Asset "${name}" is frozen. Use "${thaw}" to unfreeze it before updating.`, {
|
|
469
|
+
command: thaw,
|
|
470
|
+
hint: 'Thaw the asset before updating, or remove it from your lockfile.',
|
|
471
|
+
});
|
|
472
|
+
}
|
|
465
473
|
/**
|
|
466
474
|
* Check if the registry version is newer than the installed version.
|
|
467
475
|
* Falls back to string comparison if semver parsing fails.
|
|
@@ -493,6 +501,13 @@ function liftFailure(installed, error) {
|
|
|
493
501
|
function lockfileEntryFor(lockfile, asset) {
|
|
494
502
|
return (lockfile.assets ?? []).find((a) => isSameAsset(a, asset));
|
|
495
503
|
}
|
|
504
|
+
/** The refusal to update a pinned asset (`pinned`, a sentence), with the unpin command for its scope. */
|
|
505
|
+
function pinnedError(pinned, spec, scope) {
|
|
506
|
+
return new UpdaterError(`${pinned} Use --force to override the pin.`, {
|
|
507
|
+
command: scopedCommand(`atk unpin ${spec}`, scope),
|
|
508
|
+
hint: 'Unpin the asset, or pass --force to override the pin.',
|
|
509
|
+
});
|
|
510
|
+
}
|
|
496
511
|
/**
|
|
497
512
|
* The install plan for one version of an installed asset. The resolver treats the asset as
|
|
498
513
|
* a fresh top-level request, so keep the install reason its lockfile entry had: updating a
|
|
@@ -536,8 +551,8 @@ async function restoreBundleOrigin(projectDir, installed) {
|
|
|
536
551
|
return;
|
|
537
552
|
await writeLockfile(projectDir, addAssetToLockfile(lockfile, { ...entry, bundleOrigin: installed.bundleOrigin }));
|
|
538
553
|
}
|
|
539
|
-
function scopeSwitchError(installed, fallback) {
|
|
540
|
-
const { message, ...guidance } = scopeSwitchGuidance(installed, fallback, 'update');
|
|
554
|
+
function scopeSwitchError(installed, fallback, scope) {
|
|
555
|
+
const { message, ...guidance } = scopeSwitchGuidance(installed, fallback, 'update', scope);
|
|
541
556
|
return new UpdaterError(message, guidance);
|
|
542
557
|
}
|
|
543
558
|
function toExcludedSkipped(installed) {
|
|
@@ -559,7 +574,7 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
|
|
|
559
574
|
throw new UpdaterError(`Asset "${assetName}" not found in registry.`);
|
|
560
575
|
}
|
|
561
576
|
if (resolved.asset.org !== installed.org) {
|
|
562
|
-
throw scopeSwitchError(installed, resolved.asset);
|
|
577
|
+
throw scopeSwitchError(installed, resolved.asset, scope);
|
|
563
578
|
}
|
|
564
579
|
const toVersion = resolved.version;
|
|
565
580
|
if (!isNewer(toVersion, installed.version)) {
|
|
@@ -668,22 +683,26 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
|
|
|
668
683
|
}
|
|
669
684
|
catch (rollbackError) {
|
|
670
685
|
const rollbackFailure = failureReason(rollbackError, installed);
|
|
686
|
+
const sync = scopedCommand('atk sync', scope);
|
|
671
687
|
throw new UpdaterError(`Failed to update "${assetName}" to v${toVersion}: ${installFailure} ` +
|
|
672
688
|
`Rollback to v${fromVersion} also failed` +
|
|
673
689
|
(rollbackFailure === installFailure ? ' for the same reason. ' : `: ${rollbackFailure} `) +
|
|
674
|
-
`Run "
|
|
690
|
+
`Run "${sync}" to restore the asset.`, { command: sync, ...errorGuidance(installError) });
|
|
675
691
|
}
|
|
676
692
|
if (isExcludedForTool(installed, adapter.tool)) {
|
|
677
693
|
// A hook whose exclusion this version lifts: the tool had no copy, and still has none.
|
|
678
694
|
throw new UpdaterError(`Failed to install "${assetName}" v${toVersion} for ${adapter.tool}: ${installFailure} ` +
|
|
679
695
|
`Nothing was installed for ${adapter.tool}.`, conflict
|
|
680
|
-
? {
|
|
696
|
+
? {
|
|
697
|
+
command: scopedCommand(`atk sync --tool ${adapter.tool}`, scope),
|
|
698
|
+
hint: `${conflictRemedy}, then run the command.`,
|
|
699
|
+
}
|
|
681
700
|
: errorGuidance(installError));
|
|
682
701
|
}
|
|
683
702
|
if (lockedVersion !== undefined && lockedVersion !== fromVersion) {
|
|
684
703
|
// The lockfile has one entry for every tool, so this tool's files now trail it.
|
|
685
704
|
const tool = adapter.tool;
|
|
686
|
-
const command = `atk sync --tool ${tool}
|
|
705
|
+
const command = scopedCommand(`atk sync --tool ${tool}`, scope);
|
|
687
706
|
throw new UpdaterError(`Failed to update "${assetName}" to v${toVersion} for ${tool}: ${installFailure} ` +
|
|
688
707
|
`Its ${tool} files were restored to v${fromVersion}, but the lockfile records v${lockedVersion}, ` +
|
|
689
708
|
`which the other tools have. Run "${command}" to install v${lockedVersion} for ${tool}.`, conflict
|
|
@@ -739,7 +758,7 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
|
|
|
739
758
|
// Other tools may still need the dependency, so the command removes it for this tool only.
|
|
740
759
|
const toolFlag = (options.configuredAdapters?.length ?? 1) > 1 ? ` --tool ${adapter.tool}` : '';
|
|
741
760
|
const spec = `${depAsset.org ? `@${depAsset.org}/` : ''}${dep.name}`;
|
|
742
|
-
warnings.push({ command: `atk uninstall ${spec}${toolFlag}`, message });
|
|
761
|
+
warnings.push({ command: scopedCommand(`atk uninstall ${spec}${toolFlag}`, scope), message });
|
|
743
762
|
}
|
|
744
763
|
}
|
|
745
764
|
}
|
package/build/lib/updater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/** How a file is written. */
|
|
2
|
+
export interface WriteOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Write a temp file next to it and rename it over the file, so a process that reads the file
|
|
5
|
+
* while it is written (a tool rewriting its own config) never sees it half written.
|
|
6
|
+
*/
|
|
7
|
+
atomic?: boolean;
|
|
8
|
+
}
|
|
1
9
|
/**
|
|
2
10
|
* Write a binary file verbatim, but skip the write when the content is unchanged.
|
|
3
11
|
*
|
|
@@ -26,8 +34,9 @@ export declare function writeBinaryFile(filePath: string, content: Buffer): Prom
|
|
|
26
34
|
*
|
|
27
35
|
* @param filePath - Absolute path of the file to write.
|
|
28
36
|
* @param data - Value to serialize as JSON.
|
|
37
|
+
* @param options - How to write it.
|
|
29
38
|
*/
|
|
30
|
-
export declare function writeJsonFile(filePath: string, data: unknown): Promise<void>;
|
|
39
|
+
export declare function writeJsonFile(filePath: string, data: unknown, options?: WriteOptions): Promise<void>;
|
|
31
40
|
/**
|
|
32
41
|
* Write a text file verbatim, but skip the write when the content is unchanged.
|
|
33
42
|
*
|
|
@@ -49,6 +58,7 @@ export declare function writeTextFile(filePath: string, content: string): Promis
|
|
|
49
58
|
*
|
|
50
59
|
* @param filePath - Absolute path of the file to write.
|
|
51
60
|
* @param data - Object to serialize as TOML.
|
|
61
|
+
* @param options - How to write it.
|
|
52
62
|
*/
|
|
53
|
-
export declare function writeTomlFile(filePath: string, data: Record<string, unknown
|
|
63
|
+
export declare function writeTomlFile(filePath: string, data: Record<string, unknown>, options?: WriteOptions): Promise<void>;
|
|
54
64
|
//# sourceMappingURL=write-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/lib/write-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/lib/write-file.ts"],"names":[],"mappings":"AAOA,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AASD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9G;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/build/lib/write-file.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { randomBytes } from 'node:crypto';
|
|
1
2
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { chmod, mkdir, readFile, realpath, rename, stat, unlink, writeFile } from 'node:fs/promises';
|
|
3
4
|
import { dirname } from 'node:path';
|
|
5
|
+
import { setTimeout as sleep } from 'node:timers/promises';
|
|
4
6
|
import { stringify as stringifyToml } from 'smol-toml';
|
|
5
7
|
/**
|
|
6
8
|
* Default indentation for brand-new JSON files that ATK creates (no existing
|
|
@@ -47,8 +49,9 @@ export async function writeBinaryFile(filePath, content) {
|
|
|
47
49
|
*
|
|
48
50
|
* @param filePath - Absolute path of the file to write.
|
|
49
51
|
* @param data - Value to serialize as JSON.
|
|
52
|
+
* @param options - How to write it.
|
|
50
53
|
*/
|
|
51
|
-
export async function writeJsonFile(filePath, data) {
|
|
54
|
+
export async function writeJsonFile(filePath, data, options = {}) {
|
|
52
55
|
const existing = await readIfExists(filePath);
|
|
53
56
|
const indent = existing === undefined ? DEFAULT_JSON_INDENT : detectIndent(existing);
|
|
54
57
|
const eol = existing !== undefined && existing.includes('\r\n') ? '\r\n' : '\n';
|
|
@@ -56,7 +59,7 @@ export async function writeJsonFile(filePath, data) {
|
|
|
56
59
|
// escapes any newline inside string values, so a global `\n` → eol swap only
|
|
57
60
|
// touches structural newlines.
|
|
58
61
|
const content = JSON.stringify(data, null, indent).replace(/\n/g, eol) + eol;
|
|
59
|
-
await writeFileIfChanged(filePath, content, existing);
|
|
62
|
+
await writeFileIfChanged(filePath, content, existing, options);
|
|
60
63
|
}
|
|
61
64
|
/**
|
|
62
65
|
* Write a text file verbatim, but skip the write when the content is unchanged.
|
|
@@ -82,15 +85,16 @@ export async function writeTextFile(filePath, content) {
|
|
|
82
85
|
*
|
|
83
86
|
* @param filePath - Absolute path of the file to write.
|
|
84
87
|
* @param data - Object to serialize as TOML.
|
|
88
|
+
* @param options - How to write it.
|
|
85
89
|
*/
|
|
86
|
-
export async function writeTomlFile(filePath, data) {
|
|
90
|
+
export async function writeTomlFile(filePath, data, options = {}) {
|
|
87
91
|
const existing = await readIfExists(filePath);
|
|
88
92
|
const eol = existing !== undefined && existing.includes('\r\n') ? '\r\n' : '\n';
|
|
89
93
|
// smol-toml emits `\n` as the structural line separator and escapes any
|
|
90
94
|
// newline inside string values, so a global `\n` → eol swap only touches
|
|
91
95
|
// structural newlines.
|
|
92
96
|
const content = stringifyToml(data).replace(/\n/g, eol);
|
|
93
|
-
await writeFileIfChanged(filePath, content, existing);
|
|
97
|
+
await writeFileIfChanged(filePath, content, existing, options);
|
|
94
98
|
}
|
|
95
99
|
/**
|
|
96
100
|
* Detect the per-level indentation unit of an existing JSON document.
|
|
@@ -116,17 +120,60 @@ async function readIfExists(filePath) {
|
|
|
116
120
|
return undefined;
|
|
117
121
|
return readFile(filePath, 'utf-8');
|
|
118
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Write `content` to a temp file next to `filePath` and rename it over the file. A symlink is
|
|
125
|
+
* written through to its target, and the file keeps its mode (a `.claude.json` kept at 0600
|
|
126
|
+
* because it holds MCP secrets stays 0600); a new file gets 0600. Windows refuses a rename while another process (an
|
|
127
|
+
* antivirus scan, the tool reading it) has the file open, so a refused rename is retried briefly.
|
|
128
|
+
* The temp file is removed when the write fails.
|
|
129
|
+
*/
|
|
130
|
+
async function writeFileAtomic(filePath, content) {
|
|
131
|
+
const target = existsSync(filePath) ? await realpath(filePath) : filePath;
|
|
132
|
+
// A new file is private to its owner: what a tool rewrites while it runs can hold secrets.
|
|
133
|
+
const mode = existsSync(target) ? (await stat(target)).mode & 0o777 : 0o600;
|
|
134
|
+
const tempPath = `${target}.tmp.${process.pid}.${randomBytes(4).toString('hex')}`;
|
|
135
|
+
try {
|
|
136
|
+
await writeFile(tempPath, content, { encoding: 'utf-8', mode });
|
|
137
|
+
await chmod(tempPath, mode);
|
|
138
|
+
await renameWithRetry(tempPath, target);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
await unlink(tempPath).catch(() => undefined);
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
119
145
|
/**
|
|
120
146
|
* Write `content` to `filePath` only if it differs from `existing`, creating
|
|
121
147
|
* the parent directory as needed. A no-op when the content already matches.
|
|
122
148
|
*/
|
|
123
|
-
async function writeFileIfChanged(filePath, content, existing) {
|
|
149
|
+
async function writeFileIfChanged(filePath, content, existing, { atomic = false } = {}) {
|
|
124
150
|
if (existing === content)
|
|
125
151
|
return;
|
|
126
152
|
const dir = dirname(filePath);
|
|
127
153
|
if (!existsSync(dir)) {
|
|
128
154
|
await mkdir(dir, { recursive: true });
|
|
129
155
|
}
|
|
130
|
-
|
|
156
|
+
if (!atomic) {
|
|
157
|
+
await writeFile(filePath, content, 'utf-8');
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
await writeFileAtomic(filePath, content);
|
|
161
|
+
}
|
|
162
|
+
/** How often, and how far apart, a rename Windows refused is tried again. */
|
|
163
|
+
const RENAME_RETRIES = 10;
|
|
164
|
+
const RENAME_RETRY_MS = 50;
|
|
165
|
+
async function renameWithRetry(from, to) {
|
|
166
|
+
for (let attempt = 0;; attempt++) {
|
|
167
|
+
try {
|
|
168
|
+
await rename(from, to);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
const code = error.code;
|
|
173
|
+
if (attempt >= RENAME_RETRIES || (code !== 'EPERM' && code !== 'EBUSY' && code !== 'EACCES'))
|
|
174
|
+
throw error;
|
|
175
|
+
await sleep(RENAME_RETRY_MS);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
131
178
|
}
|
|
132
179
|
//# sourceMappingURL=write-file.js.map
|