{ "name": "qtube", "private": true, "version": "2.1.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc && vite build", "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", "@mui/icons-material": "^6.3.0", "@mui/lab": "^6.0.0-beta.21", "@mui/material": "^6.3.0", "@preact/signals-react": "^2.3.0", "@reduxjs/toolkit": "^2.5.0", "compressorjs": "^1.2.1", "dompurify": "^3.2.3", "localforage": "^1.10.0", "moment": "^2.30.1", "quill": "^2.0.2", "quill-image-resize-module-react": "^3.0.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-dropzone": "^14.3.5", "react-idle-timer": "^5.7.2", "react-intersection-observer": "^9.14.0", "react-quill-new": "^3.3.3", "react-redux": "^9.2.0", "react-rnd": "^10.4.14", "react-router-dom": "^7.1.1", "react-toastify": "^11.0.2", "redux-persist": "^6.0.0", "short-unique-id": "^5.2.0", "ts-key-enum": "^2.0.13" }, "devDependencies": { "@types/react": "^19.0.2", "@types/react-dom": "^19.0.2", "@typescript-eslint/eslint-plugin": "^8.18.2", "@typescript-eslint/parser": "^8.18.2", "@vitejs/plugin-react": "^4.3.4", "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", "prettier": "^3.4.2", "typescript": "^5.7.2", "vite": "^6.0.6" } }