pnpm-catalog-updates 0.5.6 → 0.6.5

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 (220) hide show
  1. package/bin/pcu.js +1 -1
  2. package/dist/index.js +9559 -32
  3. package/dist/index.js.map +1 -1
  4. package/package.json +61 -103
  5. package/src/cli/commands/checkCommand.ts +227 -0
  6. package/src/cli/commands/initCommand.ts +394 -0
  7. package/src/cli/commands/securityCommand.ts +569 -0
  8. package/src/cli/commands/updateCommand.ts +245 -0
  9. package/src/cli/formatters/outputFormatter.ts +830 -0
  10. package/src/cli/formatters/progressBar.ts +700 -0
  11. package/src/cli/index.ts +565 -0
  12. package/src/cli/interactive/interactivePrompts.ts +517 -0
  13. package/src/cli/options/globalOptions.ts +380 -0
  14. package/src/cli/options/index.ts +5 -0
  15. package/src/cli/themes/colorTheme.ts +379 -0
  16. package/src/cli/validators/commandValidator.ts +395 -0
  17. package/src/cli/validators/index.ts +5 -0
  18. package/src/index.ts +4 -0
  19. package/LICENSE +0 -21
  20. package/README.ja.md +0 -582
  21. package/README.md +0 -690
  22. package/README.zh-CN.md +0 -630
  23. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  24. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  25. package/dist/application/services/CatalogUpdateService.js +0 -836
  26. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  27. package/dist/application/services/WorkspaceService.d.ts +0 -139
  28. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  29. package/dist/application/services/WorkspaceService.js +0 -340
  30. package/dist/application/services/WorkspaceService.js.map +0 -1
  31. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  32. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  33. package/dist/cli/commands/CheckCommand.js +0 -177
  34. package/dist/cli/commands/CheckCommand.js.map +0 -1
  35. package/dist/cli/commands/InitCommand.d.ts +0 -53
  36. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  37. package/dist/cli/commands/InitCommand.js +0 -338
  38. package/dist/cli/commands/InitCommand.js.map +0 -1
  39. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  40. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  41. package/dist/cli/commands/SecurityCommand.js +0 -410
  42. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  43. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  44. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  45. package/dist/cli/commands/UpdateCommand.js +0 -189
  46. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  47. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  48. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  49. package/dist/cli/formatters/OutputFormatter.js +0 -664
  50. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  51. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  52. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  53. package/dist/cli/formatters/ProgressBar.js +0 -622
  54. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  55. package/dist/cli/index.d.ts +0 -12
  56. package/dist/cli/index.d.ts.map +0 -1
  57. package/dist/cli/index.js +0 -492
  58. package/dist/cli/index.js.map +0 -1
  59. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  60. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  61. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  62. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  63. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  64. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  65. package/dist/cli/options/GlobalOptions.js +0 -278
  66. package/dist/cli/options/GlobalOptions.js.map +0 -1
  67. package/dist/cli/options/index.d.ts +0 -5
  68. package/dist/cli/options/index.d.ts.map +0 -1
  69. package/dist/cli/options/index.js +0 -5
  70. package/dist/cli/options/index.js.map +0 -1
  71. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  72. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  73. package/dist/cli/themes/ColorTheme.js +0 -267
  74. package/dist/cli/themes/ColorTheme.js.map +0 -1
  75. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  76. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  77. package/dist/cli/validators/CommandValidator.js +0 -319
  78. package/dist/cli/validators/CommandValidator.js.map +0 -1
  79. package/dist/cli/validators/index.d.ts +0 -5
  80. package/dist/cli/validators/index.d.ts.map +0 -1
  81. package/dist/cli/validators/index.js +0 -5
  82. package/dist/cli/validators/index.js.map +0 -1
  83. package/dist/common/config/Config.d.ts +0 -142
  84. package/dist/common/config/Config.d.ts.map +0 -1
  85. package/dist/common/config/Config.js +0 -382
  86. package/dist/common/config/Config.js.map +0 -1
  87. package/dist/common/config/ConfigLoader.d.ts +0 -49
  88. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  89. package/dist/common/config/ConfigLoader.js +0 -180
  90. package/dist/common/config/ConfigLoader.js.map +0 -1
  91. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  92. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  93. package/dist/common/config/PackageFilterConfig.js +0 -94
  94. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  95. package/dist/common/config/index.d.ts +0 -8
  96. package/dist/common/config/index.d.ts.map +0 -1
  97. package/dist/common/config/index.js +0 -8
  98. package/dist/common/config/index.js.map +0 -1
  99. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  100. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  101. package/dist/common/error-handling/ErrorTracker.js +0 -93
  102. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  106. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  107. package/dist/common/error-handling/index.d.ts +0 -11
  108. package/dist/common/error-handling/index.d.ts.map +0 -1
  109. package/dist/common/error-handling/index.js +0 -9
  110. package/dist/common/error-handling/index.js.map +0 -1
  111. package/dist/common/logger/Logger.d.ts +0 -110
  112. package/dist/common/logger/Logger.d.ts.map +0 -1
  113. package/dist/common/logger/Logger.js +0 -289
  114. package/dist/common/logger/Logger.js.map +0 -1
  115. package/dist/common/logger/index.d.ts +0 -6
  116. package/dist/common/logger/index.d.ts.map +0 -1
  117. package/dist/common/logger/index.js +0 -6
  118. package/dist/common/logger/index.js.map +0 -1
  119. package/dist/common/types/cli.d.ts +0 -265
  120. package/dist/common/types/cli.d.ts.map +0 -1
  121. package/dist/common/types/cli.js +0 -5
  122. package/dist/common/types/cli.js.map +0 -1
  123. package/dist/common/types/core.d.ts +0 -270
  124. package/dist/common/types/core.d.ts.map +0 -1
  125. package/dist/common/types/core.js +0 -32
  126. package/dist/common/types/core.js.map +0 -1
  127. package/dist/common/types/index.d.ts +0 -8
  128. package/dist/common/types/index.d.ts.map +0 -1
  129. package/dist/common/types/index.js +0 -8
  130. package/dist/common/types/index.js.map +0 -1
  131. package/dist/common/utils/VersionChecker.d.ts +0 -54
  132. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  133. package/dist/common/utils/VersionChecker.js +0 -180
  134. package/dist/common/utils/VersionChecker.js.map +0 -1
  135. package/dist/common/utils/async.d.ts +0 -74
  136. package/dist/common/utils/async.d.ts.map +0 -1
  137. package/dist/common/utils/async.js +0 -228
  138. package/dist/common/utils/async.js.map +0 -1
  139. package/dist/common/utils/format.d.ts +0 -32
  140. package/dist/common/utils/format.d.ts.map +0 -1
  141. package/dist/common/utils/format.js +0 -121
  142. package/dist/common/utils/format.js.map +0 -1
  143. package/dist/common/utils/git.d.ts +0 -44
  144. package/dist/common/utils/git.d.ts.map +0 -1
  145. package/dist/common/utils/git.js +0 -147
  146. package/dist/common/utils/git.js.map +0 -1
  147. package/dist/common/utils/index.d.ts +0 -12
  148. package/dist/common/utils/index.d.ts.map +0 -1
  149. package/dist/common/utils/index.js +0 -12
  150. package/dist/common/utils/index.js.map +0 -1
  151. package/dist/common/utils/string.d.ts +0 -56
  152. package/dist/common/utils/string.d.ts.map +0 -1
  153. package/dist/common/utils/string.js +0 -134
  154. package/dist/common/utils/string.js.map +0 -1
  155. package/dist/common/utils/validation.d.ts +0 -88
  156. package/dist/common/utils/validation.d.ts.map +0 -1
  157. package/dist/common/utils/validation.js +0 -308
  158. package/dist/common/utils/validation.js.map +0 -1
  159. package/dist/domain/entities/Catalog.d.ts +0 -117
  160. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  161. package/dist/domain/entities/Catalog.js +0 -240
  162. package/dist/domain/entities/Catalog.js.map +0 -1
  163. package/dist/domain/entities/Package.d.ts +0 -143
  164. package/dist/domain/entities/Package.d.ts.map +0 -1
  165. package/dist/domain/entities/Package.js +0 -272
  166. package/dist/domain/entities/Package.js.map +0 -1
  167. package/dist/domain/entities/Workspace.d.ts +0 -95
  168. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  169. package/dist/domain/entities/Workspace.js +0 -173
  170. package/dist/domain/entities/Workspace.js.map +0 -1
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  172. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  173. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  174. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  175. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  176. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  177. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  178. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  179. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  180. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  181. package/dist/domain/value-objects/PackageCollection.js +0 -263
  182. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  183. package/dist/domain/value-objects/Version.d.ts +0 -141
  184. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  185. package/dist/domain/value-objects/Version.js +0 -268
  186. package/dist/domain/value-objects/Version.js.map +0 -1
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  188. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  189. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  190. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  191. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  192. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  193. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  194. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  195. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  196. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  197. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  198. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  199. package/dist/index.d.ts +0 -25
  200. package/dist/index.d.ts.map +0 -1
  201. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  202. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  203. package/dist/infrastructure/cache/Cache.js +0 -398
  204. package/dist/infrastructure/cache/Cache.js.map +0 -1
  205. package/dist/infrastructure/cache/index.d.ts +0 -6
  206. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  207. package/dist/infrastructure/cache/index.js +0 -6
  208. package/dist/infrastructure/cache/index.js.map +0 -1
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -145
  210. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  211. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
  212. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  214. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  215. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  216. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  219. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  220. package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +0 -1
