app/package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "devpush",
"version": "1.1.0",
"type": "module",
"imports": {
"#devpush/*": {
"types": [
"./src/*.ts",
"./src/*.tsx",
"./src/*/index.ts"
],
"default": "./src/*"
},
"#devpush/plugins/registered-server": "./src/plugins/default.server.ts",
"#devpush/plugins/registered-client": "./src/plugins/default.ui.ts"
},
"scripts": {
"dev": "pnpm db:migrate && node -r ./scripts/fs-watch-error-guard.cjs ./node_modules/vite/bin/vite.js dev --host 0.0.0.0 --port 7429 --strictPort",
"generate-routes": "tsr generate",
"build": "vite build",
"build:cloudflare": "DEVPUSH_DEPLOY_TARGET=cloudflare vite build",
"deploy:cloudflare:worker": "pnpm validate:cloudflare:config && pnpm build:cloudflare && wrangler deploy --config dist/server/wrangler.json --secrets-file \"${DEVPUSH_CLOUDFLARE_SECRETS_FILE:-.cloudflare-secrets.json}\"",
"validate:cloudflare": "pnpm validate:cloudflare:config && pnpm build:cloudflare && wrangler deploy --config dist/server/wrangler.json --dry-run --secrets-file \"${DEVPUSH_CLOUDFLARE_SECRETS_FILE:-.cloudflare-secrets.json}\"",
"validate:cloudflare:config": "tsx scripts/validate-cloudflare-config.mjs",
"cf-typegen": "wrangler types --config wrangler.template.jsonc --env-file=cloudflare-types.env --include-runtime=false --strict-vars=false",
"db:generate": "drizzle-kit generate",
"db:migrate": "tsx --env-file-if-exists=.env scripts/migrate.ts",
"db:migrate:cloudflare": "tsx scripts/migrate-cloudflare.mjs",
"db:push": "drizzle-kit push",
"db:studio": "drizzle-kit studio",
"preview": "vite preview",
"cleanup:invites": "tsx scripts/cleanup-expired-invites.ts",
"cleanup:users": "tsx scripts/cleanup-deleted-users.ts",
"smoke:deploy": "DEVPUSH_SMOKE_GITHUB_TOKEN=${DEVPUSH_SMOKE_GITHUB_TOKEN:-smoke-github-token} tsx scripts/smoke-deploy-lifecycle.ts",
"test": "vitest run",
"test:integration": "vitest run --config vitest.integration.config.ts",
"typecheck": "tsc --noEmit",
"lint": "eslint",
"format": "prettier --write . && eslint --fix",
"check": "prettier --check .",
"db:generate:logs": "drizzle-kit generate --config drizzle.logs.config.ts",
"test:integration:libsql": "DEVPUSH_TEST_LIBSQL=1 vitest run --config vitest.integration.config.ts",
"smoke:worker": "node scripts/smoke-worker.mjs",
"smoke:node": "node scripts/smoke-node.mjs",
"smoke:dev": "DEVPUSH_SMOKE_DEVELOPMENT=1 node scripts/smoke-node.mjs",
"cleanup:recover": "tsx --env-file-if-exists=.env scripts/deletion-recovery.ts",
"build:package": "node scripts/build-package.mjs",
"prepack": "pnpm build:package",
"test:package": "node scripts/package-proof.mjs"
},
"dependencies": {
"@aws-sdk/client-s3": "3.1105.0",
"@base-ui/react": "1.9.0",
"@better-auth/cimd": "1.7.7",
"@better-auth/core": "1.7.7",
"@better-auth/drizzle-adapter": "1.7.7",
"@better-auth/oauth-provider": "1.7.7",
"@better-auth/utils": "0.4.2",
"@clack/prompts": "1.7.0",
"@cloudflare/vite-plugin": "1.62.4",
"@fontsource-variable/inter": "5.2.8",
"@fontsource/ibm-plex-mono": "5.3.0",
"@libsql/client": "0.18.0",
"@modelcontextprotocol/server": "2.3.1",
"@react-email/components": "1.0.12",
"@react-email/render": "2.0.8",
"@tailwindcss/vite": "4.3.1",
"@vitejs/plugin-react": "6.0.2",
"better-auth": "1.7.7",
"better-call": "1.4.0",
"better-sqlite3": "12.11.1",
"class-variance-authority": "0.7.1",
"clsx": "2.1.1",
"input-otp": "1.4.2",
"jose": "6.2.3",
"jsonc-parser": "3.3.1",
"lucide-react": "0.545.0",
"next-themes": "0.4.6",
"nitro": "npm:nitro-nightly@3.0.1-20260821-005124-e36e7a60",
"radix-ui": "1.5.0",
"recharts": "3.8.0",
"safe-regex2": "5.1.1",
"sonner": "2.0.7",
"tailwind-merge": "3.6.0",
"tailwindcss": "4.3.1",
"tslib": "2.8.1",
"tw-animate-css": "1.4.0",
"yaml": "2.9.0",
"zod": "4.6.7"
},
"devDependencies": {
"@apidevtools/swagger-parser": "^13.1.0",
"@cloudflare/workers-types": "^5.20261001.1",
"@modelcontextprotocol/client": "2.3.1",
"@tanstack/eslint-config": "0.4.0",
"@tanstack/react-query": "5.102.8",
"@tanstack/react-router": "1.170.41",
"@tanstack/react-router-ssr-query": "1.167.2",
"@tanstack/react-start": "1.168.60",
"@tanstack/router-cli": "^1.132.0",
"@types/better-sqlite3": "^9.6.0",
"@types/node": "^22.10.2",
"@types/react": "^19.2.0",
"@types/react-dom": "^19.2.0",
"drizzle-kit": "^0.31.10",
"drizzle-orm": "0.45.2",
"esbuild": "0.28.1",
"eslint": "^10.9.1",
"jsdom": "28.1.0",
"miniflare": "5.20261001.0-alpha",
"prettier": "^3.8.1",
"react": "19.2.7",
"react-dom": "19.2.7",
"tsx": "^4.22.4",
"typescript": "^6.0.2",
"vite": "8.1.6",
"vitest": "4.1.12",
"wrangler": "^4.146.0"
},
"exports": {
"./vite": {
"types": "./src/package/vite-api.d.ts",
"import": "./dist/package/vite.mjs"
},
"./styles.css": "./src/styles.css",
"./package.json": "./package.json",
"./migrate": {
"types": "./src/package/migrate-api.d.ts",
"import": "./dist/package/migrate.mjs"
},
"./sqlite": "./src/package/sqlite.mjs",
"./plugins": {
"types": "./src/package/plugins.ts",
"import": "./dist/package/plugins.mjs"
},
"./plugins/server": "./src/plugins/server.ts",
"./plugins/client": "./src/plugins/client.ts",
"./ui/*": "./src/components/ui/*.tsx",
"./env": "./src/package/env.mjs",
"./dev/watch-guard": "./src/package/watch-guard.cjs",
"./resource-avatar": "./src/components/resource-avatar.tsx"
},
"files": [
"dist/package",
"agent-release.json",
"src",
"public",
"wrangler.template.jsonc",
"!src/**/*.test.*",
"!src/test",
"!public/uploads",
"!src/cli"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/hunvreus/devpush.git",
"directory": "app"
},
"engines": {
"node": ">=22.12.0"
},
"peerDependencies": {
"@tanstack/react-query": "5.102.8",
"@tanstack/react-router": "1.170.41",
"@tanstack/react-router-ssr-query": "1.167.2",
"@tanstack/react-start": "1.168.60",
"drizzle-orm": "0.45.2",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"vite": "8.1.6"
},
"description": "Deploy Docker Compose applications to your own servers with a git push.",
"homepage": "https://devpu.sh",
"bin": {
"devpush": "dist/package/cli.mjs"
},
"keywords": [
"docker-compose",
"deployment",
"self-hosted",
"cli"
]
}