package.json 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. {
  2. "name": "openhands-frontend",
  3. "version": "0.15.3",
  4. "private": true,
  5. "type": "module",
  6. "engines": {
  7. "node": ">=20.0.0"
  8. },
  9. "dependencies": {
  10. "@monaco-editor/react": "^4.6.0",
  11. "@nextui-org/react": "^2.4.8",
  12. "@react-router/node": "^7.0.1",
  13. "@react-router/serve": "^7.0.1",
  14. "@react-types/shared": "^3.25.0",
  15. "@reduxjs/toolkit": "^2.3.0",
  16. "@tanstack/react-query": "^5.60.5",
  17. "@vitejs/plugin-react": "^4.3.2",
  18. "@xterm/addon-fit": "^0.10.0",
  19. "@xterm/xterm": "^5.4.0",
  20. "axios": "^1.7.7",
  21. "clsx": "^2.1.1",
  22. "eslint-config-airbnb-typescript": "^18.0.0",
  23. "i18next": "^23.15.2",
  24. "i18next-browser-languagedetector": "^8.0.0",
  25. "i18next-http-backend": "^2.6.2",
  26. "isbot": "^5.1.17",
  27. "jose": "^5.9.4",
  28. "monaco-editor": "^0.52.0",
  29. "posthog-js": "^1.184.1",
  30. "react": "^18.3.1",
  31. "react-dom": "^18.3.1",
  32. "react-highlight": "^0.15.0",
  33. "react-hot-toast": "^2.4.1",
  34. "react-i18next": "^15.0.2",
  35. "react-icons": "^5.3.0",
  36. "react-markdown": "^9.0.1",
  37. "react-redux": "^9.1.2",
  38. "react-router": "^7.0.1",
  39. "react-syntax-highlighter": "^15.6.1",
  40. "react-textarea-autosize": "^8.5.4",
  41. "remark-gfm": "^4.0.0",
  42. "sirv-cli": "^3.0.0",
  43. "socket.io-client": "^4.8.1",
  44. "tailwind-merge": "^2.5.4",
  45. "vite": "^5.4.9",
  46. "web-vitals": "^3.5.2",
  47. "ws": "^8.18.0"
  48. },
  49. "scripts": {
  50. "dev": "npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev",
  51. "dev:mock": "npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev",
  52. "build": "npm run make-i18n && tsc && react-router build",
  53. "start": "npx sirv-cli build/ --single",
  54. "test": "vitest run",
  55. "test:e2e": "playwright test",
  56. "test:coverage": "npm run make-i18n && vitest run --coverage",
  57. "dev_wsl": "VITE_WATCH_USE_POLLING=true vite",
  58. "preview": "vite preview",
  59. "make-i18n": "node scripts/make-i18n-translations.cjs",
  60. "prelint": "npm run make-i18n",
  61. "lint": "eslint src --ext .ts,.tsx,.js && prettier --check src/**/*.{ts,tsx}",
  62. "lint:fix": "eslint src --ext .ts,.tsx,.js --fix && prettier --write src/**/*.{ts,tsx}",
  63. "prepare": "cd .. && husky frontend/.husky",
  64. "typecheck": "react-router typegen && tsc"
  65. },
  66. "husky": {
  67. "hooks": {
  68. "pre-commit": "npm run test && lint-staged"
  69. }
  70. },
  71. "lint-staged": {
  72. "src/**/*.{ts,tsx,js}": [
  73. "eslint --fix",
  74. "prettier --write"
  75. ]
  76. },
  77. "devDependencies": {
  78. "@playwright/test": "^1.48.2",
  79. "@react-router/dev": "^7.0.1",
  80. "@tailwindcss/typography": "^0.5.15",
  81. "@tanstack/eslint-plugin-query": "^5.62.1",
  82. "@testing-library/jest-dom": "^6.6.1",
  83. "@testing-library/react": "^16.0.1",
  84. "@testing-library/user-event": "^14.5.2",
  85. "@types/node": "^22.7.6",
  86. "@types/react": "^18.3.11",
  87. "@types/react-dom": "^18.3.0",
  88. "@types/react-highlight": "^0.12.8",
  89. "@types/react-syntax-highlighter": "^15.5.13",
  90. "@types/ws": "^8.5.12",
  91. "@typescript-eslint/eslint-plugin": "^7.18.0",
  92. "@typescript-eslint/parser": "^7.18.0",
  93. "@vitest/coverage-v8": "^1.6.0",
  94. "autoprefixer": "^10.4.20",
  95. "cross-env": "^7.0.3",
  96. "eslint": "^8.57.0",
  97. "eslint-config-airbnb": "^19.0.4",
  98. "eslint-config-airbnb-typescript": "^18.0.0",
  99. "eslint-config-prettier": "^9.1.0",
  100. "eslint-plugin-import": "^2.29.1",
  101. "eslint-plugin-jsx-a11y": "^6.10.2",
  102. "eslint-plugin-prettier": "^5.2.1",
  103. "eslint-plugin-react": "^7.37.2",
  104. "eslint-plugin-react-hooks": "^4.6.2",
  105. "husky": "^9.1.6",
  106. "jsdom": "^25.0.1",
  107. "lint-staged": "^15.2.10",
  108. "msw": "^2.6.6",
  109. "postcss": "^8.4.47",
  110. "prettier": "^3.3.3",
  111. "tailwindcss": "^3.4.14",
  112. "typescript": "^5.6.3",
  113. "vite-plugin-svgr": "^4.2.0",
  114. "vite-tsconfig-paths": "^5.0.1",
  115. "vitest": "^1.6.0"
  116. },
  117. "packageManager": "npm@10.5.0",
  118. "volta": {
  119. "node": "18.20.1"
  120. },
  121. "msw": {
  122. "workerDirectory": [
  123. "public"
  124. ]
  125. }
  126. }