deflake 1.0.4 → 1.0.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.
- package/cli.js +36 -1
- package/package.json +1 -1
package/cli.js
CHANGED
|
@@ -377,9 +377,44 @@ async function runDoctor(argv) {
|
|
|
377
377
|
|
|
378
378
|
console.log(`\n${C.BRIGHT}👨⚕️ DeFlake Doctor - Diagnostic Tool${C.RESET}\n`);
|
|
379
379
|
|
|
380
|
-
// 1. Environment Info
|
|
380
|
+
// 1. Environment Info & Version Check
|
|
381
381
|
console.log(`${C.BRIGHT}Checking Environment:${C.RESET}`);
|
|
382
382
|
console.log(` - DeFlake version: ${C.CYAN}${pkg.version}${C.RESET}`);
|
|
383
|
+
|
|
384
|
+
// Check for updates from npm
|
|
385
|
+
try {
|
|
386
|
+
const https = require('https');
|
|
387
|
+
const latestVersion = await new Promise((resolve, reject) => {
|
|
388
|
+
const req = https.get('https://registry.npmjs.org/deflake/latest', { timeout: 3000 }, (res) => {
|
|
389
|
+
let data = '';
|
|
390
|
+
res.on('data', chunk => data += chunk);
|
|
391
|
+
res.on('end', () => {
|
|
392
|
+
try {
|
|
393
|
+
resolve(JSON.parse(data).version);
|
|
394
|
+
} catch (e) { resolve(null); }
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
req.on('error', () => resolve(null));
|
|
398
|
+
req.on('timeout', () => { req.destroy(); resolve(null); });
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
if (latestVersion && latestVersion !== pkg.version) {
|
|
402
|
+
// Compare versions
|
|
403
|
+
const current = pkg.version.split('.').map(Number);
|
|
404
|
+
const latest = latestVersion.split('.').map(Number);
|
|
405
|
+
const isOutdated = latest[0] > current[0] ||
|
|
406
|
+
(latest[0] === current[0] && latest[1] > current[1]) ||
|
|
407
|
+
(latest[0] === current[0] && latest[1] === current[1] && latest[2] > current[2]);
|
|
408
|
+
|
|
409
|
+
if (isOutdated) {
|
|
410
|
+
console.log(` ⚠️ ${C.YELLOW}Update available: ${pkg.version} → ${latestVersion}${C.RESET}`);
|
|
411
|
+
console.log(` ${C.GREEN}Run: npx deflake@${latestVersion} doctor${C.RESET}`);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
} catch (e) {
|
|
415
|
+
// Silent failure - version check is optional
|
|
416
|
+
}
|
|
417
|
+
|
|
383
418
|
console.log(` - Node.js version: ${C.CYAN}${process.version}${C.RESET}`);
|
|
384
419
|
console.log(` - Platform: ${C.CYAN}${process.platform}${C.RESET}\n`);
|
|
385
420
|
|