File size: 4,153 Bytes
246d201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{
  "name": "openhands-frontend",
  "version": "0.20.0",
  "private": true,
  "type": "module",
  "engines": {
    "node": ">=20.0.0"
  },
  "dependencies": {
    "@monaco-editor/react": "^4.7.0-rc.0",
    "@nextui-org/react": "^2.6.11",
    "@react-router/node": "^7.1.2",
    "@react-router/serve": "^7.1.2",
    "@react-types/shared": "^3.27.0",
    "@reduxjs/toolkit": "^2.5.0",
    "@tanstack/react-query": "^5.64.1",
    "@vitejs/plugin-react": "^4.3.2",
    "@xterm/addon-fit": "^0.10.0",
    "@xterm/xterm": "^5.4.0",
    "axios": "^1.7.9",
    "clsx": "^2.1.1",
    "eslint-config-airbnb-typescript": "^18.0.0",
    "i18next": "^24.2.1",
    "i18next-browser-languagedetector": "^8.0.2",
    "i18next-http-backend": "^3.0.1",
    "isbot": "^5.1.21",
    "jose": "^5.9.4",
    "monaco-editor": "^0.52.2",
    "posthog-js": "^1.207.0",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "react-highlight": "^0.15.0",
    "react-hot-toast": "^2.5.1",
    "react-i18next": "^15.4.0",
    "react-icons": "^5.4.0",
    "react-markdown": "^9.0.3",
    "react-redux": "^9.2.0",
    "react-router": "^7.1.2",
    "react-syntax-highlighter": "^15.6.1",
    "react-textarea-autosize": "^8.5.7",
    "remark-gfm": "^4.0.0",
    "sirv-cli": "^3.0.0",
    "socket.io-client": "^4.8.1",
    "tailwind-merge": "^2.6.0",
    "vite": "^6.0.7",
    "web-vitals": "^3.5.2",
    "ws": "^8.18.0"
  },
  "scripts": {
    "dev": "npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev",
    "dev:mock": "npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev",
    "build": "npm run make-i18n && tsc && react-router build",
    "start": "npx sirv-cli build/ --single",
    "test": "vitest run",
    "test:e2e": "playwright test",
    "test:coverage": "npm run make-i18n && vitest run --coverage",
    "dev_wsl": "VITE_WATCH_USE_POLLING=true vite",
    "preview": "vite preview",
    "make-i18n": "node scripts/make-i18n-translations.cjs",
    "prelint": "npm run make-i18n",
    "lint": "eslint src --ext .ts,.tsx,.js && prettier --check src/**/*.{ts,tsx}",
    "lint:fix": "eslint src --ext .ts,.tsx,.js --fix && prettier --write src/**/*.{ts,tsx}",
    "prepare": "cd .. && husky frontend/.husky",
    "typecheck": "react-router typegen && tsc"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run test && lint-staged"
    }
  },
  "lint-staged": {
    "src/**/*.{ts,tsx,js}": [
      "eslint --fix",
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@mswjs/socket.io-binding": "^0.1.1",
    "@playwright/test": "^1.49.1",
    "@react-router/dev": "^7.1.2",
    "@tailwindcss/typography": "^0.5.16",
    "@tanstack/eslint-plugin-query": "^5.62.16",
    "@testing-library/jest-dom": "^6.6.1",
    "@testing-library/react": "^16.2.0",
    "@testing-library/user-event": "^14.6.0",
    "@types/node": "^22.10.7",
    "@types/react": "^19.0.7",
    "@types/react-dom": "^19.0.3",
    "@types/react-highlight": "^0.12.8",
    "@types/react-syntax-highlighter": "^15.5.13",
    "@types/ws": "^8.5.12",
    "@typescript-eslint/eslint-plugin": "^7.18.0",
    "@typescript-eslint/parser": "^7.18.0",
    "@vitest/coverage-v8": "^3.0.2",
    "autoprefixer": "^10.4.20",
    "cross-env": "^7.0.3",
    "eslint": "^8.57.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-airbnb-typescript": "^18.0.0",
    "eslint-config-prettier": "^10.0.1",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-prettier": "^5.2.2",
    "eslint-plugin-react": "^7.37.4",
    "eslint-plugin-react-hooks": "^4.6.2",
    "husky": "^9.1.6",
    "jsdom": "^26.0.0",
    "lint-staged": "^15.4.1",
    "msw": "^2.6.6",
    "postcss": "^8.5.1",
    "prettier": "^3.4.2",
    "tailwindcss": "^3.4.17",
    "typescript": "^5.7.3",
    "vite-plugin-svgr": "^4.2.0",
    "vite-tsconfig-paths": "^5.1.4",
    "vitest": "^3.0.2"
  },
  "packageManager": "[email protected]",
  "volta": {
    "node": "18.20.1"
  },
  "msw": {
    "workerDirectory": [
      "public"
    ]
  }
}