@detergent-software/atk 9.3.0-dev.8 → 9.3.0
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 +88 -0
- package/README.md +20 -0
- package/build/cli.js +11 -0
- package/build/cli.js.map +1 -1
- package/build/command-manifest.json +17 -0
- package/build/commands/cache.d.ts +1 -1
- package/build/commands/checkout.d.ts.map +1 -1
- package/build/commands/checkout.js +14 -1
- package/build/commands/checkout.js.map +1 -1
- package/build/commands/completion.d.ts +13 -0
- package/build/commands/completion.d.ts.map +1 -0
- package/build/commands/completion.js +22 -0
- package/build/commands/completion.js.map +1 -0
- package/build/commands/freeze.d.ts.map +1 -1
- package/build/commands/freeze.js +17 -10
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/pin.d.ts.map +1 -1
- package/build/commands/pin.js +16 -10
- package/build/commands/pin.js.map +1 -1
- package/build/commands/schema.d.ts +2 -2
- package/build/commands/thaw.d.ts.map +1 -1
- package/build/commands/thaw.js +19 -12
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/unpin.d.ts.map +1 -1
- package/build/commands/unpin.js +13 -9
- package/build/commands/unpin.js.map +1 -1
- package/build/components/DiffView.d.ts +2 -0
- package/build/components/DiffView.d.ts.map +1 -1
- package/build/components/DiffView.js.map +1 -1
- package/build/lib/atk-api/index.d.ts +2 -2
- package/build/lib/atk-api/index.d.ts.map +1 -1
- package/build/lib/atk-api/index.js +1 -1
- package/build/lib/atk-api/index.js.map +1 -1
- package/build/lib/atk-api/web-routes.d.ts +23 -0
- package/build/lib/atk-api/web-routes.d.ts.map +1 -1
- package/build/lib/atk-api/web-routes.js +31 -0
- package/build/lib/atk-api/web-routes.js.map +1 -1
- package/build/lib/completion/candidates.d.ts +18 -0
- package/build/lib/completion/candidates.d.ts.map +1 -0
- package/build/lib/completion/candidates.js +281 -0
- package/build/lib/completion/candidates.js.map +1 -0
- package/build/lib/completion/scripts.d.ts +13 -0
- package/build/lib/completion/scripts.d.ts.map +1 -0
- package/build/lib/completion/scripts.js +96 -0
- package/build/lib/completion/scripts.js.map +1 -0
- package/build/lib/config.d.ts +11 -12
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +16 -11
- package/build/lib/config.js.map +1 -1
- package/build/lib/diff-command.js +25 -16
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/registry-change-json.d.ts +2 -2
- package/build/lib/registry.d.ts +3 -0
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +20 -6
- package/build/lib/registry.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +2 -2
- package/build/lib/scope.d.ts.map +1 -1
- package/build/lib/scope.js +2 -9
- package/build/lib/scope.js.map +1 -1
- package/build/lib/uninstaller.d.ts +7 -6
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +11 -55
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/user-paths.d.ts +8 -0
- package/build/lib/user-paths.d.ts.map +1 -0
- package/build/lib/user-paths.js +24 -0
- package/build/lib/user-paths.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,91 @@
|
|
|
1
|
+
## [9.3.0](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0&targetVersion=GTv9.3.0) (2026-10-26)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **cli:** --no-color, NO_COLOR, ATK_NO_UPDATE_CHECK, and JSON on a piped stdout (ATK-618) ([5170ddf](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5170ddfa1a81ed647cd87431d672ac37fc2293f8))
|
|
6
|
+
* **cli:** add atk completion for bash, zsh and PowerShell (ATK-611) ([ed7acf6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/ed7acf6ed2c80e79dd3235c9bd6e7fa4dba9525f))
|
|
7
|
+
* **cli:** atk init bundle --claude-plugin flags a claude.ai plugin ([e305444](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e305444aed9cc7bc9adcb1489893ca849919f1d7))
|
|
8
|
+
* **cli:** pin bundle asset versions in atk init bundle (ATK-777) ([c67b657](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/c67b6573c9c84b58d1b5c41ad49ca0bcdc765375))
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **cli:** act on a key pressed as browse or list first shows (ATK-779) ([fa7243c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/fa7243c33c00ad9a61dabbaa48ee19ecaa6783df))
|
|
13
|
+
* **cli:** act on the input state on screen in every prompt (ATK-780) ([a09027f](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a09027f5f76c1644d94c0bf8d271e14ed196ea40))
|
|
14
|
+
* **cli:** act on the latest render in every text prompt (ATK-781) ([e3d1cdd](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e3d1cddac37655ffc9846cda8fa59a97165d7cb3))
|
|
15
|
+
* **cli:** carry ink-text-input's MIT notice in the TextInput port (ATK-781) ([6cb39e9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6cb39e98f0b1202ad530d483aa42301c41c097ec))
|
|
16
|
+
* **cli:** complete [@org](https://emergentcode.visualstudio.com/org) names and --flag=value in bash, and scope names as commands do (ATK-611) ([65a3199](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/65a31993036b29d351a71e7fdcb9ad6cf35b040c))
|
|
17
|
+
* **cli:** ignore a key that reaches an input handler after it unmounts (ATK-780) ([03af265](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/03af265927c9c3327fde03a64f711dd087d8112c))
|
|
18
|
+
* **cli:** keep a bundle's and an asset's deprecations apart (ATK-693) ([e350673](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e350673b779e3692b518ca779a0e21b7e8dddeab))
|
|
19
|
+
* **cli:** keep a text prompt's cursor in step with outside values (ATK-782) ([6e67491](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6e67491703bc933e55fd8ef87219ce5cc2039722))
|
|
20
|
+
* **cli:** keep the claude.ai plugin name error while an @org/ stays ([728a667](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/728a667a0ed56722612633a506de96db3da0860f))
|
|
21
|
+
* **cli:** keep the plain error when a global asset lacks the version (ATK-740) ([cb35d2c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/cb35d2c55e4b292c7aa6c6e24c1f950e8aba059e))
|
|
22
|
+
* **cli:** name the org spec when checkout's bare name is one org's (ATK-740) ([a91ce55](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a91ce553569902573b2d08652629e708acb4d231))
|
|
23
|
+
* **cli:** refuse prune and uninstall prompts on a piped stdout with the --yes hint (ATK-618) ([5f71edf](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5f71edf7d92dd98b0fb25061b7882d092e60b950))
|
|
24
|
+
* **cli:** resolve pin, unpin, freeze and thaw names as update does (ATK-766) ([0e155fc](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0e155fc927c53c26754c5b7b9466fb6d196fcda0))
|
|
25
|
+
* **cli:** skip a bundle member a skipped member needs (ATK-763) ([6a6dd49](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6a6dd49aee5bac45e3778b86e69331e0fada41f5))
|
|
26
|
+
* **cli:** start a text prompt's cursor at the end of a new value (ATK-782) ([93c4ed1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/93c4ed18bf7a9ed39b351611f799964ed20b1214))
|
|
27
|
+
* **cli:** trim bundle refs and build the manifest first (ATK-777) ([832cf5f](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/832cf5fb9a3b6b72af279f2da70b6e585c444970))
|
|
28
|
+
|
|
29
|
+
### Performance
|
|
30
|
+
|
|
31
|
+
* **cli:** skip fetching files with equal blobs in atk diff a..b (ATK-769) ([a2f0651](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a2f0651b2a9721cfe9483327d7f1223cceb075e7))
|
|
32
|
+
|
|
33
|
+
### Refactoring
|
|
34
|
+
|
|
35
|
+
* **cli:** diff each file of a version range on its own (ATK-769) ([9ab9517](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/9ab951785c6d9c441f11b15a8a0f9eda922ab6e7))
|
|
36
|
+
* **cli:** name the on-screen state in browse and list input (ATK-779) ([e407838](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e407838b8569d0a2707ee2f3c41f4833e0dd3796))
|
|
37
|
+
|
|
38
|
+
### Styling
|
|
39
|
+
|
|
40
|
+
* **cli:** format the bundle uninstall planner (ATK-763) ([fdf41e5](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/fdf41e5a092c88a6af0ca60a6ebb5d20a12c2dab))
|
|
41
|
+
|
|
42
|
+
### Documentation
|
|
43
|
+
|
|
44
|
+
* **cli:** say what useLatestInput reads and what it can't catch (ATK-780) ([e238d83](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e238d8301c251a496cf5921533e7f22389f81207))
|
|
45
|
+
|
|
46
|
+
## [9.3.0-dev.13](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.12&targetVersion=GTv9.3.0-dev.13) (2026-10-26)
|
|
47
|
+
|
|
48
|
+
### Features
|
|
49
|
+
|
|
50
|
+
* **cli:** add atk completion for bash, zsh and PowerShell (ATK-611) ([ed7acf6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/ed7acf6ed2c80e79dd3235c9bd6e7fa4dba9525f))
|
|
51
|
+
|
|
52
|
+
### Bug Fixes
|
|
53
|
+
|
|
54
|
+
* **cli:** complete [@org](https://emergentcode.visualstudio.com/org) names and --flag=value in bash, and scope names as commands do (ATK-611) ([65a3199](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/65a31993036b29d351a71e7fdcb9ad6cf35b040c))
|
|
55
|
+
|
|
56
|
+
## [9.3.0-dev.12](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.11&targetVersion=GTv9.3.0-dev.12) (2026-10-26)
|
|
57
|
+
|
|
58
|
+
### Bug Fixes
|
|
59
|
+
|
|
60
|
+
* **cli:** keep the plain error when a global asset lacks the version (ATK-740) ([cb35d2c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/cb35d2c55e4b292c7aa6c6e24c1f950e8aba059e))
|
|
61
|
+
* **cli:** name the org spec when checkout's bare name is one org's (ATK-740) ([a91ce55](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a91ce553569902573b2d08652629e708acb4d231))
|
|
62
|
+
|
|
63
|
+
## [9.3.0-dev.11](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.10&targetVersion=GTv9.3.0-dev.11) (2026-10-26)
|
|
64
|
+
|
|
65
|
+
### Bug Fixes
|
|
66
|
+
|
|
67
|
+
* **cli:** skip a bundle member a skipped member needs (ATK-763) ([6a6dd49](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6a6dd49aee5bac45e3778b86e69331e0fada41f5))
|
|
68
|
+
|
|
69
|
+
### Styling
|
|
70
|
+
|
|
71
|
+
* **cli:** format the bundle uninstall planner (ATK-763) ([fdf41e5](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/fdf41e5a092c88a6af0ca60a6ebb5d20a12c2dab))
|
|
72
|
+
|
|
73
|
+
## [9.3.0-dev.10](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.9&targetVersion=GTv9.3.0-dev.10) (2026-10-26)
|
|
74
|
+
|
|
75
|
+
### Bug Fixes
|
|
76
|
+
|
|
77
|
+
* **cli:** resolve pin, unpin, freeze and thaw names as update does (ATK-766) ([0e155fc](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0e155fc927c53c26754c5b7b9466fb6d196fcda0))
|
|
78
|
+
|
|
79
|
+
## [9.3.0-dev.9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.8&targetVersion=GTv9.3.0-dev.9) (2026-10-26)
|
|
80
|
+
|
|
81
|
+
### Performance
|
|
82
|
+
|
|
83
|
+
* **cli:** skip fetching files with equal blobs in atk diff a..b (ATK-769) ([a2f0651](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a2f0651b2a9721cfe9483327d7f1223cceb075e7))
|
|
84
|
+
|
|
85
|
+
### Refactoring
|
|
86
|
+
|
|
87
|
+
* **cli:** diff each file of a version range on its own (ATK-769) ([9ab9517](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/9ab951785c6d9c441f11b15a8a0f9eda922ab6e7))
|
|
88
|
+
|
|
1
89
|
## [9.3.0-dev.8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.3.0-dev.7&targetVersion=GTv9.3.0-dev.8) (2026-10-26)
|
|
2
90
|
|
|
3
91
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -75,6 +75,7 @@ atk update
|
|
|
75
75
|
| `atk browse` | Interactively browse the registry with filtering |
|
|
76
76
|
| `atk cache` | Manage the registry cache |
|
|
77
77
|
| `atk checkout <name>` | Fetch a writable working copy of a registry asset for updating |
|
|
78
|
+
| `atk completion <shell>` | Print a completion script for bash, zsh or PowerShell (`pwsh`) |
|
|
78
79
|
| `atk config` | Manage user configuration (`~/.atkrc.json`) |
|
|
79
80
|
| `atk deprecate <name>` | Deprecate an asset or bundle (or `--undo`) via PR, no new version |
|
|
80
81
|
| `atk diff <asset>` | Show changes against the latest, a chosen version or two versions |
|
|
@@ -132,6 +133,25 @@ The CLI keeps the last registry it read in `~/.atk/cache/registry.json` and re-r
|
|
|
132
133
|
|
|
133
134
|
`--offline`, before or after any command, never calls the API. The read commands take the registry from the cache of any age; anything else the API serves (a README, asset files) and every command that needs the current registry (`install`, `update`, `publish`, …) fails at once instead of retrying. `atk diff` needs the API for the latest files, so it doesn't work offline.
|
|
134
135
|
|
|
136
|
+
### Shell completion
|
|
137
|
+
|
|
138
|
+
`atk completion <shell>` prints a completion script for bash, zsh or PowerShell. To load it in each new shell, add its line to your profile:
|
|
139
|
+
|
|
140
|
+
| Shell | Profile | Line |
|
|
141
|
+
| ---------- | ---------------------------- | -------------------------------------------------------- |
|
|
142
|
+
| bash | `~/.bashrc` | `eval "$(atk completion bash)"` |
|
|
143
|
+
| zsh | `~/.zshrc`, after `compinit` | `eval "$(atk completion zsh)"` |
|
|
144
|
+
| PowerShell | `$PROFILE` | `atk completion pwsh \| Out-String \| Invoke-Expression` |
|
|
145
|
+
|
|
146
|
+
TAB completes command names, flags and their choices (`--type`, `--sort`, `--to`, `--bump`). It also completes asset names:
|
|
147
|
+
|
|
148
|
+
- **Installed names:** read from the scope's lockfile (`--user` or `-P` on the line picks it). Used by `uninstall`, `update`, `pin`, `unpin`, `freeze`, `thaw`, `why`, `diff`, `move` and `sync`.
|
|
149
|
+
- **Registry names:** read from the cached `~/.atk/cache/registry.json`. Used by `install`, `info` and `checkout`.
|
|
150
|
+
|
|
151
|
+
A global asset completes as its bare name. An org's asset completes as `@org/name`. It also completes as its bare name when the command would resolve the bare name to it, that is in the active org (`--org`, then the lockfile's org, then the config's). `checkout` is the exception: it reads a bare name as a global asset, so org assets complete there only as `@org/name`.
|
|
152
|
+
|
|
153
|
+
Completion never calls the ATK API. Registry names appear once any command has read the registry, and they are as current as the cache.
|
|
154
|
+
|
|
135
155
|
### Colour and JSON output
|
|
136
156
|
|
|
137
157
|
`--no-color`, before or after any command, or `NO_COLOR` set to any non-empty value, prints no colour, even when `FORCE_COLOR` is set (CLI 9.3.0+).
|
package/build/cli.js
CHANGED
|
@@ -11,6 +11,17 @@ import { GLOBAL_OPTIONS, isOfflineRun, setOffline } from './lib/offline.js';
|
|
|
11
11
|
import Pastel from './lib/pastel/index.js';
|
|
12
12
|
import { isJsonRun, reportUsageError } from './lib/usage-error.js';
|
|
13
13
|
import { holdCookedTtyReads } from './lib/windows-tty-stdin.js';
|
|
14
|
+
// A completion script's `atk __complete <cword> <words…>`, on every TAB: answered before the update check and
|
|
15
|
+
// Pastel, so it loads no command, no Ink and no Zod, and stays out of the commands and their help (ATK-611).
|
|
16
|
+
if (process.argv[2] === '__complete') {
|
|
17
|
+
const { complete } = await import('./lib/completion/candidates.js');
|
|
18
|
+
const [cword = '', ...words] = process.argv.slice(3);
|
|
19
|
+
const candidates = complete(words, Number.parseInt(cword, 10) || 0);
|
|
20
|
+
const output = candidates.map((candidate) => `${candidate}\n`).join('');
|
|
21
|
+
// A pipe can write asynchronously (macOS), so exit once the candidates are out.
|
|
22
|
+
await new Promise((done) => process.stdout.write(output, () => done()));
|
|
23
|
+
process.exit(0);
|
|
24
|
+
}
|
|
14
25
|
holdCookedTtyReads(process.stdin);
|
|
15
26
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
27
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
|
package/build/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,23 @@
|
|
|
127
127
|
}
|
|
128
128
|
]
|
|
129
129
|
},
|
|
130
|
+
{
|
|
131
|
+
"isDefault": false,
|
|
132
|
+
"name": "completion",
|
|
133
|
+
"args": [
|
|
134
|
+
{
|
|
135
|
+
"description": "Shell to complete in. Add its line to your profile: bash (~/.bashrc) eval \"$(atk completion bash)\"; zsh (~/.zshrc) eval \"$(atk completion zsh)\"; pwsh ($PROFILE) atk completion pwsh | Out-String | Invoke-Expression",
|
|
136
|
+
"name": "<shell>",
|
|
137
|
+
"choices": [
|
|
138
|
+
"bash",
|
|
139
|
+
"pwsh",
|
|
140
|
+
"zsh"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"description": "Print a shell completion script for bash, zsh or PowerShell (pwsh)",
|
|
145
|
+
"file": "completion.js"
|
|
146
|
+
},
|
|
130
147
|
{
|
|
131
148
|
"isDefault": false,
|
|
132
149
|
"name": "config",
|
|
@@ -5,8 +5,8 @@ export declare const options: z.ZodObject<{
|
|
|
5
5
|
}, z.core.$strip>;
|
|
6
6
|
export declare const args: z.ZodTuple<[z.ZodOptional<z.ZodEnum<{
|
|
7
7
|
clear: "clear";
|
|
8
|
-
status: "status";
|
|
9
8
|
clean: "clean";
|
|
9
|
+
status: "status";
|
|
10
10
|
}>>], null>;
|
|
11
11
|
type Props = {
|
|
12
12
|
args: z.infer<typeof args>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,sDAAsD,CAAC;AAE/E,eAAO,MAAM,OAAO;;;;;iBAiBlB,CAAC;AAEH,eAAO,MAAM,IAAI,6DAQf,CAAC;AAUH,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;AAEF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,+
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,sDAAsD,CAAC;AAE/E,eAAO,MAAM,OAAO;;;;;iBAiBlB,CAAC;AAEH,eAAO,MAAM,IAAI,6DAQf,CAAC;AAUH,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;AAEF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,+BAyF9G"}
|
|
@@ -39,7 +39,11 @@ export default function Checkout({ args: [rawName, dirArg], options: { force, js
|
|
|
39
39
|
const { json: effectiveJson } = useNonInteractive(json);
|
|
40
40
|
const state = useCommand(async (progress) => {
|
|
41
41
|
progress('Resolving asset...');
|
|
42
|
-
const workingCopy = await fetchAssetWorkingCopy(rawName, {
|
|
42
|
+
const workingCopy = await fetchAssetWorkingCopy(rawName, {
|
|
43
|
+
checkoutCommand: (spec) => checkoutCommandFor(spec, { dest: dirArg, force, version }),
|
|
44
|
+
refresh,
|
|
45
|
+
version,
|
|
46
|
+
});
|
|
43
47
|
const bareName = workingCopy.manifest.name;
|
|
44
48
|
const destination = resolve(dirArg ?? `./${bareName}`);
|
|
45
49
|
if (existsSync(destination)) {
|
|
@@ -98,4 +102,13 @@ export default function Checkout({ args: [rawName, dirArg], options: { force, js
|
|
|
98
102
|
}
|
|
99
103
|
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["Checked out ", displayName, "@", data.version] }), _jsxs(Text, { dimColor: true, children: ["Destination: ", data.destination] }), _jsxs(Text, { dimColor: true, children: ["Files: ", data.files.length] })] }));
|
|
100
104
|
}
|
|
105
|
+
/** `atk checkout <spec>` with the run's own destination and flags, for a command an error suggests. */
|
|
106
|
+
function checkoutCommandFor(spec, { dest, force, version }) {
|
|
107
|
+
return [
|
|
108
|
+
`atk checkout ${spec}`,
|
|
109
|
+
...(dest ? [JSON.stringify(dest)] : []),
|
|
110
|
+
...(version ? ['--version', version] : []),
|
|
111
|
+
...(force ? ['--force'] : []),
|
|
112
|
+
].join(' ');
|
|
113
|
+
}
|
|
101
114
|
//# sourceMappingURL=checkout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,mDAAmD,CAAC;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAC9F,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAC1F,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC,CAAC;IAClG,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC,CAAC;CACvG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpG,CAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,QAAQ,CAAC,EAAE,WAAW,EAAE,sEAAsE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAChH;CACJ,CAAC,CAAC;AAeH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAS;IAC7G,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const description = "Print a shell completion script for bash, zsh or PowerShell (pwsh)";
|
|
3
|
+
export declare const args: z.ZodTuple<[z.ZodEnum<{
|
|
4
|
+
bash: "bash";
|
|
5
|
+
pwsh: "pwsh";
|
|
6
|
+
zsh: "zsh";
|
|
7
|
+
}>], null>;
|
|
8
|
+
type Props = {
|
|
9
|
+
args: z.infer<typeof args>;
|
|
10
|
+
};
|
|
11
|
+
export default function Completion({ args: [shell] }: Props): null;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAEhG,eAAO,MAAM,IAAI;;;;UAOf,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;CAC5B,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,QAQ1D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useStdout } from 'ink';
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { completionScript, SETUP, SHELLS } from '../lib/completion/scripts.js';
|
|
5
|
+
import { argument } from '../lib/pastel/index.js';
|
|
6
|
+
export const description = 'Print a shell completion script for bash, zsh or PowerShell (pwsh)';
|
|
7
|
+
export const args = z.tuple([
|
|
8
|
+
z.enum(SHELLS).describe(argument({
|
|
9
|
+
description: `Shell to complete in. Add its line to your profile: bash (~/.bashrc) ${SETUP.bash}; zsh (~/.zshrc) ${SETUP.zsh}; pwsh ($PROFILE) ${SETUP.pwsh}`,
|
|
10
|
+
name: 'shell',
|
|
11
|
+
})),
|
|
12
|
+
]);
|
|
13
|
+
// Written once, above Ink's frame, so a re-render (the update banner arriving) can't print it again. Piped, as in
|
|
14
|
+
// `eval "$(atk completion bash)"`, the app shell prints no header (JSON mode) and this no JSON: stdout is the script.
|
|
15
|
+
export default function Completion({ args: [shell] }) {
|
|
16
|
+
const { write } = useStdout();
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
write(completionScript(shell));
|
|
19
|
+
}, [shell, write]);
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,oEAAoE,CAAC;AAEhG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CACrB,QAAQ,CAAC;QACP,WAAW,EAAE,wEAAwE,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,GAAG,qBAAqB,KAAK,CAAC,IAAI,EAAE;QAC7J,IAAI,EAAE,OAAO;KACd,CAAC,CACH;CACF,CAAC,CAAC;AAMH,kHAAkH;AAClH,sHAAsH;AACtH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAS;IACzD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,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,+BA+F7G"}
|
package/build/commands/freeze.js
CHANGED
|
@@ -5,8 +5,9 @@ import { ErrorView, Spinner } from '../components/index.js';
|
|
|
5
5
|
import { useCommand } from '../hooks/useCommand.js';
|
|
6
6
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
7
|
import { freezeAssetsInConfig, isAssetFrozen } from '../lib/config.js';
|
|
8
|
-
import { identityKey, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
-
import {
|
|
8
|
+
import { identityKey, LockfileError, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
+
import { findNamedEntry } from '../lib/named-entry.js';
|
|
10
|
+
import { formatOrgName } from '../lib/org.js';
|
|
10
11
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
12
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
13
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -56,22 +57,28 @@ export default function Freeze({ args: [rawName, ...more], options: { json, proj
|
|
|
56
57
|
const named = [];
|
|
57
58
|
const seen = new Set();
|
|
58
59
|
for (const spec of specs) {
|
|
59
|
-
const { name, org } =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const { name, org, type: assetType, } = findNamedEntry(lockfile, spec, {
|
|
61
|
+
command: 'freeze',
|
|
62
|
+
error: LockfileError,
|
|
63
|
+
root: projectDir,
|
|
64
|
+
scope: where.scope,
|
|
65
|
+
type,
|
|
66
|
+
});
|
|
67
|
+
// Verify the entry is a direct install
|
|
68
|
+
requireDirectInstall(lockfile, name, 'frozen', assetType, org, scopeLabel(where));
|
|
69
|
+
const asset = { name, ...(org ? { org } : {}), type: assetType };
|
|
70
|
+
if (seen.has(identityKey(asset)))
|
|
63
71
|
continue;
|
|
64
|
-
seen.add(identityKey(
|
|
72
|
+
seen.add(identityKey(asset));
|
|
65
73
|
// Check if already frozen via project config
|
|
66
|
-
const frozen = await isAssetFrozen(projectDir, name,
|
|
67
|
-
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
74
|
+
const frozen = await isAssetFrozen(projectDir, name, assetType, org);
|
|
68
75
|
named.push({ ...asset, outcome: frozen ? 'already-frozen' : 'frozen' });
|
|
69
76
|
}
|
|
70
77
|
// Freeze in project config (.atkrc.json), in one write
|
|
71
78
|
const toFreeze = named.filter((a) => a.outcome === 'frozen');
|
|
72
79
|
if (toFreeze.length > 0) {
|
|
73
80
|
progress(more.length > 0 ? 'Freezing assets...' : 'Freezing asset...');
|
|
74
|
-
await freezeAssetsInConfig(projectDir, toFreeze.map(({ name, org, type:
|
|
81
|
+
await freezeAssetsInConfig(projectDir, toFreeze.map(({ name, org, type: frozenType }) => ({ name, org, type: frozenType })));
|
|
75
82
|
}
|
|
76
83
|
if (more.length > 0) {
|
|
77
84
|
return { assets: named, outcome: toFreeze.length > 0 ? 'frozen' : 'already-frozen' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeze.js","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"freeze.js","sourceRoot":"","sources":["../../src/commands/freeze.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,+
|
|
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,+BAiI1G"}
|
package/build/commands/pin.js
CHANGED
|
@@ -5,8 +5,9 @@ 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 {
|
|
9
|
-
import {
|
|
8
|
+
import { identityKey, isPinned, LockfileError, pinAssetVersion, readLockfile, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
|
|
9
|
+
import { findNamedEntry } from '../lib/named-entry.js';
|
|
10
|
+
import { formatOrgName } from '../lib/org.js';
|
|
10
11
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
12
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
13
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -62,7 +63,7 @@ export default function Pin({ args: [nameArg, ...more], options: { json, project
|
|
|
62
63
|
if (requestedVersion === null) {
|
|
63
64
|
throw new LockfileError(`Invalid version '${version}' -- expected a valid semver version`);
|
|
64
65
|
}
|
|
65
|
-
return { parsedName, requestedVersion
|
|
66
|
+
return { parsedName, requestedVersion };
|
|
66
67
|
});
|
|
67
68
|
const where = await resolve();
|
|
68
69
|
const { root: projectDir, scope } = where;
|
|
@@ -72,12 +73,17 @@ export default function Pin({ args: [nameArg, ...more], options: { json, project
|
|
|
72
73
|
// Check every name before the lockfile is written; a name naming an entry already named is dropped
|
|
73
74
|
const named = [];
|
|
74
75
|
const seen = new Set();
|
|
75
|
-
for (const {
|
|
76
|
+
for (const { parsedName, requestedVersion } of requests) {
|
|
76
77
|
// Look up the installed asset to determine current version
|
|
77
|
-
const installed =
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
const installed = findNamedEntry(lockfile, parsedName, {
|
|
79
|
+
command: 'pin',
|
|
80
|
+
error: LockfileError,
|
|
81
|
+
root: projectDir,
|
|
82
|
+
scope,
|
|
83
|
+
type,
|
|
84
|
+
version: requestedVersion,
|
|
85
|
+
});
|
|
86
|
+
const { name, org } = installed;
|
|
81
87
|
// A pin holds the installed version; installing another one (and checking that it
|
|
82
88
|
// exists in the registry) is `install --pin`'s job
|
|
83
89
|
if (requestedVersion && requestedVersion !== installed.version) {
|
|
@@ -92,14 +98,14 @@ export default function Pin({ args: [nameArg, ...more], options: { json, project
|
|
|
92
98
|
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
93
99
|
const pinVersion = installed.version;
|
|
94
100
|
// Check if already pinned to the same version
|
|
95
|
-
if (isPinned(lockfile, name, type, org) && installed.pinnedVersion === pinVersion) {
|
|
101
|
+
if (isPinned(lockfile, name, installed.type, org) && installed.pinnedVersion === pinVersion) {
|
|
96
102
|
named.push({ ...asset, outcome: 'already-pinned', version: pinVersion });
|
|
97
103
|
continue;
|
|
98
104
|
}
|
|
99
105
|
// Track previous pin for informational message
|
|
100
106
|
const previousPin = installed.pinnedVersion;
|
|
101
107
|
progress(more.length > 0 ? `Pinning ${parsedName}...` : 'Pinning asset version...');
|
|
102
|
-
lockfile = pinAssetVersion(lockfile, name, pinVersion, type, org);
|
|
108
|
+
lockfile = pinAssetVersion(lockfile, name, pinVersion, installed.type, org);
|
|
103
109
|
named.push(previousPin
|
|
104
110
|
? { ...asset, outcome: 'updated-pin', previousVersion: previousPin, version: pinVersion }
|
|
105
111
|
: { ...asset, outcome: 'pinned', version: pinVersion });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,wCAAwC;KACtD,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjC,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,8EAA8E;KAC5F,CAAC,CACH;IACD,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,WAAW,EAAE,yEAAyE;KACvF,CAAC,CACH;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;KAClB,KAAK,CAAC;IACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACjB,QAAQ,CAAC;QACP,WAAW,EACT,mJAAmJ;QACrJ,IAAI,EAAE,MAAM;KACb,CAAC,CACH;CACF,CAAC;KACD,IAAI,CACH,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACjB,QAAQ,CAAC;IACP,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE,OAAO;CACd,CAAC,CACH,CACF,CAAC;AAmBJ,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,EAAS;IACzG,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7D,0FAA0F;YAC1F,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAClF,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,aAAa,CAAC,oBAAoB,OAAO,sCAAsC,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAE1C,OAAO,MAAM,yBAAyB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC5D,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;YAE9C,mGAAmG;YACnG,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACxD,2DAA2D;gBAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;oBACrD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,UAAU;oBAChB,KAAK;oBACL,IAAI;oBACJ,OAAO,EAAE,gBAAgB;iBAC1B,CAAC,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;gBAEhC,kFAAkF;gBAClF,mDAAmD;gBACnD,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC/D,MAAM,IAAI,aAAa,CACrB,IAAI,UAAU,sBAAsB,SAAS,CAAC,OAAO,wCAAwC,EAC7F;wBACE,OAAO,EAAE,aAAa,CAAC,eAAe,UAAU,IAAI,gBAAgB,QAAQ,EAAE,KAAK,CAAC;wBACpF,IAAI,EAAE,yEAAyE;qBAChF,CACF,CAAC;gBACJ,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAAE,SAAS;gBAC/C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEjC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;gBAErC,8CAA8C;gBAC9C,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;oBACzE,SAAS;gBACX,CAAC;gBAED,+CAA+C;gBAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC;gBAE5C,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,UAAU,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;gBACpF,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAE5E,KAAK,CAAC,IAAI,CACR,WAAW;oBACT,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE;oBACzF,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBAChC,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC3E,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAC3C,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,OAAO;gBAChB,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACzF,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,QAAQ,2BAAM,UAAU,CAAC,QAAQ,CAAC,IAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,OAAO,IAAsB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IAA3E,WAAW,CAAC,CAAC,CAAC,CAAiE,CAC9F,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAClE,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAyD;IAC7F,IAAI,MAAM,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,kBAAS,OAAC,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,6BAAwB,MAAM,CAAC,OAAO,EAC3F,KAAK,IACD,CACR,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBACV,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,WAAM,MAAM,CAAC,OAAO,OAAE,MAAC,IAAI,IAAC,QAAQ,6BAAQ,MAAM,CAAC,eAAe,SAAS,EACzG,KAAK,IACD,CACR,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBACV,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,WAAM,MAAM,CAAC,OAAO,EAClD,KAAK,IACD,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -4,17 +4,17 @@ export declare const options: z.ZodObject<{
|
|
|
4
4
|
json: z.ZodDefault<z.ZodBoolean>;
|
|
5
5
|
}, z.core.$strip>;
|
|
6
6
|
export declare const args: z.ZodTuple<[z.ZodEnum<{
|
|
7
|
+
config: "config";
|
|
7
8
|
skill: "skill";
|
|
8
9
|
agent: "agent";
|
|
9
10
|
rule: "rule";
|
|
10
11
|
hook: "hook";
|
|
11
12
|
"memory-template": "memory-template";
|
|
12
13
|
"mcp-config": "mcp-config";
|
|
13
|
-
config: "config";
|
|
14
14
|
bundle: "bundle";
|
|
15
|
-
registry: "registry";
|
|
16
15
|
adapter: "adapter";
|
|
17
16
|
lockfile: "lockfile";
|
|
17
|
+
registry: "registry";
|
|
18
18
|
}>], null>;
|
|
19
19
|
type Props = {
|
|
20
20
|
args: z.infer<typeof args>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"thaw.d.ts","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,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,+BAiG3G"}
|
package/build/commands/thaw.js
CHANGED
|
@@ -5,8 +5,9 @@ import { ErrorView, Spinner } from '../components/index.js';
|
|
|
5
5
|
import { useCommand } from '../hooks/useCommand.js';
|
|
6
6
|
import { useResolvedScope } from '../hooks/useResolvedScope.js';
|
|
7
7
|
import { isAssetFrozen, thawAssetsInConfig } from '../lib/config.js';
|
|
8
|
-
import { identityKey, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
-
import {
|
|
8
|
+
import { identityKey, LockfileError, readLockfile, requireDirectInstall } from '../lib/lockfile.js';
|
|
9
|
+
import { findNamedEntry } from '../lib/named-entry.js';
|
|
10
|
+
import { formatOrgName } from '../lib/org.js';
|
|
10
11
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
11
12
|
import { argument, option } from '../lib/pastel/index.js';
|
|
12
13
|
import { AssetType } from '../lib/schemas/index.js';
|
|
@@ -56,22 +57,28 @@ export default function Thaw({ args: [rawName, ...more], options: { json, projec
|
|
|
56
57
|
const named = [];
|
|
57
58
|
const seen = new Set();
|
|
58
59
|
for (const spec of specs) {
|
|
59
|
-
const { name, org } =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const { name, org, type: assetType, } = findNamedEntry(lockfile, spec, {
|
|
61
|
+
command: 'thaw',
|
|
62
|
+
error: LockfileError,
|
|
63
|
+
root: projectDir,
|
|
64
|
+
scope: where.scope,
|
|
65
|
+
type,
|
|
66
|
+
});
|
|
67
|
+
// Verify the entry is a direct install
|
|
68
|
+
requireDirectInstall(lockfile, name, 'thawed', assetType, org, scopeLabel(where));
|
|
69
|
+
const asset = { name, ...(org ? { org } : {}), type: assetType };
|
|
70
|
+
if (seen.has(identityKey(asset)))
|
|
63
71
|
continue;
|
|
64
|
-
seen.add(identityKey(
|
|
65
|
-
// Check if the
|
|
66
|
-
const frozen = await isAssetFrozen(projectDir, name,
|
|
67
|
-
const asset = { name, ...(org ? { org } : {}), type: installed.type };
|
|
72
|
+
seen.add(identityKey(asset));
|
|
73
|
+
// Check if the entry itself is frozen (via project config)
|
|
74
|
+
const frozen = await isAssetFrozen(projectDir, name, assetType, org);
|
|
68
75
|
named.push({ ...asset, outcome: frozen ? 'thawed' : 'not-frozen' });
|
|
69
76
|
}
|
|
70
|
-
// Thaw in project config (.atkrc.json), in one write,
|
|
77
|
+
// Thaw in project config (.atkrc.json), in one write, removing only each entry's own freeze
|
|
71
78
|
const toThaw = named.filter((a) => a.outcome === 'thawed');
|
|
72
79
|
if (toThaw.length > 0) {
|
|
73
80
|
progress(more.length > 0 ? 'Thawing assets...' : 'Thawing asset...');
|
|
74
|
-
await thawAssetsInConfig(projectDir, toThaw.map(({ name, org }) => ({ name, org, type })));
|
|
81
|
+
await thawAssetsInConfig(projectDir, toThaw.map(({ name, org, type: frozenType }) => ({ name, org, type: frozenType })));
|
|
75
82
|
}
|
|
76
83
|
if (more.length > 0) {
|
|
77
84
|
return { assets: named, outcome: toThaw.length > 0 ? 'thawed' : 'not-frozen' };
|