package.json

{
    "name": "syllo",
    "version": "1.0.0",
    "private": true,
    "type": "module",
    "scripts": {
        "dev": "vite dev",
        "build": "vite build",
        "start": "node server.mjs",
        "lint": "eslint .",
        "typecheck": "tsc --noEmit",
        "typecheck:convex": "tsc -p convex/tsconfig.json",
        "convex:dev": "convex dev",
        "convex:auth-prepare": "node scripts/prepare-convex-auth.mjs",
        "test": "vitest run",
        "test:watch": "vitest"
    },
    "dependencies": {
        "@ai-sdk/google": "4.0.101",
        "@ai-sdk/openai": "4.0.98",
        "@auth/core": "0.41.3",
        "@convex-dev/auth": "0.0.96",
        "@fontsource-variable/geist": "5.3.0",
        "@fontsource-variable/geist-mono": "5.3.0",
        "@modelcontextprotocol/sdk": "1.32.1",
        "@radix-ui/react-alert-dialog": "1.1.15",
        "@radix-ui/react-select": "2.2.6",
        "@radix-ui/react-separator": "1.1.8",
        "@radix-ui/react-slot": "1.2.4",
        "@radix-ui/react-switch": "1.2.6",
        "@tanstack/react-router": "1.170.45",
        "@tanstack/react-start": "1.169.3",
        "ai": "7.0.147",
        "better-sqlite3": "13.0.3",
        "class-variance-authority": "0.7.1",
        "clsx": "2.1.1",
        "convex": "1.47.0",
        "cross-spawn": "7.0.6",
        "epubjs": "0.3.93",
        "framer-motion": "12.34.5",
        "lucide-react": "0.576.0",
        "motion": "12.35.1",
        "openai": "6.27.0",
        "react": "19.2.4",
        "react-dom": "19.2.4",
        "sonner": "2.0.7",
        "tailwind-merge": "3.5.0",
        "ts-fsrs": "5.4.2",
        "zod": "4.6.7"
    },
    "devDependencies": {
        "@eslint/js": "9.39.5",
        "@tailwindcss/vite": "4.3.3",
        "@tanstack/router-plugin": "1.168.47",
        "@types/better-sqlite3": "7.6.13",
        "@types/cross-spawn": "6.0.6",
        "@types/node": "24.19.2",
        "@types/react": "19.3.0",
        "@types/react-dom": "19.3.0",
        "@types/youtube": "0.3.0",
        "@vitejs/plugin-react": "6.1.2",
        "@xmldom/xmldom": "0.9.12",
        "eslint": "9.39.5",
        "eslint-plugin-jsx-a11y": "6.10.2",
        "eslint-plugin-react-hooks": "7.1.1",
        "fake-indexeddb": "6.2.6",
        "globals": "17.13.0",
        "happy-dom": "21.0.4",
        "jszip": "3.10.2",
        "tailwindcss": "4.3.3",
        "typescript": "5.9.3",
        "typescript-eslint": "8.72.0",
        "vite": "8.3.4",
        "vitest": "4.1.12"
    },
    "overrides": {
        "epubjs": {
            "@xmldom/xmldom": "0.9.12"
        }
    }
}