orchestra-install 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/install.mjs +3 -1
- package/package.json +1 -1
package/install.mjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// Run: npx orchestra-install [--dry-run], or from the repository: npx github:oarthurbg/orchestra
|
|
4
4
|
// Or: curl -fsSL https://raw.githubusercontent.com/oarthurbg/orchestra/main/install.mjs | node --input-type=module
|
|
5
5
|
import { spawnSync } from 'node:child_process'
|
|
6
|
+
import path from 'node:path'
|
|
6
7
|
|
|
7
8
|
const MARKETPLACE = 'orchestra'
|
|
8
9
|
const REPO = 'oarthurbg/orchestra'
|
|
@@ -37,7 +38,8 @@ names.sort((a, b) => (b === 'orchestra') - (a === 'orchestra'))
|
|
|
37
38
|
|
|
38
39
|
const failed = []
|
|
39
40
|
for (const name of names) {
|
|
40
|
-
|
|
41
|
+
// A project or local install only counts in its own folder.
|
|
42
|
+
const have = installed.find(p => p.id.startsWith(`${name}@`) && (!p.projectPath || path.relative(p.projectPath, process.cwd()) === ''))
|
|
41
43
|
if (have) { console.log(`skip ${name}: already installed as ${have.id} (${have.scope} scope${have.enabled ? '' : ', disabled'})`); continue }
|
|
42
44
|
if (claude(['plugin', 'install', `${name}@${MARKETPLACE}`], { mutates: true }).status !== 0) failed.push(name)
|
|
43
45
|
}
|