skillhub/web/package.json
2026-03-13 16:05:08 +08:00

53 lines
1.6 KiB
JSON

{
"name": "skillhub-web",
"private": true,
"version": "0.1.0-beta.7",
"type": "module",
"scripts": {
"install:ci": "pnpm install --frozen-lockfile",
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"typecheck": "tsc --noEmit",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"generate-api": "openapi-typescript http://localhost:8080/v3/api-docs -o src/api/generated/schema.d.ts"
},
"dependencies": {
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@tanstack/react-query": "^5.64.0",
"@tanstack/react-router": "^1.95.0",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"i18next": "^25.8.18",
"i18next-browser-languagedetector": "^8.2.1",
"lucide-react": "^0.344.0",
"openapi-fetch": "^0.13.8",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-dropzone": "^15.0.0",
"react-i18next": "^16.5.8",
"react-markdown": "^10.1.0",
"rehype-highlight": "^7.0.2",
"rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1",
"sonner": "^2.0.7",
"tailwind-merge": "^2.2.1",
"zustand": "^5.0.11"
},
"devDependencies": {
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"@vitejs/plugin-react": "^4.3.0",
"autoprefixer": "^10.4.0",
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"openapi-typescript": "^7.6.1",
"postcss": "^8.4.0",
"tailwindcss": "^3.4.0",
"typescript": "^5.7.0",
"vite": "^6.1.0"
}
}