{
"name": "learnhouse",
"version": "1.3.5",
"private": true,
"packageManager": "bun@1.4.0",
"scripts": {
"dev": "next dev --turbopack",
"dev-https": "next dev --experimental-https -p 443",
"build": "next build",
"start": "next start",
"lint": "eslint . || true",
"lint:fix": "eslint --fix . || true",
"lint:strict": "eslint",
"test": "bun test tests"
},
"dependencies": {
"@codemirror/autocomplete": "^6.18.4",
"@codemirror/lang-cpp": "^6.0.3",
"@codemirror/lang-go": "^6.0.1",
"@codemirror/lang-java": "^6.0.2",
"@codemirror/lang-javascript": "^6.2.4",
"@codemirror/lang-markdown": "^6.5.0",
"@codemirror/lang-php": "^6.0.2",
"@codemirror/lang-python": "^6.2.1",
"@codemirror/lang-rust": "^6.0.2",
"@codemirror/lang-sass": "^6.0.2",
"@codemirror/lang-sql": "^6.10.0",
"@codemirror/lang-wast": "^6.0.2",
"@codemirror/lang-xml": "^6.1.0",
"@codemirror/legacy-modes": "^6.5.2",
"@codemirror/lint": "^6.9.5",
"@codemirror/state": "^6.5.2",
"@codemirror/view": "^6.36.5",
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@hello-pangea/dnd": "^18.0.1",
"@hocuspocus/provider": "^4.0.0",
"@icons-pack/react-simple-icons": "^13.8.0",
"@marsidev/react-turnstile": "^1.5.3",
"@phosphor-icons/react": "^2.1.10",
"@radix-ui/react-aspect-ratio": "^1.1.7",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-direction": "^1.1.4",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-form": "^0.1.8",
"@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-navigation-menu": "^1.2.14",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-portal": "^1.1.10",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.8",
"@react-email/components": "1.0.12",
"@sentry/nextjs": "^10.40.0",
"@tanstack/react-query": "^5.100.10",
"@tanstack/react-query-devtools": "^5.100.10",
"@tiptap/core": "3.30.5",
"@tiptap/extension-bullet-list": "3.30.5",
"@tiptap/extension-code-block-lowlight": "3.30.5",
"@tiptap/extension-collaboration": "3.30.5",
"@tiptap/extension-collaboration-caret": "3.30.5",
"@tiptap/extension-heading": "3.30.5",
"@tiptap/extension-link": "3.30.5",
"@tiptap/extension-list-item": "3.30.5",
"@tiptap/extension-ordered-list": "3.30.5",
"@tiptap/extension-placeholder": "3.30.5",
"@tiptap/extension-table": "3.30.5",
"@tiptap/extension-table-cell": "3.30.5",
"@tiptap/extension-table-header": "3.30.5",
"@tiptap/extension-table-row": "3.30.5",
"@tiptap/extension-youtube": "3.30.5",
"@tiptap/html": "3.30.5",
"@tiptap/pm": "3.30.5",
"@tiptap/react": "3.30.5",
"@tiptap/starter-kit": "3.30.5",
"@tiptap/suggestion": "3.30.5",
"@uiw/codemirror-theme-tokyo-night": "^4.25.4",
"@uiw/react-codemirror": "^4.25.4",
"@videojs/themes": "^1",
"avvvatars-react": "^0.4.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"cobe": "^2.0.1",
"currency-codes": "^2.2.0",
"dayjs": "^1.11.19",
"dompurify": "^3.3.1",
"emblor": "^1.4.8",
"formik": "^2.4.6",
"get-youtube-id": "^1.0.1",
"github-markdown-css": "^5.9.0",
"highlight.js": "^11.11.1",
"html2canvas": "^1.4.1",
"html2canvas-pro": "^2.0.0",
"i18next": "^26.0.0",
"i18next-browser-languagedetector": "^8.2.0",
"jspdf": "^4.0.0",
"jspdf-html2canvas": "^1.5.2",
"katex": "^0.16.47",
"loops": "^7.0.0",
"lowlight": "^3.3.0",
"lucide-react": "^1.0.0",
"mailchecker": "^6.0.20",
"motion": "^13.0.0",
"next": "^16.2.9",
"nextjs-toploader": "^3.9.17",
"pdfjs-dist": "^6.0.227",
"posthog-js": "^1.395.0",
"prosemirror-state": "^1.4.4",
"qrcode": "^1.5.4",
"re-resizable": "^6.11.2",
"react": "19.2.8",
"react-confetti": "^6.4.0",
"react-dom": "19.2.8",
"react-hot-toast": "^2.6.0",
"react-i18next": "^17.0.0",
"react-katex": "^3.1.0",
"react-markdown": "^10.1.0",
"react-spinners": "^0.17.0",
"react-youtube": "^10.1.0",
"recharts": "^3.0.0",
"rehype-highlight": "^7.0.2",
"rehype-katex": "^7.0.1",
"rehype-raw": "^7.0.0",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"require-in-the-middle": "^8.0.1",
"resend": "^6.0.0",
"screenfull": "^6.0.2",
"sharp": "^0.35.0",
"stripe": "^22.2.1",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tailwindcss-animate": "^1.0.7",
"tippy.js": "^6.3.7",
"unsplash-js": "^8.0.0",
"usehooks-ts": "^3.1.1",
"uuid": "^14.0.0",
"video.js": "^8.23.9",
"videojs-contrib-quality-levels": "^4",
"videojs-hls-quality-selector": "^2",
"videojs-sprite-thumbnails": "^2",
"wavesurfer.js": "^7.12.1",
"y-prosemirror": "^1.2.12",
"yjs": "^13.6.20",
"yup": "^1.7.1"
},
"devDependencies": {
"@eslint/js": "^9.39.4",
"@tailwindcss/postcss": "^4.1.16",
"@types/node": "26.3.0",
"@types/qrcode": "^1.5.6",
"@types/react": "19.2.18",
"@types/react-dom": "19.2.5",
"@types/react-katex": "^3.0.4",
"eslint": "^9.39.4",
"eslint-config-next": "16.3.3",
"eslint-plugin-unused-imports": "^4.3.0",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.16",
"typescript": "6.0.3"
},
"overrides": {
"@types/react": "19.2.18",
"@types/react-dom": "19.2.5",
"lodash": ">=4.17.23",
"lodash-es": ">=4.17.23",
"preact": ">=10.27.3",
"js-yaml": ">=4.1.1",
"jspdf": ">=4.2.1",
"prosemirror-view": "1.42.3",
"prosemirror-model": "1.25.11",
"nth-check": ">=2.0.1",
"dompurify": ">=3.2.4",
"postcss": ">=8.4.31",
"ws": ">=8.21.1",
"fast-uri": ">=3.1.4",
"brace-expansion@5": ">=5.0.7"
}
}