{ "name": "bodyshop-server", "version": "0.2.0", "license": "UNLICENSED", "engines": { "node": ">=18.0.0", "npm": ">=8.0.0" }, "scripts": { "setup": "rm -rf node_modules && npm i && cd client && rm -rf node_modules && npm i", "setup:win": "rimraf node_modules && npm i && cd client && rimraf node_modules && npm i", "admin": "cd admin && npm start", "client": "cd client && npm start", "server": "nodemon server.js", "build": "cd client && npm run build", "dev": "concurrently --kill-others-on-fail \"npm run server\" \"npm run client\"", "deva": "concurrently --kill-others-on-fail \"npm run server\" \"npm run client\" \"npm run admin\"", "start": "node server.js", "makeitpretty": "prettier --write \"**/*.{css,js,json,jsx,scss}\"" }, "dependencies": { "@aws-sdk/client-secrets-manager": "^3.629.0", "@aws-sdk/client-ses": "^3.629.0", "@aws-sdk/credential-provider-node": "^3.629.0", "@opensearch-project/opensearch": "^2.11.0", "aws4": "^1.13.1", "axios": "^1.7.4", "better-queue": "^3.8.12", "bluebird": "^3.7.2", "body-parser": "^1.20.2", "canvas": "^2.11.2", "chart.js": "^4.4.3", "cloudinary": "^2.4.0", "compression": "^1.7.4", "cookie-parser": "^1.4.6", "cors": "2.8.5", "csrf": "^3.1.0", "dinero.js": "^1.9.1", "dotenv": "^16.4.5", "express": "^4.19.2", "firebase-admin": "^12.3.1", "graphql": "^16.9.0", "graphql-request": "^6.1.0", "graylog2": "^0.2.1", "inline-css": "^4.0.2", "intuit-oauth": "^4.1.2", "json-2-csv": "^5.5.5", "lodash": "^4.17.21", "moment": "^2.30.1", "moment-timezone": "^0.5.45", "multer": "^1.4.5-lts.1", "node-mailjet": "^6.0.5", "node-persist": "^4.0.3", "nodemailer": "^6.9.14", "phone": "^3.1.49", "recursive-diff": "^1.0.9", "rimraf": "^6.0.1", "soap": "^1.1.1", "socket.io": "^4.7.5", "ssh2-sftp-client": "^10.0.3", "twilio": "^4.23.0", "uuid": "^10.0.0", "xml2js": "^0.6.2", "xmlbuilder2": "^3.1.1" }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", "concurrently": "^8.2.2", "prettier": "^3.3.3", "source-map-explorer": "^2.5.2" } }