@detergent-software/atk 7.12.0 → 7.13.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/README.md +3 -1
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +36 -5
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.js +7 -2
- package/build/commands/browse.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +34 -10
- package/build/commands/install.js.map +1 -1
- package/build/commands/list.js +13 -1
- package/build/commands/list.js.map +1 -1
- package/build/commands/setup.d.ts +2 -2
- package/build/commands/setup.d.ts.map +1 -1
- package/build/commands/setup.js +7 -4
- package/build/commands/setup.js.map +1 -1
- package/build/commands/sync.js +12 -8
- package/build/commands/sync.js.map +1 -1
- package/build/commands/uninstall.d.ts.map +1 -1
- package/build/commands/uninstall.js +25 -11
- package/build/commands/uninstall.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +19 -5
- package/build/commands/update.js.map +1 -1
- package/build/components/ExcludedSkippedHint.d.ts +13 -0
- package/build/components/ExcludedSkippedHint.d.ts.map +1 -0
- package/build/components/ExcludedSkippedHint.js +12 -0
- package/build/components/ExcludedSkippedHint.js.map +1 -0
- package/build/components/StatusBadge.d.ts +1 -1
- package/build/components/StatusBadge.d.ts.map +1 -1
- package/build/components/StatusBadge.js +2 -0
- package/build/components/StatusBadge.js.map +1 -1
- package/build/components/SyncAllInSync.d.ts +3 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +3 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/SyncDriftedList.d.ts +3 -1
- package/build/components/SyncDriftedList.d.ts.map +1 -1
- package/build/components/SyncDriftedList.js +4 -3
- package/build/components/SyncDriftedList.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 +1 -0
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +1 -0
- package/build/hooks/useListActions.js.map +1 -1
- package/build/hooks/usePruneState.d.ts +1 -1
- package/build/hooks/usePruneState.d.ts.map +1 -1
- package/build/hooks/usePruneState.js +11 -5
- package/build/hooks/usePruneState.js.map +1 -1
- package/build/hooks/useSetupState.d.ts +2 -1
- package/build/hooks/useSetupState.d.ts.map +1 -1
- package/build/hooks/useSetupState.js +17 -6
- package/build/hooks/useSetupState.js.map +1 -1
- package/build/hooks/useUninstallState.d.ts +21 -9
- package/build/hooks/useUninstallState.d.ts.map +1 -1
- package/build/hooks/useUninstallState.js +76 -15
- package/build/hooks/useUninstallState.js.map +1 -1
- package/build/lib/asset-tools.d.ts +55 -0
- package/build/lib/asset-tools.d.ts.map +1 -0
- package/build/lib/asset-tools.js +71 -0
- package/build/lib/asset-tools.js.map +1 -0
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +4 -2
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config-entries.d.ts +52 -0
- package/build/lib/config-entries.d.ts.map +1 -0
- package/build/lib/config-entries.js +71 -0
- package/build/lib/config-entries.js.map +1 -0
- package/build/lib/config-file.d.ts +49 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +84 -0
- package/build/lib/config-file.js.map +1 -0
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +15 -3
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +6 -4
- package/build/lib/init.js.map +1 -1
- package/build/lib/installer.d.ts +17 -0
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +102 -38
- package/build/lib/installer.js.map +1 -1
- package/build/lib/lockfile.d.ts +11 -0
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +14 -0
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +10 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +8 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +5 -0
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +8 -0
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/setup.d.ts +6 -0
- package/build/lib/setup.d.ts.map +1 -1
- package/build/lib/setup.js +49 -4
- package/build/lib/setup.js.map +1 -1
- package/build/lib/sync.d.ts +9 -1
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +31 -8
- package/build/lib/sync.js.map +1 -1
- package/build/lib/uninstaller.d.ts +35 -0
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +96 -29
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +6 -0
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +35 -3
- package/build/lib/updater.js.map +1 -1
- package/build/lib/write-file.d.ts +13 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +22 -0
- package/build/lib/write-file.js.map +1 -1
- package/package.json +2 -1
- package/tool-adapters/codex-cli.json +31 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useEffect, useReducer, useRef } from 'react';
|
|
2
|
+
import { describeLockfileEffects } from '../lib/asset-tools.js';
|
|
2
3
|
import { loadConfig } from '../lib/config.js';
|
|
3
|
-
import {
|
|
4
|
+
import { findInstalledAssetWithFallback, LockfileLockedError, readLockfile, withLockfileLock, } from '../lib/lockfile.js';
|
|
4
5
|
import { parseBundleSpec, resolveActiveOrg } from '../lib/org.js';
|
|
5
6
|
import { findProjectRoot } from '../lib/paths.js';
|
|
6
7
|
import { fetchRegistry, findBundle } from '../lib/registry.js';
|
|
@@ -126,8 +127,13 @@ export function useUninstallState(flags) {
|
|
|
126
127
|
// Extract org from @org/name syntax if present (shared bundle/asset spec parser)
|
|
127
128
|
const { name: nameFromOrg, org: inlineOrg } = parseBundleSpec(rawName);
|
|
128
129
|
const name = inlineOrg ? nameFromOrg : rawName;
|
|
129
|
-
const tools = await resolveTools(tool);
|
|
130
|
+
const tools = await resolveTools(tool, projectDir);
|
|
130
131
|
const toolNames = tools.map((t) => t.tool);
|
|
132
|
+
// `--tool` narrows the uninstall to one tool: assets that the project's other tools
|
|
133
|
+
// still have keep their lockfile entry. Without it every tool is cleaned and the
|
|
134
|
+
// entries are dropped.
|
|
135
|
+
const toolScope = tool ? { configuredAdapters: await loadConfiguredAdapters(projectDir) } : undefined;
|
|
136
|
+
const effectsFor = (assets) => describeLockfileEffects(assets, toolNames, toolScope?.configuredAdapters);
|
|
131
137
|
dispatch({ message: 'Loading configuration...', type: 'LOAD_PROGRESS' });
|
|
132
138
|
const config = await loadConfig();
|
|
133
139
|
// Step 1: Try bundle detection first
|
|
@@ -154,21 +160,32 @@ export function useUninstallState(flags) {
|
|
|
154
160
|
}
|
|
155
161
|
// Dry-run: return plan without executing
|
|
156
162
|
if (dryRun) {
|
|
157
|
-
dispatch({
|
|
163
|
+
dispatch({
|
|
164
|
+
outcome: {
|
|
165
|
+
lockfileEffects: effectsFor([...plan.assetsToRemove, ...plan.orphansToRemove]),
|
|
166
|
+
outcome: 'dry-run-bundle',
|
|
167
|
+
plan,
|
|
168
|
+
tools: toolNames,
|
|
169
|
+
},
|
|
170
|
+
type: 'LOAD_DONE',
|
|
171
|
+
});
|
|
158
172
|
return;
|
|
159
173
|
}
|
|
160
174
|
// If --yes flag, execute immediately for all tools
|
|
161
175
|
if (yes) {
|
|
162
176
|
dispatch({ message: 'Removing bundle assets...', type: 'LOAD_PROGRESS' });
|
|
163
|
-
//
|
|
177
|
+
// Bundle uninstall drops each lockfile entry in a single pass, so every configured
|
|
178
|
+
// tool's files and config registrations are cleaned in that same pass.
|
|
164
179
|
const result = await executeBundleUninstall(plan, {
|
|
165
180
|
adapter: tools[0].adapter,
|
|
181
|
+
additionalAdapters: tools.slice(1).map((t) => t.adapter),
|
|
166
182
|
cascade,
|
|
167
183
|
onProgress: (message) => {
|
|
168
184
|
if (!cancelled)
|
|
169
185
|
dispatch({ message, type: 'LOAD_PROGRESS' });
|
|
170
186
|
},
|
|
171
187
|
projectDir,
|
|
188
|
+
toolScope,
|
|
172
189
|
});
|
|
173
190
|
if (cancelled)
|
|
174
191
|
return;
|
|
@@ -183,7 +200,16 @@ export function useUninstallState(flags) {
|
|
|
183
200
|
});
|
|
184
201
|
return;
|
|
185
202
|
}
|
|
186
|
-
dispatch({
|
|
203
|
+
dispatch({
|
|
204
|
+
outcome: {
|
|
205
|
+
lockfileEffects: effectsFor([...plan.assetsToRemove, ...plan.orphansToRemove]),
|
|
206
|
+
outcome: 'bundle-confirming',
|
|
207
|
+
plan,
|
|
208
|
+
tools,
|
|
209
|
+
toolScope,
|
|
210
|
+
},
|
|
211
|
+
type: 'LOAD_DONE',
|
|
212
|
+
});
|
|
187
213
|
return;
|
|
188
214
|
}
|
|
189
215
|
// Dry-run for single asset: read lockfile directly (skip lock), compute plan, return
|
|
@@ -192,15 +218,26 @@ export function useUninstallState(flags) {
|
|
|
192
218
|
const lockfile = await readLockfile(projectDir);
|
|
193
219
|
if (cancelled)
|
|
194
220
|
return;
|
|
195
|
-
// Resolve active org
|
|
221
|
+
// Resolve active org (inline @org/name > --org > lockfile > config) as a
|
|
222
|
+
// preference: the lookup prefers that org's entry and falls back to the
|
|
223
|
+
// global entry, mirroring how `install` resolved the name.
|
|
196
224
|
const org = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
|
|
197
|
-
const installed =
|
|
225
|
+
const installed = findInstalledAssetWithFallback(lockfile, name, undefined, org);
|
|
198
226
|
if (!installed) {
|
|
199
227
|
dispatch({ outcome: { name, outcome: 'not-installed' }, type: 'LOAD_DONE' });
|
|
200
228
|
return;
|
|
201
229
|
}
|
|
202
|
-
|
|
203
|
-
|
|
230
|
+
// Plan against the org of the entry actually found (may be global).
|
|
231
|
+
const plan = planUninstall(lockfile, name, installed.org);
|
|
232
|
+
dispatch({
|
|
233
|
+
outcome: {
|
|
234
|
+
lockfileEffects: effectsFor(cascade ? [plan.primary, ...plan.orphanedDependencies] : [plan.primary]),
|
|
235
|
+
outcome: 'dry-run-single',
|
|
236
|
+
plan,
|
|
237
|
+
tools,
|
|
238
|
+
},
|
|
239
|
+
type: 'LOAD_DONE',
|
|
240
|
+
});
|
|
204
241
|
return;
|
|
205
242
|
}
|
|
206
243
|
// Fall through to existing single-asset uninstall logic
|
|
@@ -210,12 +247,17 @@ export function useUninstallState(flags) {
|
|
|
210
247
|
const lockfile = await readLockfile(projectDir);
|
|
211
248
|
if (cancelled)
|
|
212
249
|
return null;
|
|
213
|
-
// Resolve active org
|
|
214
|
-
|
|
215
|
-
|
|
250
|
+
// Resolve active org (inline @org/name > --org > lockfile > config) as a
|
|
251
|
+
// preference: the lookup prefers that org's entry and falls back to the
|
|
252
|
+
// global entry, mirroring how `install` resolved the name.
|
|
253
|
+
const resolvedOrg = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
|
|
254
|
+
const installed = findInstalledAssetWithFallback(lockfile, name, undefined, resolvedOrg);
|
|
216
255
|
if (!installed) {
|
|
217
256
|
return { name, outcome: 'not-installed' };
|
|
218
257
|
}
|
|
258
|
+
// From here on, key everything on the org of the entry actually found
|
|
259
|
+
// (may be global even when the project has an active org).
|
|
260
|
+
const org = installed.org;
|
|
219
261
|
// Compute the plan for display
|
|
220
262
|
const plan = planUninstall(lockfile, name, org);
|
|
221
263
|
// If dependents exist and no --yes flag, ask for confirmation
|
|
@@ -226,11 +268,13 @@ export function useUninstallState(flags) {
|
|
|
226
268
|
return {
|
|
227
269
|
adapter: tools[0].adapter,
|
|
228
270
|
lockfile,
|
|
271
|
+
lockfileEffects: effectsFor(cascade ? [plan.primary, ...plan.orphanedDependencies] : [plan.primary]),
|
|
229
272
|
org,
|
|
230
273
|
outcome: 'confirming',
|
|
231
274
|
plan,
|
|
232
275
|
tool: tools[0].tool,
|
|
233
276
|
tools,
|
|
277
|
+
toolScope,
|
|
234
278
|
};
|
|
235
279
|
}
|
|
236
280
|
// Uninstall for all tools
|
|
@@ -248,6 +292,7 @@ export function useUninstallState(flags) {
|
|
|
248
292
|
org,
|
|
249
293
|
plan,
|
|
250
294
|
projectDir,
|
|
295
|
+
toolScope,
|
|
251
296
|
});
|
|
252
297
|
toolResults.push({ plan, results, tool: toolName });
|
|
253
298
|
}
|
|
@@ -304,17 +349,19 @@ export function useUninstallState(flags) {
|
|
|
304
349
|
const projectDir = findProjectRoot(projectRoot);
|
|
305
350
|
// Handle bundle confirmation execution
|
|
306
351
|
if (outcome.outcome === 'bundle-confirming') {
|
|
307
|
-
const { plan, tools } = outcome;
|
|
352
|
+
const { plan, tools, toolScope } = outcome;
|
|
308
353
|
try {
|
|
309
|
-
//
|
|
354
|
+
// Clean every configured tool in the single pass that drops the lockfile entries
|
|
310
355
|
const result = await executeBundleUninstall(plan, {
|
|
311
356
|
adapter: tools[0].adapter,
|
|
357
|
+
additionalAdapters: tools.slice(1).map((t) => t.adapter),
|
|
312
358
|
cascade,
|
|
313
359
|
onProgress: (message) => {
|
|
314
360
|
if (!cancelled)
|
|
315
361
|
dispatch({ message, type: 'EXECUTE_PROGRESS' });
|
|
316
362
|
},
|
|
317
363
|
projectDir,
|
|
364
|
+
toolScope,
|
|
318
365
|
});
|
|
319
366
|
if (cancelled)
|
|
320
367
|
return;
|
|
@@ -335,7 +382,7 @@ export function useUninstallState(flags) {
|
|
|
335
382
|
}
|
|
336
383
|
// Handle single-asset confirmation execution for all tools
|
|
337
384
|
if (outcome.outcome === 'confirming') {
|
|
338
|
-
const { lockfile, org, plan, tools } = outcome;
|
|
385
|
+
const { lockfile, org, plan, tools, toolScope } = outcome;
|
|
339
386
|
const resolvedName = plan.primary.name;
|
|
340
387
|
try {
|
|
341
388
|
// Uninstall for all tools
|
|
@@ -352,6 +399,7 @@ export function useUninstallState(flags) {
|
|
|
352
399
|
org,
|
|
353
400
|
plan,
|
|
354
401
|
projectDir,
|
|
402
|
+
toolScope,
|
|
355
403
|
});
|
|
356
404
|
allResults.push(...results);
|
|
357
405
|
}
|
|
@@ -392,4 +440,17 @@ export function useUninstallState(flags) {
|
|
|
392
440
|
}, [state.phase]);
|
|
393
441
|
return [state, dispatch];
|
|
394
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* Adapters of every tool configured for the project (`.atkrc.json`), ignoring `--tool`.
|
|
445
|
+
* A project that was never set up has none, which makes a `--tool` uninstall drop the entry.
|
|
446
|
+
*/
|
|
447
|
+
async function loadConfiguredAdapters(projectDir) {
|
|
448
|
+
try {
|
|
449
|
+
const configured = await resolveTools(undefined, projectDir);
|
|
450
|
+
return configured.map((t) => t.adapter);
|
|
451
|
+
}
|
|
452
|
+
catch {
|
|
453
|
+
return [];
|
|
454
|
+
}
|
|
455
|
+
}
|
|
395
456
|
//# sourceMappingURL=useUninstallState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUninstallState.js","sourceRoot":"","sources":["../../src/hooks/useUninstallState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useUninstallState.js","sourceRoot":"","sources":["../../src/hooks/useUninstallState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Adapter } from './schemas/adapter.js';
|
|
2
|
+
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
3
|
+
/**
|
|
4
|
+
* Helpers for tracking which tools an installed asset is wanted for.
|
|
5
|
+
*
|
|
6
|
+
* The lockfile is tool-agnostic: by default every lockfile asset is wanted for every tool a
|
|
7
|
+
* developer has configured. A tool-scoped uninstall (`atk uninstall <asset> --tool <tool>`)
|
|
8
|
+
* records the tool in the asset's `excludedTools` instead of dropping the shared entry, so the
|
|
9
|
+
* other tools keep tracking the asset and sync/audit/update skip it for the excluded tool.
|
|
10
|
+
*
|
|
11
|
+
* Like `config-entries.ts`, this module is intentionally dependency-free (type-only imports
|
|
12
|
+
* plus that module) so it can be shared by lib code, hooks and commands without import cycles
|
|
13
|
+
* and without being affected by tests that mock `adapter.js` / `lockfile.js`.
|
|
14
|
+
*/
|
|
15
|
+
/** What happens to one asset's lockfile entry when it is uninstalled for some tools. */
|
|
16
|
+
export interface LockfileEffect {
|
|
17
|
+
/** True when the entry survives because other tools still have the asset. */
|
|
18
|
+
entryKept: boolean;
|
|
19
|
+
name: string;
|
|
20
|
+
org?: string;
|
|
21
|
+
/** Tools that still have the asset after the removal (empty when the entry is dropped). */
|
|
22
|
+
remainingTools: string[];
|
|
23
|
+
type: string;
|
|
24
|
+
}
|
|
25
|
+
type AssetToolFields = Pick<InstalledAsset, 'configEntries' | 'excludedTools' | 'type'>;
|
|
26
|
+
/**
|
|
27
|
+
* The `excludedTools` to record after (re)installing an asset for one tool: the previously
|
|
28
|
+
* recorded exclusions minus the tool being installed. Returns undefined when none remain so
|
|
29
|
+
* the field is omitted from the lockfile.
|
|
30
|
+
*/
|
|
31
|
+
export declare function carryExcludedTools(previous: Pick<InstalledAsset, 'excludedTools'> | undefined, installingTool: string): string[] | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Describe what a removal for `removingTools` does to the lockfile entries of the given assets.
|
|
34
|
+
* With `configuredAdapters` undefined the removal is not tool-scoped: every entry is dropped.
|
|
35
|
+
*/
|
|
36
|
+
export declare function describeLockfileEffects(assets: InstalledAsset[], removingTools: string[], configuredAdapters: Adapter[] | undefined): LockfileEffect[];
|
|
37
|
+
/**
|
|
38
|
+
* The lockfile entry to keep after uninstalling an asset for one tool: the tool is recorded in
|
|
39
|
+
* `excludedTools` (sorted, so teammates do not reorder the committed lockfile) and only the
|
|
40
|
+
* other tools' config entries are kept.
|
|
41
|
+
*/
|
|
42
|
+
export declare function excludeToolFromAsset(asset: InstalledAsset, adapter: Adapter): InstalledAsset;
|
|
43
|
+
/**
|
|
44
|
+
* Tools that still have the asset once it is removed for `removingTools`: the configured
|
|
45
|
+
* adapters that can place this asset type, plus any tool that tagged a config entry on the
|
|
46
|
+
* asset (the lockfile is shared, so a teammate's tool may not be configured locally), minus
|
|
47
|
+
* the tools already excluded and the ones being removed now.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getRemainingTools(asset: AssetToolFields, removingTools: string[], configuredAdapters: Adapter[]): string[];
|
|
50
|
+
/** Whether the asset was explicitly uninstalled for the given tool. */
|
|
51
|
+
export declare function isExcludedForTool(asset: Pick<InstalledAsset, 'excludedTools'>, tool: string): boolean;
|
|
52
|
+
/** Whether the adapter has a placement for the asset type (mirrors adapter.ts `supportsAssetType`). */
|
|
53
|
+
export declare function supportsType(adapter: Adapter, assetType: string): boolean;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=asset-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-tools.d.ts","sourceRoot":"","sources":["../../src/lib/asset-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;;;;;;;;;;GAWG;AAEH,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;AAExF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,SAAS,EAC3D,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,GAAG,SAAS,CAGtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,OAAO,EAAE,GAAG,SAAS,GACxC,cAAc,EAAE,CAWlB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,CAU5F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAgB1H;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErG;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { getOtherToolsConfigEntries } from './config-entries.js';
|
|
2
|
+
/**
|
|
3
|
+
* The `excludedTools` to record after (re)installing an asset for one tool: the previously
|
|
4
|
+
* recorded exclusions minus the tool being installed. Returns undefined when none remain so
|
|
5
|
+
* the field is omitted from the lockfile.
|
|
6
|
+
*/
|
|
7
|
+
export function carryExcludedTools(previous, installingTool) {
|
|
8
|
+
const remaining = (previous?.excludedTools ?? []).filter((t) => t !== installingTool);
|
|
9
|
+
return remaining.length > 0 ? remaining : undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Describe what a removal for `removingTools` does to the lockfile entries of the given assets.
|
|
13
|
+
* With `configuredAdapters` undefined the removal is not tool-scoped: every entry is dropped.
|
|
14
|
+
*/
|
|
15
|
+
export function describeLockfileEffects(assets, removingTools, configuredAdapters) {
|
|
16
|
+
return assets.map((asset) => {
|
|
17
|
+
const remainingTools = configuredAdapters ? getRemainingTools(asset, removingTools, configuredAdapters) : [];
|
|
18
|
+
return {
|
|
19
|
+
entryKept: remainingTools.length > 0,
|
|
20
|
+
name: asset.name,
|
|
21
|
+
...(asset.org ? { org: asset.org } : {}),
|
|
22
|
+
remainingTools,
|
|
23
|
+
type: asset.type,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The lockfile entry to keep after uninstalling an asset for one tool: the tool is recorded in
|
|
29
|
+
* `excludedTools` (sorted, so teammates do not reorder the committed lockfile) and only the
|
|
30
|
+
* other tools' config entries are kept.
|
|
31
|
+
*/
|
|
32
|
+
export function excludeToolFromAsset(asset, adapter) {
|
|
33
|
+
const { configEntries: _configEntries, excludedTools: _excludedTools, ...rest } = asset;
|
|
34
|
+
const otherEntries = getOtherToolsConfigEntries(asset, adapter);
|
|
35
|
+
const excludedTools = [...new Set([...(asset.excludedTools ?? []), adapter.tool])].sort();
|
|
36
|
+
return {
|
|
37
|
+
...rest,
|
|
38
|
+
...(otherEntries.length > 0 ? { configEntries: otherEntries } : {}),
|
|
39
|
+
excludedTools,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Tools that still have the asset once it is removed for `removingTools`: the configured
|
|
44
|
+
* adapters that can place this asset type, plus any tool that tagged a config entry on the
|
|
45
|
+
* asset (the lockfile is shared, so a teammate's tool may not be configured locally), minus
|
|
46
|
+
* the tools already excluded and the ones being removed now.
|
|
47
|
+
*/
|
|
48
|
+
export function getRemainingTools(asset, removingTools, configuredAdapters) {
|
|
49
|
+
const candidates = new Set();
|
|
50
|
+
for (const adapter of configuredAdapters) {
|
|
51
|
+
if (supportsType(adapter, asset.type)) {
|
|
52
|
+
candidates.add(adapter.tool);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const entry of asset.configEntries ?? []) {
|
|
56
|
+
if (entry.tool !== undefined) {
|
|
57
|
+
candidates.add(entry.tool);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const gone = new Set([...(asset.excludedTools ?? []), ...removingTools]);
|
|
61
|
+
return [...candidates].filter((t) => !gone.has(t)).sort();
|
|
62
|
+
}
|
|
63
|
+
/** Whether the asset was explicitly uninstalled for the given tool. */
|
|
64
|
+
export function isExcludedForTool(asset, tool) {
|
|
65
|
+
return (asset.excludedTools ?? []).includes(tool);
|
|
66
|
+
}
|
|
67
|
+
/** Whether the adapter has a placement for the asset type (mirrors adapter.ts `supportsAssetType`). */
|
|
68
|
+
export function supportsType(adapter, assetType) {
|
|
69
|
+
return assetType in adapter.placements;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=asset-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-tools.js","sourceRoot":"","sources":["../../src/lib/asset-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAOA,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2E/B"}
|
package/build/lib/checksum.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { readdir, readFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
+
import { detectConfigFormat, parseConfig } from './config-file.js';
|
|
4
5
|
import { hookGroupOwnsCommand } from './hook-config.js';
|
|
5
6
|
/** Recursively collect all files in a directory. */
|
|
6
7
|
export async function collectFilesRecursive(dirPath, baseDir) {
|
|
@@ -148,11 +149,12 @@ export async function verifyConfigEntries(entries, projectDir) {
|
|
|
148
149
|
const failures = [];
|
|
149
150
|
for (const entry of entries) {
|
|
150
151
|
const absolutePath = join(projectDir, entry.file);
|
|
151
|
-
// 1. Read and parse the config file
|
|
152
|
+
// 1. Read and parse the config file (format inferred from the extension —
|
|
153
|
+
// callers only hold lockfile entries, not the adapter placement)
|
|
152
154
|
let config;
|
|
153
155
|
try {
|
|
154
156
|
const raw = await readFile(absolutePath, 'utf-8');
|
|
155
|
-
config =
|
|
157
|
+
config = parseConfig(raw, detectConfigFormat(entry.file));
|
|
156
158
|
}
|
|
157
159
|
catch {
|
|
158
160
|
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_FILE_NOT_FOUND' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Adapter } from './schemas/adapter.js';
|
|
2
|
+
import type { ConfigEntry, InstalledAsset } from './schemas/lockfile.js';
|
|
3
|
+
/**
|
|
4
|
+
* Helpers for scoping an installed asset's lockfile `configEntries` to a single tool.
|
|
5
|
+
*
|
|
6
|
+
* The lockfile is tool-agnostic and shared by teammates who may use different tools,
|
|
7
|
+
* but a config entry is inherently tool-specific (its `file`, `command` and `checksum`
|
|
8
|
+
* all differ per adapter). Each entry is therefore tagged with the `tool` that
|
|
9
|
+
* registered it, and every consumer (installer, uninstaller, sync, audit) must only
|
|
10
|
+
* act on the entries belonging to the adapter it is running for.
|
|
11
|
+
*
|
|
12
|
+
* Entries written by older CLI versions carry no `tool` tag; their owner is inferred
|
|
13
|
+
* by matching the entry's `file` against the adapter placement's `configFile`.
|
|
14
|
+
*
|
|
15
|
+
* This module is intentionally dependency-free (type-only imports) so it can be shared
|
|
16
|
+
* by the installer, uninstaller, sync and audit without import cycles.
|
|
17
|
+
*/
|
|
18
|
+
type AssetConfigEntries = Pick<InstalledAsset, 'configEntries' | 'type'>;
|
|
19
|
+
/**
|
|
20
|
+
* Whether a lockfile config entry belongs to the given adapter's tool.
|
|
21
|
+
* Tagged entries match on `tool`; untagged legacy entries match when their file is
|
|
22
|
+
* the config file this adapter registers the asset type in.
|
|
23
|
+
*/
|
|
24
|
+
export declare function configEntryBelongsToTool(entry: ConfigEntry, adapter: Adapter, assetType: string): boolean;
|
|
25
|
+
/** The asset's recorded config entries that belong to the given adapter's tool. */
|
|
26
|
+
export declare function getConfigEntriesForTool(asset: AssetConfigEntries, adapter: Adapter): ConfigEntry[];
|
|
27
|
+
/** The asset's recorded config entries that belong to any tool other than the given adapter's. */
|
|
28
|
+
export declare function getOtherToolsConfigEntries(asset: AssetConfigEntries | undefined, adapter: Adapter): ConfigEntry[];
|
|
29
|
+
/**
|
|
30
|
+
* Build the config entries to record after (re)installing an asset for one tool:
|
|
31
|
+
* other tools' previously recorded entries are preserved verbatim, this tool's stale
|
|
32
|
+
* entries are dropped, and the freshly registered entries are tagged with the tool.
|
|
33
|
+
*
|
|
34
|
+
* The result is ordered by tool so that teammates syncing under different tools do
|
|
35
|
+
* not reorder the committed lockfile.
|
|
36
|
+
*/
|
|
37
|
+
export declare function mergeConfigEntriesForTool(previous: AssetConfigEntries | undefined, adapter: Adapter, fresh: Array<Omit<ConfigEntry, 'tool'>>): ConfigEntry[];
|
|
38
|
+
/**
|
|
39
|
+
* Whether an asset is missing its config registration for the given tool: the adapter
|
|
40
|
+
* registers this asset type in a config file, the asset has recorded entries for some
|
|
41
|
+
* other tool, but none for this one. This repairs multi-tool projects where only one
|
|
42
|
+
* tool's registration was ever recorded.
|
|
43
|
+
*
|
|
44
|
+
* Assets with no recorded entries at all are left alone — a hook with no event
|
|
45
|
+
* bindings, a legacy lockfile, or a memory-template legitimately has none, and
|
|
46
|
+
* flagging them would re-sync the asset forever.
|
|
47
|
+
*/
|
|
48
|
+
export declare function needsConfigRegistration(asset: AssetConfigEntries, adapter: Adapter): boolean;
|
|
49
|
+
/** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
|
|
50
|
+
export declare function normalizeConfigPath(path: string): string;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=config-entries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-entries.d.ts","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AAEH,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAElG;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAKjH;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GACtC,WAAW,EAAE,CAQf;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAS5F;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a lockfile config entry belongs to the given adapter's tool.
|
|
3
|
+
* Tagged entries match on `tool`; untagged legacy entries match when their file is
|
|
4
|
+
* the config file this adapter registers the asset type in.
|
|
5
|
+
*/
|
|
6
|
+
export function configEntryBelongsToTool(entry, adapter, assetType) {
|
|
7
|
+
if (entry.tool !== undefined) {
|
|
8
|
+
return entry.tool === adapter.tool;
|
|
9
|
+
}
|
|
10
|
+
const placement = adapter.placements[assetType];
|
|
11
|
+
if (!placement?.configFile) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return normalizeConfigPath(entry.file) === normalizeConfigPath(placement.configFile);
|
|
15
|
+
}
|
|
16
|
+
/** The asset's recorded config entries that belong to the given adapter's tool. */
|
|
17
|
+
export function getConfigEntriesForTool(asset, adapter) {
|
|
18
|
+
return (asset.configEntries ?? []).filter((e) => configEntryBelongsToTool(e, adapter, asset.type));
|
|
19
|
+
}
|
|
20
|
+
/** The asset's recorded config entries that belong to any tool other than the given adapter's. */
|
|
21
|
+
export function getOtherToolsConfigEntries(asset, adapter) {
|
|
22
|
+
if (!asset) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
return (asset.configEntries ?? []).filter((e) => !configEntryBelongsToTool(e, adapter, asset.type));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build the config entries to record after (re)installing an asset for one tool:
|
|
29
|
+
* other tools' previously recorded entries are preserved verbatim, this tool's stale
|
|
30
|
+
* entries are dropped, and the freshly registered entries are tagged with the tool.
|
|
31
|
+
*
|
|
32
|
+
* The result is ordered by tool so that teammates syncing under different tools do
|
|
33
|
+
* not reorder the committed lockfile.
|
|
34
|
+
*/
|
|
35
|
+
export function mergeConfigEntriesForTool(previous, adapter, fresh) {
|
|
36
|
+
const merged = [
|
|
37
|
+
...getOtherToolsConfigEntries(previous, adapter),
|
|
38
|
+
...fresh.map((e) => ({ ...e, tool: adapter.tool })),
|
|
39
|
+
];
|
|
40
|
+
// Array.prototype.sort is stable, so entries keep their relative order within a tool.
|
|
41
|
+
return merged.sort((a, b) => (a.tool ?? '').localeCompare(b.tool ?? ''));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Whether an asset is missing its config registration for the given tool: the adapter
|
|
45
|
+
* registers this asset type in a config file, the asset has recorded entries for some
|
|
46
|
+
* other tool, but none for this one. This repairs multi-tool projects where only one
|
|
47
|
+
* tool's registration was ever recorded.
|
|
48
|
+
*
|
|
49
|
+
* Assets with no recorded entries at all are left alone — a hook with no event
|
|
50
|
+
* bindings, a legacy lockfile, or a memory-template legitimately has none, and
|
|
51
|
+
* flagging them would re-sync the asset forever.
|
|
52
|
+
*/
|
|
53
|
+
export function needsConfigRegistration(asset, adapter) {
|
|
54
|
+
const placement = adapter.placements[asset.type];
|
|
55
|
+
if (!placement?.configFile || !placement.configKey) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
if ((asset.configEntries?.length ?? 0) === 0) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
return getConfigEntriesForTool(asset, adapter).length === 0;
|
|
62
|
+
}
|
|
63
|
+
/** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
|
|
64
|
+
export function normalizeConfigPath(path) {
|
|
65
|
+
let normalized = path.replace(/\\/g, '/');
|
|
66
|
+
while (normalized.startsWith('./')) {
|
|
67
|
+
normalized = normalized.slice(2);
|
|
68
|
+
}
|
|
69
|
+
return normalized;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=config-entries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"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"}
|