@detergent-software/atk 8.1.2-dev.36 → 8.1.2-dev.38
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 +13 -0
- package/build/lib/installer.d.ts +18 -7
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +102 -25
- package/build/lib/installer.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [8.1.2-dev.38](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.1.2-dev.37&targetVersion=GTv8.1.2-dev.38) (2026-10-04)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **cli:** roll back a memory-template block with a failed plan (ATK-140, ATK-146) ([c81f628](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/c81f628b654156077491c9f3da2454a31ea38ce8))
|
|
6
|
+
|
|
7
|
+
## [8.1.2-dev.37](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.1.2-dev.36&targetVersion=GTv8.1.2-dev.37) (2026-10-04)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **cli:** check entry co-owners from other tools at conflict time (ATK-139) ([06b48b1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/06b48b1347f7882baee8a6b2a17283d8d9bbb391))
|
|
12
|
+
* **cli:** let co-owners of an entry sync it for a new tool (ATK-139) ([9b18068](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/9b18068eb315b6e7da85ad4f20ac3513ca53904c))
|
|
13
|
+
|
|
1
14
|
## [8.1.2-dev.36](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.1.2-dev.35&targetVersion=GTv8.1.2-dev.36) (2026-10-04)
|
|
2
15
|
|
|
3
16
|
### Bug Fixes
|
package/build/lib/installer.d.ts
CHANGED
|
@@ -44,6 +44,15 @@ export interface InstallOptions {
|
|
|
44
44
|
skipUnsupported?: boolean;
|
|
45
45
|
}
|
|
46
46
|
export interface InstallResult {
|
|
47
|
+
/**
|
|
48
|
+
* The memory-template block the install wrote into `file` (relative, like `configFilesCreated`),
|
|
49
|
+
* the block of that name it `replaced`, and whether it `created` the file; a rollback undoes it.
|
|
50
|
+
*/
|
|
51
|
+
blockWritten?: {
|
|
52
|
+
created: boolean;
|
|
53
|
+
file: string;
|
|
54
|
+
replaced?: string;
|
|
55
|
+
};
|
|
47
56
|
bundleOrigin?: {
|
|
48
57
|
name: string;
|
|
49
58
|
org?: string;
|
|
@@ -127,11 +136,11 @@ export declare function assertInstalledByAnyTool(plan: InstallPlan, toolResults:
|
|
|
127
136
|
* Execute a full install plan — install all assets in order.
|
|
128
137
|
* On partial failure, deletes the files the failing asset wrote where no file was before placing
|
|
129
138
|
* its files failed, and rolls back the assets the plan added before it (deletes placed files,
|
|
130
|
-
* reverts config entries, removes lockfile entries) so the system is not
|
|
131
|
-
* state. An asset the tool already had in place keeps what the plan placed,
|
|
132
|
-
* would delete its working copy, and gets its lockfile entry back. When the
|
|
133
|
-
* asset to another version, which may need the assets the plan added, nothing is
|
|
134
|
-
* ({@link InstallPlanError.keptInstall}).
|
|
139
|
+
* reverts config entries and memory-template blocks, removes lockfile entries) so the system is not
|
|
140
|
+
* left in an inconsistent state. An asset the tool already had in place keeps what the plan placed,
|
|
141
|
+
* since rolling it back would delete its working copy, and gets its lockfile entry back. When the
|
|
142
|
+
* plan moved such an asset to another version, which may need the assets the plan added, nothing is
|
|
143
|
+
* rolled back ({@link InstallPlanError.keptInstall}).
|
|
135
144
|
*/
|
|
136
145
|
export declare function executeInstallPlan(plan: InstallPlan, options: InstallOptions): Promise<InstallResult[]>;
|
|
137
146
|
/**
|
|
@@ -151,8 +160,10 @@ export declare function placeableEntries(plan: InstallPlan, adapter: Adapter): I
|
|
|
151
160
|
/**
|
|
152
161
|
* Undo the installs of `installed` for the adapter's tool, in reverse order (best-effort): delete
|
|
153
162
|
* their placed files, revert their config entries (deleting a config file they created once it is
|
|
154
|
-
* empty),
|
|
155
|
-
*
|
|
163
|
+
* empty), put back the memory-template block they replaced or take out the one they added (deleting
|
|
164
|
+
* a file they created once it is empty), take the names they added out of an enabled list, and give
|
|
165
|
+
* each asset its lockfile entry from `before`, or remove it. A file or config entry an asset of
|
|
166
|
+
* `before` also owns is kept.
|
|
156
167
|
* Returns `lockfile` with the entries reverted, as written.
|
|
157
168
|
*/
|
|
158
169
|
export declare function rollBackInstalledAssets(installed: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|
package/build/lib/installer.js
CHANGED
|
@@ -4,7 +4,7 @@ import { dirname, join } from 'node:path';
|
|
|
4
4
|
import { getPlacement, isEntrypoint, resolveInstalledPaths } from './adapter.js';
|
|
5
5
|
import { carryExcludedTools, isExcludedForTool } from './asset-tools.js';
|
|
6
6
|
import { computeConfigEntryChecksum, computeHookGroupChecksum, hashBytes } from './checksum.js';
|
|
7
|
-
import { getConfigEntriesForTool, mergeConfigEntriesForTool } from './config-entries.js';
|
|
7
|
+
import { getConfigEntriesForTool, getOtherToolsConfigEntries, mergeConfigEntriesForTool, normalizeConfigPath, } from './config-entries.js';
|
|
8
8
|
import { normalizeForFormat, readConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
|
|
9
9
|
import { addToEnabledList, removeFromEnabledList } from './enabled-list.js';
|
|
10
10
|
import { ApiCodeError, errorGuidance, errorMessage } from './errors.js';
|
|
@@ -90,11 +90,11 @@ export function assertInstalledByAnyTool(plan, toolResults) {
|
|
|
90
90
|
* Execute a full install plan — install all assets in order.
|
|
91
91
|
* On partial failure, deletes the files the failing asset wrote where no file was before placing
|
|
92
92
|
* its files failed, and rolls back the assets the plan added before it (deletes placed files,
|
|
93
|
-
* reverts config entries, removes lockfile entries) so the system is not
|
|
94
|
-
* state. An asset the tool already had in place keeps what the plan placed,
|
|
95
|
-
* would delete its working copy, and gets its lockfile entry back. When the
|
|
96
|
-
* asset to another version, which may need the assets the plan added, nothing is
|
|
97
|
-
* ({@link InstallPlanError.keptInstall}).
|
|
93
|
+
* reverts config entries and memory-template blocks, removes lockfile entries) so the system is not
|
|
94
|
+
* left in an inconsistent state. An asset the tool already had in place keeps what the plan placed,
|
|
95
|
+
* since rolling it back would delete its working copy, and gets its lockfile entry back. When the
|
|
96
|
+
* plan moved such an asset to another version, which may need the assets the plan added, nothing is
|
|
97
|
+
* rolled back ({@link InstallPlanError.keptInstall}).
|
|
98
98
|
*/
|
|
99
99
|
export async function executeInstallPlan(plan, options) {
|
|
100
100
|
const results = [];
|
|
@@ -112,6 +112,8 @@ export async function executeInstallPlan(plan, options) {
|
|
|
112
112
|
const managedPaths = buildManagedPaths(options.managedFrom ?? lockfile, options.projectDir, options.adapter);
|
|
113
113
|
// ...and each block or keyed config entry to the assets that wrote it
|
|
114
114
|
const managedEntries = buildManagedEntries(options.managedFrom ?? lockfile, options.projectDir, options.adapter);
|
|
115
|
+
// ...and each keyed config entry of other tools to its owners, who may share it for this tool
|
|
116
|
+
const ownersElsewhere = buildEntryOwnersElsewhere(options.managedFrom ?? lockfile, options.adapter);
|
|
115
117
|
// In multi-tool projects the same plan runs once per tool. A tool that has no
|
|
116
118
|
// placement for an asset type (e.g. Codex CLI has no `rule` placement) skips
|
|
117
119
|
// those entries instead of aborting the whole run for that tool. When the tool
|
|
@@ -139,7 +141,7 @@ export async function executeInstallPlan(plan, options) {
|
|
|
139
141
|
try {
|
|
140
142
|
for (const entry of supportedEntries) {
|
|
141
143
|
created = [];
|
|
142
|
-
const { lockfile: updatedLockfile, result, sharedEntries, } = await installAsset(entry, options, managedPaths, managedEntries, lockfile, created);
|
|
144
|
+
const { lockfile: updatedLockfile, result, sharedEntries, } = await installAsset(entry, options, managedPaths, managedEntries, ownersElsewhere, lockfile, created);
|
|
143
145
|
results.push(result);
|
|
144
146
|
// A later entry of this plan may land on these files or entries, and must see whose they are.
|
|
145
147
|
for (const file of result.filesPlaced)
|
|
@@ -237,8 +239,10 @@ export function placeableEntries(plan, adapter) {
|
|
|
237
239
|
/**
|
|
238
240
|
* Undo the installs of `installed` for the adapter's tool, in reverse order (best-effort): delete
|
|
239
241
|
* their placed files, revert their config entries (deleting a config file they created once it is
|
|
240
|
-
* empty),
|
|
241
|
-
*
|
|
242
|
+
* empty), put back the memory-template block they replaced or take out the one they added (deleting
|
|
243
|
+
* a file they created once it is empty), take the names they added out of an enabled list, and give
|
|
244
|
+
* each asset its lockfile entry from `before`, or remove it. A file or config entry an asset of
|
|
245
|
+
* `before` also owns is kept.
|
|
242
246
|
* Returns `lockfile` with the entries reverted, as written.
|
|
243
247
|
*/
|
|
244
248
|
export async function rollBackInstalledAssets(installed, before, lockfile, options) {
|
|
@@ -279,6 +283,10 @@ export async function rollBackInstalledAssets(installed, before, lockfile, optio
|
|
|
279
283
|
options.onProgress?.(`Warning: Failed to revert config entry ${entry.key} during rollback — ${errorMessage(error)}`);
|
|
280
284
|
}
|
|
281
285
|
}
|
|
286
|
+
// Give a memory-template's file back the block of that name it had before, or none
|
|
287
|
+
if (result.blockWritten) {
|
|
288
|
+
await revertMemoryBlock(options.projectDir, result.name, result.blockWritten, options.onProgress);
|
|
289
|
+
}
|
|
282
290
|
// Take the names the install added out of the enabled list again, except one whose entry was
|
|
283
291
|
// kept for its other owner (as uninstall does)
|
|
284
292
|
const { configKey, enabledListFile, enabledListKey } = placement ?? {};
|
|
@@ -313,6 +321,32 @@ function addOwner(owned, key, owner) {
|
|
|
313
321
|
owned.set(key, [owner]);
|
|
314
322
|
}
|
|
315
323
|
}
|
|
324
|
+
/** The regular expression source of the `<!-- ATK: {name} -->` block, delimiters included. */
|
|
325
|
+
function atkBlockPattern(assetName) {
|
|
326
|
+
const escapedName = assetName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
327
|
+
return `<!-- ATK: ${escapedName} -->\\n[\\s\\S]*?<!-- /ATK: ${escapedName} -->`;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Map each name of a keyed config entry other tools have to the owners of each such entry: the
|
|
331
|
+
* assets that recorded it for one other tool, in one file. Assets the adapter's tool can't hold
|
|
332
|
+
* are left out, as in {@link buildManagedEntries}.
|
|
333
|
+
*/
|
|
334
|
+
function buildEntryOwnersElsewhere(lockfile, adapter) {
|
|
335
|
+
const byName = new Map();
|
|
336
|
+
for (const asset of lockfile.assets ?? []) {
|
|
337
|
+
if (isExcludedForTool(asset, adapter.tool) || !getPlacement(adapter, asset.type))
|
|
338
|
+
continue;
|
|
339
|
+
for (const entry of getOtherToolsConfigEntries(asset, adapter)) {
|
|
340
|
+
const name = configEntryName(entry.key);
|
|
341
|
+
if (entry.command !== undefined || name === undefined)
|
|
342
|
+
continue;
|
|
343
|
+
const byFile = byName.get(name) ?? new Map();
|
|
344
|
+
byName.set(name, byFile);
|
|
345
|
+
addOwner(byFile, sharedEntryKey({ file: normalizeConfigPath(entry.file), key: entry.key }), asset);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return new Map([...byName].map(([name, byFile]) => [name, [...byFile.values()]]));
|
|
349
|
+
}
|
|
316
350
|
/**
|
|
317
351
|
* Map each memory-template block and keyed config entry the given lockfile's assets wrote for the
|
|
318
352
|
* adapter's tool to those assets. Used for conflict detection, like {@link buildManagedPaths}.
|
|
@@ -354,13 +388,20 @@ function buildManagedPaths(lockfile, projectDir, adapter) {
|
|
|
354
388
|
}
|
|
355
389
|
/**
|
|
356
390
|
* Throw a FileConflictError if another installed asset wrote `entry` and `asset` didn't. An entry
|
|
357
|
-
* no installed asset wrote is left to the merge, as before.
|
|
391
|
+
* no installed asset wrote is left to the merge, as before. An asset that recorded the entry of
|
|
392
|
+
* that name for another tool together with all of its owners here (a forced install, or one from
|
|
393
|
+
* before installs refused a shared entry) shares it here too: otherwise the first of them to sync
|
|
394
|
+
* a newly added tool would lock the others out of it.
|
|
358
395
|
*/
|
|
359
|
-
function checkEntryConflict(entry, managedEntries, asset) {
|
|
396
|
+
function checkEntryConflict(entry, managedEntries, ownersElsewhere, asset) {
|
|
360
397
|
const owners = managedEntries.get(sharedEntryKey(entry));
|
|
361
398
|
if (!owners || isOwner(owners, asset)) {
|
|
362
399
|
return;
|
|
363
400
|
}
|
|
401
|
+
const sharedElsewhere = (entry.entry ? ownersElsewhere.get(entry.entry.name) : undefined)?.some((coOwners) => isOwner(coOwners, asset) && owners.every((owner) => isOwner(coOwners, owner)));
|
|
402
|
+
if (sharedElsewhere) {
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
364
405
|
throw new FileConflictError(entry.file, owners[0], entry.label);
|
|
365
406
|
}
|
|
366
407
|
/**
|
|
@@ -396,6 +437,11 @@ async function checkUserEntryConflict(entry, managedEntries, format) {
|
|
|
396
437
|
}
|
|
397
438
|
throw new FileConflictError(entry.file, undefined, entry.label);
|
|
398
439
|
}
|
|
440
|
+
/** The name a keyed config entry has in its section: `neon` for `mcpServers.neon`. */
|
|
441
|
+
function configEntryName(key) {
|
|
442
|
+
const dotIndex = key.indexOf('.');
|
|
443
|
+
return dotIndex === -1 ? undefined : key.slice(dotIndex + 1);
|
|
444
|
+
}
|
|
399
445
|
/**
|
|
400
446
|
* Fetch all files for an asset version from the ATK API, plus its
|
|
401
447
|
* manifest-declared entrypoint. Lists the version directory and downloads
|
|
@@ -441,6 +487,10 @@ async function fetchManifestEntrypoint(ref, version) {
|
|
|
441
487
|
return undefined;
|
|
442
488
|
}
|
|
443
489
|
}
|
|
490
|
+
/** The `<!-- ATK: {name} -->` block in `content`, delimiters included, if it has one. */
|
|
491
|
+
function findAtkBlock(content, assetName) {
|
|
492
|
+
return new RegExp(atkBlockPattern(assetName)).exec(content)?.[0];
|
|
493
|
+
}
|
|
444
494
|
/**
|
|
445
495
|
* The named entries of a config fragment: the map at `content[configKey]`, then `content[fragmentKey]`
|
|
446
496
|
* (for tools whose target key differs from the asset content's key, e.g. `mcp_servers` vs
|
|
@@ -466,7 +516,7 @@ function fragmentEntries(content, configKey, fragmentKey) {
|
|
|
466
516
|
* before the write), so a caller can remove them when placing fails partway. It is emptied once
|
|
467
517
|
* every file is placed.
|
|
468
518
|
*/
|
|
469
|
-
async function installAsset(entry, options, managedPaths, managedEntries, lockfile, created) {
|
|
519
|
+
async function installAsset(entry, options, managedPaths, managedEntries, ownersElsewhere, lockfile, created) {
|
|
470
520
|
const { asset } = entry;
|
|
471
521
|
const { adapter, force, onProgress, pin, projectDir } = options;
|
|
472
522
|
onProgress?.(`Installing ${asset.name}...`);
|
|
@@ -507,7 +557,7 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
507
557
|
const sharedEntries = plannedSharedEntries(asset.name, asset.type, placement, basePath, mergeContent);
|
|
508
558
|
if (!force) {
|
|
509
559
|
for (const shared of sharedEntries) {
|
|
510
|
-
checkEntryConflict(shared, managedEntries, asset);
|
|
560
|
+
checkEntryConflict(shared, managedEntries, ownersElsewhere, asset);
|
|
511
561
|
await checkUserEntryConflict(shared, managedEntries, configFormat);
|
|
512
562
|
}
|
|
513
563
|
}
|
|
@@ -517,6 +567,8 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
517
567
|
const configEntries = [];
|
|
518
568
|
// The shared entries written so far: the merge helpers warn and write nothing when they fail.
|
|
519
569
|
const written = [];
|
|
570
|
+
// The memory-template block written, which a rollback undoes.
|
|
571
|
+
let blockWritten;
|
|
520
572
|
if (placement.fileless) {
|
|
521
573
|
// Fileless placement (e.g., MCP configs) — no files placed on disk
|
|
522
574
|
// Config merging handled below
|
|
@@ -535,16 +587,17 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
535
587
|
}
|
|
536
588
|
const content = (entrypointFile?.content ?? firstFile.content).toString('utf-8');
|
|
537
589
|
const delimitedContent = `<!-- ATK: ${asset.name} -->\n${content}\n<!-- /ATK: ${asset.name} -->`;
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
await writeTextFile(targetPath, cleaned.trimEnd() + '\n\n' + delimitedContent + '\n');
|
|
543
|
-
}
|
|
544
|
-
else {
|
|
545
|
-
await writeTextFile(targetPath, delimitedContent + '\n');
|
|
546
|
-
}
|
|
590
|
+
const existing = existsSync(targetPath) ? await readFile(targetPath, 'utf-8') : undefined;
|
|
591
|
+
// Strip any existing ATK block for this asset before appending the new one
|
|
592
|
+
const rest = existing === undefined ? '' : stripAtkBlock(existing, asset.name).trimEnd();
|
|
593
|
+
await writeTextFile(targetPath, (rest ? `${rest}\n\n` : '') + delimitedContent + '\n');
|
|
547
594
|
written.push(block);
|
|
595
|
+
const replaced = existing === undefined ? undefined : findAtkBlock(existing, asset.name);
|
|
596
|
+
blockWritten = {
|
|
597
|
+
created: existing === undefined,
|
|
598
|
+
file: toRelativePosix(projectDir, targetPath),
|
|
599
|
+
...(replaced !== undefined ? { replaced } : {}),
|
|
600
|
+
};
|
|
548
601
|
// Memory-template entries are tracked as placed files, not config entries.
|
|
549
602
|
// They don't go through updateConfigFile() and have no config entry checksum.
|
|
550
603
|
}
|
|
@@ -691,6 +744,7 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
691
744
|
return {
|
|
692
745
|
lockfile: updatedLockfile,
|
|
693
746
|
result: {
|
|
747
|
+
...(blockWritten ? { blockWritten } : {}),
|
|
694
748
|
...(options.bundleOrigin ? { bundleOrigin: options.bundleOrigin } : {}),
|
|
695
749
|
configEntriesCreated: configEntries,
|
|
696
750
|
...(configFilesCreated.length > 0 ? { configFilesCreated } : {}),
|
|
@@ -927,6 +981,31 @@ async function revertConfigEntry(configFilePath, keyPath, command, format, delet
|
|
|
927
981
|
onProgress?.(`Warning: Failed to revert config entry ${keyPath} in ${configFilePath} — ${errorMessage(error)}`);
|
|
928
982
|
}
|
|
929
983
|
}
|
|
984
|
+
/**
|
|
985
|
+
* Undo the write of a memory-template block (best-effort): put back the block of that name the
|
|
986
|
+
* install replaced, or take the block out, deleting the file once it is empty if the install
|
|
987
|
+
* created it.
|
|
988
|
+
*/
|
|
989
|
+
async function revertMemoryBlock(projectDir, assetName, { created, file, replaced }, onProgress) {
|
|
990
|
+
const path = join(projectDir, file);
|
|
991
|
+
try {
|
|
992
|
+
if (!existsSync(path))
|
|
993
|
+
return;
|
|
994
|
+
const content = await readFile(path, 'utf-8');
|
|
995
|
+
const reverted = (replaced === undefined
|
|
996
|
+
? stripAtkBlock(content, assetName)
|
|
997
|
+
: content.replace(new RegExp(atkBlockPattern(assetName)), () => replaced)).trimEnd();
|
|
998
|
+
if (created && reverted.trim() === '') {
|
|
999
|
+
await unlink(path);
|
|
1000
|
+
}
|
|
1001
|
+
else {
|
|
1002
|
+
await writeTextFile(path, `${reverted}\n`);
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
catch (error) {
|
|
1006
|
+
onProgress?.(`Warning: Failed to revert the "${assetName}" block during rollback — ${errorMessage(error)}`);
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
930
1009
|
/** The {@link ManagedEntries} key of a shared entry. */
|
|
931
1010
|
function sharedEntryKey(entry) {
|
|
932
1011
|
return `${entry.file}#${entry.key}`;
|
|
@@ -940,9 +1019,7 @@ function sharedEntryKey(entry) {
|
|
|
940
1019
|
* along with surrounding blank lines to keep formatting clean.
|
|
941
1020
|
*/
|
|
942
1021
|
function stripAtkBlock(content, assetName) {
|
|
943
|
-
|
|
944
|
-
const pattern = new RegExp(`(\n{0,2})<!-- ATK: ${escapedName} -->\\n[\\s\\S]*?<!-- /ATK: ${escapedName} -->\\n?`, 'g');
|
|
945
|
-
return content.replace(pattern, '');
|
|
1022
|
+
return content.replace(new RegExp(`(\n{0,2})${atkBlockPattern(assetName)}\\n?`, 'g'), '');
|
|
946
1023
|
}
|
|
947
1024
|
/**
|
|
948
1025
|
* Update a tool config file (e.g., settings.json) with an entry for the installed asset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|