pi-extmgr 0.1.16 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-extmgr",
3
- "version": "0.1.16",
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",
@@ -129,8 +129,10 @@ export async function installPackage(
129
129
  success(ctx, `Installed ${normalized} (${scope})`);
130
130
  clearUpdatesAvailable(pi, ctx);
131
131
 
132
- void updateExtmgrStatus(ctx, pi);
133
- await confirmReload(ctx, "Package installed.");
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
- void updateExtmgrStatus(ctx, pi);
193
- await confirmReload(ctx, "Extension installed.");
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
- void updateExtmgrStatus(ctx, pi);
409
- await confirmReload(ctx, "Extension installed.");
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
  }