pi-extmgr 0.1.15 ā 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/package.json +3 -3
- package/src/packages/install.ts +12 -6
- package/src/packages/management.ts +9 -3
package/README.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# pi-extmgr
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
|
|
5
5
|
[](https://github.com/ayagmar/pi-extmgr/actions/workflows/ci.yml)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
8
|
A better way to manage Pi extensions. Browse, install, enable/disable, and remove extensions from one place.
|
|
9
9
|
|
|
10
|
+
**š [pi-extmgr landing page](https://ayagmar.github.io/pi-extmgr)**
|
|
11
|
+
|
|
10
12
|
## Install
|
|
11
13
|
|
|
12
14
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extmgr",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "Enhanced UX for managing local Pi extensions and community packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"./src/index.ts"
|
|
36
36
|
],
|
|
37
37
|
"video": "https://github.com/ayagmar/pi-extmgr/releases/download/demo/demo.mp4",
|
|
38
|
-
"image": "https://i.imgur.com/
|
|
38
|
+
"image": "https://i.imgur.com/Ce513Br.png"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@mariozechner/pi-coding-agent": "*",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"bugs": {
|
|
67
67
|
"url": "https://github.com/ayagmar/pi-extmgr/issues"
|
|
68
68
|
},
|
|
69
|
-
"homepage": "https://github.
|
|
69
|
+
"homepage": "https://ayagmar.github.io/pi-extmgr"
|
|
70
70
|
}
|
package/src/packages/install.ts
CHANGED
|
@@ -129,8 +129,10 @@ export async function installPackage(
|
|
|
129
129
|
success(ctx, `Installed ${normalized} (${scope})`);
|
|
130
130
|
clearUpdatesAvailable(pi, ctx);
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
const reloaded = await confirmReload(ctx, "Package installed.");
|
|
133
|
+
if (!reloaded) {
|
|
134
|
+
void updateExtmgrStatus(ctx, pi);
|
|
135
|
+
}
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
export async function installFromUrl(
|
|
@@ -189,8 +191,10 @@ export async function installFromUrl(
|
|
|
189
191
|
logPackageInstall(pi, url, name, undefined, scope, true);
|
|
190
192
|
success(ctx, `Installed ${name} to:\n${destPath}`);
|
|
191
193
|
clearUpdatesAvailable(pi, ctx);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
+
const reloaded = await confirmReload(ctx, "Extension installed.");
|
|
195
|
+
if (!reloaded) {
|
|
196
|
+
void updateExtmgrStatus(ctx, pi);
|
|
197
|
+
}
|
|
194
198
|
}
|
|
195
199
|
|
|
196
200
|
/**
|
|
@@ -405,6 +409,8 @@ export async function installPackageLocally(
|
|
|
405
409
|
logPackageInstall(pi, `npm:${packageName}`, packageName, version, scope, true);
|
|
406
410
|
success(ctx, `Installed ${packageName}@${version} locally to:\n${destResult}/index.ts`);
|
|
407
411
|
clearUpdatesAvailable(pi, ctx);
|
|
408
|
-
|
|
409
|
-
|
|
412
|
+
const reloaded = await confirmReload(ctx, "Extension installed.");
|
|
413
|
+
if (!reloaded) {
|
|
414
|
+
void updateExtmgrStatus(ctx, pi);
|
|
415
|
+
}
|
|
410
416
|
}
|
|
@@ -71,9 +71,11 @@ async function updatePackageInternal(
|
|
|
71
71
|
logPackageUpdate(pi, source, source, undefined, true);
|
|
72
72
|
success(ctx, `Updated ${source}`);
|
|
73
73
|
clearUpdatesAvailable(pi, ctx);
|
|
74
|
-
void updateExtmgrStatus(ctx, pi);
|
|
75
74
|
|
|
76
75
|
const reloaded = await confirmReload(ctx, "Package updated.");
|
|
76
|
+
if (!reloaded) {
|
|
77
|
+
void updateExtmgrStatus(ctx, pi);
|
|
78
|
+
}
|
|
77
79
|
return packageMutationOutcome({ reloaded });
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -100,9 +102,11 @@ async function updatePackagesInternal(
|
|
|
100
102
|
|
|
101
103
|
success(ctx, "Packages updated");
|
|
102
104
|
clearUpdatesAvailable(pi, ctx);
|
|
103
|
-
void updateExtmgrStatus(ctx, pi);
|
|
104
105
|
|
|
105
106
|
const reloaded = await confirmReload(ctx, "Packages updated.");
|
|
107
|
+
if (!reloaded) {
|
|
108
|
+
void updateExtmgrStatus(ctx, pi);
|
|
109
|
+
}
|
|
106
110
|
return packageMutationOutcome({ reloaded });
|
|
107
111
|
}
|
|
108
112
|
|
|
@@ -334,12 +338,14 @@ async function removePackageInternal(
|
|
|
334
338
|
if (failures.length === 0) {
|
|
335
339
|
clearUpdatesAvailable(pi, ctx);
|
|
336
340
|
}
|
|
337
|
-
void updateExtmgrStatus(ctx, pi);
|
|
338
341
|
|
|
339
342
|
const restartRequested = await confirmRestart(
|
|
340
343
|
ctx,
|
|
341
344
|
`Removal complete.\n\nā ļø Extensions/prompts/skills/themes from removed packages are fully unloaded after restarting pi.`
|
|
342
345
|
);
|
|
346
|
+
if (!restartRequested) {
|
|
347
|
+
void updateExtmgrStatus(ctx, pi);
|
|
348
|
+
}
|
|
343
349
|
|
|
344
350
|
return packageMutationOutcome({ restartRequested });
|
|
345
351
|
}
|