{ "name": "habitica", "description": "A habit tracker app which treats your goals like a Role Playing Game.", "version": "5.34.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.22.10", "@babel/preset-env": "^7.22.10", "@babel/register": "^7.22.15", "@google-cloud/trace-agent": "^7.1.2", "@parse/node-apn": "^5.2.3", "@slack/webhook": "^6.1.0", "accepts": "^1.3.8", "amazon-payments": "^0.2.9", "amplitude": "^6.0.0", "apidoc": "^0.54.0", "apple-auth": "^1.0.9", "babel-preset-env": "^1.7.0", "bcrypt": "^5.1.1", "body-parser": "^1.20.3", "bootstrap": "^4.6.2", "compression": "^1.7.4", "cookie-session": "^2.0.0", "coupon-code": "^0.4.5", "csv-stringify": "^5.6.5", "cwait": "^1.1.1", "domain-middleware": "~0.1.0", "eslint": "^8.55.0", "eslint-config-habitrpg": "^6.2.3", "eslint-plugin-mocha": "^5.0.0", "express": "^4.21.1", "express-basic-auth": "^1.2.1", "express-validator": "^5.2.0", "firebase-admin": "^12.1.1", "glob": "^8.1.0", "got": "^11.8.6", "gulp": "^4.0.0", "gulp-babel": "^8.0.0", "gulp-filter": "^7.0.0", "gulp-imagemin": "^7.1.0", "gulp-nodemon": "^2.5.0", "gulp.spritesmith": "^6.13.0", "habitica-markdown": "^3.0.0", "helmet": "^4.6.0", "in-app-purchase": "^1.11.3", "js2xmlparser": "^5.0.0", "jsonwebtoken": "^9.0.2", "jwks-rsa": "^2.1.5", "lodash": "^4.17.21", "merge-stream": "^2.0.0", "method-override": "^3.0.0", "moment": "^2.29.4", "moment-recur": "^1.0.7", "mongoose": "^7.8.3", "morgan": "^1.10.0", "nconf": "^0.12.1", "node-gcm": "^1.0.5", "nodemon": "^2.0.20", "on-headers": "^1.0.2", "passport": "^0.5.3", "passport-facebook": "^3.0.0", "passport-google-oauth2": "^0.2.0", "passport-google-oauth20": "2.0.0", "paypal-rest-sdk": "^1.8.1", "pp-ipn": "^1.1.0", "ps-tree": "^1.0.0", "rate-limiter-flexible": "^2.4.2", "redis": "^3.1.2", "remove-markdown": "^0.5.0", "rimraf": "^3.0.2", "short-uuid": "^4.2.2", "sinon": "^15.2.0", "stripe": "^12.18.0", "superagent": "^8.1.2", "universal-analytics": "^0.5.3", "useragent": "^2.1.9", "uuid": "^9.0.0", "validator": "^13.11.0", "webpack-bundle-analyzer": "^4.10.2", "winston": "^3.10.0", "winston-loggly-bulk": "^3.3.0", "xml2js": "^0.6.2" }, "private": true, "engines": { "node": "20", "npm": "^10" }, "scripts": { "lint": "eslint --ext .js --fix . && cd website/client && npm run lint", "lint-no-fix": "eslint --ext .js . && cd website/client && npm run lint-no-fix", "test": "npm run lint && gulp test && gulp apidoc", "test:build": "gulp test:prepare:build", "test:api-v3": "gulp test:api-v3", "test:api:unit": "gulp test:api:unit", "test:api-v3:integration": "gulp test:api-v3:integration", "test:api-v3:integration:separate-server": "NODE_ENV=test gulp test:api-v3:integration:separate-server", "test:api-v4:integration": "gulp test:api-v4:integration", "test:api-v4:integration:separate-server": "NODE_ENV=test gulp test:api-v4:integration:separate-server", "test:sanity": "nyc --silent --no-clean mocha test/sanity --recursive", "test:common": "nyc --silent --no-clean mocha test/common --recursive", "test:content": "nyc --silent --no-clean mocha test/content --recursive", "test:nodemon": "gulp test:nodemon", "coverage": "nyc report --reporter=html --report-dir coverage/results; open coverage/results/index.html", "sprites": "gulp sprites:compile", "client:dev": "cd website/client && npm run serve", "client:build": "cd website/client && npm run build", "client:unit": "cd website/client && npm run test:unit", "start": "gulp nodemon", "start:simple": "node ./website/server/index.js", "debug": "gulp nodemon --inspect", "mongo:dev": "run-rs -v 5.0.23 -l ubuntu1804 --keep --dbpath mongodb-data --number 1 --quiet", "postinstall": "git config --global url.\"https://\".insteadOf git:// && gulp build && cd website/client && npm install", "apidoc": "gulp apidoc", "heroku-postbuild": ".heroku/report_deploy.sh" }, "devDependencies": { "axios": "^1.7.4", "chai": "^4.3.7", "chai-as-promised": "^7.1.1", "chai-moment": "^0.1.0", "chalk": "^5.3.0", "cross-spawn": "^7.0.5", "mocha": "^5.1.1", "monk": "^7.3.4", "nyc": "^15.1.0", "require-again": "^2.0.0", "run-rs": "^0.7.7", "sinon-chai": "^3.7.0", "sinon-stub-promise": "^4.0.0" } }