@@ -1,398 +0,0 @@
1
- /**
2
- * Cache System
3
- *
4
- * Provides caching capabilities for NPM registry responses and other expensive operations.
5
- * Supports both in-memory and file-based caching with TTL and size limits.
6
- */
7
- import { writeFileSync, readFileSync, existsSync, mkdirSync, unlinkSync } from 'fs';
8
- import { join } from 'path';
9
- import { homedir } from 'os';
10
- import { createHash } from 'crypto';
11
- export class Cache {
12
- entries = new Map();
13
- stats = {
14
- hits: 0,
15
- misses: 0,
16
- };
17
- options;
18
- constructor(name, options = {}) {
19
- this.options = {
20
- ttl: options.ttl || 3600000, // 1 hour default
21
- maxSize: options.maxSize || 50 * 1024 * 1024, // 50MB default
22
- maxEntries: options.maxEntries || 1000,
23
- persistToDisk: options.persistToDisk || false,
24
- cacheDir: options.cacheDir || join(homedir(), '.pcu', 'cache', name),
25
- };
26
- if (this.options.persistToDisk) {
27
- this.loadFromDisk();
28
- }
29
- // Setup cleanup interval
30
- setInterval(() => this.cleanup(), 300000); // Clean every 5 minutes
31
- }
32
- /**
33
- * Get value from cache
34
- */
35
- get(key) {
36
- const entry = this.entries.get(key);
37
- if (!entry) {
38
- this.stats.misses++;
39
- return undefined;
40
- }
41
- // Check if entry has expired
42
- if (Date.now() - entry.timestamp > entry.ttl) {
43
- this.entries.delete(key);
44
- this.stats.misses++;
45
- return undefined;
46
- }
47
- this.stats.hits++;
48
- return entry.value;
49
- }
50
- /**
51
- * Set value in cache
52
- */
53
- set(key, value, ttl) {
54
- const entryTtl = ttl || this.options.ttl;
55
- const size = this.estimateSize(value);
56
- const entry = {
57
- key,
58
- value,
59
- timestamp: Date.now(),
60
- ttl: entryTtl,
61
- size,
62
- };
63
- // Remove old entry if exists
64
- if (this.entries.has(key)) {
65
- this.entries.delete(key);
66
- }
67
- // Check size limits before adding
68
- this.ensureCapacity(size);
69
- this.entries.set(key, entry);
70
- if (this.options.persistToDisk) {
71
- this.saveToDisk(key, entry);
72
- }
73
- }
74
- /**
75
- * Check if key exists in cache
76
- */
77
- has(key) {
78
- const entry = this.entries.get(key);
79
- if (!entry) {
80
- return false;
81
- }
82
- // Check if expired
83
- if (Date.now() - entry.timestamp > entry.ttl) {
84
- this.entries.delete(key);
85
- return false;
86
- }
87
- return true;
88
- }
89
- /**
90
- * Delete entry from cache
91
- */
92
- delete(key) {
93
- const deleted = this.entries.delete(key);
94
- if (deleted && this.options.persistToDisk) {
95
- this.deleteFromDisk(key);
96
- }
97
- return deleted;
98
- }
99
- /**
100
- * Clear all cache entries
101
- */
102
- clear() {
103
- this.entries.clear();
104
- this.stats.hits = 0;
105
- this.stats.misses = 0;
106
- if (this.options.persistToDisk) {
107
- this.clearDisk();
108
- }
109
- }
110
- /**
111
- * Get cache statistics
112
- */
113
- getStats() {
114
- const total = this.stats.hits + this.stats.misses;
115
- return {
116
- totalEntries: this.entries.size,
117
- totalSize: this.getTotalSize(),
118
- hitRate: total > 0 ? this.stats.hits / total : 0,
119
- missRate: total > 0 ? this.stats.misses / total : 0,
120
- hits: this.stats.hits,
121
- misses: this.stats.misses,
122
- };
123
- }
124
- /**
125
- * Get or set with factory function
126
- */
127
- async getOrSet(key, factory, ttl) {
128
- const cached = this.get(key);
129
- if (cached !== undefined) {
130
- return cached;
131
- }
132
- const value = await factory();
133
- this.set(key, value, ttl);
134
- return value;
135
- }
136
- /**
137
- * Cleanup expired entries
138
- */
139
- cleanup() {
140
- const now = Date.now();
141
- const expiredKeys = [];
142
- for (const [key, entry] of this.entries) {
143
- if (now - entry.timestamp > entry.ttl) {
144
- expiredKeys.push(key);
145
- }
146
- }
147
- for (const key of expiredKeys) {
148
- this.delete(key);
149
- }
150
- }
151
- /**
152
- * Ensure cache capacity doesn't exceed limits
153
- */
154
- ensureCapacity(newEntrySize) {
155
- // Check entry count limit
156
- while (this.entries.size >= this.options.maxEntries) {
157
- this.evictOldest();
158
- }
159
- // Check size limit
160
- while (this.getTotalSize() + newEntrySize > this.options.maxSize) {
161
- this.evictOldest();
162
- }
163
- }
164
- /**
165
- * Evict oldest entry
166
- */
167
- evictOldest() {
168
- let oldestKey;
169
- let oldestTimestamp = Date.now();
170
- for (const [key, entry] of this.entries) {
171
- if (entry.timestamp < oldestTimestamp) {
172
- oldestTimestamp = entry.timestamp;
173
- oldestKey = key;
174
- }
175
- }
176
- if (oldestKey) {
177
- this.delete(oldestKey);
178
- }
179
- }
180
- /**
181
- * Get total cache size
182
- */
183
- getTotalSize() {
184
- let totalSize = 0;
185
- for (const entry of this.entries.values()) {
186
- totalSize += entry.size;
187
- }
188
- return totalSize;
189
- }
190
- /**
191
- * Estimate size of value in bytes
192
- */
193
- estimateSize(value) {
194
- try {
195
- return JSON.stringify(value).length * 2; // Rough UTF-16 estimate
196
- }
197
- catch {
198
- return 1000; // Default estimate for non-serializable values
199
- }
200
- }
201
- /**
202
- * Load cache from disk
203
- */
204
- loadFromDisk() {
205
- try {
206
- if (!existsSync(this.options.cacheDir)) {
207
- return;
208
- }
209
- const indexPath = join(this.options.cacheDir, 'index.json');
210
- if (!existsSync(indexPath)) {
211
- return;
212
- }
213
- const indexContent = readFileSync(indexPath, 'utf-8');
214
- const index = JSON.parse(indexContent);
215
- for (const key of index.keys || []) {
216
- try {
217
- const entryPath = join(this.options.cacheDir, this.getFilename(key));
218
- if (existsSync(entryPath)) {
219
- const entryContent = readFileSync(entryPath, 'utf-8');
220
- const entry = JSON.parse(entryContent);
221
- // Check if entry is still valid
222
- if (Date.now() - entry.timestamp <= entry.ttl) {
223
- this.entries.set(key, entry);
224
- }
225
- }
226
- }
227
- catch {
228
- // Skip corrupted entries
229
- }
230
- }
231
- }
232
- catch {
233
- // Ignore disk loading errors
234
- }
235
- }
236
- /**
237
- * Save entry to disk
238
- */
239
- saveToDisk(key, entry) {
240
- try {
241
- if (!existsSync(this.options.cacheDir)) {
242
- mkdirSync(this.options.cacheDir, { recursive: true });
243
- }
244
- const entryPath = join(this.options.cacheDir, this.getFilename(key));
245
- writeFileSync(entryPath, JSON.stringify(entry), 'utf-8');
246
- // Update index
247
- this.updateDiskIndex();
248
- }
249
- catch {
250
- // Ignore disk saving errors
251
- }
252
- }
253
- /**
254
- * Delete entry from disk
255
- */
256
- deleteFromDisk(key) {
257
- try {
258
- const entryPath = join(this.options.cacheDir, this.getFilename(key));
259
- if (existsSync(entryPath)) {
260
- unlinkSync(entryPath);
261
- }
262
- this.updateDiskIndex();
263
- }
264
- catch {
265
- // Ignore disk deletion errors
266
- }
267
- }
268
- /**
269
- * Clear disk cache
270
- */
271
- clearDisk() {
272
- try {
273
- if (existsSync(this.options.cacheDir)) {
274
- const fs = require('fs');
275
- fs.rmSync(this.options.cacheDir, { recursive: true, force: true });
276
- }
277
- }
278
- catch {
279
- // Ignore disk clearing errors
280
- }
281
- }
282
- /**
283
- * Update disk index
284
- */
285
- updateDiskIndex() {
286
- try {
287
- const indexPath = join(this.options.cacheDir, 'index.json');
288
- const index = {
289
- keys: Array.from(this.entries.keys()),
290
- lastUpdated: Date.now(),
291
- };
292
- writeFileSync(indexPath, JSON.stringify(index), 'utf-8');
293
- }
294
- catch {
295
- // Ignore index update errors
296
- }
297
- }
298
- /**
299
- * Get filename for cache key
300
- */
301
- getFilename(key) {
302
- // Use hash to create safe filename
303
- const hash = createHash('md5').update(key).digest('hex');
304
- return `${hash}.json`;
305
- }
306
- }
307
- /**
308
- * Registry-specific cache for NPM API responses
309
- */
310
- export class RegistryCache extends Cache {
311
- constructor(options = {}) {
312
- super('registry', {
313
- ttl: 3600000, // 1 hour
314
- maxSize: 10 * 1024 * 1024, // 10MB
315
- maxEntries: 500,
316
- persistToDisk: true,
317
- ...options,
318
- });
319
- }
320
- /**
321
- * Cache package info
322
- */
323
- setPackageInfo(packageName, info, ttl) {
324
- this.set(`package:${packageName}`, info, ttl);
325
- }
326
- /**
327
- * Get cached package info
328
- */
329
- getPackageInfo(packageName) {
330
- return this.get(`package:${packageName}`);
331
- }
332
- /**
333
- * Cache version list
334
- */
335
- setVersions(packageName, versions, ttl) {
336
- this.set(`versions:${packageName}`, versions, ttl);
337
- }
338
- /**
339
- * Get cached versions
340
- */
341
- getVersions(packageName) {
342
- return this.get(`versions:${packageName}`);
343
- }
344
- /**
345
- * Cache security report
346
- */
347
- setSecurityReport(packageName, version, report, ttl) {
348
- this.set(`security:${packageName}:${version}`, report, ttl);
349
- }
350
- /**
351
- * Get cached security report
352
- */
353
- getSecurityReport(packageName, version) {
354
- return this.get(`security:${packageName}:${version}`);
355
- }
356
- }
357
- /**
358
- * Workspace-specific cache for file system operations
359
- */
360
- export class WorkspaceCache extends Cache {
361
- constructor(options = {}) {
362
- super('workspace', {
363
- ttl: 300000, // 5 minutes (shorter TTL for file system)
364
- maxSize: 5 * 1024 * 1024, // 5MB
365
- maxEntries: 200,
366
- persistToDisk: false, // Don't persist workspace cache
367
- ...options,
368
- });
369
- }
370
- /**
371
- * Cache workspace info
372
- */
373
- setWorkspaceInfo(workspacePath, info, ttl) {
374
- this.set(`workspace:${workspacePath}`, info, ttl);
375
- }
376
- /**
377
- * Get cached workspace info
378
- */
379
- getWorkspaceInfo(workspacePath) {
380
- return this.get(`workspace:${workspacePath}`);
381
- }
382
- /**
383
- * Cache package.json content
384
- */
385
- setPackageJson(filePath, content, ttl) {
386
- this.set(`package-json:${filePath}`, content, ttl);
387
- }
388
- /**
389
- * Get cached package.json
390
- */
391
- getPackageJson(filePath) {
392
- return this.get(`package-json:${filePath}`);
393
- }
394
- }
395
- // Export singleton instances
396
- export const registryCache = new RegistryCache();
397
- export const workspaceCache = new WorkspaceCache();
398
- //# sourceMappingURL=Cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../src/infrastructure/cache/Cache.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Cache Module Entry Point
3
- */
4
- export * from './Cache.js';
5
- export { registryCache, workspaceCache } from './Cache.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Cache Module Entry Point
3
- */
4
- export * from './Cache.js';
5
- export { registryCache, workspaceCache } from './Cache.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -1,145 +0,0 @@
1
- /**
2
- * NPM Registry Service
3
- *
4
- * Provides access to NPM registry for package version information.
5
- * Handles API calls, caching, and version resolution.
6
- */
7
- import { Version, VersionRange } from '../../domain/value-objects/Version.js';
8
- import { AdvancedConfig } from '../../common/config/PackageFilterConfig.js';
9
- export interface PackageInfo {
10
- name: string;
11
- description?: string;
12
- homepage?: string;
13
- repository?: {
14
- type: string;
15
- url: string;
16
- };
17
- license?: string;
18
- author?: string | {
19
- name: string;
20
- email?: string;
21
- };
22
- maintainers?: Array<{
23
- name: string;
24
- email?: string;
25
- }>;
26
- keywords?: string[];
27
- versions: string[];
28
- latestVersion: string;
29
- tags: Record<string, string>;
30
- time: Record<string, string>;
31
- }
32
- export interface SecurityVulnerability {
33
- id: string;
34
- title: string;
35
- severity: 'low' | 'moderate' | 'high' | 'critical';
36
- description: string;
37
- reference: string;
38
- vulnerable_versions: string;
39
- patched_versions?: string;
40
- recommendation?: string;
41
- }
42
- export interface SecurityReport {
43
- package: string;
44
- version: string;
45
- vulnerabilities: SecurityVulnerability[];
46
- hasVulnerabilities: boolean;
47
- }
48
- export declare class NpmRegistryService {
49
- private readonly registryUrl;
50
- private readonly cache;
51
- private readonly versionCacheTimeout;
52
- private readonly packageInfoCacheTimeout;
53
- private readonly securityCacheTimeout;
54
- private readonly concurrency;
55
- private readonly timeout;
56
- private readonly retries;
57
- private readonly cachingEnabled;
58
- constructor(registryUrl?: string, options?: AdvancedConfig);
59
- /**
60
- * Execute a function with retry logic
61
- */
62
- private executeWithRetry;
63
- /**
64
- * Get lightweight package version information (optimized for performance)
65
- */
66
- getPackageVersions(packageName: string): Promise<{
67
- name: string;
68
- versions: string[];
69
- latestVersion: string;
70
- tags: Record<string, string>;
71
- time?: Record<string, string>;
72
- }>;
73
- /**
74
- * Get package information including all versions
75
- * @deprecated Use getPackageVersions() for better performance
76
- */
77
- getPackageInfo(packageName: string): Promise<PackageInfo>;
78
- /**
79
- * Get the latest version of a package
80
- */
81
- getLatestVersion(packageName: string): Promise<Version>;
82
- /**
83
- * Get the greatest version that satisfies a range
84
- */
85
- getGreatestVersion(packageName: string, range?: VersionRange): Promise<Version>;
86
- /**
87
- * Get versions by date (newest versions published)
88
- */
89
- getNewestVersions(packageName: string, count?: number): Promise<Version[]>;
90
- /**
91
- * Check for security vulnerabilities
92
- */
93
- checkSecurityVulnerabilities(packageName: string, version: string): Promise<SecurityReport>;
94
- /**
95
- * Batch query multiple packages with progress tracking
96
- */
97
- batchQueryVersions(packages: string[], progressCallback?: (completed: number, total: number, currentPackage: string) => void): Promise<Map<string, PackageInfo>>;
98
- /**
99
- * Check if package author has changed
100
- */
101
- hasPackageAuthorChanged(packageName: string, fromVersion: string, toVersion: string): Promise<boolean>;
102
- /**
103
- * Get package download statistics
104
- */
105
- getDownloadStats(packageName: string, period?: 'last-day' | 'last-week' | 'last-month'): Promise<number>;
106
- /**
107
- * Clear all cache
108
- */
109
- clearCache(): void;
110
- /**
111
- * Clear cache by type
112
- */
113
- clearCacheByType(type?: 'versions' | 'package-info' | 'security' | 'all'): void;
114
- /**
115
- * Get cache statistics
116
- */
117
- getCacheStats(): {
118
- total: number;
119
- versions: number;
120
- packageInfo: number;
121
- security: number;
122
- expired: number;
123
- };
124
- /**
125
- * Get item from cache if not expired
126
- */
127
- private getFromCache;
128
- /**
129
- * Get appropriate cache timeout based on key type
130
- */
131
- private getCacheTimeout;
132
- /**
133
- * Set item in cache
134
- */
135
- private setCache;
136
- /**
137
- * Split array into chunks
138
- */
139
- private chunkArray;
140
- /**
141
- * Normalize author for comparison
142
- */
143
- private normalizeAuthor;
144
- }
145
- //# sourceMappingURL=NpmRegistryService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NpmRegistryService.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/external-services/NpmRegistryService.ts"],"names":[],"mappings":"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"}