squeaky-clean 0.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.
Files changed (191) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +465 -0
  3. package/dist/cleaners/BaseCleaner.d.ts +57 -0
  4. package/dist/cleaners/BaseCleaner.d.ts.map +1 -0
  5. package/dist/cleaners/BaseCleaner.js +299 -0
  6. package/dist/cleaners/BaseCleaner.js.map +1 -0
  7. package/dist/cleaners/CleanerRegistry.d.ts +65 -0
  8. package/dist/cleaners/CleanerRegistry.d.ts.map +1 -0
  9. package/dist/cleaners/CleanerRegistry.js +112 -0
  10. package/dist/cleaners/CleanerRegistry.js.map +1 -0
  11. package/dist/cleaners/androidstudio.d.ts +16 -0
  12. package/dist/cleaners/androidstudio.d.ts.map +1 -0
  13. package/dist/cleaners/androidstudio.js +375 -0
  14. package/dist/cleaners/androidstudio.js.map +1 -0
  15. package/dist/cleaners/brew.d.ts +4 -0
  16. package/dist/cleaners/brew.d.ts.map +1 -0
  17. package/dist/cleaners/brew.js +197 -0
  18. package/dist/cleaners/brew.js.map +1 -0
  19. package/dist/cleaners/brewEnhanced.d.ts +18 -0
  20. package/dist/cleaners/brewEnhanced.d.ts.map +1 -0
  21. package/dist/cleaners/brewEnhanced.js +255 -0
  22. package/dist/cleaners/brewEnhanced.js.map +1 -0
  23. package/dist/cleaners/bun.d.ts +14 -0
  24. package/dist/cleaners/bun.d.ts.map +1 -0
  25. package/dist/cleaners/bun.js +207 -0
  26. package/dist/cleaners/bun.js.map +1 -0
  27. package/dist/cleaners/chrome.d.ts +14 -0
  28. package/dist/cleaners/chrome.d.ts.map +1 -0
  29. package/dist/cleaners/chrome.js +250 -0
  30. package/dist/cleaners/chrome.js.map +1 -0
  31. package/dist/cleaners/docker.d.ts +35 -0
  32. package/dist/cleaners/docker.d.ts.map +1 -0
  33. package/dist/cleaners/docker.js +285 -0
  34. package/dist/cleaners/docker.js.map +1 -0
  35. package/dist/cleaners/firefox.d.ts +15 -0
  36. package/dist/cleaners/firefox.d.ts.map +1 -0
  37. package/dist/cleaners/firefox.js +281 -0
  38. package/dist/cleaners/firefox.js.map +1 -0
  39. package/dist/cleaners/flutter.d.ts +18 -0
  40. package/dist/cleaners/flutter.d.ts.map +1 -0
  41. package/dist/cleaners/flutter.js +354 -0
  42. package/dist/cleaners/flutter.js.map +1 -0
  43. package/dist/cleaners/goBuild.d.ts +18 -0
  44. package/dist/cleaners/goBuild.d.ts.map +1 -0
  45. package/dist/cleaners/goBuild.js +196 -0
  46. package/dist/cleaners/goBuild.js.map +1 -0
  47. package/dist/cleaners/gradle.d.ts +14 -0
  48. package/dist/cleaners/gradle.d.ts.map +1 -0
  49. package/dist/cleaners/gradle.js +336 -0
  50. package/dist/cleaners/gradle.js.map +1 -0
  51. package/dist/cleaners/index.d.ts +51 -0
  52. package/dist/cleaners/index.d.ts.map +1 -0
  53. package/dist/cleaners/index.js +247 -0
  54. package/dist/cleaners/index.js.map +1 -0
  55. package/dist/cleaners/jetbrains.d.ts +18 -0
  56. package/dist/cleaners/jetbrains.d.ts.map +1 -0
  57. package/dist/cleaners/jetbrains.js +441 -0
  58. package/dist/cleaners/jetbrains.js.map +1 -0
  59. package/dist/cleaners/nix.d.ts +4 -0
  60. package/dist/cleaners/nix.d.ts.map +1 -0
  61. package/dist/cleaners/nix.js +227 -0
  62. package/dist/cleaners/nix.js.map +1 -0
  63. package/dist/cleaners/nodeGyp.d.ts +14 -0
  64. package/dist/cleaners/nodeGyp.d.ts.map +1 -0
  65. package/dist/cleaners/nodeGyp.js +157 -0
  66. package/dist/cleaners/nodeGyp.js.map +1 -0
  67. package/dist/cleaners/npm.d.ts +14 -0
  68. package/dist/cleaners/npm.d.ts.map +1 -0
  69. package/dist/cleaners/npm.js +198 -0
  70. package/dist/cleaners/npm.js.map +1 -0
  71. package/dist/cleaners/npmEnhanced.d.ts +19 -0
  72. package/dist/cleaners/npmEnhanced.d.ts.map +1 -0
  73. package/dist/cleaners/npmEnhanced.js +336 -0
  74. package/dist/cleaners/npmEnhanced.js.map +1 -0
  75. package/dist/cleaners/nx.d.ts +18 -0
  76. package/dist/cleaners/nx.d.ts.map +1 -0
  77. package/dist/cleaners/nx.js +308 -0
  78. package/dist/cleaners/nx.js.map +1 -0
  79. package/dist/cleaners/pip.d.ts +19 -0
  80. package/dist/cleaners/pip.d.ts.map +1 -0
  81. package/dist/cleaners/pip.js +334 -0
  82. package/dist/cleaners/pip.js.map +1 -0
  83. package/dist/cleaners/pnpm.d.ts +14 -0
  84. package/dist/cleaners/pnpm.d.ts.map +1 -0
  85. package/dist/cleaners/pnpm.js +209 -0
  86. package/dist/cleaners/pnpm.js.map +1 -0
  87. package/dist/cleaners/turbo.d.ts +18 -0
  88. package/dist/cleaners/turbo.d.ts.map +1 -0
  89. package/dist/cleaners/turbo.js +325 -0
  90. package/dist/cleaners/turbo.js.map +1 -0
  91. package/dist/cleaners/vite.d.ts +17 -0
  92. package/dist/cleaners/vite.d.ts.map +1 -0
  93. package/dist/cleaners/vite.js +274 -0
  94. package/dist/cleaners/vite.js.map +1 -0
  95. package/dist/cleaners/vscode.d.ts +14 -0
  96. package/dist/cleaners/vscode.d.ts.map +1 -0
  97. package/dist/cleaners/vscode.js +354 -0
  98. package/dist/cleaners/vscode.js.map +1 -0
  99. package/dist/cleaners/webpack.d.ts +17 -0
  100. package/dist/cleaners/webpack.d.ts.map +1 -0
  101. package/dist/cleaners/webpack.js +263 -0
  102. package/dist/cleaners/webpack.js.map +1 -0
  103. package/dist/cleaners/xcode.d.ts +14 -0
  104. package/dist/cleaners/xcode.d.ts.map +1 -0
  105. package/dist/cleaners/xcode.js +348 -0
  106. package/dist/cleaners/xcode.js.map +1 -0
  107. package/dist/cleaners/yarn.d.ts +16 -0
  108. package/dist/cleaners/yarn.d.ts.map +1 -0
  109. package/dist/cleaners/yarn.js +266 -0
  110. package/dist/cleaners/yarn.js.map +1 -0
  111. package/dist/cli.d.ts +3 -0
  112. package/dist/cli.d.ts.map +1 -0
  113. package/dist/cli.js +346 -0
  114. package/dist/cli.js.map +1 -0
  115. package/dist/commands/auto.d.ts +8 -0
  116. package/dist/commands/auto.d.ts.map +1 -0
  117. package/dist/commands/auto.js +224 -0
  118. package/dist/commands/auto.js.map +1 -0
  119. package/dist/commands/categories.d.ts +8 -0
  120. package/dist/commands/categories.d.ts.map +1 -0
  121. package/dist/commands/categories.js +133 -0
  122. package/dist/commands/categories.js.map +1 -0
  123. package/dist/commands/clean.d.ts +3 -0
  124. package/dist/commands/clean.d.ts.map +1 -0
  125. package/dist/commands/clean.js +149 -0
  126. package/dist/commands/clean.js.map +1 -0
  127. package/dist/commands/config.d.ts +14 -0
  128. package/dist/commands/config.d.ts.map +1 -0
  129. package/dist/commands/config.js +445 -0
  130. package/dist/commands/config.js.map +1 -0
  131. package/dist/commands/configDoctor.d.ts +26 -0
  132. package/dist/commands/configDoctor.d.ts.map +1 -0
  133. package/dist/commands/configDoctor.js +60 -0
  134. package/dist/commands/configDoctor.js.map +1 -0
  135. package/dist/commands/doctor.d.ts +2 -0
  136. package/dist/commands/doctor.d.ts.map +1 -0
  137. package/dist/commands/doctor.js +141 -0
  138. package/dist/commands/doctor.js.map +1 -0
  139. package/dist/commands/emojis.d.ts +2 -0
  140. package/dist/commands/emojis.d.ts.map +1 -0
  141. package/dist/commands/emojis.js +28 -0
  142. package/dist/commands/emojis.js.map +1 -0
  143. package/dist/commands/interactive.d.ts +3 -0
  144. package/dist/commands/interactive.d.ts.map +1 -0
  145. package/dist/commands/interactive.js +284 -0
  146. package/dist/commands/interactive.js.map +1 -0
  147. package/dist/commands/interactiveEnhanced.d.ts +4 -0
  148. package/dist/commands/interactiveEnhanced.d.ts.map +1 -0
  149. package/dist/commands/interactiveEnhanced.js +460 -0
  150. package/dist/commands/interactiveEnhanced.js.map +1 -0
  151. package/dist/commands/list.d.ts +2 -0
  152. package/dist/commands/list.d.ts.map +1 -0
  153. package/dist/commands/list.js +68 -0
  154. package/dist/commands/list.js.map +1 -0
  155. package/dist/commands/sizes.d.ts +2 -0
  156. package/dist/commands/sizes.d.ts.map +1 -0
  157. package/dist/commands/sizes.js +87 -0
  158. package/dist/commands/sizes.js.map +1 -0
  159. package/dist/config/index.d.ts +26 -0
  160. package/dist/config/index.d.ts.map +1 -0
  161. package/dist/config/index.js +228 -0
  162. package/dist/config/index.js.map +1 -0
  163. package/dist/config/loadConfig.d.ts +7 -0
  164. package/dist/config/loadConfig.d.ts.map +1 -0
  165. package/dist/config/loadConfig.js +103 -0
  166. package/dist/config/loadConfig.js.map +1 -0
  167. package/dist/config/migrateConfig.d.ts +56 -0
  168. package/dist/config/migrateConfig.d.ts.map +1 -0
  169. package/dist/config/migrateConfig.js +102 -0
  170. package/dist/config/migrateConfig.js.map +1 -0
  171. package/dist/plugins/discovery.d.ts +6 -0
  172. package/dist/plugins/discovery.d.ts.map +1 -0
  173. package/dist/plugins/discovery.js +64 -0
  174. package/dist/plugins/discovery.js.map +1 -0
  175. package/dist/profiles/index.d.ts +61 -0
  176. package/dist/profiles/index.d.ts.map +1 -0
  177. package/dist/profiles/index.js +361 -0
  178. package/dist/profiles/index.js.map +1 -0
  179. package/dist/types/index.d.ts +161 -0
  180. package/dist/types/index.d.ts.map +1 -0
  181. package/dist/types/index.js +3 -0
  182. package/dist/types/index.js.map +1 -0
  183. package/dist/utils/cli.d.ts +44 -0
  184. package/dist/utils/cli.d.ts.map +1 -0
  185. package/dist/utils/cli.js +407 -0
  186. package/dist/utils/cli.js.map +1 -0
  187. package/dist/utils/fs.d.ts +15 -0
  188. package/dist/utils/fs.d.ts.map +1 -0
  189. package/dist/utils/fs.js +218 -0
  190. package/dist/utils/fs.js.map +1 -0
  191. package/package.json +122 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateConfig.js","sourceRoot":"","sources":["../../src/config/migrateConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface PluginInfo {
2
+ name: string;
3
+ path: string;
4
+ }
5
+ export declare function discoverPlugins(prefixes?: string[], scopes?: string[]): PluginInfo[];
6
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/plugins/discovery.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAuBD,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,MAAM,EAAyB,EACzC,MAAM,GAAE,MAAM,EAAO,GACpB,UAAU,EAAE,CA8Bd"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ // src/plugins/discovery.ts
3
+ // finds squeaky packages (+ optional scoped prefixes) installed in current project or globally
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.discoverPlugins = discoverPlugins;
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ function listNodeModulesRoots() {
12
+ const roots = new Set();
13
+ const cwd = process.cwd();
14
+ // Walk up looking for node_modules
15
+ let dir = cwd;
16
+ for (;;) {
17
+ const nm = node_path_1.default.join(dir, "node_modules");
18
+ if (node_fs_1.default.existsSync(nm))
19
+ roots.add(nm);
20
+ const parent = node_path_1.default.dirname(dir);
21
+ if (parent === dir)
22
+ break;
23
+ dir = parent;
24
+ }
25
+ // Add global npm prefix if present
26
+ if (process.env.npm_config_prefix) {
27
+ roots.add(node_path_1.default.join(process.env.npm_config_prefix, "lib", "node_modules"));
28
+ }
29
+ return Array.from(roots);
30
+ }
31
+ function discoverPlugins(prefixes = ["squeaky-cleaner-"], scopes = []) {
32
+ const roots = listNodeModulesRoots();
33
+ const found = [];
34
+ for (const root of roots) {
35
+ if (!node_fs_1.default.existsSync(root))
36
+ continue;
37
+ for (const entry of node_fs_1.default.readdirSync(root)) {
38
+ // scoped packages
39
+ if (entry.startsWith("@")) {
40
+ if (scopes.length && !scopes.includes(entry))
41
+ continue;
42
+ const scopeDir = node_path_1.default.join(root, entry);
43
+ if (!node_fs_1.default.existsSync(scopeDir))
44
+ continue;
45
+ for (const pkg of node_fs_1.default.readdirSync(scopeDir)) {
46
+ if (prefixes.some((p) => pkg.startsWith(p))) {
47
+ const pkgPath = node_path_1.default.join(scopeDir, pkg);
48
+ found.push({ name: `${entry}/${pkg}`, path: pkgPath });
49
+ }
50
+ }
51
+ }
52
+ else {
53
+ if (prefixes.some((p) => entry.startsWith(p))) {
54
+ const pkgPath = node_path_1.default.join(root, entry);
55
+ found.push({ name: entry, path: pkgPath });
56
+ }
57
+ }
58
+ }
59
+ }
60
+ // De-dup by name
61
+ const map = new Map(found.map((p) => [p.name, p]));
62
+ return Array.from(map.values());
63
+ }
64
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/plugins/discovery.ts"],"names":[],"mappings":";AAAA,2BAA2B;AAC3B,+FAA+F;;;;;AA+B/F,0CAiCC;AA9DD,0DAA6B;AAC7B,sDAAyB;AAOzB,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,mCAAmC;IACnC,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,SAAS,CAAC;QACR,MAAM,EAAE,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,iBAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe,CAC7B,WAAqB,CAAC,kBAAkB,CAAC,EACzC,SAAmB,EAAE;IAErB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,KAAK,IAAI,iBAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,kBAAkB;YAClB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACvD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACvC,KAAK,MAAM,GAAG,IAAI,iBAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { UserConfig } from "../types";
2
+ /**
3
+ * User profile definition
4
+ */
5
+ export interface UserProfile {
6
+ id: string;
7
+ name: string;
8
+ description: string;
9
+ icon?: string;
10
+ config: Partial<UserConfig>;
11
+ recommendedCleaners: string[];
12
+ autoCleanSchedule?: string;
13
+ }
14
+ /**
15
+ * Predefined user profiles for different workflows
16
+ */
17
+ export declare const profiles: Map<string, UserProfile>;
18
+ /**
19
+ * Profile manager for handling user profiles
20
+ */
21
+ export declare class ProfileManager {
22
+ private activeProfile;
23
+ /**
24
+ * Get a profile by ID
25
+ */
26
+ getProfile(id: string): UserProfile | undefined;
27
+ /**
28
+ * Get all available profiles
29
+ */
30
+ getAllProfiles(): UserProfile[];
31
+ /**
32
+ * Set the active profile
33
+ */
34
+ setActiveProfile(id: string): boolean;
35
+ /**
36
+ * Get the active profile
37
+ */
38
+ getActiveProfile(): UserProfile | null;
39
+ /**
40
+ * Apply a profile's configuration
41
+ */
42
+ applyProfile(id: string): Partial<UserConfig> | null;
43
+ /**
44
+ * Create a custom profile
45
+ */
46
+ createCustomProfile(profile: UserProfile): void;
47
+ /**
48
+ * Remove a profile
49
+ */
50
+ removeProfile(id: string): boolean;
51
+ /**
52
+ * Export profile as JSON
53
+ */
54
+ exportProfile(id: string): string | null;
55
+ /**
56
+ * Import profile from JSON
57
+ */
58
+ importProfile(json: string): boolean;
59
+ }
60
+ export declare const profileManager: ProfileManager;
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAkQ5C,CAAC;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAA4B;IAEjD;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/C;;OAEG;IACH,cAAc,IAAI,WAAW,EAAE;IAI/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASrC;;OAEG;IACH,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAItC;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IASpD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI/C;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAkBlC;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAYrC;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.profileManager = exports.ProfileManager = exports.profiles = void 0;
4
+ /**
5
+ * Predefined user profiles for different workflows
6
+ */
7
+ exports.profiles = new Map([
8
+ [
9
+ "developer",
10
+ {
11
+ id: "developer",
12
+ name: "Developer",
13
+ description: "Optimized for software development workflows",
14
+ icon: "👨‍💻",
15
+ config: {
16
+ enabledCaches: {
17
+ packageManagers: true,
18
+ buildTools: true,
19
+ browsers: false,
20
+ ides: true,
21
+ system: false,
22
+ },
23
+ tools: {
24
+ npm: true,
25
+ yarn: true,
26
+ pnpm: true,
27
+ bun: true,
28
+ pip: true,
29
+ webpack: true,
30
+ vite: true,
31
+ nx: true,
32
+ turbo: true,
33
+ flutter: true,
34
+ chrome: false,
35
+ firefox: false,
36
+ vscode: true,
37
+ xcode: true,
38
+ androidstudio: true,
39
+ jetbrains: true,
40
+ docker: true,
41
+ gradle: true,
42
+ maven: true,
43
+ },
44
+ cachePolicies: {
45
+ autoCleanOlderThan: 30,
46
+ preserveRecentlyUsed: 7,
47
+ preserveProjectSpecific: true,
48
+ preserveCriticalPriority: true,
49
+ defaultUseCase: "development",
50
+ },
51
+ },
52
+ recommendedCleaners: [
53
+ "npm",
54
+ "yarn",
55
+ "pnpm",
56
+ "pip",
57
+ "gradle",
58
+ "maven",
59
+ "vscode",
60
+ "jetbrains",
61
+ "docker",
62
+ "node-gyp",
63
+ "go-build",
64
+ ],
65
+ autoCleanSchedule: "0 0 * * 0", // Weekly on Sunday
66
+ },
67
+ ],
68
+ [
69
+ "content-creator",
70
+ {
71
+ id: "content-creator",
72
+ name: "Content Creator",
73
+ description: "Optimized for video editing and streaming",
74
+ icon: "🎬",
75
+ config: {
76
+ enabledCaches: {
77
+ packageManagers: false,
78
+ buildTools: false,
79
+ browsers: true,
80
+ ides: false,
81
+ system: true,
82
+ },
83
+ tools: {
84
+ npm: false,
85
+ yarn: false,
86
+ pnpm: false,
87
+ bun: false,
88
+ pip: false,
89
+ webpack: false,
90
+ vite: false,
91
+ nx: false,
92
+ turbo: false,
93
+ flutter: false,
94
+ chrome: true,
95
+ firefox: true,
96
+ vscode: false,
97
+ xcode: false,
98
+ androidstudio: false,
99
+ jetbrains: false,
100
+ docker: false,
101
+ gradle: false,
102
+ maven: false,
103
+ },
104
+ },
105
+ recommendedCleaners: [
106
+ "adobe-creative-cloud",
107
+ "final-cut",
108
+ "davinci-resolve",
109
+ "obs",
110
+ "chrome",
111
+ "firefox",
112
+ "zoom",
113
+ "discord",
114
+ ],
115
+ autoCleanSchedule: "0 0 * * 1,4", // Monday and Thursday
116
+ },
117
+ ],
118
+ [
119
+ "photographer",
120
+ {
121
+ id: "photographer",
122
+ name: "Photographer",
123
+ description: "Optimized for photo editing workflows",
124
+ icon: "📸",
125
+ config: {
126
+ enabledCaches: {
127
+ packageManagers: false,
128
+ buildTools: false,
129
+ browsers: true,
130
+ ides: false,
131
+ system: true,
132
+ },
133
+ },
134
+ recommendedCleaners: [
135
+ "adobe-lightroom",
136
+ "adobe-photoshop",
137
+ "capture-one",
138
+ "affinity-photo",
139
+ "chrome",
140
+ "firefox",
141
+ ],
142
+ autoCleanSchedule: "0 0 * * 0", // Weekly
143
+ },
144
+ ],
145
+ [
146
+ "musician",
147
+ {
148
+ id: "musician",
149
+ name: "Musician",
150
+ description: "Optimized for music production",
151
+ icon: "🎵",
152
+ config: {
153
+ enabledCaches: {
154
+ packageManagers: false,
155
+ buildTools: false,
156
+ browsers: false,
157
+ ides: false,
158
+ system: true,
159
+ },
160
+ },
161
+ recommendedCleaners: [
162
+ "ableton",
163
+ "logic-pro",
164
+ "pro-tools",
165
+ "fl-studio",
166
+ "native-instruments",
167
+ "vst-cache",
168
+ ],
169
+ autoCleanSchedule: "0 0 * * 0", // Weekly
170
+ },
171
+ ],
172
+ [
173
+ "general",
174
+ {
175
+ id: "general",
176
+ name: "General User",
177
+ description: "Balanced settings for general use",
178
+ icon: "🏠",
179
+ config: {
180
+ enabledCaches: {
181
+ packageManagers: false,
182
+ buildTools: false,
183
+ browsers: true,
184
+ ides: false,
185
+ system: true,
186
+ },
187
+ tools: {
188
+ npm: false,
189
+ yarn: false,
190
+ pnpm: false,
191
+ bun: false,
192
+ pip: false,
193
+ webpack: false,
194
+ vite: false,
195
+ nx: false,
196
+ turbo: false,
197
+ flutter: false,
198
+ chrome: true,
199
+ firefox: true,
200
+ vscode: false,
201
+ xcode: false,
202
+ androidstudio: false,
203
+ jetbrains: false,
204
+ docker: false,
205
+ gradle: false,
206
+ maven: false,
207
+ },
208
+ cachePolicies: {
209
+ autoCleanOlderThan: 60,
210
+ preserveRecentlyUsed: 14,
211
+ preserveProjectSpecific: false,
212
+ preserveCriticalPriority: true,
213
+ defaultUseCase: "production",
214
+ },
215
+ },
216
+ recommendedCleaners: [
217
+ "chrome",
218
+ "firefox",
219
+ "macos-cache",
220
+ "windows-temp",
221
+ "downloads-old",
222
+ "trash",
223
+ ],
224
+ autoCleanSchedule: "0 0 * * 0", // Weekly
225
+ },
226
+ ],
227
+ [
228
+ "power-user",
229
+ {
230
+ id: "power-user",
231
+ name: "Power User",
232
+ description: "Comprehensive cleaning for experienced users",
233
+ icon: "⚡",
234
+ config: {
235
+ enabledCaches: {
236
+ packageManagers: true,
237
+ buildTools: true,
238
+ browsers: true,
239
+ ides: true,
240
+ system: true,
241
+ },
242
+ cachePolicies: {
243
+ autoCleanOlderThan: 14,
244
+ preserveRecentlyUsed: 3,
245
+ preserveProjectSpecific: true,
246
+ preserveCriticalPriority: false,
247
+ defaultUseCase: "experimental",
248
+ },
249
+ safety: {
250
+ requireConfirmation: false,
251
+ dryRunDefault: false,
252
+ backupBeforeClearing: true,
253
+ excludeSystemCritical: false,
254
+ },
255
+ },
256
+ recommendedCleaners: ["*"], // All cleaners
257
+ autoCleanSchedule: "0 0 * * *", // Daily
258
+ },
259
+ ],
260
+ ]);
261
+ /**
262
+ * Profile manager for handling user profiles
263
+ */
264
+ class ProfileManager {
265
+ constructor() {
266
+ this.activeProfile = null;
267
+ }
268
+ /**
269
+ * Get a profile by ID
270
+ */
271
+ getProfile(id) {
272
+ return exports.profiles.get(id);
273
+ }
274
+ /**
275
+ * Get all available profiles
276
+ */
277
+ getAllProfiles() {
278
+ return Array.from(exports.profiles.values());
279
+ }
280
+ /**
281
+ * Set the active profile
282
+ */
283
+ setActiveProfile(id) {
284
+ const profile = this.getProfile(id);
285
+ if (profile) {
286
+ this.activeProfile = profile;
287
+ return true;
288
+ }
289
+ return false;
290
+ }
291
+ /**
292
+ * Get the active profile
293
+ */
294
+ getActiveProfile() {
295
+ return this.activeProfile;
296
+ }
297
+ /**
298
+ * Apply a profile's configuration
299
+ */
300
+ applyProfile(id) {
301
+ const profile = this.getProfile(id);
302
+ if (profile) {
303
+ this.activeProfile = profile;
304
+ return profile.config;
305
+ }
306
+ return null;
307
+ }
308
+ /**
309
+ * Create a custom profile
310
+ */
311
+ createCustomProfile(profile) {
312
+ exports.profiles.set(profile.id, profile);
313
+ }
314
+ /**
315
+ * Remove a profile
316
+ */
317
+ removeProfile(id) {
318
+ // Don't allow removing default profiles
319
+ const defaultProfiles = [
320
+ "developer",
321
+ "content-creator",
322
+ "photographer",
323
+ "musician",
324
+ "general",
325
+ "power-user",
326
+ ];
327
+ if (defaultProfiles.includes(id)) {
328
+ return false;
329
+ }
330
+ return exports.profiles.delete(id);
331
+ }
332
+ /**
333
+ * Export profile as JSON
334
+ */
335
+ exportProfile(id) {
336
+ const profile = this.getProfile(id);
337
+ if (profile) {
338
+ return JSON.stringify(profile, null, 2);
339
+ }
340
+ return null;
341
+ }
342
+ /**
343
+ * Import profile from JSON
344
+ */
345
+ importProfile(json) {
346
+ try {
347
+ const profile = JSON.parse(json);
348
+ if (profile.id && profile.name && profile.config) {
349
+ this.createCustomProfile(profile);
350
+ return true;
351
+ }
352
+ }
353
+ catch (error) {
354
+ console.error("Failed to import profile:", error);
355
+ }
356
+ return false;
357
+ }
358
+ }
359
+ exports.ProfileManager = ProfileManager;
360
+ exports.profileManager = new ProfileManager();
361
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ export interface CacheCategory {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ paths: string[];
6
+ size?: number;
7
+ lastAccessed?: Date;
8
+ lastModified?: Date;
9
+ priority: "critical" | "important" | "normal" | "low";
10
+ useCase: "development" | "testing" | "production" | "experimental" | "archived";
11
+ isProjectSpecific?: boolean;
12
+ projectPath?: string;
13
+ ageInDays?: number;
14
+ }
15
+ export interface CacheInfo {
16
+ name: string;
17
+ type: CacheType;
18
+ description: string;
19
+ paths: string[];
20
+ isInstalled: boolean;
21
+ size?: number;
22
+ lastModified?: Date;
23
+ categories?: CacheCategory[];
24
+ totalSize?: number;
25
+ oldestCache?: Date;
26
+ newestCache?: Date;
27
+ }
28
+ export type CacheType = "package-manager" | "build-tool" | "browser" | "ide" | "system" | "other";
29
+ export interface CacheSelectionCriteria {
30
+ olderThanDays?: number;
31
+ newerThanDays?: number;
32
+ largerThanMB?: number;
33
+ smallerThanMB?: number;
34
+ useCases?: Array<"development" | "testing" | "production" | "experimental" | "archived">;
35
+ priorities?: Array<"critical" | "important" | "normal" | "low">;
36
+ projectSpecific?: boolean;
37
+ categories?: string[];
38
+ }
39
+ export interface ClearResult {
40
+ name: string;
41
+ success: boolean;
42
+ sizeBefore?: number;
43
+ sizeAfter?: number;
44
+ error?: string;
45
+ clearedPaths: string[];
46
+ clearedCategories?: string[];
47
+ }
48
+ export interface ToolGranularSettings {
49
+ enabled: boolean;
50
+ categories?: {
51
+ [categoryId: string]: {
52
+ enabled: boolean;
53
+ autoClean?: boolean;
54
+ maxAge?: number;
55
+ maxSize?: number;
56
+ };
57
+ };
58
+ defaultSelectionCriteria?: CacheSelectionCriteria;
59
+ }
60
+ export interface UserConfig {
61
+ activeProfile?: string;
62
+ protectedPaths?: string[];
63
+ enabledCaches: {
64
+ packageManagers: boolean;
65
+ buildTools: boolean;
66
+ browsers: boolean;
67
+ ides: boolean;
68
+ system: boolean;
69
+ };
70
+ tools: {
71
+ npm: boolean;
72
+ yarn: boolean;
73
+ pnpm: boolean;
74
+ bun: boolean;
75
+ pip: boolean;
76
+ webpack: boolean;
77
+ vite: boolean;
78
+ nx: boolean;
79
+ turbo: boolean;
80
+ flutter: boolean;
81
+ chrome: boolean;
82
+ firefox: boolean;
83
+ vscode: boolean;
84
+ xcode: boolean;
85
+ androidstudio: boolean;
86
+ jetbrains: boolean;
87
+ docker: boolean;
88
+ gradle: boolean;
89
+ maven: boolean;
90
+ };
91
+ toolSettings?: {
92
+ [toolName: string]: ToolGranularSettings;
93
+ };
94
+ cachePolicies?: {
95
+ autoCleanOlderThan?: number;
96
+ preserveRecentlyUsed?: number;
97
+ preserveProjectSpecific?: boolean;
98
+ preserveCriticalPriority?: boolean;
99
+ defaultUseCase?: "development" | "testing" | "production" | "experimental" | "archived";
100
+ };
101
+ safety: {
102
+ requireConfirmation: boolean;
103
+ dryRunDefault: boolean;
104
+ backupBeforeClearing: boolean;
105
+ excludeSystemCritical: boolean;
106
+ preserveActiveDevelopment?: boolean;
107
+ };
108
+ customPaths: string[];
109
+ output: {
110
+ verbose: boolean;
111
+ showSizes: boolean;
112
+ useColors: boolean;
113
+ quiet?: boolean;
114
+ format?: "json" | "text";
115
+ showCategories?: boolean;
116
+ showRecency?: boolean;
117
+ emojis?: "on" | "off" | "minimal";
118
+ };
119
+ scheduler?: {
120
+ enabled: boolean;
121
+ schedule?: string;
122
+ lastRun?: string;
123
+ nextRun?: string;
124
+ };
125
+ }
126
+ export interface CleanerModule {
127
+ name: string;
128
+ type: CacheType;
129
+ description: string;
130
+ isAvailable: () => Promise<boolean>;
131
+ getCacheInfo: () => Promise<CacheInfo>;
132
+ getCacheCategories?: () => Promise<CacheCategory[]>;
133
+ clear: (dryRun?: boolean, criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]) => Promise<ClearResult>;
134
+ clearByCategory?: (categoryIds: string[], dryRun?: boolean, cacheInfo?: CacheInfo, protectedPaths?: string[]) => Promise<ClearResult>;
135
+ }
136
+ export interface CommandOptions {
137
+ all?: boolean;
138
+ dryRun?: boolean;
139
+ verbose?: boolean;
140
+ force?: boolean;
141
+ types?: string[];
142
+ exclude?: string[];
143
+ include?: string[];
144
+ subCaches?: string[];
145
+ olderThan?: string;
146
+ newerThan?: string;
147
+ largerThan?: string;
148
+ smallerThan?: string;
149
+ useCase?: string;
150
+ priority?: string;
151
+ categories?: string[];
152
+ showCategories?: boolean;
153
+ config?: boolean;
154
+ sizes?: boolean;
155
+ }
156
+ export interface CacheSizeInfo {
157
+ total: number;
158
+ byType: Record<CacheType, number>;
159
+ byTool: Record<string, number>;
160
+ }
161
+ //# sourceMappingURL=index.d.ts.map