@kud/soap-cli 3.0.13 → 3.0.15

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.
Files changed (2) hide show
  1. package/dist/index.js +30 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // index.ts
4
+ import fs2 from "fs/promises";
4
5
  import inquirer from "inquirer";
5
6
  import signale from "signale";
6
7
  import trash from "trash";
@@ -246,7 +247,7 @@ var param = rawArgs.find((a) => !a.startsWith("-"));
246
247
  var yes = rawArgs.includes("--yes") || rawArgs.includes("-y");
247
248
  var yesDangerously = rawArgs.includes("--yes-dangerously");
248
249
  if (firstArg === "--version" || firstArg === "-v") {
249
- console.log("3.0.13");
250
+ console.log("3.0.15");
250
251
  process.exit(0);
251
252
  }
252
253
  if (!firstArg || firstArg === "--help" || firstArg === "-h") {
@@ -317,11 +318,16 @@ try {
317
318
  signale.error(`Could not determine app name for "${param}".`);
318
319
  process.exit(1);
319
320
  }
320
- const bundleId = await getBundleIdentifier(appName);
321
- const scannedFiles = await spinner(
321
+ let bundleId = "";
322
+ try {
323
+ bundleId = await getBundleIdentifier(appName);
324
+ } catch {
325
+ signale.warn(`App "${appName}" is not installed \u2014 skipping file scan.`);
326
+ }
327
+ const scannedFiles = bundleId ? await spinner(
322
328
  chalk.dim("Scanning for files\u2026"),
323
329
  () => findAppFiles(appName, bundleId)
324
- );
330
+ ) : [];
325
331
  const appFiles = [
326
332
  .../* @__PURE__ */ new Set([
327
333
  ...isCask ? scannedFiles.slice(1) : scannedFiles,
@@ -421,6 +427,16 @@ Can you become an admin before we proceed?`,
421
427
  console.log("");
422
428
  signale.pending("Running Homebrew uninstall\u2026");
423
429
  await $2`brew uninstall --zap ${param}`;
430
+ const brewPrefix = (await $2`brew --prefix`).stdout.trim();
431
+ const caskroomEntry = `${brewPrefix}/Caskroom/${param}`;
432
+ try {
433
+ await fs2.access(caskroomEntry);
434
+ await trash(caskroomEntry);
435
+ signale.success(
436
+ `Removed leftover Caskroom entry: ${chalk.dim(caskroomEntry)}`
437
+ );
438
+ } catch {
439
+ }
424
440
  }
425
441
  console.log("");
426
442
  signale.success("Done.");
@@ -448,6 +464,16 @@ Force-run ${chalk.bold(`brew uninstall --zap --force ${param}`)}?`,
448
464
  signale.pending("Force-uninstalling cask\u2026");
449
465
  await $2`brew uninstall --zap --force ${param}`;
450
466
  signale.success("Force uninstall complete.");
467
+ const brewPrefix = (await $2`brew --prefix`).stdout.trim();
468
+ const caskroomEntry = `${brewPrefix}/Caskroom/${param}`;
469
+ try {
470
+ await fs2.access(caskroomEntry);
471
+ await trash(caskroomEntry);
472
+ signale.success(
473
+ `Removed leftover Caskroom entry: ${chalk.dim(caskroomEntry)}`
474
+ );
475
+ } catch {
476
+ }
451
477
  }
452
478
  } else if (isCask && isPermissionError) {
453
479
  signale.info(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/soap-cli",
3
- "version": "3.0.13",
3
+ "version": "3.0.15",
4
4
  "description": "An app cleaner cli for macOS",
5
5
  "main": "dist/index.js",
6
6
  "bin": {