{ "name": "client", "version": "0.1.0", "private": true, "homepage": "./", "dependencies": { "@bytemd/plugin-gemoji": "^1.21.0", "@bytemd/plugin-gfm": "^1.21.0", "@bytemd/plugin-highlight-ssr": "^1.21.0", "@bytemd/plugin-medium-zoom": "^1.21.0", "@bytemd/react": "^1.21.0", "@craco/craco": "^7.1.0", "@monaco-editor/react": "^4.6.0", "@reduxjs/toolkit": "^2.5.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^16.18.121", "@types/react": "^18.3.16", "@types/react-dom": "^18.3.5", "antd": "^5.22.4", "axios": "^1.7.9", "file-saver": "^2.0.5", "jszip": "^3.10.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-markdown": "^9.0.1", "react-qr-code": "^2.0.15", "react-redux": "^9.2.0", "react-router-dom": "^7.0.2", "react-scripts": "5.0.1", "redux": "^5.0.1", "redux-persist": "^6.0.0", "rehype-highlight": "^7.0.1", "typescript": "^4.9.5", "web-vitals": "^2.1.4" }, "scripts": { "start": "craco start", "build": "craco build", "test": "craco test", "eject": "react-scripts eject", "prepare": "husky install" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ], "rules": { "prettier/prettier": "error", "quotes": [ "error", "double" ] } }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "@babel/eslint-parser": "^7.25.9", "@types/file-saver": "^2.0.7", "@types/react-redux": "^7.1.34", "@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/parser": "^8.18.0", "ajv": "^8.17.1", "ajv-keywords": "^5.1.0", "eslint": "^9.16.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^28.9.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^5.1.0", "husky": "^9.1.7", "lint-staged": "^15.2.11", "prettier": "^3.4.2" } }