{ "name": "dbackup", "version": "4.0.2", "private": true, "scripts": { "dev": "node scripts/apply-pending-restore.js && prisma migrate deploy && prisma generate && next dev", "build": "next build", "start": "next start", "lint": "eslint", "type": "tsc --noEmit", "validate": "./scripts/validate.sh", "test": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "playwright test -c e2e", "test:e2e:ui": "playwright test -c e2e --ui", "lab": "tsx lab/src/cli.ts", "lab:status": "tsx lab/src/cli.ts status", "lab:up": "tsx lab/src/cli.ts up", "lab:down": "tsx lab/src/cli.ts down", "lab:seed": "tsx lab/src/cli.ts seed", "lab:check": "tsx lab/src/cli.ts check", "lab:reset": "tsx lab/src/cli.ts reset", "lab:clean": "tsx lab/src/cli.ts clean", "lab:provision": "tsx lab/src/cli.ts provision", "lab:init": "tsx lab/src/cli.ts init", "toolbox": "node scripts/toolbox/index.mjs", "version:bump": "node scripts/toolbox/index.mjs version:bump", "release:tag": "node scripts/toolbox/index.mjs release:tag", "release:untag": "node scripts/toolbox/index.mjs release:untag", "version:sync": "node scripts/toolbox/index.mjs version:sync", "changelog:check": "node scripts/toolbox/index.mjs changelog:check", "changelog:preview": "node scripts/toolbox/index.mjs changelog:preview", "changelog:amend": "node scripts/toolbox/index.mjs changelog:amend", "codeql:check": "node scripts/toolbox/index.mjs codeql:check", "audit:check": "node scripts/toolbox/index.mjs audit:check", "update:check": "node scripts/toolbox/index.mjs update:check", "database:deploy": "prisma migrate deploy && prisma generate", "database:reset": "prisma migrate reset", "docs:install": "cd docs && pnpm install", "docs:dev": "cd docs && pnpm dev", "docs:build": "cd docs && pnpm build", "docs:preview": "cd docs && pnpm preview", "website:install": "cd website && pnpm install", "website:dev": "cd website && pnpm dev", "website:build": "cd website && pnpm build", "website:preview": "cd website && pnpm preview", "setup:worktree": "bash scripts/setup-worktree.sh", "email:icons": "npx tsx scripts/build-email-icons.ts" }, "dependencies": { "@aws-sdk/client-s3": "^3.1146.0", "@aws-sdk/lib-storage": "^3.1146.0", "@better-auth/passkey": "~1.6.33", "@better-auth/sso": "~1.6.33", "@better-auth/utils": "0.4.2", "@hookform/resolvers": "^5.9.1", "@iconify-icons/logos": "^1.2.36", "@iconify-icons/mdi": "^1.2.48", "@iconify-icons/simple-icons": "^1.2.74", "@iconify/react": "^6.0.2", "@microsoft/microsoft-graph-client": "^3.0.7", "@prisma/client": "^6.19.3", "@radix-ui/react-alert-dialog": "^1.1.23", "@radix-ui/react-avatar": "^1.2.6", "@radix-ui/react-checkbox": "^1.3.11", "@radix-ui/react-context-menu": "^2.3.7", "@radix-ui/react-dialog": "^1.1.23", "@radix-ui/react-dropdown-menu": "^2.1.24", "@radix-ui/react-label": "^2.1.15", "@radix-ui/react-popover": "^1.1.23", "@radix-ui/react-progress": "^1.1.16", "@radix-ui/react-radio-group": "^1.4.7", "@radix-ui/react-scroll-area": "^1.2.18", "@radix-ui/react-select": "^2.3.7", "@radix-ui/react-slot": "^1.3.3", "@radix-ui/react-switch": "^1.3.7", "@radix-ui/react-tabs": "^1.1.21", "@radix-ui/react-tooltip": "^1.2.16", "@scalar/api-reference-react": "^0.9.77", "@tanstack/react-table": "^8.21.3", "adm-zip": "^0.6.1", "basic-ftp": "^6.2.2", "better-auth": "~1.6.33", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "croner": "^10.0.1", "date-fns": "^4.4.0", "date-fns-tz": "^3.2.0", "dockerode": "5.0.1", "dropbox": "^10.47.0", "googleapis": "^173.0.0", "lucide-react": "^1.52.0", "minimatch": "^10.2.6", "mongodb": "^7.7.0", "mssql": "^12.7.2", "next": "16.3.8", "next-themes": "^0.4.6", "node-cron": "^4.6.0", "nodemailer": "^10.0.14", "qrcode.react": "^4.2.0", "radix-ui": "^1.6.7", "rate-limiter-flexible": "^11.2.1", "react": "19.3.0", "react-colorful": "^5.8.1", "react-day-picker": "^10.0.2", "react-dom": "19.3.0", "react-hook-form": "^7.89.0", "recharts": "3.10.1", "samba-client": "^7.2.0", "sonner": "^2.0.8", "ssh2": "^1.17.0", "ssh2-sftp-client": "^12.1.1", "tailwind-merge": "^3.7.0", "tailwindcss-animate": "^1.0.7", "tar-stream": "3.2.0", "webdav": "~5.10.0", "zod": "^4.6.5" }, "devDependencies": { "@eslint/compat": "^2.1.1", "@playwright/test": "1.64.0", "@tailwindcss/postcss": "^4.3.3", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.7", "@types/adm-zip": "^0.5.8", "@types/dockerode": "4.0.1", "@types/mssql": "^12.3.0", "@types/node": "^24.12.2", "@types/node-cron": "^3.0.11", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@types/ssh2": "^1.15.6", "@types/ssh2-sftp-client": "^9.0.6", "@types/tar-stream": "^3.1.5", "@vitejs/plugin-react": "^6.1.1", "@vitest/coverage-v8": "^4.1.11", "eslint": "^10.12.0", "eslint-config-next": "16.3.8", "jsdom": "^29.1.1", "prisma": "^6.19.3", "shadcn": "^4.21.1", "tailwindcss": "^4.3.3", "tsx": "4.20.6", "typescript": "^5.9.3", "vite": "^8.3.2", "vitest": "^4.1.11", "vitest-mock-extended": "^5.1.1" }, "pnpm": { "overrides": { "dompurify": ">=3.4.11", "postcss": ">=8.5.23", "fast-xml-builder": "^1.2.0", "brace-expansion@1": "^1.1.21", "brace-expansion@2": "^2.1.7", "brace-expansion@5": "^5.0.12", "sharp": "^0.35.4", "qs": "^6.16.0", "uuid": "^11.1.1", "kysely": "0.28.17", "shell-quote": ">=1.8.4", "form-data": ">=4.0.6", "undici": "^7.29.1", "js-yaml": ">=5.2.2", "esbuild": ">=0.28.1", "@babel/core": ">=7.29.6", "nanoid@3": "^3.3.18", "nanoid@5": "^5.1.16", "browserslist": "^4.28.7", "@xmldom/xmldom": "^0.8.15", "@grpc/grpc-js": "^1.14.5", "@humanfs/node": "^0.16.8", "baseline-browser-mapping": "^2.11.0", "@ai-sdk/provider-utils": "^4.0.33" }, "onlyBuiltDependencies": [ "@prisma/client", "@prisma/engines", "better-sqlite3", "esbuild", "prisma", "sharp", "unrs-resolver" ] } }