Files
2026-08-21 16:00:13 +08:00

58 lines
1.5 KiB
JSON

{
"name": "frontend",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev --hostname 0.0.0.0",
"build": "next build",
"start": "next start",
"lint": "eslint",
"type-check": "tsc --noEmit",
"format": "prettier --write .",
"format:check": "prettier --check .",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"prepare": "cd .. && husky frontend/.husky",
"design": "node scripts/serve-design.mjs"
},
"dependencies": {
"clsx": "^2.1.1",
"framer-motion": "^12.40.0",
"katex": "^0.17.0",
"mermaid": "^11.15.0",
"next": "16.2.9",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-markdown": "^10.1.0",
"rehype-highlight": "^7.0.2",
"rehype-katex": "^7.0.1",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"tailwind-merge": "^3.6.0",
"zustand": "^5.0.14"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@vitejs/plugin-react": "^6.0.2",
"@vitest/coverage-v8": "^4.1.9",
"eslint": "^9",
"eslint-config-next": "16.2.9",
"eslint-config-prettier": "^10.1.8",
"husky": "^9.1.7",
"jsdom": "^29.1.1",
"lint-staged": "^17.0.7",
"playwright": "^1.61.1",
"prettier": "^3.8.4",
"tailwindcss": "^4",
"typescript": "^5.9.3",
"vitest": "^4.1.9"
}
}