{ "name": "mydrive", "version": "4.0.2", "main": "index.js", "license": "GNU General Public License v3.0", "engines": { "node": ">=20.14.0" }, "scripts": { "dev": "concurrently \"vite\" \"tsc -w -p ./backend/tsconfig.json\" \"npm run dev:backend\"", "dev:backend": "NODE_ENV=development nodemon --quiet dist-backend/server/server-start.js", "build:frontend": "vite build", "build:backend": "tsc -p ./backend/tsconfig.json", "build": "npm run build:frontend && npm run build:backend", "lint": "eslint 'src/**/*.{js,jsx,ts,tsx}'", "start": "NODE_ENV=production node dist-backend/server/server-start.js", "create-video-thumbnails": "NODE_ENV=production node serverUtils/createVideoThumbnails.js", "create-video-thumbnails:dev": "NODE_ENV=development node serverUtils/createVideoThumbnails.js", "migrate-to-mydrive4": "NODE_ENV=production node serverUtils/migrateMyDrive4.js", "migrate-to-mydrive4:dev": "NODE_ENV=development node serverUtils/migrateMyDrive4.js", "test": "NODE_ENV=test jest" }, "dependencies": { "@reduxjs/toolkit": "^2.2.5", "archiver": "^7.0.1", "async": "^3.2.6", "aws-sdk": "^2.657.0", "axios": "^1.7.2", "bcryptjs": "^3.0.2", "body-parser": "^2.2.1", "bytes": "^3.1.0", "classnames": "^2.5.1", "cli-progress": "^3.6.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "connect-busboy": "^1.0.0", "cookie-parser": "^1.4.6", "copy-text-to-clipboard": "^2.1.1", "core-js": "^3.6.4", "cors": "^2.8.5", "dayjs": "^1.11.13", "dotenv": "^8.2.0", "express": "^5.1.0", "express-validator": "^7.1.0", "fluent-ffmpeg": "^2.1.3", "helmet": "^3.21.2", "history": "^4.10.1", "jsonwebtoken": "^9.0.2", "lodash.debounce": "^4.0.8", "mongodb": "^6.20.0", "mongoose": "^8.4.1", "nodemailer": "^7.0.10", "normalize.css": "^8.0.1", "password-prompt": "^1.1.2", "progress-stream": "^2.0.0", "prompts": "^2.4.2", "raf": "^3.4.1", "react": "^18.3.1", "react-circular-progressbar": "^2.1.0", "react-dom": "^18.3.1", "react-query": "^3.39.3", "react-redux": "^9.1.2", "react-router-dom": "^6.23.1", "react-toastify": "^10.0.5", "redux": "^5.0.1", "regenerator-runtime": "^0.13.3", "resend": "^6.5.2", "sharp": "^0.33.4", "sweetalert2": "^11.15.10", "temp": "^0.9.1", "uuid": "^3.4.0", "validator": "^13.12.0" }, "devDependencies": { "@babel/core": "^7.8.4", "@babel/parser": "^7.9.4", "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-object-rest-spread": "^7.8.3", "@babel/polyfill": "^7.12.1", "@babel/preset-env": "^7.8.4", "@babel/preset-react": "^7.8.3", "@babel/types": "^7.9.5", "@eslint/js": "^9.6.0", "@types/archiver": "^6.0.3", "@types/async": "^3.2.24", "@types/bytes": "^3.1.4", "@types/compression": "^1.7.0", "@types/concat-stream": "^1.6.0", "@types/connect-busboy": "0.0.2", "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.17", "@types/dotenv": "^6.1.1", "@types/express": "^4.17.21", "@types/fluent-ffmpeg": "^2.1.24", "@types/helmet": "0.0.45", "@types/jest": "^29.5.14", "@types/jsonwebtoken": "^8.3.9", "@types/lodash": "^4.17.5", "@types/node": "^20.14.2", "@types/nodemailer": "^6.4.15", "@types/prompts": "^2.4.9", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/request": "^2.48.5", "@types/request-ip": "0.0.35", "@types/sharp": "^0.25.0", "@types/supertest": "^6.0.2", "@types/uuid": "^7.0.2", "@types/validator": "^13.0.0", "@vitejs/plugin-react": "^4.3.0", "autoprefixer": "^10.4.19", "babel-polyfill": "^6.26.0", "concurrently": "^8.2.2", "cross-env": "^6.0.3", "dart-sass": "^1.25.0", "env-cmd": "^10.1.0", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "globals": "^15.7.0", "jest": "^29.7.0", "mongodb-memory-server": "^10.1.3", "nodemon": "^3.1.3", "postcss": "^8.4.38", "rollup-plugin-visualizer": "^5.14.0", "sass": "^1.77.4", "superagent-binary-parser": "^1.0.1", "supertest": "^6.3.4", "supertest-session": "^4.1.0", "tailwindcss": "^3.4.4", "typescript": "^5.4.5", "typescript-eslint": "^7.14.1", "vite": "^6.0.0", "vite-plugin-pwa": "^1.1.0" } }