qwenproxy-cli 1.0.4 → 1.0.6

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.
@@ -7,7 +7,7 @@ import path from "node:path";
7
7
  import type { TuiView } from "../types.ts";
8
8
  import type { KeyEvent } from "../screen.ts";
9
9
  import { theme, glyphs, drawBox, pad } from "../theme.ts";
10
- import { pruneAllPlaywrightProfiles } from "../../services/playwright.ts";
10
+ import { pruneAllPlaywrightProfiles, cleanupOrphanProfiles } from "../../services/playwright.ts";
11
11
  import { getProfilesDir } from "../../core/paths.ts";
12
12
  import {
13
13
  formatBytes,
@@ -79,6 +79,9 @@ export class StorageView implements TuiView {
79
79
  this.isScanning = true;
80
80
 
81
81
  try {
82
+ // 0. Auto-prune orphan directories from removed accounts
83
+ cleanupOrphanProfiles();
84
+
82
85
  // 1. Scan profiles
83
86
  const profilesDir = getProfilesDir();
84
87
  let totalBytes = 0;
@@ -241,11 +244,12 @@ export class StorageView implements TuiView {
241
244
  if ((key.name === "p" || key.name === "P") && !key.ctrl) {
242
245
  try {
243
246
  const res = pruneAllPlaywrightProfiles();
244
- this.addLog(
245
- theme.green(
246
- `✓ Caches limpos: ${formatBytes(res.totalFreedBytes)} liberados em ${res.totalFreedFiles} arquivos (${res.profilesCleaned} perfis)`,
247
- ),
248
- );
247
+ const orphanRes = cleanupOrphanProfiles();
248
+ let logMsg = `✓ Caches limpos: ${formatBytes(res.totalFreedBytes)} liberados em ${res.totalFreedFiles} arquivos (${res.profilesCleaned} perfis)`;
249
+ if (orphanRes.removedCount > 0) {
250
+ logMsg += ` + ${orphanRes.removedCount} perfil(is) órfão(s) removido(s)`;
251
+ }
252
+ this.addLog(theme.green(logMsg));
249
253
  await this.refresh();
250
254
  } catch (err: any) {
251
255
  this.addLog(theme.red(`✗ Falha ao limpar perfis: ${err?.message || String(err)}`));
@@ -260,7 +264,7 @@ export class StorageView implements TuiView {
260
264
  if (res.freedBytes > 0 || res.unusedDirs.length > 0) {
261
265
  this.addLog(
262
266
  theme.green(
263
- `✓ Navegadores limpos: ${formatBytes(res.freedBytes)} recuperados no SSD (${res.unusedDirs.length} versões removidas)`,
267
+ `✓ Navegadores limpos: ${formatBytes(res.freedBytes)} recuperados em disco (${res.unusedDirs.length} versões removidas)`,
264
268
  ),
265
269
  );
266
270
  } else {
package/src/update-cli.ts CHANGED
@@ -27,17 +27,32 @@ export function detectPackageManager(): PackageManager {
27
27
 
28
28
  return "npm";
29
29
  }
30
- export function getUpdateArgs(pm: PackageManager, packageName: string): { cmd: string; args: string[] } {
30
+ export function getUpdateArgs(
31
+ pm: PackageManager,
32
+ packageName: string,
33
+ targetVersion?: string,
34
+ ): { cmd: string; args: string[] } {
35
+ const versionTag = targetVersion ? `@${targetVersion}` : "@latest";
31
36
  switch (pm) {
32
37
  case "bun":
33
- return { cmd: "bun", args: ["add", "-g", `${packageName}@latest`] };
38
+ return { cmd: "bun", args: ["add", "-g", `${packageName}${versionTag}`] };
34
39
  case "pnpm":
35
- return { cmd: "pnpm", args: ["update", "-g", packageName] };
40
+ return {
41
+ cmd: "pnpm",
42
+ args: targetVersion
43
+ ? ["add", "-g", `${packageName}@${targetVersion}`]
44
+ : ["update", "-g", packageName],
45
+ };
36
46
  case "yarn":
37
- return { cmd: "yarn", args: ["global", "upgrade", packageName] };
47
+ return {
48
+ cmd: "yarn",
49
+ args: targetVersion
50
+ ? ["global", "add", `${packageName}@${targetVersion}`]
51
+ : ["global", "upgrade", packageName],
52
+ };
38
53
  case "npm":
39
54
  default:
40
- return { cmd: "npm", args: ["install", "-g", `${packageName}@latest`] };
55
+ return { cmd: "npm", args: ["install", "-g", `${packageName}${versionTag}`] };
41
56
  }
42
57
  }
43
58
 
@@ -93,7 +108,7 @@ export async function runUpdateCommand(): Promise<void> {
93
108
  }
94
109
 
95
110
  console.log(`\n🚀 Nova versão disponível: v${currentVersion} ➔ v${latestVersion}`);
96
- const { cmd, args } = getUpdateArgs(pm, packageName);
111
+ const { cmd, args } = getUpdateArgs(pm, packageName, latestVersion);
97
112
  console.log(`⏳ Atualizando globalmente via ${pm} (${cmd} ${args.join(" ")})...`);
98
113
  const fullUpdateCmd = `${cmd} ${args.join(" ")}`;
99
114
  const updateProc = spawnSync(fullUpdateCmd, {