@detergent-software/atk 9.2.0-dev.8 → 9.2.0-dev.9
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 +14 -0
- package/README.md +2 -2
- package/build/command-manifest.json +16 -0
- package/build/commands/freeze.d.ts +2 -2
- package/build/commands/freeze.d.ts.map +1 -1
- package/build/commands/freeze.js +45 -22
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/pin.d.ts +2 -2
- package/build/commands/pin.d.ts.map +1 -1
- package/build/commands/pin.js +77 -46
- package/build/commands/pin.js.map +1 -1
- package/build/commands/thaw.d.ts +2 -2
- package/build/commands/thaw.d.ts.map +1 -1
- package/build/commands/thaw.js +44 -21
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/unpin.d.ts +2 -2
- package/build/commands/unpin.d.ts.map +1 -1
- package/build/commands/unpin.js +54 -25
- package/build/commands/unpin.js.map +1 -1
- package/build/lib/config.d.ts +18 -0
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +32 -9
- package/build/lib/config.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [9.2.0-dev.9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.8&targetVersion=GTv9.2.0-dev.9) (2026-10-24)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **cli:** pin, unpin, freeze and thaw take several names (ATK-762) ([4f89199](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/4f89199939bf4c0e780fb84d77ee6ad348e10f38))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **cli:** put type before outcome in freeze and thaw's assets (ATK-762) ([7824ad5](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/7824ad5b5f0d138f8fffc4982268d06a575d0fdc))
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* **cli:** list several names for pin and unpin in the README (ATK-762) ([f06ac5c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/f06ac5c6f1988564a4215fcc6d740a97db86a91d))
|
|
14
|
+
|
|
1
15
|
## [9.2.0-dev.8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.7&targetVersion=GTv9.2.0-dev.8) (2026-10-24)
|
|
2
16
|
|
|
3
17
|
### Features
|
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ atk update
|
|
|
87
87
|
| `atk logout` | Sign out of your Emergent account |
|
|
88
88
|
| `atk move <asset>` | Move an installed asset between the project and the user scope |
|
|
89
89
|
| `atk outdated` | Show assets with available updates |
|
|
90
|
-
| `atk pin <
|
|
90
|
+
| `atk pin <assets...>` | Pin assets at their installed versions |
|
|
91
91
|
| `atk promote <name>` | Promote an org-scoped asset or bundle to global via PR |
|
|
92
92
|
| `atk prune` | Remove orphaned dependencies |
|
|
93
93
|
| `atk publish` | Publish one or more assets, or a bundle, to the registry |
|
|
@@ -96,7 +96,7 @@ atk update
|
|
|
96
96
|
| `atk search [query]` | Search by keyword (every word must match), type, tag or tool |
|
|
97
97
|
| `atk sync [names...]` | Re-apply the lockfile's assets, all of them or only those named |
|
|
98
98
|
| `atk uninstall <asset>` | Remove an asset and clean up placed files |
|
|
99
|
-
| `atk unpin <
|
|
99
|
+
| `atk unpin <assets...>` | Remove the version pins from assets |
|
|
100
100
|
| `atk unpublish <name>` | Remove an asset, bundle or one version from the registry via PR |
|
|
101
101
|
| `atk update [asset]` | Update installed assets to latest versions |
|
|
102
102
|
| `atk validate [path...]` | Check asset or bundle directories for errors before publishing |
|
|
@@ -352,6 +352,10 @@
|
|
|
352
352
|
{
|
|
353
353
|
"description": "Asset name to freeze (supports @org/name syntax)",
|
|
354
354
|
"name": "<name>"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"description": "More assets to freeze with the first, in one pass",
|
|
358
|
+
"name": "[names...]"
|
|
355
359
|
}
|
|
356
360
|
],
|
|
357
361
|
"description": "Freeze an installed asset to prevent sync and update from overwriting it",
|
|
@@ -774,6 +778,10 @@
|
|
|
774
778
|
{
|
|
775
779
|
"description": "Asset name (supports @org/name); an @version suffix must be the installed version. To pin another version, run atk install <name>@<version> --pin",
|
|
776
780
|
"name": "<name>"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"description": "More assets to pin with the first, in one pass (each may carry @version)",
|
|
784
|
+
"name": "[names...]"
|
|
777
785
|
}
|
|
778
786
|
],
|
|
779
787
|
"description": "Pin an installed asset at its installed version",
|
|
@@ -1307,6 +1315,10 @@
|
|
|
1307
1315
|
{
|
|
1308
1316
|
"description": "Asset name to thaw",
|
|
1309
1317
|
"name": "<name>"
|
|
1318
|
+
},
|
|
1319
|
+
{
|
|
1320
|
+
"description": "More assets to thaw with the first, in one pass",
|
|
1321
|
+
"name": "[names...]"
|
|
1310
1322
|
}
|
|
1311
1323
|
],
|
|
1312
1324
|
"description": "Thaw a frozen asset to allow sync and update to overwrite it again",
|
|
@@ -1419,6 +1431,10 @@
|
|
|
1419
1431
|
{
|
|
1420
1432
|
"description": "Asset name to unpin",
|
|
1421
1433
|
"name": "<name>"
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"description": "More assets to unpin with the first, in one pass",
|
|
1437
|
+
"name": "[names...]"
|
|
1422
1438
|
}
|
|
1423
1439
|
],
|
|
1424
1440
|
"description": "Remove a version pin from an installed asset",
|
|
@@ -13,11 +13,11 @@ export declare const options: z.ZodObject<{
|
|
|
13
13
|
}>>;
|
|
14
14
|
user: z.ZodOptional<z.ZodBoolean>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
|
-
export declare const args: z.ZodTuple<[z.ZodString],
|
|
16
|
+
export declare const args: z.ZodTuple<[z.ZodString], z.ZodString>;
|
|
17
17
|
type Props = {
|
|
18
18
|
args: z.infer<typeof args>;
|
|
19
19
|
options: z.infer<typeof options>;
|
|
20
20
|
};
|
|
21
|
-
export default function Freeze({ args: [rawName], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
21
|
+
export default function Freeze({ args: [rawName, ...more], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=freeze.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,6EAA6E,CAAC;AAEtG,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,wCAMd,CAAC;AAYJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,+BAqF7G"}
|
package/build/commands/freeze.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
5
5
|
import { useCommand } from '../hooks/useCommand.js';
|
|
6
6
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
|
-
import {
|
|
8
|
-
import { readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
-
import { parseOrgFromName } from '../lib/org.js';
|
|
7
|
+
import { freezeAssetsInConfig, isAssetFrozen } from '../lib/config.js';
|
|
8
|
+
import { identityKey, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
+
import { formatOrgName, parseOrgFromName } from '../lib/org.js';
|
|
10
10
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
11
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
12
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -38,29 +38,46 @@ export const options = z.object({
|
|
|
38
38
|
description: 'Use the user scope (the user root, ~ by default) instead of the project',
|
|
39
39
|
})),
|
|
40
40
|
});
|
|
41
|
-
export const args = z
|
|
41
|
+
export const args = z
|
|
42
|
+
.tuple([
|
|
42
43
|
z.string().describe(argument({ description: 'Asset name to freeze (supports @org/name syntax)', name: 'name' })),
|
|
43
|
-
])
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
])
|
|
45
|
+
.rest(z.string().describe(argument({ description: 'More assets to freeze with the first, in one pass', name: 'names' })));
|
|
46
|
+
export default function Freeze({ args: [rawName, ...more], options: { json, projectRoot, type, user } }) {
|
|
46
47
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
47
48
|
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
49
|
+
const specs = [rawName, ...more];
|
|
48
50
|
const state = useCommand(async (progress) => {
|
|
49
51
|
const where = await resolve();
|
|
50
52
|
const projectDir = where.root;
|
|
51
53
|
progress('Reading lockfile...');
|
|
52
54
|
const lockfile = await readLockfile(projectDir);
|
|
53
|
-
//
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
// Check every name before anything is written; a name naming an entry already named is dropped
|
|
56
|
+
const named = [];
|
|
57
|
+
const seen = new Set();
|
|
58
|
+
for (const spec of specs) {
|
|
59
|
+
const { name, org } = parseOrgFromName(spec);
|
|
60
|
+
// Verify asset is installed and is a direct install
|
|
61
|
+
const installed = requireDirectInstall(lockfile, name, 'frozen', type, org, scopeLabel(where));
|
|
62
|
+
if (seen.has(identityKey(installed)))
|
|
63
|
+
continue;
|
|
64
|
+
seen.add(identityKey(installed));
|
|
65
|
+
// Check if already frozen via project config
|
|
66
|
+
const frozen = await isAssetFrozen(projectDir, name, installed.type, org);
|
|
67
|
+
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
68
|
+
named.push({ ...asset, outcome: frozen ? 'already-frozen' : 'frozen' });
|
|
58
69
|
}
|
|
59
|
-
// Freeze in project config (.atkrc.json)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
// Freeze in project config (.atkrc.json), in one write
|
|
71
|
+
const toFreeze = named.filter((a) => a.outcome === 'frozen');
|
|
72
|
+
if (toFreeze.length > 0) {
|
|
73
|
+
progress(more.length > 0 ? 'Freezing assets...' : 'Freezing asset...');
|
|
74
|
+
await freezeAssetsInConfig(projectDir, toFreeze.map(({ name, org, type: assetType }) => ({ name, org, type: assetType })));
|
|
75
|
+
}
|
|
76
|
+
if (more.length > 0) {
|
|
77
|
+
return { assets: named, outcome: toFreeze.length > 0 ? 'frozen' : 'already-frozen' };
|
|
78
|
+
}
|
|
79
|
+
return { name: rawName, outcome: named[0].outcome };
|
|
80
|
+
}, [specs.join(' '), projectRoot, type, user]);
|
|
64
81
|
if (state.status === 'loading') {
|
|
65
82
|
return _jsx(Spinner, { message: state.message });
|
|
66
83
|
}
|
|
@@ -82,10 +99,16 @@ export default function Freeze({ args: [rawName], options: { json, projectRoot,
|
|
|
82
99
|
return renderJson({ ...data, ...fields });
|
|
83
100
|
}
|
|
84
101
|
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
85
|
-
if (
|
|
86
|
-
return (
|
|
102
|
+
if ('assets' in data) {
|
|
103
|
+
return (_jsx(Box, { flexDirection: 'column', children: data.assets.map((a) => (_jsx(FreezeLine, { name: formatOrgName(a.org, a.name), outcome: a.outcome, where: where }, identityKey(a)))) }));
|
|
104
|
+
}
|
|
105
|
+
return _jsx(FreezeLine, { name: data.name, outcome: data.outcome, where: where });
|
|
106
|
+
}
|
|
107
|
+
function FreezeLine({ name, outcome, where }) {
|
|
108
|
+
if (outcome === 'already-frozen') {
|
|
109
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is already frozen", where] }));
|
|
87
110
|
}
|
|
88
|
-
//
|
|
89
|
-
return (_jsxs(Text, { color: 'green', children: ["Frozen ", _jsx(Text, { bold: true, children:
|
|
111
|
+
// outcome === 'frozen'
|
|
112
|
+
return (_jsxs(Text, { color: 'green', children: ["Frozen ", _jsx(Text, { bold: true, children: name }), where] }));
|
|
90
113
|
}
|
|
91
114
|
//# sourceMappingURL=freeze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeze.js","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"freeze.js","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"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"}
|
package/build/commands/pin.d.ts
CHANGED
|
@@ -13,11 +13,11 @@ export declare const options: z.ZodObject<{
|
|
|
13
13
|
}>>;
|
|
14
14
|
user: z.ZodOptional<z.ZodBoolean>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
|
-
export declare const args: z.ZodTuple<[z.ZodString],
|
|
16
|
+
export declare const args: z.ZodTuple<[z.ZodString], z.ZodString>;
|
|
17
17
|
type Props = {
|
|
18
18
|
args: z.infer<typeof args>;
|
|
19
19
|
options: z.infer<typeof options>;
|
|
20
20
|
};
|
|
21
|
-
export default function Pin({ args: [nameArg], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
21
|
+
export default function Pin({ args: [nameArg, ...more], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=pin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAE7E,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,wCAiBd,CAAC;AAYJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,+BA4H1G"}
|
package/build/commands/pin.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
3
|
import { valid as semverValid } from 'semver';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
6
6
|
import { useCommand } from '../hooks/useCommand.js';
|
|
7
7
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
8
|
-
import { findInstalledAsset, isPinned, LockfileError, pinAssetVersion, readLockfile, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
9
|
-
import { parseOrgFromName } from '../lib/org.js';
|
|
8
|
+
import { findInstalledAsset, identityKey, isPinned, LockfileError, pinAssetVersion, readLockfile, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
9
|
+
import { formatOrgName, parseOrgFromName } from '../lib/org.js';
|
|
10
10
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
11
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
12
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -39,58 +39,83 @@ export const options = z.object({
|
|
|
39
39
|
description: 'Use the user scope (the user root, ~ by default) instead of the project',
|
|
40
40
|
})),
|
|
41
41
|
});
|
|
42
|
-
export const args = z
|
|
42
|
+
export const args = z
|
|
43
|
+
.tuple([
|
|
43
44
|
z.string().describe(argument({
|
|
44
45
|
description: 'Asset name (supports @org/name); an @version suffix must be the installed version. To pin another version, run atk install <name>@<version> --pin',
|
|
45
46
|
name: 'name',
|
|
46
47
|
})),
|
|
47
|
-
])
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
])
|
|
49
|
+
.rest(z.string().describe(argument({
|
|
50
|
+
description: 'More assets to pin with the first, in one pass (each may carry @version)',
|
|
51
|
+
name: 'names',
|
|
52
|
+
})));
|
|
53
|
+
export default function Pin({ args: [nameArg, ...more], options: { json, projectRoot, type, user } }) {
|
|
51
54
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
52
55
|
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
56
|
+
const specs = [nameArg, ...more];
|
|
53
57
|
const state = useCommand(async (progress) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
const requests = specs.map((spec) => {
|
|
59
|
+
const { name: parsedName, version } = parseNameVersion(spec);
|
|
60
|
+
// Validate explicit version is valid semver; compare its clean form (`v1.0.0` is `1.0.0`)
|
|
61
|
+
const requestedVersion = version === undefined ? undefined : semverValid(version);
|
|
62
|
+
if (requestedVersion === null) {
|
|
63
|
+
throw new LockfileError(`Invalid version '${version}' -- expected a valid semver version`);
|
|
64
|
+
}
|
|
65
|
+
return { parsedName, requestedVersion, spec, ...parseOrgFromName(parsedName) };
|
|
66
|
+
});
|
|
59
67
|
const where = await resolve();
|
|
60
68
|
const { root: projectDir, scope } = where;
|
|
61
69
|
return await withLockfileErrorHandling(projectDir, async () => {
|
|
62
70
|
progress('Reading lockfile...');
|
|
63
|
-
|
|
64
|
-
//
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
let lockfile = await readLockfile(projectDir);
|
|
72
|
+
// Check every name before the lockfile is written; a name naming an entry already named is dropped
|
|
73
|
+
const named = [];
|
|
74
|
+
const seen = new Set();
|
|
75
|
+
for (const { name, org, parsedName, requestedVersion, spec } of requests) {
|
|
76
|
+
// Look up the installed asset to determine current version
|
|
77
|
+
const installed = findInstalledAsset(lockfile, name, type, org);
|
|
78
|
+
if (!installed) {
|
|
79
|
+
throw new LockfileError(`Asset '${spec}' is not installed in ${scopeLabel(where)}`);
|
|
80
|
+
}
|
|
81
|
+
// A pin holds the installed version; installing another one (and checking that it
|
|
82
|
+
// exists in the registry) is `install --pin`'s job
|
|
83
|
+
if (requestedVersion && requestedVersion !== installed.version) {
|
|
84
|
+
throw new LockfileError(`'${parsedName}' is installed at v${installed.version}; atk pin holds the installed version.`, {
|
|
85
|
+
command: scopedCommand(`atk install ${parsedName}@${requestedVersion} --pin`, scope),
|
|
86
|
+
hint: 'Install that version with --pin to switch to it and pin it in one step.',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (seen.has(identityKey(installed)))
|
|
90
|
+
continue;
|
|
91
|
+
seen.add(identityKey(installed));
|
|
92
|
+
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
93
|
+
const pinVersion = installed.version;
|
|
94
|
+
// Check if already pinned to the same version
|
|
95
|
+
if (isPinned(lockfile, name, type, org) && installed.pinnedVersion === pinVersion) {
|
|
96
|
+
named.push({ ...asset, outcome: 'already-pinned', version: pinVersion });
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Track previous pin for informational message
|
|
100
|
+
const previousPin = installed.pinnedVersion;
|
|
101
|
+
progress(more.length > 0 ? `Pinning ${parsedName}...` : 'Pinning asset version...');
|
|
102
|
+
lockfile = pinAssetVersion(lockfile, name, pinVersion, type, org);
|
|
103
|
+
named.push(previousPin
|
|
104
|
+
? { ...asset, outcome: 'updated-pin', previousVersion: previousPin, version: pinVersion }
|
|
105
|
+
: { ...asset, outcome: 'pinned', version: pinVersion });
|
|
68
106
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
command: scopedCommand(`atk install ${parsedName}@${requestedVersion} --pin`, scope),
|
|
74
|
-
hint: 'Install that version with --pin to switch to it and pin it in one step.',
|
|
75
|
-
});
|
|
107
|
+
const changed = named.some((a) => a.outcome !== 'already-pinned');
|
|
108
|
+
if (changed) {
|
|
109
|
+
progress('Writing lockfile...');
|
|
110
|
+
await writeLockfile(projectDir, lockfile);
|
|
76
111
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (isPinned(lockfile, name, type, org) && installed.pinnedVersion === pinVersion) {
|
|
80
|
-
return { name: nameArg, outcome: 'already-pinned', version: pinVersion };
|
|
112
|
+
if (more.length > 0) {
|
|
113
|
+
return { assets: named, outcome: changed ? 'pinned' : 'already-pinned' };
|
|
81
114
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
progress('Pinning asset version...');
|
|
85
|
-
const updatedLockfile = pinAssetVersion(lockfile, name, pinVersion, type, org);
|
|
86
|
-
progress('Writing lockfile...');
|
|
87
|
-
await writeLockfile(projectDir, updatedLockfile);
|
|
88
|
-
if (previousPin) {
|
|
89
|
-
return { name: nameArg, outcome: 'updated-pin', previousVersion: previousPin, version: pinVersion };
|
|
90
|
-
}
|
|
91
|
-
return { name: nameArg, outcome: 'pinned', version: pinVersion };
|
|
115
|
+
const { name: _name, org: _org, type: _type, ...result } = named[0];
|
|
116
|
+
return { name: nameArg, ...result };
|
|
92
117
|
});
|
|
93
|
-
}, [
|
|
118
|
+
}, [specs.join(' '), projectRoot, type, user]);
|
|
94
119
|
if (state.status === 'loading') {
|
|
95
120
|
return _jsx(Spinner, { message: state.message });
|
|
96
121
|
}
|
|
@@ -112,13 +137,19 @@ export default function Pin({ args: [nameArg], options: { json, projectRoot, typ
|
|
|
112
137
|
return renderJson({ ...data, ...fields });
|
|
113
138
|
}
|
|
114
139
|
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
115
|
-
if (
|
|
116
|
-
return (
|
|
140
|
+
if ('assets' in data) {
|
|
141
|
+
return (_jsx(Box, { flexDirection: 'column', children: data.assets.map((a) => (_jsx(PinLine, { name: formatOrgName(a.org, a.name), result: a, where: where }, identityKey(a)))) }));
|
|
142
|
+
}
|
|
143
|
+
return _jsx(PinLine, { name: data.name, result: data, where: where });
|
|
144
|
+
}
|
|
145
|
+
function PinLine({ name, result, where }) {
|
|
146
|
+
if (result.outcome === 'already-pinned') {
|
|
147
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is already pinned to v", result.version, where] }));
|
|
117
148
|
}
|
|
118
|
-
if (
|
|
119
|
-
return (_jsxs(Text, { color: 'green', children: ["Pinned ", _jsx(Text, { bold: true, children:
|
|
149
|
+
if (result.outcome === 'updated-pin') {
|
|
150
|
+
return (_jsxs(Text, { color: 'green', children: ["Pinned ", _jsx(Text, { bold: true, children: name }), " to v", result.version, " ", _jsxs(Text, { dimColor: true, children: ["(was v", result.previousVersion, ")"] }), where] }));
|
|
120
151
|
}
|
|
121
|
-
//
|
|
122
|
-
return (_jsxs(Text, { color: 'green', children: ["Pinned ", _jsx(Text, { bold: true, children:
|
|
152
|
+
// result.outcome === 'pinned'
|
|
153
|
+
return (_jsxs(Text, { color: 'green', children: ["Pinned ", _jsx(Text, { bold: true, children: name }), " to v", result.version, where] }));
|
|
123
154
|
}
|
|
124
155
|
//# sourceMappingURL=pin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"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"}
|
package/build/commands/thaw.d.ts
CHANGED
|
@@ -13,11 +13,11 @@ export declare const options: z.ZodObject<{
|
|
|
13
13
|
}>>;
|
|
14
14
|
user: z.ZodOptional<z.ZodBoolean>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
|
-
export declare const args: z.ZodTuple<[z.ZodString],
|
|
16
|
+
export declare const args: z.ZodTuple<[z.ZodString], z.ZodString>;
|
|
17
17
|
type Props = {
|
|
18
18
|
args: z.infer<typeof args>;
|
|
19
19
|
options: z.infer<typeof options>;
|
|
20
20
|
};
|
|
21
|
-
export default function Thaw({ args: [rawName], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
21
|
+
export default function Thaw({ args: [rawName, ...more], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=thaw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAEhG,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,wCAId,CAAC;AAUJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAMF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,+BAuF3G"}
|
package/build/commands/thaw.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
5
5
|
import { useCommand } from '../hooks/useCommand.js';
|
|
6
6
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
|
-
import { isAssetFrozen,
|
|
8
|
-
import { readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
-
import { parseOrgFromName } from '../lib/org.js';
|
|
7
|
+
import { isAssetFrozen, thawAssetsInConfig } from '../lib/config.js';
|
|
8
|
+
import { identityKey, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
+
import { formatOrgName, parseOrgFromName } from '../lib/org.js';
|
|
10
10
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
11
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
12
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -38,11 +38,13 @@ export const options = z.object({
|
|
|
38
38
|
description: 'Use the user scope (the user root, ~ by default) instead of the project',
|
|
39
39
|
})),
|
|
40
40
|
});
|
|
41
|
-
export const args = z
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
export const args = z
|
|
42
|
+
.tuple([z.string().describe(argument({ description: 'Asset name to thaw', name: 'name' }))])
|
|
43
|
+
.rest(z.string().describe(argument({ description: 'More assets to thaw with the first, in one pass', name: 'names' })));
|
|
44
|
+
export default function Thaw({ args: [rawName, ...more], options: { json, projectRoot, type, user } }) {
|
|
44
45
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
45
46
|
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
47
|
+
const specs = [rawName, ...more];
|
|
46
48
|
const state = useCommand(async (progress) => {
|
|
47
49
|
const where = await resolve();
|
|
48
50
|
const projectDir = where.root;
|
|
@@ -50,17 +52,32 @@ export default function Thaw({ args: [rawName], options: { json, projectRoot, ty
|
|
|
50
52
|
// frozen state in the project config and does not place or modify any files.
|
|
51
53
|
progress('Reading lockfile...');
|
|
52
54
|
const lockfile = await readLockfile(projectDir);
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
// Check every name before anything is written; a name naming an entry already named is dropped
|
|
56
|
+
const named = [];
|
|
57
|
+
const seen = new Set();
|
|
58
|
+
for (const spec of specs) {
|
|
59
|
+
const { name, org } = parseOrgFromName(spec);
|
|
60
|
+
// Verify the asset is installed and is a direct install
|
|
61
|
+
const installed = requireDirectInstall(lockfile, name, 'thawed', type, org, scopeLabel(where));
|
|
62
|
+
if (seen.has(identityKey(installed)))
|
|
63
|
+
continue;
|
|
64
|
+
seen.add(identityKey(installed));
|
|
65
|
+
// Check if the asset is actually frozen (via project config)
|
|
66
|
+
const frozen = await isAssetFrozen(projectDir, name, type, org);
|
|
67
|
+
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
68
|
+
named.push({ ...asset, outcome: frozen ? 'thawed' : 'not-frozen' });
|
|
59
69
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
// Thaw in project config (.atkrc.json), in one write, matching on --type as given
|
|
71
|
+
const toThaw = named.filter((a) => a.outcome === 'thawed');
|
|
72
|
+
if (toThaw.length > 0) {
|
|
73
|
+
progress(more.length > 0 ? 'Thawing assets...' : 'Thawing asset...');
|
|
74
|
+
await thawAssetsInConfig(projectDir, toThaw.map(({ name, org }) => ({ name, org, type })));
|
|
75
|
+
}
|
|
76
|
+
if (more.length > 0) {
|
|
77
|
+
return { assets: named, outcome: toThaw.length > 0 ? 'thawed' : 'not-frozen' };
|
|
78
|
+
}
|
|
79
|
+
return { name: rawName, outcome: named[0].outcome };
|
|
80
|
+
}, [specs.join(' '), projectRoot, type, user]);
|
|
64
81
|
if (state.status === 'loading') {
|
|
65
82
|
return _jsx(Spinner, { message: state.message });
|
|
66
83
|
}
|
|
@@ -82,10 +99,16 @@ export default function Thaw({ args: [rawName], options: { json, projectRoot, ty
|
|
|
82
99
|
return renderJson({ ...data, ...fields });
|
|
83
100
|
}
|
|
84
101
|
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
85
|
-
if (
|
|
86
|
-
return (
|
|
102
|
+
if ('assets' in data) {
|
|
103
|
+
return (_jsx(Box, { flexDirection: 'column', children: data.assets.map((a) => (_jsx(ThawLine, { name: formatOrgName(a.org, a.name), outcome: a.outcome, where: where }, identityKey(a)))) }));
|
|
104
|
+
}
|
|
105
|
+
return _jsx(ThawLine, { name: data.name, outcome: data.outcome, where: where });
|
|
106
|
+
}
|
|
107
|
+
function ThawLine({ name, outcome, where }) {
|
|
108
|
+
if (outcome === 'not-frozen') {
|
|
109
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not currently frozen", where] }));
|
|
87
110
|
}
|
|
88
|
-
//
|
|
89
|
-
return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children:
|
|
111
|
+
// outcome === 'thawed'
|
|
112
|
+
return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children: name }), where] }));
|
|
90
113
|
}
|
|
91
114
|
//# sourceMappingURL=thaw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,11 @@ export declare const options: z.ZodObject<{
|
|
|
13
13
|
}>>;
|
|
14
14
|
user: z.ZodOptional<z.ZodBoolean>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
|
-
export declare const args: z.ZodTuple<[z.ZodString],
|
|
16
|
+
export declare const args: z.ZodTuple<[z.ZodString], z.ZodString>;
|
|
17
17
|
type Props = {
|
|
18
18
|
args: z.infer<typeof args>;
|
|
19
19
|
options: z.infer<typeof options>;
|
|
20
20
|
};
|
|
21
|
-
export default function Unpin({ args: [rawName], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
21
|
+
export default function Unpin({ args: [rawName, ...more], options: { json, projectRoot, type, user } }: Props): import("react").JSX.Element;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=unpin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,wCAId,CAAC;AAKJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAQF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,+BAkG5G"}
|
package/build/commands/unpin.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { ErrorView, Spinner } from '../components/index.js';
|
|
5
5
|
import { useCommand } from '../hooks/useCommand.js';
|
|
6
6
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
|
-
import { findInstalledAsset, isPinned, LockfileError, readLockfile, unpinAssetVersion, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
8
|
-
import { parseOrgFromName } from '../lib/org.js';
|
|
7
|
+
import { findInstalledAsset, identityKey, isPinned, LockfileError, readLockfile, unpinAssetVersion, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
8
|
+
import { formatOrgName, parseOrgFromName } from '../lib/org.js';
|
|
9
9
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
10
10
|
import { argument, option } from '../lib/pastel/index.js';
|
|
11
11
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -37,34 +37,57 @@ export const options = z.object({
|
|
|
37
37
|
description: 'Use the user scope (the user root, ~ by default) instead of the project',
|
|
38
38
|
})),
|
|
39
39
|
});
|
|
40
|
-
export const args = z
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
export const args = z
|
|
41
|
+
.tuple([z.string().describe(argument({ description: 'Asset name to unpin', name: 'name' }))])
|
|
42
|
+
.rest(z.string().describe(argument({ description: 'More assets to unpin with the first, in one pass', name: 'names' })));
|
|
43
|
+
export default function Unpin({ args: [rawName, ...more], options: { json, projectRoot, type, user } }) {
|
|
43
44
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
44
45
|
const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
|
|
46
|
+
const specs = [rawName, ...more];
|
|
45
47
|
const state = useCommand(async (progress) => {
|
|
46
48
|
const where = await resolve();
|
|
47
49
|
const projectDir = where.root;
|
|
48
50
|
return await withLockfileErrorHandling(projectDir, async () => {
|
|
49
51
|
progress('Reading lockfile...');
|
|
50
|
-
|
|
51
|
-
//
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
let lockfile = await readLockfile(projectDir);
|
|
53
|
+
// Check every name before the lockfile is written; a name naming an entry already named is dropped
|
|
54
|
+
const named = [];
|
|
55
|
+
const seen = new Set();
|
|
56
|
+
for (const spec of specs) {
|
|
57
|
+
const { name, org } = parseOrgFromName(spec);
|
|
58
|
+
// Verify the asset is installed
|
|
59
|
+
const installed = findInstalledAsset(lockfile, name, type, org);
|
|
60
|
+
if (!installed) {
|
|
61
|
+
throw new LockfileError(`Asset '${spec}' is not installed in ${scopeLabel(where)}`);
|
|
62
|
+
}
|
|
63
|
+
if (seen.has(identityKey(installed)))
|
|
64
|
+
continue;
|
|
65
|
+
seen.add(identityKey(installed));
|
|
66
|
+
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
67
|
+
// Check if the asset is actually pinned
|
|
68
|
+
if (!isPinned(lockfile, name, type, org)) {
|
|
69
|
+
named.push({ ...asset, outcome: 'not-pinned' });
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const previousVersion = installed.pinnedVersion;
|
|
73
|
+
progress(more.length > 0 ? `Removing version pin from ${spec}...` : 'Removing version pin...');
|
|
74
|
+
lockfile = unpinAssetVersion(lockfile, name, type, org);
|
|
75
|
+
named.push({ ...asset, outcome: 'unpinned', version: previousVersion });
|
|
55
76
|
}
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
77
|
+
const unpinned = named.some((a) => a.outcome === 'unpinned');
|
|
78
|
+
if (unpinned) {
|
|
79
|
+
progress('Writing lockfile...');
|
|
80
|
+
await writeLockfile(projectDir, lockfile);
|
|
59
81
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
if (more.length > 0) {
|
|
83
|
+
return { assets: named, outcome: unpinned ? 'unpinned' : 'not-pinned' };
|
|
84
|
+
}
|
|
85
|
+
const only = named[0];
|
|
86
|
+
return only.outcome === 'unpinned'
|
|
87
|
+
? { name: rawName, outcome: 'unpinned', version: only.version }
|
|
88
|
+
: { name: rawName, outcome: 'not-pinned' };
|
|
66
89
|
});
|
|
67
|
-
}, [
|
|
90
|
+
}, [specs.join(' '), projectRoot, type, user]);
|
|
68
91
|
if (state.status === 'loading') {
|
|
69
92
|
return _jsx(Spinner, { message: state.message });
|
|
70
93
|
}
|
|
@@ -86,10 +109,16 @@ export default function Unpin({ args: [rawName], options: { json, projectRoot, t
|
|
|
86
109
|
return renderJson({ ...data, ...fields });
|
|
87
110
|
}
|
|
88
111
|
const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
|
|
89
|
-
if (
|
|
90
|
-
return (
|
|
112
|
+
if ('assets' in data) {
|
|
113
|
+
return (_jsx(Box, { flexDirection: 'column', children: data.assets.map((a) => (_jsx(UnpinLine, { name: formatOrgName(a.org, a.name), result: a, where: where }, identityKey(a)))) }));
|
|
114
|
+
}
|
|
115
|
+
return _jsx(UnpinLine, { name: data.name, result: data, where: where });
|
|
116
|
+
}
|
|
117
|
+
function UnpinLine({ name, result, where }) {
|
|
118
|
+
if (result.outcome === 'not-pinned') {
|
|
119
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not currently pinned", where] }));
|
|
91
120
|
}
|
|
92
|
-
//
|
|
93
|
-
return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children:
|
|
121
|
+
// result.outcome === 'unpinned'
|
|
122
|
+
return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children: name }), " ", _jsxs(Text, { dimColor: true, children: ["(was pinned to v", result.version, ")"] }), where] }));
|
|
94
123
|
}
|
|
95
124
|
//# sourceMappingURL=unpin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"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"}
|
package/build/lib/config.d.ts
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import type { AssetType } from './schemas/index.js';
|
|
2
2
|
import { type Config, type ProjectConfig, type ResolvedConfig } from './schemas/config.js';
|
|
3
|
+
/** An asset named to `freezeAssetsInConfig` or `thawAssetsInConfig`. */
|
|
4
|
+
export interface FrozenAssetSpec {
|
|
5
|
+
name: string;
|
|
6
|
+
org?: string;
|
|
7
|
+
type?: AssetType;
|
|
8
|
+
}
|
|
3
9
|
/**
|
|
4
10
|
* Freeze an asset by adding it to the `frozenAssets` of the scope at `projectDir` (the project's
|
|
5
11
|
* .atkrc.json, or the user scope's config when `projectDir` is the user root).
|
|
6
12
|
* No-op if the asset is already frozen with the same name, type, and org.
|
|
7
13
|
*/
|
|
8
14
|
export declare function freezeAssetInConfig(projectDir: string, name: string, type: AssetType, org?: string): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Freeze several assets in the scope at `projectDir` with one config write.
|
|
17
|
+
* Assets already frozen with the same name, type, and org are left as they are; when every one is, nothing is written.
|
|
18
|
+
*/
|
|
19
|
+
export declare function freezeAssetsInConfig(projectDir: string, assets: Array<FrozenAssetSpec & {
|
|
20
|
+
type: AssetType;
|
|
21
|
+
}>): Promise<void>;
|
|
9
22
|
/**
|
|
10
23
|
* Get the path to the ATK cache directory (~/.atk/cache/).
|
|
11
24
|
*/
|
|
@@ -99,6 +112,11 @@ export declare function setConfigValue(config: ResolvedConfig, key: string, valu
|
|
|
99
112
|
* Removes all entries matching the given name, and optionally type and org.
|
|
100
113
|
*/
|
|
101
114
|
export declare function thawAssetInConfig(projectDir: string, name: string, type?: AssetType, org?: string): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Thaw several assets in the scope at `projectDir` with one config write, removing the entries
|
|
117
|
+
* each one matches as `thawAssetInConfig` does.
|
|
118
|
+
*/
|
|
119
|
+
export declare function thawAssetsInConfig(projectDir: string, assets: FrozenAssetSpec[]): Promise<void>;
|
|
102
120
|
/**
|
|
103
121
|
* Write the user scope's config to the `user` section of ~/.atkrc.json, as `atk setup --user` does.
|
|
104
122
|
* With `dropLegacy`, the same write removes the legacy top-level `tools`/`tool`/`frozenAssets` of a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,aAAa,EAGlB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAgB7B;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/build/lib/config.js
CHANGED
|
@@ -25,22 +25,36 @@ const UserScopeFileSchema = z.object({ [USER_SCOPE_KEY]: ProjectConfigBase });
|
|
|
25
25
|
* No-op if the asset is already frozen with the same name, type, and org.
|
|
26
26
|
*/
|
|
27
27
|
export async function freezeAssetInConfig(projectDir, name, type, org) {
|
|
28
|
+
await freezeAssetsInConfig(projectDir, [{ name, org, type }]);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Freeze several assets in the scope at `projectDir` with one config write.
|
|
32
|
+
* Assets already frozen with the same name, type, and org are left as they are; when every one is, nothing is written.
|
|
33
|
+
*/
|
|
34
|
+
export async function freezeAssetsInConfig(projectDir, assets) {
|
|
28
35
|
const config = await loadScopeConfig(projectDir);
|
|
29
36
|
if (!config) {
|
|
30
37
|
throw await noScopeConfigError(projectDir);
|
|
31
38
|
}
|
|
32
|
-
const frozenAssets = config.frozenAssets ?? [];
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
const frozenAssets = [...(config.frozenAssets ?? [])];
|
|
40
|
+
let added = false;
|
|
41
|
+
for (const { name, org, type } of assets) {
|
|
42
|
+
if (frozenAssets.some((entry) => entry.name === name && entry.type === type && entry.org === org)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const entry = { name, type };
|
|
46
|
+
if (org !== undefined) {
|
|
47
|
+
entry.org = org;
|
|
48
|
+
}
|
|
49
|
+
frozenAssets.push(entry);
|
|
50
|
+
added = true;
|
|
36
51
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
entry.org = org;
|
|
52
|
+
if (!added) {
|
|
53
|
+
return;
|
|
40
54
|
}
|
|
41
55
|
await saveScopeConfig(projectDir, {
|
|
42
56
|
...config,
|
|
43
|
-
frozenAssets
|
|
57
|
+
frozenAssets,
|
|
44
58
|
});
|
|
45
59
|
}
|
|
46
60
|
/**
|
|
@@ -255,12 +269,21 @@ export function setConfigValue(config, key, value) {
|
|
|
255
269
|
* Removes all entries matching the given name, and optionally type and org.
|
|
256
270
|
*/
|
|
257
271
|
export async function thawAssetInConfig(projectDir, name, type, org) {
|
|
272
|
+
await thawAssetsInConfig(projectDir, [{ name, org, type }]);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Thaw several assets in the scope at `projectDir` with one config write, removing the entries
|
|
276
|
+
* each one matches as `thawAssetInConfig` does.
|
|
277
|
+
*/
|
|
278
|
+
export async function thawAssetsInConfig(projectDir, assets) {
|
|
258
279
|
const config = await loadScopeConfig(projectDir);
|
|
259
280
|
if (!config) {
|
|
260
281
|
throw await noScopeConfigError(projectDir);
|
|
261
282
|
}
|
|
262
283
|
const frozenAssets = config.frozenAssets ?? [];
|
|
263
|
-
const filtered = frozenAssets.filter((entry) => !(
|
|
284
|
+
const filtered = frozenAssets.filter((entry) => !assets.some(({ name, org, type }) => entry.name === name &&
|
|
285
|
+
(type === undefined || entry.type === type) &&
|
|
286
|
+
(org === undefined || entry.org === org)));
|
|
264
287
|
await saveScopeConfig(projectDir, {
|
|
265
288
|
...config,
|
|
266
289
|
frozenAssets: filtered,
|
package/build/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|