{ "name": "um-react", "private": true, "version": "0.1.0", "type": "module", "scripts": { "start": "vite", "build": "tsc -p tsconfig.prod.json && vite build", "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "format": "prettier -w .", "test": "vitest run", "test:ui": "vitest --ui", "test:coverage": "vitest run --coverage", "preview": "vite preview", "preview:coverage": "vite preview --outDir coverage --port 5175", "prepare": "husky install" }, "dependencies": { "@chakra-ui/icons": "^2.0.19", "@chakra-ui/react": "^2.6.1", "@emotion/react": "^11.11.0", "@emotion/styled": "^11.11.0", "@jixun/libparakeet": "0.1.1", "@reduxjs/toolkit": "^1.9.5", "framer-motion": "^10.12.12", "nanoid": "^4.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", "react-promise-suspense": "^0.3.4", "react-redux": "^8.0.5" }, "devDependencies": { "@rollup/plugin-replace": "^5.0.2", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", "@types/node": "^20.2.3", "@types/react": "^18.2.6", "@types/react-dom": "^18.2.4", "@types/testing-library__jest-dom": "^5.14.5", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "@vitejs/plugin-react": "^4.0.0", "@vitest/coverage-c8": "^0.31.1", "@vitest/ui": "^0.31.1", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.1", "husky": "^8.0.3", "jsdom": "^22.0.0", "lint-staged": "^13.2.2", "prettier": "^2.8.8", "typescript": "^5.0.4", "vite": "^4.3.8", "vite-plugin-pwa": "^0.15.0", "vite-plugin-top-level-await": "^1.3.1", "vite-plugin-wasm": "^3.2.2", "vitest": "^0.31.1" }, "lint-staged": { "*": "prettier --write --ignore-unknown", "*.{js,jsx,ts,tsx}": "eslint --fix --report-unused-disable-directives --max-warnings 0" }, "prettier": { "singleQuote": true, "printWidth": 120, "tabWidth": 2 } }