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.
Files changed (2) hide show
  1. package/cli.js +36 -1
  2. 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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deflake",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "AI-powered self-healing tool for Playwright, Cypress, and WebdriverIO tests.",
5
5
  "main": "client.js",
6
6
  "bin": {