pcu 0.5.6 → 0.6.3

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 (219) 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 +36 -84
  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/README.ja.md +0 -582
  20. package/README.md +0 -690
  21. package/README.zh-CN.md +0 -630
  22. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  23. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  24. package/dist/application/services/CatalogUpdateService.js +0 -836
  25. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  26. package/dist/application/services/WorkspaceService.d.ts +0 -139
  27. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  28. package/dist/application/services/WorkspaceService.js +0 -340
  29. package/dist/application/services/WorkspaceService.js.map +0 -1
  30. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  31. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  32. package/dist/cli/commands/CheckCommand.js +0 -177
  33. package/dist/cli/commands/CheckCommand.js.map +0 -1
  34. package/dist/cli/commands/InitCommand.d.ts +0 -53
  35. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  36. package/dist/cli/commands/InitCommand.js +0 -338
  37. package/dist/cli/commands/InitCommand.js.map +0 -1
  38. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  39. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  40. package/dist/cli/commands/SecurityCommand.js +0 -410
  41. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  42. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  43. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  44. package/dist/cli/commands/UpdateCommand.js +0 -189
  45. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  46. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  47. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  48. package/dist/cli/formatters/OutputFormatter.js +0 -664
  49. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  50. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  51. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  52. package/dist/cli/formatters/ProgressBar.js +0 -622
  53. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  54. package/dist/cli/index.d.ts +0 -12
  55. package/dist/cli/index.d.ts.map +0 -1
  56. package/dist/cli/index.js +0 -492
  57. package/dist/cli/index.js.map +0 -1
  58. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  59. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  60. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  61. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  62. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  63. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  64. package/dist/cli/options/GlobalOptions.js +0 -278
  65. package/dist/cli/options/GlobalOptions.js.map +0 -1
  66. package/dist/cli/options/index.d.ts +0 -5
  67. package/dist/cli/options/index.d.ts.map +0 -1
  68. package/dist/cli/options/index.js +0 -5
  69. package/dist/cli/options/index.js.map +0 -1
  70. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  71. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  72. package/dist/cli/themes/ColorTheme.js +0 -267
  73. package/dist/cli/themes/ColorTheme.js.map +0 -1
  74. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  75. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  76. package/dist/cli/validators/CommandValidator.js +0 -319
  77. package/dist/cli/validators/CommandValidator.js.map +0 -1
  78. package/dist/cli/validators/index.d.ts +0 -5
  79. package/dist/cli/validators/index.d.ts.map +0 -1
  80. package/dist/cli/validators/index.js +0 -5
  81. package/dist/cli/validators/index.js.map +0 -1
  82. package/dist/common/config/Config.d.ts +0 -142
  83. package/dist/common/config/Config.d.ts.map +0 -1
  84. package/dist/common/config/Config.js +0 -382
  85. package/dist/common/config/Config.js.map +0 -1
  86. package/dist/common/config/ConfigLoader.d.ts +0 -49
  87. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  88. package/dist/common/config/ConfigLoader.js +0 -180
  89. package/dist/common/config/ConfigLoader.js.map +0 -1
  90. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  91. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  92. package/dist/common/config/PackageFilterConfig.js +0 -94
  93. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  94. package/dist/common/config/index.d.ts +0 -8
  95. package/dist/common/config/index.d.ts.map +0 -1
  96. package/dist/common/config/index.js +0 -8
  97. package/dist/common/config/index.js.map +0 -1
  98. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  99. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  100. package/dist/common/error-handling/ErrorTracker.js +0 -93
  101. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  102. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  106. package/dist/common/error-handling/index.d.ts +0 -11
  107. package/dist/common/error-handling/index.d.ts.map +0 -1
  108. package/dist/common/error-handling/index.js +0 -9
  109. package/dist/common/error-handling/index.js.map +0 -1
  110. package/dist/common/logger/Logger.d.ts +0 -110
  111. package/dist/common/logger/Logger.d.ts.map +0 -1
  112. package/dist/common/logger/Logger.js +0 -289
  113. package/dist/common/logger/Logger.js.map +0 -1
  114. package/dist/common/logger/index.d.ts +0 -6
  115. package/dist/common/logger/index.d.ts.map +0 -1
  116. package/dist/common/logger/index.js +0 -6
  117. package/dist/common/logger/index.js.map +0 -1
  118. package/dist/common/types/cli.d.ts +0 -265
  119. package/dist/common/types/cli.d.ts.map +0 -1
  120. package/dist/common/types/cli.js +0 -5
  121. package/dist/common/types/cli.js.map +0 -1
  122. package/dist/common/types/core.d.ts +0 -270
  123. package/dist/common/types/core.d.ts.map +0 -1
  124. package/dist/common/types/core.js +0 -32
  125. package/dist/common/types/core.js.map +0 -1
  126. package/dist/common/types/index.d.ts +0 -8
  127. package/dist/common/types/index.d.ts.map +0 -1
  128. package/dist/common/types/index.js +0 -8
  129. package/dist/common/types/index.js.map +0 -1
  130. package/dist/common/utils/VersionChecker.d.ts +0 -54
  131. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  132. package/dist/common/utils/VersionChecker.js +0 -180
  133. package/dist/common/utils/VersionChecker.js.map +0 -1
  134. package/dist/common/utils/async.d.ts +0 -74
  135. package/dist/common/utils/async.d.ts.map +0 -1
  136. package/dist/common/utils/async.js +0 -228
  137. package/dist/common/utils/async.js.map +0 -1
  138. package/dist/common/utils/format.d.ts +0 -32
  139. package/dist/common/utils/format.d.ts.map +0 -1
  140. package/dist/common/utils/format.js +0 -121
  141. package/dist/common/utils/format.js.map +0 -1
  142. package/dist/common/utils/git.d.ts +0 -44
  143. package/dist/common/utils/git.d.ts.map +0 -1
  144. package/dist/common/utils/git.js +0 -147
  145. package/dist/common/utils/git.js.map +0 -1
  146. package/dist/common/utils/index.d.ts +0 -12
  147. package/dist/common/utils/index.d.ts.map +0 -1
  148. package/dist/common/utils/index.js +0 -12
  149. package/dist/common/utils/index.js.map +0 -1
  150. package/dist/common/utils/string.d.ts +0 -56
  151. package/dist/common/utils/string.d.ts.map +0 -1
  152. package/dist/common/utils/string.js +0 -134
  153. package/dist/common/utils/string.js.map +0 -1
  154. package/dist/common/utils/validation.d.ts +0 -88
  155. package/dist/common/utils/validation.d.ts.map +0 -1
  156. package/dist/common/utils/validation.js +0 -308
  157. package/dist/common/utils/validation.js.map +0 -1
  158. package/dist/domain/entities/Catalog.d.ts +0 -117
  159. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  160. package/dist/domain/entities/Catalog.js +0 -240
  161. package/dist/domain/entities/Catalog.js.map +0 -1
  162. package/dist/domain/entities/Package.d.ts +0 -143
  163. package/dist/domain/entities/Package.d.ts.map +0 -1
  164. package/dist/domain/entities/Package.js +0 -272
  165. package/dist/domain/entities/Package.js.map +0 -1
  166. package/dist/domain/entities/Workspace.d.ts +0 -95
  167. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  168. package/dist/domain/entities/Workspace.js +0 -173
  169. package/dist/domain/entities/Workspace.js.map +0 -1
  170. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  172. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  173. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  174. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  175. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  176. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  177. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  178. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  179. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  180. package/dist/domain/value-objects/PackageCollection.js +0 -263
  181. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  182. package/dist/domain/value-objects/Version.d.ts +0 -141
  183. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  184. package/dist/domain/value-objects/Version.js +0 -268
  185. package/dist/domain/value-objects/Version.js.map +0 -1
  186. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  188. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  189. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  190. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  191. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  192. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  193. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  194. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  195. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  196. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  197. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  198. package/dist/index.d.ts +0 -25
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  201. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  202. package/dist/infrastructure/cache/Cache.js +0 -398
  203. package/dist/infrastructure/cache/Cache.js.map +0 -1
  204. package/dist/infrastructure/cache/index.d.ts +0 -6
  205. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  206. package/dist/infrastructure/cache/index.js +0 -6
  207. package/dist/infrastructure/cache/index.js.map +0 -1
  208. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -145
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  210. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
  211. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  212. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  214. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  215. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  216. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  219. 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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"}