echoes/frontend/package.json

76 lines
2.2 KiB
JSON
Raw Normal View History

{
"name": "frontend",
"private": true,
"sideEffects": false,
"type": "module",
"scripts": {
"build": "remix vite:build",
"dev": "tsx start.ts",
"format": "prettier --write \"./**/*.{ts,tsx,js,jsx}\"",
"lint": "eslint \"./**/*.{ts,tsx,js,jsx}\" --fix",
"start": "cross-env NODE_ENV=production tsx start.ts",
"typecheck": "tsc"
},
"dependencies": {
"@heroicons/react": "^2.2.0",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/themes": "^3.1.6",
"@remix-run/node": "^2.14.0",
"@remix-run/react": "^2.14.0",
"@remix-run/serve": "^2.14.0",
"@tailwindcss/typography": "^0.5.15",
"@types/axios": "^0.14.4",
"@types/react-syntax-highlighter": "^15.5.13",
"@types/three": "^0.170.0",
"axios": "^1.7.7",
"bootstrap-icons": "^1.11.3",
"cors": "^2.8.5",
"express": "^4.21.1",
"gsap": "^3.12.5",
"html-react-parser": "^5.1.19",
"isbot": "^4.1.0",
"markdown-it": "^14.1.0",
"markdown-it-toc-done-right": "^4.2.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-markdown": "^9.0.1",
"react-syntax-highlighter": "^15.6.1",
"rehype-raw": "^7.0.0",
"remark-emoji": "^5.0.1",
"remark-gfm": "^4.0.0",
"remark-parse": "^11.0.0",
"three": "^0.171.0"
},
"devDependencies": {
"@remix-run/dev": "^2.14.0",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/lodash": "^4.17.13",
"@types/markdown-it": "^14.1.2",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"autoprefixer": "^10.4.19",
"concurrently": "^9.1.0",
"cross-env": "^7.0.3",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"tailwindcss": "^3.4.4",
"terser": "^5.37.0",
"tsx": "^4.19.2",
"typescript": "^5.1.6",
"vite": "^5.1.0",
"vite-tsconfig-paths": "^4.2.1"
},
"engines": {
"node": ">=20.0.0"
}
}