- Resize/re-encode every uploaded image server-side (posts, avatars, stories, shop products/logo, chat messages) via a shared sharp-based optimizer — caps dimensions to what's actually displayed and re-compresses in place, cutting a typical raw camera photo by ~90% with no visible quality loss - Cap uploaded video resolution/bitrate (re-encode only when above 1280px/ ~2.5Mbps) alongside the existing faststart step; apply faststart+cap to story and chat videos too (previously stored completely raw) - Add long-lived Cache-Control to all /storage static routes so clients stop re-downloading unchanged media on every request - Add gzip/brotli compression for JSON API responses (feed/explore/chat) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
58 lines
1.7 KiB
JSON
58 lines
1.7 KiB
JSON
{
|
|
"name": "modstagram-back",
|
|
"version": "1.0.0",
|
|
"description": "",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"start": "node server.js",
|
|
"dev": "cross-env NODE_ENV=development nodemon index.js",
|
|
"build": "webpack",
|
|
"prod": "node dist/final.js"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"axios": "^1.6.7",
|
|
"bcryptjs": "^2.4.3",
|
|
"body-parser": "^1.20.2",
|
|
"compression": "^1.8.2",
|
|
"connect-redis": "^10.0.0",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.4.5",
|
|
"express": "^4.18.3",
|
|
"express-form-data": "^2.0.23",
|
|
"express-rate-limit": "^7.2.0",
|
|
"express-session": "^1.18.0",
|
|
"express-validator": "^7.0.1",
|
|
"firebase-admin": "^14.2.0",
|
|
"google-auth-library": "^10.9.0",
|
|
"helmet": "^7.1.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"lodash": "^4.17.21",
|
|
"moment-jalaali": "^0.10.0",
|
|
"mongoose": "^8.2.1",
|
|
"mongoose-paginate-v2": "^1.8.0",
|
|
"mongoose-timestamp": "^0.6.0",
|
|
"multer": "^2.0.2",
|
|
"node-cron": "^3.0.3",
|
|
"nodemailer": "^9.0.3",
|
|
"nodemon": "^3.1.0",
|
|
"rate-limit-redis": "^4.3.1",
|
|
"redis": "^6.2.1",
|
|
"sharp": "^0.35.4",
|
|
"socket.io": "^4.7.5",
|
|
"socket.io-client": "^4.7.5"
|
|
},
|
|
"devDependencies": {
|
|
"cross-env": "^7.0.3",
|
|
"eslint": "^8.57.0",
|
|
"eslint-config-standard": "^17.1.0",
|
|
"eslint-plugin-import": "^2.29.1",
|
|
"eslint-plugin-n": "^16.6.2",
|
|
"eslint-plugin-promise": "^6.1.1",
|
|
"webpack": "^5.90.3",
|
|
"webpack-cli": "^5.1.4"
|
|
}
|
|
}
|