{ "name": "project-hub", "version": "1.0.0", "main": "main.js", "scripts": { "dev": "npm run electron:dev --prefix frontend", "dev:web": "docker compose up -d && npm run dev --prefix frontend -- --host ${VITE_DEV_HOST:-0.0.0.0} --port ${PORT_FRONTEND_DEV:-5173}", "ports:list": "node scripts/ports-report.cjs", "dev:web:stop": "lsof -tiTCP:5173 -sTCP:LISTEN | xargs kill 2>/dev/null || true && docker compose down", "start": "electron .", "start:desktop": "electron .", "build": "electron-builder", "build:desktop": "npm run build:renderer && npm run sync:dist && npm run build", "build:renderer": "npm run build --prefix frontend", "sync:dist": "rm -rf dist && mkdir -p dist && cp -R frontend/dist/* dist/", "test:wiring": "node scripts/wiring-smoke-test.cjs", "test:persistence": "node scripts/persistence-self-test.cjs", "test:persistence:restart": "node scripts/persistence-self-test.cjs --restart-backend", "test:mvp": "node scripts/mvp-check.cjs", "test:mvp:restart": "node scripts/mvp-check.cjs --restart-backend", "build:verified": "npm run test:persistence && npm run build", "build:verified:restart": "npm run test:persistence:restart && npm run build", "release:verified": "npm run test:persistence && npm run build:renderer && npm run sync:dist && npm run build", "release:verified:restart": "npm run test:persistence:restart && npm run build:renderer && npm run sync:dist && npm run build", "docker:restart": "docker compose down && docker compose up -d" }, "build": { "appId": "com.projecthub.app", "productName": "Project Hub", "directories": { "output": "releases" }, "mac": { "identity": null, "hardenedRuntime": false, "target": [ { "target": "dmg", "arch": ["arm64"] } ] }, "afterSign": "scripts/adhoc-sign.js" }, "dependencies": { }, "devDependencies": { "electron": "^30.0.0", "electron-builder": "^24.0.0" } }