← back to Watches
package.json
69 lines
{
"name": "watches",
"version": "1.0.0",
"description": "Omega watch price tracking system",
"main": "server.js",
"type": "module",
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"@tailwindcss/postcss": "^4.1.17",
"@types/node": "^24.10.1",
"@vitejs/plugin-react": "^5.1.1",
"autoprefixer": "^10.4.22",
"bcryptjs": "^3.0.3",
"chart.js": "^4.5.1",
"compression": "^1.7.4",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"dompurify": "^3.3.0",
"dotenv": "^16.6.1",
"express": "^4.21.2",
"express-mongo-sanitize": "^2.2.0",
"express-rate-limit": "^8.2.1",
"express-validator": "^7.3.0",
"framer-motion": "^12.23.24",
"fuse.js": "^7.1.0",
"helmet": "^7.1.0",
"helmet-csp": "^4.0.0",
"hpp": "^0.2.3",
"ioredis": "^5.8.2",
"jsonwebtoken": "^9.0.2",
"jspdf": "^3.0.3",
"jspdf-autotable": "^5.0.2",
"lightweight-charts": "^5.0.9",
"marked": "^17.0.0",
"morgan": "^1.10.0",
"multer": "^2.0.2",
"node-cron": "^4.2.1",
"pg": "^8.16.3",
"playwright": "^1.56.1",
"postcss": "^8.5.6",
"puppeteer": "^24.30.0",
"rate-limit-redis": "^4.2.3",
"react": "^19.2.0",
"react-chartjs-2": "^5.3.1",
"react-dom": "^19.2.0",
"react-icons": "^5.5.0",
"recaptcha-v3": "^1.11.3",
"recharts": "^3.4.1",
"slugify": "^1.6.6",
"sqlite": "^5.1.1",
"sqlite3": "^5.1.7",
"swagger-ui-express": "^5.0.1",
"tailwindcss": "^4.1.17",
"uuid": "^13.0.0",
"vite": "^7.2.2",
"web-push": "^3.6.7",
"winston": "^3.18.3",
"winston-daily-rotate-file": "^5.0.0",
"winston-syslog": "^2.7.1",
"ws": "^8.18.3",
"xss-clean": "^0.1.4",
"yamljs": "^0.3.0"
},
"devDependencies": {}
}