mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2025-12-06 11:36:44 +03:00
- Added a startup recovery script to handle interrupted jobs before application startup. - Enhanced recovery system with database connection validation and stale job cleanup. - Improved middleware to check for recovery needs and handle recovery during requests. - Updated health check endpoint to include recovery system status and metrics. - Introduced test scripts for verifying recovery functionality and job state management. - Enhanced logging and error handling throughout the recovery process.
94 lines
3.3 KiB
JSON
94 lines
3.3 KiB
JSON
{
|
|
"name": "gitea-mirror",
|
|
"type": "module",
|
|
"version": "2.5.4",
|
|
"engines": {
|
|
"bun": ">=1.2.9"
|
|
},
|
|
"scripts": {
|
|
"setup": "bun install && bun run manage-db init && bun run update-db",
|
|
"dev": "bunx --bun astro dev",
|
|
"dev:clean": "bun run cleanup-db && bun run manage-db init && bun run update-db && bunx --bun astro dev",
|
|
"build": "bunx --bun astro build",
|
|
"cleanup-db": "rm -f gitea-mirror.db data/gitea-mirror.db",
|
|
"manage-db": "bun scripts/manage-db.ts",
|
|
"init-db": "bun scripts/manage-db.ts init",
|
|
"update-db": "bun scripts/update-mirror-jobs-table.ts",
|
|
"check-db": "bun scripts/manage-db.ts check",
|
|
"fix-db": "bun scripts/manage-db.ts fix",
|
|
"reset-users": "bun scripts/manage-db.ts reset-users",
|
|
"cleanup-events": "bun scripts/cleanup-events.ts",
|
|
"cleanup-jobs": "bun scripts/cleanup-mirror-jobs.ts",
|
|
"cleanup-all": "bun scripts/cleanup-events.ts && bun scripts/cleanup-mirror-jobs.ts",
|
|
"startup-recovery": "bun scripts/startup-recovery.ts",
|
|
"startup-recovery-force": "bun scripts/startup-recovery.ts --force",
|
|
"test-recovery": "bun scripts/test-recovery.ts",
|
|
"test-recovery-cleanup": "bun scripts/test-recovery.ts --cleanup",
|
|
"preview": "bunx --bun astro preview",
|
|
"start": "bun dist/server/entry.mjs",
|
|
"start:fresh": "bun run cleanup-db && bun run manage-db init && bun run update-db && bun dist/server/entry.mjs",
|
|
"test": "bun test",
|
|
"test:watch": "bun test --watch",
|
|
"test:coverage": "bun test --coverage",
|
|
"astro": "bunx --bun astro"
|
|
},
|
|
"dependencies": {
|
|
"@astrojs/mdx": "^4.2.6",
|
|
"@astrojs/node": "^9.2.1",
|
|
"@astrojs/react": "^4.2.7",
|
|
"@octokit/rest": "^21.1.1",
|
|
"@radix-ui/react-avatar": "^1.1.9",
|
|
"@radix-ui/react-checkbox": "^1.3.1",
|
|
"@radix-ui/react-dialog": "^1.1.13",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.14",
|
|
"@radix-ui/react-label": "^2.1.6",
|
|
"@radix-ui/react-popover": "^1.1.13",
|
|
"@radix-ui/react-radio-group": "^1.3.6",
|
|
"@radix-ui/react-select": "^2.2.4",
|
|
"@radix-ui/react-slot": "^1.2.2",
|
|
"@radix-ui/react-switch": "^1.2.5",
|
|
"@radix-ui/react-tabs": "^1.1.11",
|
|
"@radix-ui/react-tooltip": "^1.2.6",
|
|
"@tailwindcss/vite": "^4.1.7",
|
|
"@tanstack/react-virtual": "^3.13.8",
|
|
"@types/canvas-confetti": "^1.9.0",
|
|
"@types/react": "^19.1.4",
|
|
"@types/react-dom": "^19.1.5",
|
|
"astro": "^5.7.13",
|
|
"axios": "^1.9.0",
|
|
"bcryptjs": "^3.0.2",
|
|
"canvas-confetti": "^1.9.3",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"drizzle-orm": "^0.43.1",
|
|
"fuse.js": "^7.1.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"lucide-react": "^0.511.0",
|
|
"next-themes": "^0.4.6",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-icons": "^5.5.0",
|
|
"sonner": "^2.0.3",
|
|
"superagent": "^10.2.1",
|
|
"tailwind-merge": "^3.3.0",
|
|
"tailwindcss": "^4.1.7",
|
|
"tw-animate-css": "^1.3.0",
|
|
"uuid": "^11.1.0",
|
|
"zod": "^3.25.7"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@types/bcryptjs": "^3.0.0",
|
|
"@types/jsonwebtoken": "^9.0.9",
|
|
"@types/superagent": "^8.1.9",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitejs/plugin-react": "^4.4.1",
|
|
"jsdom": "^26.1.0",
|
|
"tsx": "^4.19.4",
|
|
"vitest": "^3.1.4"
|
|
},
|
|
"packageManager": "bun@1.2.9"
|
|
}
|