squeaky-clean 0.1.7 → 0.1.10

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 (217) hide show
  1. package/package.json +25 -23
  2. package/dist/cleaners/BaseCleaner.d.ts +0 -57
  3. package/dist/cleaners/BaseCleaner.d.ts.map +0 -1
  4. package/dist/cleaners/BaseCleaner.js +0 -299
  5. package/dist/cleaners/BaseCleaner.js.map +0 -1
  6. package/dist/cleaners/CleanerRegistry.d.ts +0 -65
  7. package/dist/cleaners/CleanerRegistry.d.ts.map +0 -1
  8. package/dist/cleaners/CleanerRegistry.js +0 -112
  9. package/dist/cleaners/CleanerRegistry.js.map +0 -1
  10. package/dist/cleaners/androidstudio.d.ts +0 -16
  11. package/dist/cleaners/androidstudio.d.ts.map +0 -1
  12. package/dist/cleaners/androidstudio.js +0 -375
  13. package/dist/cleaners/androidstudio.js.map +0 -1
  14. package/dist/cleaners/brew.d.ts +0 -4
  15. package/dist/cleaners/brew.d.ts.map +0 -1
  16. package/dist/cleaners/brew.js +0 -197
  17. package/dist/cleaners/brew.js.map +0 -1
  18. package/dist/cleaners/brewEnhanced.d.ts +0 -18
  19. package/dist/cleaners/brewEnhanced.d.ts.map +0 -1
  20. package/dist/cleaners/brewEnhanced.js +0 -255
  21. package/dist/cleaners/brewEnhanced.js.map +0 -1
  22. package/dist/cleaners/bun.d.ts +0 -14
  23. package/dist/cleaners/bun.d.ts.map +0 -1
  24. package/dist/cleaners/bun.js +0 -207
  25. package/dist/cleaners/bun.js.map +0 -1
  26. package/dist/cleaners/cargo.d.ts +0 -15
  27. package/dist/cleaners/cargo.d.ts.map +0 -1
  28. package/dist/cleaners/cargo.js +0 -193
  29. package/dist/cleaners/cargo.js.map +0 -1
  30. package/dist/cleaners/chrome.d.ts +0 -14
  31. package/dist/cleaners/chrome.d.ts.map +0 -1
  32. package/dist/cleaners/chrome.js +0 -250
  33. package/dist/cleaners/chrome.js.map +0 -1
  34. package/dist/cleaners/cocoapods.d.ts +0 -16
  35. package/dist/cleaners/cocoapods.d.ts.map +0 -1
  36. package/dist/cleaners/cocoapods.js +0 -180
  37. package/dist/cleaners/cocoapods.js.map +0 -1
  38. package/dist/cleaners/docker.d.ts +0 -35
  39. package/dist/cleaners/docker.d.ts.map +0 -1
  40. package/dist/cleaners/docker.js +0 -285
  41. package/dist/cleaners/docker.js.map +0 -1
  42. package/dist/cleaners/firefox.d.ts +0 -15
  43. package/dist/cleaners/firefox.d.ts.map +0 -1
  44. package/dist/cleaners/firefox.js +0 -281
  45. package/dist/cleaners/firefox.js.map +0 -1
  46. package/dist/cleaners/flutter.d.ts +0 -18
  47. package/dist/cleaners/flutter.d.ts.map +0 -1
  48. package/dist/cleaners/flutter.js +0 -354
  49. package/dist/cleaners/flutter.js.map +0 -1
  50. package/dist/cleaners/goBuild.d.ts +0 -18
  51. package/dist/cleaners/goBuild.d.ts.map +0 -1
  52. package/dist/cleaners/goBuild.js +0 -196
  53. package/dist/cleaners/goBuild.js.map +0 -1
  54. package/dist/cleaners/gradle.d.ts +0 -14
  55. package/dist/cleaners/gradle.d.ts.map +0 -1
  56. package/dist/cleaners/gradle.js +0 -336
  57. package/dist/cleaners/gradle.js.map +0 -1
  58. package/dist/cleaners/index.d.ts +0 -51
  59. package/dist/cleaners/index.d.ts.map +0 -1
  60. package/dist/cleaners/index.js +0 -247
  61. package/dist/cleaners/index.js.map +0 -1
  62. package/dist/cleaners/jetbrains.d.ts +0 -18
  63. package/dist/cleaners/jetbrains.d.ts.map +0 -1
  64. package/dist/cleaners/jetbrains.js +0 -441
  65. package/dist/cleaners/jetbrains.js.map +0 -1
  66. package/dist/cleaners/maven.d.ts +0 -15
  67. package/dist/cleaners/maven.d.ts.map +0 -1
  68. package/dist/cleaners/maven.js +0 -182
  69. package/dist/cleaners/maven.js.map +0 -1
  70. package/dist/cleaners/nix.d.ts +0 -4
  71. package/dist/cleaners/nix.d.ts.map +0 -1
  72. package/dist/cleaners/nix.js +0 -227
  73. package/dist/cleaners/nix.js.map +0 -1
  74. package/dist/cleaners/nodeGyp.d.ts +0 -14
  75. package/dist/cleaners/nodeGyp.d.ts.map +0 -1
  76. package/dist/cleaners/nodeGyp.js +0 -157
  77. package/dist/cleaners/nodeGyp.js.map +0 -1
  78. package/dist/cleaners/npm.d.ts +0 -14
  79. package/dist/cleaners/npm.d.ts.map +0 -1
  80. package/dist/cleaners/npm.js +0 -198
  81. package/dist/cleaners/npm.js.map +0 -1
  82. package/dist/cleaners/npmEnhanced.d.ts +0 -19
  83. package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
  84. package/dist/cleaners/npmEnhanced.js +0 -336
  85. package/dist/cleaners/npmEnhanced.js.map +0 -1
  86. package/dist/cleaners/nuget.d.ts +0 -16
  87. package/dist/cleaners/nuget.d.ts.map +0 -1
  88. package/dist/cleaners/nuget.js +0 -197
  89. package/dist/cleaners/nuget.js.map +0 -1
  90. package/dist/cleaners/nx.d.ts +0 -18
  91. package/dist/cleaners/nx.d.ts.map +0 -1
  92. package/dist/cleaners/nx.js +0 -308
  93. package/dist/cleaners/nx.js.map +0 -1
  94. package/dist/cleaners/pip.d.ts +0 -19
  95. package/dist/cleaners/pip.d.ts.map +0 -1
  96. package/dist/cleaners/pip.js +0 -334
  97. package/dist/cleaners/pip.js.map +0 -1
  98. package/dist/cleaners/pipenv.d.ts +0 -16
  99. package/dist/cleaners/pipenv.d.ts.map +0 -1
  100. package/dist/cleaners/pipenv.js +0 -184
  101. package/dist/cleaners/pipenv.js.map +0 -1
  102. package/dist/cleaners/pnpm.d.ts +0 -14
  103. package/dist/cleaners/pnpm.d.ts.map +0 -1
  104. package/dist/cleaners/pnpm.js +0 -209
  105. package/dist/cleaners/pnpm.js.map +0 -1
  106. package/dist/cleaners/poetry.d.ts +0 -16
  107. package/dist/cleaners/poetry.d.ts.map +0 -1
  108. package/dist/cleaners/poetry.js +0 -184
  109. package/dist/cleaners/poetry.js.map +0 -1
  110. package/dist/cleaners/swiftpm.d.ts +0 -16
  111. package/dist/cleaners/swiftpm.d.ts.map +0 -1
  112. package/dist/cleaners/swiftpm.js +0 -179
  113. package/dist/cleaners/swiftpm.js.map +0 -1
  114. package/dist/cleaners/turbo.d.ts +0 -18
  115. package/dist/cleaners/turbo.d.ts.map +0 -1
  116. package/dist/cleaners/turbo.js +0 -325
  117. package/dist/cleaners/turbo.js.map +0 -1
  118. package/dist/cleaners/vite.d.ts +0 -17
  119. package/dist/cleaners/vite.d.ts.map +0 -1
  120. package/dist/cleaners/vite.js +0 -274
  121. package/dist/cleaners/vite.js.map +0 -1
  122. package/dist/cleaners/vscode.d.ts +0 -14
  123. package/dist/cleaners/vscode.d.ts.map +0 -1
  124. package/dist/cleaners/vscode.js +0 -354
  125. package/dist/cleaners/vscode.js.map +0 -1
  126. package/dist/cleaners/webpack.d.ts +0 -17
  127. package/dist/cleaners/webpack.d.ts.map +0 -1
  128. package/dist/cleaners/webpack.js +0 -263
  129. package/dist/cleaners/webpack.js.map +0 -1
  130. package/dist/cleaners/xcode.d.ts +0 -14
  131. package/dist/cleaners/xcode.d.ts.map +0 -1
  132. package/dist/cleaners/xcode.js +0 -348
  133. package/dist/cleaners/xcode.js.map +0 -1
  134. package/dist/cleaners/yarn.d.ts +0 -16
  135. package/dist/cleaners/yarn.d.ts.map +0 -1
  136. package/dist/cleaners/yarn.js +0 -266
  137. package/dist/cleaners/yarn.js.map +0 -1
  138. package/dist/cli.d.ts +0 -3
  139. package/dist/cli.d.ts.map +0 -1
  140. package/dist/cli.js +0 -346
  141. package/dist/cli.js.map +0 -1
  142. package/dist/commands/auto.d.ts +0 -8
  143. package/dist/commands/auto.d.ts.map +0 -1
  144. package/dist/commands/auto.js +0 -224
  145. package/dist/commands/auto.js.map +0 -1
  146. package/dist/commands/categories.d.ts +0 -8
  147. package/dist/commands/categories.d.ts.map +0 -1
  148. package/dist/commands/categories.js +0 -133
  149. package/dist/commands/categories.js.map +0 -1
  150. package/dist/commands/clean.d.ts +0 -3
  151. package/dist/commands/clean.d.ts.map +0 -1
  152. package/dist/commands/clean.js +0 -149
  153. package/dist/commands/clean.js.map +0 -1
  154. package/dist/commands/config.d.ts +0 -14
  155. package/dist/commands/config.d.ts.map +0 -1
  156. package/dist/commands/config.js +0 -445
  157. package/dist/commands/config.js.map +0 -1
  158. package/dist/commands/configDoctor.d.ts +0 -26
  159. package/dist/commands/configDoctor.d.ts.map +0 -1
  160. package/dist/commands/configDoctor.js +0 -60
  161. package/dist/commands/configDoctor.js.map +0 -1
  162. package/dist/commands/doctor.d.ts +0 -2
  163. package/dist/commands/doctor.d.ts.map +0 -1
  164. package/dist/commands/doctor.js +0 -141
  165. package/dist/commands/doctor.js.map +0 -1
  166. package/dist/commands/emojis.d.ts +0 -2
  167. package/dist/commands/emojis.d.ts.map +0 -1
  168. package/dist/commands/emojis.js +0 -28
  169. package/dist/commands/emojis.js.map +0 -1
  170. package/dist/commands/interactive.d.ts +0 -3
  171. package/dist/commands/interactive.d.ts.map +0 -1
  172. package/dist/commands/interactive.js +0 -284
  173. package/dist/commands/interactive.js.map +0 -1
  174. package/dist/commands/interactiveEnhanced.d.ts +0 -4
  175. package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
  176. package/dist/commands/interactiveEnhanced.js +0 -460
  177. package/dist/commands/interactiveEnhanced.js.map +0 -1
  178. package/dist/commands/list.d.ts +0 -2
  179. package/dist/commands/list.d.ts.map +0 -1
  180. package/dist/commands/list.js +0 -68
  181. package/dist/commands/list.js.map +0 -1
  182. package/dist/commands/sizes.d.ts +0 -2
  183. package/dist/commands/sizes.d.ts.map +0 -1
  184. package/dist/commands/sizes.js +0 -87
  185. package/dist/commands/sizes.js.map +0 -1
  186. package/dist/config/index.d.ts +0 -31
  187. package/dist/config/index.d.ts.map +0 -1
  188. package/dist/config/index.js +0 -241
  189. package/dist/config/index.js.map +0 -1
  190. package/dist/config/loadConfig.d.ts +0 -7
  191. package/dist/config/loadConfig.d.ts.map +0 -1
  192. package/dist/config/loadConfig.js +0 -103
  193. package/dist/config/loadConfig.js.map +0 -1
  194. package/dist/config/migrateConfig.d.ts +0 -56
  195. package/dist/config/migrateConfig.d.ts.map +0 -1
  196. package/dist/config/migrateConfig.js +0 -102
  197. package/dist/config/migrateConfig.js.map +0 -1
  198. package/dist/plugins/discovery.d.ts +0 -6
  199. package/dist/plugins/discovery.d.ts.map +0 -1
  200. package/dist/plugins/discovery.js +0 -64
  201. package/dist/plugins/discovery.js.map +0 -1
  202. package/dist/profiles/index.d.ts +0 -61
  203. package/dist/profiles/index.d.ts.map +0 -1
  204. package/dist/profiles/index.js +0 -361
  205. package/dist/profiles/index.js.map +0 -1
  206. package/dist/types/index.d.ts +0 -161
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/index.js +0 -3
  209. package/dist/types/index.js.map +0 -1
  210. package/dist/utils/cli.d.ts +0 -44
  211. package/dist/utils/cli.d.ts.map +0 -1
  212. package/dist/utils/cli.js +0 -410
  213. package/dist/utils/cli.js.map +0 -1
  214. package/dist/utils/fs.d.ts +0 -15
  215. package/dist/utils/fs.d.ts.map +0 -1
  216. package/dist/utils/fs.js +0 -218
  217. package/dist/utils/fs.js.map +0 -1
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sizesCommand = sizesCommand;
7
- const cli_1 = require("../utils/cli");
8
- const cleaners_1 = require("../cleaners");
9
- const ora_1 = __importDefault(require("ora"));
10
- async function sizesCommand(_options) {
11
- try {
12
- (0, cli_1.printInfo)(`${cli_1.symbols.soap} Cache Sizes`);
13
- (0, cli_1.printInfo)("──────────────");
14
- const spinner = (0, ora_1.default)("Scanning cache directories...").start();
15
- try {
16
- const cacheInfos = await cleaners_1.cacheManager.getAllCacheInfo();
17
- spinner.stop();
18
- console.log(); // Add some space
19
- let totalSize = 0;
20
- let foundCaches = 0;
21
- // Group by cache type
22
- const groupedCaches = new Map();
23
- for (const info of cacheInfos) {
24
- const type = info.type || "other";
25
- if (!groupedCaches.has(type)) {
26
- groupedCaches.set(type, []);
27
- }
28
- groupedCaches.get(type).push(info);
29
- }
30
- // Display results grouped by type
31
- const typeEmojis = {
32
- "package-manager": "📦",
33
- "build-tool": "🔧",
34
- ide: "💻",
35
- browser: "🌐",
36
- system: "⚙️",
37
- other: "📁",
38
- };
39
- const typeNames = {
40
- "package-manager": "Package Managers",
41
- "build-tool": "Build Tools",
42
- ide: "Development Environments",
43
- browser: "Browsers",
44
- system: "System Tools",
45
- other: "Other",
46
- };
47
- for (const [type, infos] of groupedCaches) {
48
- const emoji = typeEmojis[type] || "📁";
49
- const typeName = typeNames[type] || type;
50
- console.log(`${emoji} ${typeName}`);
51
- for (const info of infos) {
52
- if (info.size && info.size > 0) {
53
- const sizeFormatted = (0, cli_1.formatSizeWithColor)(info.size);
54
- (0, cli_1.printSuccess)(` ✅ ${info.name}: ${sizeFormatted}`);
55
- totalSize += info.size;
56
- foundCaches++;
57
- }
58
- else if (info.paths && info.paths.length > 0) {
59
- (0, cli_1.printInfo)(` ⚪ ${info.name}: No cache data found`);
60
- }
61
- else {
62
- (0, cli_1.printInfo)(` ❌ ${info.name}: Not available`);
63
- }
64
- }
65
- console.log(); // Space between groups
66
- }
67
- // Summary
68
- if (foundCaches > 0) {
69
- const totalFormatted = (0, cli_1.formatSizeWithColor)(totalSize);
70
- (0, cli_1.printSuccess)(`📊 Total cache size: ${totalFormatted} across ${foundCaches} cache${foundCaches > 1 ? "s" : ""}`);
71
- (0, cli_1.printInfo)(`💡 Use 'squeaky clean --dry-run' to see what can be cleaned`);
72
- }
73
- else {
74
- (0, cli_1.printInfo)("No cache data found. This might mean caches are already clean or tools aren't installed.");
75
- }
76
- }
77
- catch (error) {
78
- spinner.fail("Failed to scan cache directories");
79
- throw error;
80
- }
81
- }
82
- catch (error) {
83
- (0, cli_1.printError)(`Sizes command error: ${error}`);
84
- throw error;
85
- }
86
- }
87
- //# sourceMappingURL=sizes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sizes.js","sourceRoot":"","sources":["../../src/commands/sizes.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { UserConfig } from "../types";
2
- export declare const defaultConfig: UserConfig;
3
- declare class ConfigManager {
4
- private conf;
5
- private customConfig;
6
- private customConfigPath;
7
- constructor();
8
- loadCustomConfig(configPath: string): void;
9
- get(): UserConfig;
10
- set(config: Partial<UserConfig>): void;
11
- reset(): void;
12
- getConfigPath(): string;
13
- isToolEnabled(tool: keyof UserConfig["tools"]): boolean;
14
- isCacheTypeEnabled(type: keyof UserConfig["enabledCaches"]): boolean;
15
- shouldRequireConfirmation(): boolean;
16
- shouldUseDryRunDefault(): boolean;
17
- shouldShowSizes(): boolean;
18
- shouldUseColors(): boolean;
19
- isVerbose(): boolean;
20
- getEmojiMode(): "on" | "off" | "minimal";
21
- getCustomPaths(): string[];
22
- getProtectedPaths(): string[];
23
- /**
24
- * Check if fun mode is enabled via environment variable.
25
- * SQUEAKY_FUN_MODE=1 enables, SQUEAKY_FUN_MODE=0 disables.
26
- */
27
- isFunModeEnabled(): boolean;
28
- }
29
- export declare const config: ConfigManager;
30
- export { ConfigManager };
31
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,eAAO,MAAM,aAAa,EAAE,UAwD3B,CAAC;AAEF,cAAM,aAAa;IACjB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,gBAAgB,CAAuB;;IAkF/C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAe1C,GAAG,IAAI,UAAU;IAQjB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAStC,KAAK,IAAI,IAAI;IASb,aAAa,IAAI,MAAM;IAQvB,aAAa,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO;IAKvD,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,OAAO;IAKpE,yBAAyB,IAAI,OAAO;IAQpC,sBAAsB,IAAI,OAAO;IAKjC,eAAe,IAAI,OAAO;IAK1B,eAAe,IAAI,OAAO;IAK1B,SAAS,IAAI,OAAO;IAKpB,YAAY,IAAI,IAAI,GAAG,KAAK,GAAG,SAAS;IAMxC,cAAc,IAAI,MAAM,EAAE;IAK1B,iBAAiB,IAAI,MAAM,EAAE;IAK7B;;;OAGG;IACH,gBAAgB,IAAI,OAAO;CAO5B;AAED,eAAO,MAAM,MAAM,eAAsB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,241 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ConfigManager = exports.config = exports.defaultConfig = void 0;
7
- const conf_1 = __importDefault(require("conf"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
10
- exports.defaultConfig = {
11
- enabledCaches: {
12
- packageManagers: true,
13
- buildTools: true,
14
- browsers: false, // More conservative default
15
- ides: false, // More conservative default
16
- system: false, // More conservative default
17
- },
18
- tools: {
19
- // Package managers
20
- npm: true,
21
- yarn: true,
22
- pnpm: true,
23
- bun: true,
24
- pip: true, // Python pip caches are generally safe to clear
25
- // Build tools
26
- webpack: true,
27
- vite: true,
28
- nx: true,
29
- turbo: true,
30
- flutter: true, // Flutter caches are safe and can be large
31
- // Browsers
32
- chrome: false, // More conservative - browser caches can affect user experience
33
- firefox: false,
34
- // IDEs
35
- vscode: true, // VS Code caches are generally safe to clear
36
- xcode: true, // Xcode can accumulate huge caches
37
- androidstudio: true, // Android Studio caches are safe and can be large
38
- jetbrains: false, // More conservative for JetBrains IDEs
39
- // System tools
40
- docker: false, // More conservative - Docker cleanup affects containers
41
- gradle: true, // Gradle caches are safe and can be large
42
- maven: true, // Maven caches are safe and can be large
43
- },
44
- safety: {
45
- requireConfirmation: true,
46
- dryRunDefault: false,
47
- backupBeforeClearing: false,
48
- excludeSystemCritical: true,
49
- },
50
- customPaths: [],
51
- protectedPaths: [], // New property
52
- output: {
53
- verbose: false,
54
- showSizes: true,
55
- useColors: true,
56
- emojis: "on",
57
- },
58
- };
59
- class ConfigManager {
60
- constructor() {
61
- this.customConfig = null;
62
- this.customConfigPath = null;
63
- this.conf = new conf_1.default({
64
- projectName: "squeaky-clean",
65
- projectVersion: "1.0.0",
66
- defaults: exports.defaultConfig,
67
- schema: {
68
- enabledCaches: {
69
- type: "object",
70
- properties: {
71
- packageManagers: { type: "boolean" },
72
- buildTools: { type: "boolean" },
73
- browsers: { type: "boolean" },
74
- ides: { type: "boolean" },
75
- system: { type: "boolean" },
76
- },
77
- },
78
- tools: {
79
- type: "object",
80
- properties: {
81
- // Package managers
82
- npm: { type: "boolean" },
83
- yarn: { type: "boolean" },
84
- pnpm: { type: "boolean" },
85
- bun: { type: "boolean" },
86
- pip: { type: "boolean" },
87
- // Build tools
88
- webpack: { type: "boolean" },
89
- vite: { type: "boolean" },
90
- nx: { type: "boolean" },
91
- turbo: { type: "boolean" },
92
- flutter: { type: "boolean" },
93
- // Browsers
94
- chrome: { type: "boolean" },
95
- firefox: { type: "boolean" },
96
- // IDEs
97
- vscode: { type: "boolean" },
98
- xcode: { type: "boolean" },
99
- androidstudio: { type: "boolean" },
100
- jetbrains: { type: "boolean" },
101
- // System tools
102
- docker: { type: "boolean" },
103
- gradle: { type: "boolean" },
104
- maven: { type: "boolean" },
105
- },
106
- },
107
- safety: {
108
- type: "object",
109
- properties: {
110
- requireConfirmation: { type: "boolean" },
111
- dryRunDefault: { type: "boolean" },
112
- backupBeforeClearing: { type: "boolean" },
113
- excludeSystemCritical: { type: "boolean" },
114
- },
115
- },
116
- customPaths: {
117
- type: "array",
118
- items: { type: "string" },
119
- },
120
- protectedPaths: {
121
- // New property
122
- type: "array",
123
- items: { type: "string" },
124
- },
125
- output: {
126
- type: "object",
127
- properties: {
128
- verbose: { type: "boolean" },
129
- showSizes: { type: "boolean" },
130
- useColors: { type: "boolean" },
131
- emojis: { type: "string", enum: ["on", "off", "minimal"] },
132
- },
133
- },
134
- },
135
- });
136
- }
137
- loadCustomConfig(configPath) {
138
- try {
139
- const resolvedPath = path_1.default.resolve(configPath);
140
- if (!fs_1.default.existsSync(resolvedPath)) {
141
- throw new Error(`Config file not found: ${resolvedPath}`);
142
- }
143
- const configContent = fs_1.default.readFileSync(resolvedPath, "utf-8");
144
- this.customConfig = JSON.parse(configContent);
145
- this.customConfigPath = resolvedPath;
146
- }
147
- catch (error) {
148
- throw new Error(`Failed to load config from ${configPath}: ${error}`);
149
- }
150
- }
151
- get() {
152
- // If custom config is loaded, return it instead of the default
153
- if (this.customConfig) {
154
- return this.customConfig;
155
- }
156
- return this.conf.store;
157
- }
158
- set(config) {
159
- if (this.customConfig) {
160
- // Update custom config in memory (but don't save to file)
161
- this.customConfig = { ...this.customConfig, ...config };
162
- }
163
- else {
164
- this.conf.set(config);
165
- }
166
- }
167
- reset() {
168
- if (this.customConfig) {
169
- this.customConfig = null;
170
- this.customConfigPath = null;
171
- }
172
- else {
173
- this.conf.clear();
174
- }
175
- }
176
- getConfigPath() {
177
- if (this.customConfigPath) {
178
- return this.customConfigPath;
179
- }
180
- return this.conf.path;
181
- }
182
- // Specific getters for convenience
183
- isToolEnabled(tool) {
184
- const config = this.get();
185
- return config.tools?.[tool] ?? exports.defaultConfig.tools[tool];
186
- }
187
- isCacheTypeEnabled(type) {
188
- const config = this.get();
189
- return config.enabledCaches?.[type] ?? exports.defaultConfig.enabledCaches[type];
190
- }
191
- shouldRequireConfirmation() {
192
- const config = this.get();
193
- return (config.safety?.requireConfirmation ??
194
- exports.defaultConfig.safety.requireConfirmation);
195
- }
196
- shouldUseDryRunDefault() {
197
- const config = this.get();
198
- return config.safety?.dryRunDefault ?? exports.defaultConfig.safety.dryRunDefault;
199
- }
200
- shouldShowSizes() {
201
- const config = this.get();
202
- return config.output?.showSizes ?? exports.defaultConfig.output.showSizes;
203
- }
204
- shouldUseColors() {
205
- const config = this.get();
206
- return config.output?.useColors ?? exports.defaultConfig.output.useColors;
207
- }
208
- isVerbose() {
209
- const config = this.get();
210
- return config.output?.verbose ?? exports.defaultConfig.output.verbose;
211
- }
212
- getEmojiMode() {
213
- const config = this.get();
214
- const output = config.output;
215
- return output?.emojis ?? exports.defaultConfig.output.emojis;
216
- }
217
- getCustomPaths() {
218
- const config = this.get();
219
- return config.customPaths ?? exports.defaultConfig.customPaths;
220
- }
221
- getProtectedPaths() {
222
- const config = this.get();
223
- return config.protectedPaths ?? [];
224
- }
225
- /**
226
- * Check if fun mode is enabled via environment variable.
227
- * SQUEAKY_FUN_MODE=1 enables, SQUEAKY_FUN_MODE=0 disables.
228
- */
229
- isFunModeEnabled() {
230
- const envValue = process.env.SQUEAKY_FUN_MODE;
231
- if (envValue === "0")
232
- return false;
233
- if (envValue === "1")
234
- return true;
235
- // Default to true if not explicitly set
236
- return true;
237
- }
238
- }
239
- exports.ConfigManager = ConfigManager;
240
- exports.config = new ConfigManager();
241
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export type SqueakyConfig = Record<string, any>;
2
- export declare function loadJson(filePath: string): Promise<any>;
3
- export declare function expandEnv(str: string): string;
4
- export declare function deepMerge<T>(base: T, next: Partial<T>): T;
5
- export declare function resolveExtendsChain(entries: string | string[] | undefined, fromPath: string): Promise<any[]>;
6
- export declare function loadAndValidateConfig(configPath: string): Promise<SqueakyConfig>;
7
- //# sourceMappingURL=loadConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG7D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAUzD;AAmBD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,EAAE,CAAC,CAWhB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAoCxB"}
@@ -1,103 +0,0 @@
1
- "use strict";
2
- // src/config/loadConfig.ts
3
- // uses Ajv for schema validation
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.loadJson = loadJson;
9
- exports.expandEnv = expandEnv;
10
- exports.deepMerge = deepMerge;
11
- exports.resolveExtendsChain = resolveExtendsChain;
12
- exports.loadAndValidateConfig = loadAndValidateConfig;
13
- const node_fs_1 = __importDefault(require("node:fs"));
14
- const node_path_1 = __importDefault(require("node:path"));
15
- const ajv_1 = __importDefault(require("ajv"));
16
- const ajv_formats_1 = __importDefault(require("ajv-formats"));
17
- const ajv = new ajv_1.default({ allErrors: true, strict: true, allowUnionTypes: true });
18
- (0, ajv_formats_1.default)(ajv);
19
- async function loadJson(filePath) {
20
- const raw = await node_fs_1.default.promises.readFile(filePath, "utf8");
21
- return JSON.parse(raw);
22
- }
23
- function expandEnv(str) {
24
- // Supports ${VAR} and tilde
25
- const tilde = str.startsWith("~")
26
- ? str.replace(/^~(?=\/|$)/, process.env.HOME || "~")
27
- : str;
28
- return tilde.replace(/\$\{([^}]+)\}/g, (_, key) => process.env[key] ?? "");
29
- }
30
- function deepMerge(base, next) {
31
- if (Array.isArray(base) && Array.isArray(next))
32
- return next;
33
- if (typeof base === "object" && base && typeof next === "object" && next) {
34
- const out = { ...base };
35
- for (const [k, v] of Object.entries(next)) {
36
- out[k] = k in out ? deepMerge(out[k], v) : v;
37
- }
38
- return out;
39
- }
40
- return next ?? base;
41
- }
42
- async function resolveMaybePackage(idOrPath, cwd) {
43
- if (idOrPath.startsWith(".") ||
44
- idOrPath.startsWith("/") ||
45
- idOrPath.startsWith("~")) {
46
- const expanded = expandEnv(idOrPath);
47
- return node_path_1.default.isAbsolute(expanded) ? expanded : node_path_1.default.join(cwd, expanded);
48
- }
49
- // Try resolve from node_modules
50
- const pkgPath = require.resolve(idOrPath, { paths: [cwd] });
51
- return pkgPath;
52
- }
53
- async function resolveExtendsChain(entries, fromPath) {
54
- if (!entries)
55
- return [];
56
- const cwd = node_path_1.default.dirname(fromPath);
57
- const arr = Array.isArray(entries) ? entries : [entries];
58
- const resolved = [];
59
- for (const entry of arr) {
60
- const target = await resolveMaybePackage(entry, cwd);
61
- const json = await loadJson(target);
62
- resolved.push({ json, source: target });
63
- }
64
- return resolved;
65
- }
66
- async function loadAndValidateConfig(configPath) {
67
- const schemaPath = node_path_1.default.join(process.cwd(), "schemas/config.schema.json");
68
- const schema = await loadJson(schemaPath);
69
- const validate = ajv.compile(schema);
70
- const root = await loadJson(configPath);
71
- // Expand env in string leafs (shallow pass; paths/args/etc)
72
- function expandLeaves(obj) {
73
- if (typeof obj === "string")
74
- return expandEnv(obj);
75
- if (Array.isArray(obj))
76
- return obj.map(expandLeaves);
77
- if (obj && typeof obj === "object") {
78
- const out = {};
79
- for (const [k, v] of Object.entries(obj))
80
- out[k] = expandLeaves(v);
81
- return out;
82
- }
83
- return obj;
84
- }
85
- // Resolve extends -> merge left-to-right, then merge root last
86
- const chain = await resolveExtendsChain(root.extends, configPath);
87
- let merged = {};
88
- for (const link of chain)
89
- merged = deepMerge(merged, expandLeaves(link.json));
90
- merged = deepMerge(merged, expandLeaves(root));
91
- // Validate final object
92
- const ok = validate(merged);
93
- if (!ok) {
94
- const errors = validate.errors
95
- .map((e) => `${e.instancePath} ${e.message}`)
96
- .join("\n");
97
- const err = new Error(`Invalid config: \n${errors}`);
98
- err.errors = validate.errors;
99
- throw err;
100
- }
101
- return merged;
102
- }
103
- //# sourceMappingURL=loadConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- export type LegacyConfig = {
2
- tools?: Record<string, any>;
3
- auto?: {
4
- enabled?: boolean;
5
- schedule?: "daily" | "weekly" | "monthly";
6
- dayOfWeek?: string | number;
7
- time?: string;
8
- sizeThreshold?: string;
9
- args?: string[];
10
- };
11
- output?: {
12
- verbose?: boolean;
13
- useColors?: boolean;
14
- };
15
- extends?: string | string[];
16
- [k: string]: any;
17
- };
18
- export type NewConfig = {
19
- cleaners?: Record<string, any>;
20
- scheduler?: {
21
- enabled?: boolean;
22
- frequency?: "daily" | "weekly" | "monthly";
23
- dayOfWeek?: string | number;
24
- time?: string;
25
- args?: string[];
26
- };
27
- defaults?: {
28
- dryRun?: boolean;
29
- followSymlinks?: boolean;
30
- restrictToHome?: boolean;
31
- trash?: boolean;
32
- concurrency?: number;
33
- recentDays?: number;
34
- sizeScan?: {
35
- enableCache?: boolean;
36
- cachePath?: string;
37
- maxParallelFs?: number;
38
- };
39
- };
40
- plugins?: {
41
- enabled?: boolean;
42
- scopes?: string[];
43
- prefixes?: string[];
44
- };
45
- profiles?: Record<string, {
46
- description?: string;
47
- include?: string[];
48
- exclude?: string[];
49
- }>;
50
- extends?: string | string[];
51
- [k: string]: any;
52
- };
53
- export declare function isLegacyShape(json: any): boolean;
54
- export declare function legacyToNew(json: LegacyConfig): NewConfig;
55
- export declare function writeBackupAndSave(targetPath: string, newJson: object): string;
56
- //# sourceMappingURL=migrateConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateConfig.d.ts","sourceRoot":"","sources":["../../src/config/migrateConfig.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE;YACT,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CACjE,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CA4EzD;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAeR"}