{
    "name": "@fosrl/pangolin",
    "version": "1.0.0-beta.1",
    "private": true,
    "type": "module",
    "description": "Tunneled Reverse Proxy Management Server with Identity and Access Control and Dashboard UI",
    "homepage": "https://github.com/fosrl/pangolin",
    "repository": {
        "type": "git",
        "url": "https://github.com/fosrl/pangolin"
    },
    "license": "SEE LICENSE IN LICENSE AND README.md",
    "scripts": {
        "dev": "NODE_ENV=development ENVIRONMENT=dev tsx watch server/index.ts",
        "db:generate": "drizzle-kit generate",
        "db:push": "npx tsx server/db/migrate.ts",
        "db:studio": "drizzle-kit studio",
        "build": "mkdir -p dist && next build && node esbuild.mjs -e server/index.ts -o dist/server.mjs && node esbuild.mjs -e server/setup/migrations.ts -o dist/migrations.mjs",
        "start": "NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'",
        "email": "email dev --dir server/emails/templates --port 3005"
    },
    "dependencies": {
        "@hookform/resolvers": "3.9.1",
        "@node-rs/argon2": "2.0.2",
        "@oslojs/crypto": "1.0.1",
        "@oslojs/encoding": "1.1.0",
        "@radix-ui/react-avatar": "1.1.2",
        "@radix-ui/react-checkbox": "1.1.3",
        "@radix-ui/react-dialog": "1.1.4",
        "@radix-ui/react-dropdown-menu": "2.1.4",
        "@radix-ui/react-icons": "1.3.2",
        "@radix-ui/react-label": "2.1.1",
        "@radix-ui/react-popover": "1.1.4",
        "@radix-ui/react-radio-group": "1.2.2",
        "@radix-ui/react-select": "2.1.4",
        "@radix-ui/react-separator": "1.1.1",
        "@radix-ui/react-slot": "1.1.1",
        "@radix-ui/react-switch": "1.1.2",
        "@radix-ui/react-tabs": "1.1.2",
        "@radix-ui/react-toast": "1.2.4",
        "@react-email/components": "0.0.31",
        "@react-email/tailwind": "1.0.4",
        "@tanstack/react-table": "8.20.6",
        "axios": "1.7.9",
        "better-sqlite3": "11.7.0",
        "class-variance-authority": "0.7.1",
        "clsx": "2.1.1",
        "cmdk": "1.0.4",
        "cookie-parser": "1.4.7",
        "cors": "2.8.5",
        "drizzle-orm": "0.38.3",
        "emblor": "1.4.7",
        "eslint": "9.17.0",
        "eslint-config-next": "15.1.3",
        "express": "4.21.2",
        "express-rate-limit": "7.5.0",
        "glob": "11.0.0",
        "helmet": "8.0.0",
        "http-errors": "2.0.0",
        "input-otp": "1.4.1",
        "js-yaml": "4.1.0",
        "lucide-react": "0.469.0",
        "moment": "2.30.1",
        "next": "15.1.3",
        "next-themes": "0.4.4",
        "node-fetch": "3.3.2",
        "nodemailer": "6.9.16",
        "oslo": "1.2.1",
        "qrcode.react": "4.2.0",
        "react": "19.0.0",
        "react-dom": "19.0.0",
        "react-hook-form": "7.54.2",
        "rebuild": "0.1.2",
        "semver": "7.6.3",
        "tailwind-merge": "2.6.0",
        "tailwindcss-animate": "1.0.7",
        "vaul": "1.1.2",
        "winston": "3.17.0",
        "winston-daily-rotate-file": "5.0.0",
        "ws": "8.18.0",
        "zod": "3.24.1",
        "zod-validation-error": "3.4.0"
    },
    "devDependencies": {
        "@dotenvx/dotenvx": "1.32.0",
        "@esbuild-plugins/tsconfig-paths": "0.1.2",
        "@types/better-sqlite3": "7.6.12",
        "@types/cookie-parser": "1.4.8",
        "@types/cors": "2.8.17",
        "@types/express": "5.0.0",
        "@types/js-yaml": "4.0.9",
        "@types/node": "^22",
        "@types/nodemailer": "6.4.17",
        "@types/react": "19.0.2",
        "@types/react-dom": "19.0.2",
        "@types/semver": "7.5.8",
        "@types/ws": "8.5.13",
        "@types/yargs": "17.0.33",
        "drizzle-kit": "0.30.1",
        "esbuild": "0.24.2",
        "esbuild-node-externals": "1.16.0",
        "postcss": "^8",
        "react-email": "3.0.4",
        "tailwindcss": "^3.4.17",
        "tsc-alias": "1.8.10",
        "tsx": "4.19.2",
        "typescript": "^5",
        "yargs": "17.7.2"
    },
    "overrides": {
        "emblor": {
            "react": "19.0.0",
            "react-dom": "19.0.0"
        }
    }
}
