{ "name": "commafeed-client", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "npm run i18n:compile && tsc && vite build", "preview": "vite preview", "test": "vitest", "test:ci": "vitest run", "eslint": "eslint --ext=.js,.jsx,.ts,.tsx src", "i18n": "npm run i18n:extract && npm run i18n:compile", "i18n:extract": "lingui extract --clean", "i18n:compile": "lingui compile --typescript", "postinstall": "npm run i18n:compile" }, "dependencies": { "@emotion/react": "^11.10.0", "@fontsource/open-sans": "^4.5.11", "@lingui/core": "^3.14.0", "@lingui/macro": "^3.14.0", "@lingui/react": "^3.14.0", "@mantine/core": "^5.2.0", "@mantine/form": "^5.2.0", "@mantine/hooks": "^5.2.0", "@mantine/modals": "^5.2.0", "@mantine/notifications": "^5.2.0", "@mantine/spotlight": "^5.2.0", "@reduxjs/toolkit": "^1.8.4", "axios": "^0.27.2", "dayjs": "^1.11.5", "interweave": "^13.0.0", "make-plural": "^7.1.0", "mousetrap": "^1.6.5", "react": "^18.2.0", "react-async-hook": "^4.0.0", "react-dom": "^18.2.0", "react-icons": "^4.4.0", "react-infinite-scroller": "^1.2.6", "react-redux": "^8.0.2", "react-router-dom": "^6.3.0", "swagger-ui-react": "^4.14.0", "tinycon": "^0.6.8" }, "devDependencies": { "@lingui/cli": "^3.14.0", "@types/eslint": "^8.4.6", "@types/mousetrap": "^1.6.9", "@types/react": "^18.0.17", "@types/react-dom": "^18.0.6", "@types/react-infinite-scroller": "^1.2.3", "@types/swagger-ui-react": "^4.11.0", "@types/tinycon": "^0.6.3", "@vitejs/plugin-react": "^2.0.1", "eslint": "^8.22.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.5.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-hooks": "^0.4.3", "eslint-plugin-prettier": "^4.2.1", "prettier": "^2.7.1", "rollup-plugin-visualizer": "^5.7.1", "typescript": "^4.7.4", "vite": "^3.0.8", "vite-plugin-eslint": "^1.8.1", "vite-tsconfig-paths": "^3.5.0", "vitest": "^0.22.1", "vitest-mock-extended": "^0.1.13" } }