Convert frontend from Git submodule to a regular monorepo directory for simplified development workflow. Changes: - Remove frontend submodule tracking (mode 160000 gitlink) - Add all frontend source files directly to main repository - Remove frontend/.git directory - Update CLAUDE.md to clarify true monorepo structure - Update Frontend Architecture documentation (React Router v6, Socket.IO, Leaflet, ErrorBoundary) Benefits of Monorepo: - Single git clone for entire project - Unified commit history - Simpler CI/CD pipeline - Easier for new developers - No submodule sync issues - Atomic commits across frontend and backend Frontend Files Added: - All React components (MapView, ErrorBoundary, TaskList, SocialFeed, etc.) - Context providers (AuthContext, SocketContext) - Complete test suite with MSW - Dependencies and configuration files Branch Cleanup: - Using 'main' as default branch (develop deleted) - Frontend no longer has separate Git history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
71 lines
1.6 KiB
JSON
71 lines
1.6 KiB
JSON
{
|
|
"name": "frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@stripe/stripe-js": "^6.0.0",
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.2.0",
|
|
"@testing-library/user-event": "^13.5.0",
|
|
"axios": "^1.8.3",
|
|
"leaflet": "^1.9.4",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-leaflet": "^5.0.0",
|
|
"react-leaflet-cluster": "^1.0.3",
|
|
"react-router-dom": "^6.28.0",
|
|
"react-scripts": "5.0.1",
|
|
"react-toastify": "^11.0.5",
|
|
"socket.io-client": "^4.8.1",
|
|
"web-vitals": "^2.1.4"
|
|
},
|
|
"proxy": "http://localhost:5000",
|
|
"scripts": {
|
|
"start": "react-scripts start",
|
|
"build": "react-scripts build",
|
|
"test": "react-scripts test",
|
|
"test:coverage": "react-scripts test --coverage --watchAll=false",
|
|
"test:watch": "react-scripts test",
|
|
"eject": "react-scripts eject"
|
|
},
|
|
"jest": {
|
|
"collectCoverageFrom": [
|
|
"src/**/*.{js,jsx}",
|
|
"!src/index.js",
|
|
"!src/reportWebVitals.js",
|
|
"!src/setupTests.js",
|
|
"!src/mocks/**"
|
|
],
|
|
"coverageThreshold": {
|
|
"global": {
|
|
"branches": 50,
|
|
"functions": 60,
|
|
"lines": 60,
|
|
"statements": 60
|
|
}
|
|
}
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"react-app",
|
|
"react-app/jest"
|
|
]
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"msw": "^2.11.6"
|
|
}
|
|
}
|