(installRoot)
| 377 | } |
| 378 | |
| 379 | function _recoverPackageCommitMarkerIfMissing(installRoot) { |
| 380 | var pkgDst = path.join(installRoot, 'package.json'); |
| 381 | if (fs.existsSync(pkgDst)) return false; |
| 382 | var entries; |
| 383 | try { |
| 384 | entries = fs.readdirSync(installRoot); |
| 385 | } catch (_) { |
| 386 | return false; |
| 387 | } |
| 388 | var backups = entries |
| 389 | .filter(function (name) { return /^package\.json\.\d+\.evolver-old$/.test(name); }) |
| 390 | .sort(); |
| 391 | for (var i = backups.length - 1; i >= 0; i--) { |
| 392 | try { |
| 393 | fs.renameSync(path.join(installRoot, backups[i]), pkgDst); |
| 394 | console.warn('[ForceUpdate] Recovered package.json commit marker from ' + backups[i]); |
| 395 | return true; |
| 396 | } catch (_) {} |
| 397 | } |
| 398 | return false; |
| 399 | } |
| 400 | |
| 401 | function _isForceUpdateKeepEntry(name) { |
| 402 | return name === 'node_modules' || name === 'memory' || name === '.git' || name === 'MEMORY.md' || |
no outgoing calls
no test coverage detected