A fresh Windows install reported the server failing around backups. createBackupService created the backups subdirectory once, synchronously, at startup with no error handling - any failure there (permissions, a path beyond Windows' MAX_PATH, a OneDrive/cloud-sync lock, antivirus) crashed the entire Node process before it started listening, taking down timing with it instead of just leaving backups unavailable. Directory creation is now retried lazily and non-fatally on each backup attempt, and a post-backup file rename retries briefly on EBUSY/EPERM since a freshly written file is sometimes momentarily locked by antivirus/cloud-sync scanning on Windows. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
34 lines
1.1 KiB
JSON
34 lines
1.1 KiB
JSON
{
|
|
"name": "rc-racecore",
|
|
"version": "1.4.1",
|
|
"private": true,
|
|
"description": "RC RaceCore live timing and race control with AMMC ingest and SQLite persistence",
|
|
"engines": {
|
|
"node": ">=22 <27",
|
|
"npm": ">=10"
|
|
},
|
|
"allowScripts": {
|
|
"better-sqlite3": true
|
|
},
|
|
"scripts": {
|
|
"preinstall": "node scripts/preinstall.js",
|
|
"postinstall": "node scripts/verify-install.js",
|
|
"start": "node scripts/serverctl.js start",
|
|
"start:fg": "node server.js",
|
|
"stop": "node scripts/serverctl.js stop",
|
|
"status": "node scripts/serverctl.js status",
|
|
"restart": "node scripts/serverctl.js restart",
|
|
"verify": "node scripts/verify-install.js",
|
|
"backup:restore": "node scripts/restore-backup.js",
|
|
"audit:prod": "npm audit --omit=dev",
|
|
"test": "node --experimental-default-type=module tests/run.js",
|
|
"test:browser": "node --experimental-default-type=module tests/browser_smoke.js",
|
|
"setup:windows": "powershell -NoProfile -ExecutionPolicy Bypass -File windows/setup.ps1"
|
|
},
|
|
"dependencies": {
|
|
"better-sqlite3": "^12.11.1",
|
|
"express": "5.2.1",
|
|
"qrcode": "^1.5.4"
|
|
}
|
|
}
|