mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-04-14 19:47:03 +00:00
* Change update username API call The call no longer requires a password and also validates the username. * Implement API call to verify username without setting it * Improve coding style * Apply username verification to registration * Update error messages * Validate display names. * Fix API early Stat Point allocation (#10680) * Refactor hasClass check to common so it can be used in shared & server-side code * Check that user has selected class before allocating stat points * chore(event): end Ember Hatching Potions * chore(analytics): reenable navigation tracking * update bcrypt * Point achievement modal links to main site (#10709) * Animal ears after death (#10691) * Animal Ears purchasable with Gold if lost in Death * remove ears from pinned items when set is bought * standardise css and error handling for gems and coins * revert accidental new line * fix client tests * Reduce margin-bottom of checklist-item from 10px to -3px. (#10684) * chore(i18n): update locales * 4.61.1 * feat(content): Subscriber Items and Magic Potions * chore(sprites): compile * chore(i18n): update locales * 4.62.0 * Display notification for users to confirm their username * fix typo * WIP(usernames): Changes to address #10694 * WIP(usernames): Further changes for #10694 * fix(usernames): don't show spurious headings * Change verify username notification to new version * Improve feedback for invalid usernames * Allow user to set their username again to confirm it * Improve validation display for usernames * Temporarily move display name validation outside of schema * Improve rendering banner about sleeping in the inn See #10695 * Display settings in one column * Position inn banner when window is resized * Update inn banner handling * Fix banner offset on initial load * Fix minor issues. * Issue: 10660 - Fixed. Changed default to Please Enter A Value (#10718) * Issue: 10660 - Fixed. Changed default to Please Enter A Value * Issue: 10660 - Fixed/revision 2 Changed default to Enter A Value * chore(news): Bailey announcements * chore(i18n): update locales * 4.62.1 * adjust wiki link for usernameInfo string https://github.com/HabitRPG/habitica-private/issues/7#issuecomment-425405425 * raise coverage for tasks api calls (#10029) * - updates a group task - approval is required - updates a group task with checklist * add expect to test the new checklist length * - moves tasks to a specified position out of length * remove unused line * website getter tasks tests * re-add sanitizeUserChallengeTask * change config.json.example variable to be a string not a boolean * fix tests - pick the text / up/down props too * fix test - remove changes on text/up/down - revert sanitize condition - revert sanitization props * Change update username API call The call no longer requires a password and also validates the username. * feat(content): Subscriber Items and Magic Potions * Re-add register call * Fix merge issue * Fix issue with setting username * Implement new alert style * Display username confirmation status in settings * Add disclaimer to change username field * validate username in settings * Allow specific fields to be focused when opening site settings * Implement requested changes. * Fix merge issue * Fix failing tests * verify username when users register with username and password * Set ID for change username notification * Disable submit button if username is invalid * Improve username confirmation handling * refactor(settings): address remaining code comments on auth form * Revert "refactor(settings): address remaining code comments on auth form" This reverts commit 9b6609ad646b23d9e3e394c1856f149d9a2d0995. * Social user username (#10620) * Refactored private functions to library * Refactored social login code * Added username to social registration * Changed id library * Added new local auth check * Fixed export error. Fixed password check error * fix(settings): password not available on client * refactor(settings): more sensible placement of methods * chore(migration): script to hand out procgen usernames * fix(migration): don't give EVERYONE new names you doofus * fix(migration): limit data retrieved, be extra careful about updates * fix(migration): use missing field, not migration tag, for query * fix(migration): unused var * fix(usernames): only generate 20 characters * fix(migration): set lowerCaseUsername
198 lines
6.8 KiB
JSON
198 lines
6.8 KiB
JSON
{
|
|
"name": "habitica",
|
|
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
|
"version": "4.62.1",
|
|
"main": "./website/server/index.js",
|
|
"dependencies": {
|
|
"@slack/client": "^3.8.1",
|
|
"accepts": "^1.3.5",
|
|
"amazon-payments": "^0.2.7",
|
|
"amplitude": "^3.5.0",
|
|
"apidoc": "^0.17.5",
|
|
"apn": "^2.2.0",
|
|
"autoprefixer": "^8.5.0",
|
|
"aws-sdk": "^2.239.1",
|
|
"axios": "^0.18.0",
|
|
"axios-progress-bar": "^1.2.0",
|
|
"babel-core": "^6.26.3",
|
|
"babel-eslint": "^8.2.3",
|
|
"babel-loader": "^7.1.4",
|
|
"babel-plugin-syntax-async-functions": "^6.13.0",
|
|
"babel-plugin-syntax-dynamic-import": "^6.18.0",
|
|
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
|
|
"babel-plugin-transform-object-rest-spread": "^6.16.0",
|
|
"babel-plugin-transform-regenerator": "^6.16.1",
|
|
"babel-polyfill": "^6.6.1",
|
|
"babel-preset-es2015": "^6.6.0",
|
|
"babel-register": "^6.6.0",
|
|
"babel-runtime": "^6.11.6",
|
|
"bcrypt": "^3.0.1",
|
|
"body-parser": "^1.18.3",
|
|
"bootstrap": "^4.1.1",
|
|
"bootstrap-vue": "^2.0.0-rc.9",
|
|
"compression": "^1.7.2",
|
|
"cookie-session": "^1.2.0",
|
|
"coupon-code": "^0.4.5",
|
|
"cross-env": "^5.1.5",
|
|
"css-loader": "^0.28.11",
|
|
"csv-stringify": "^3.0.0",
|
|
"cwait": "^1.1.1",
|
|
"domain-middleware": "~0.1.0",
|
|
"express": "^4.16.3",
|
|
"express-basic-auth": "^1.1.5",
|
|
"express-validator": "^5.2.0",
|
|
"extract-text-webpack-plugin": "^3.0.2",
|
|
"glob": "^7.1.2",
|
|
"got": "^9.0.0",
|
|
"gulp": "^4.0.0",
|
|
"gulp-babel": "^7.0.1",
|
|
"gulp-imagemin": "^4.1.0",
|
|
"gulp-nodemon": "^2.2.1",
|
|
"gulp.spritesmith": "^6.9.0",
|
|
"habitica-markdown": "^1.3.0",
|
|
"hellojs": "^1.15.1",
|
|
"html-webpack-plugin": "^3.2.0",
|
|
"image-size": "^0.6.2",
|
|
"in-app-purchase": "^1.9.4",
|
|
"intro.js": "^2.9.3",
|
|
"jquery": ">=3.0.0",
|
|
"js2xmlparser": "^3.0.0",
|
|
"lodash": "^4.17.10",
|
|
"merge-stream": "^1.0.0",
|
|
"method-override": "^2.3.5",
|
|
"moment": "^2.22.1",
|
|
"moment-recur": "^1.0.7",
|
|
"mongoose": "^5.1.3",
|
|
"morgan": "^1.7.0",
|
|
"nconf": "^0.10.0",
|
|
"node-gcm": "^0.14.4",
|
|
"node-sass": "^4.9.0",
|
|
"nodemailer": "^4.6.4",
|
|
"ora": "^2.1.0",
|
|
"pageres": "^4.1.1",
|
|
"passport": "^0.4.0",
|
|
"passport-facebook": "^2.0.0",
|
|
"passport-google-oauth20": "1.0.0",
|
|
"paypal-ipn": "3.0.0",
|
|
"paypal-rest-sdk": "^1.8.1",
|
|
"popper.js": "^1.14.3",
|
|
"postcss-easy-import": "^3.0.0",
|
|
"ps-tree": "^1.0.0",
|
|
"pug": "^2.0.3",
|
|
"pusher": "^1.3.0",
|
|
"rimraf": "^2.4.3",
|
|
"sass-loader": "^7.0.0",
|
|
"shelljs": "^0.8.2",
|
|
"short-uuid": "^3.0.0",
|
|
"smartbanner.js": "^1.9.1",
|
|
"stripe": "^5.9.0",
|
|
"superagent": "^3.8.3",
|
|
"svg-inline-loader": "^0.8.0",
|
|
"svg-url-loader": "^2.3.2",
|
|
"svgo": "^1.0.5",
|
|
"svgo-loader": "^2.1.0",
|
|
"universal-analytics": "^0.4.16",
|
|
"update": "^0.7.4",
|
|
"upgrade": "^1.1.0",
|
|
"url-loader": "^1.0.0",
|
|
"useragent": "^2.1.9",
|
|
"uuid": "^3.0.1",
|
|
"validator": "^10.5.0",
|
|
"vinyl-buffer": "^1.0.1",
|
|
"vue": "^2.5.16",
|
|
"vue-loader": "^14.2.2",
|
|
"vue-mugen-scroll": "^0.2.1",
|
|
"vue-router": "^3.0.0",
|
|
"vue-style-loader": "^4.1.0",
|
|
"vue-template-compiler": "^2.5.16",
|
|
"vuedraggable": "^2.15.0",
|
|
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
|
|
"webpack": "^3.12.0",
|
|
"webpack-merge": "^4.0.0",
|
|
"winston": "^2.4.2",
|
|
"winston-loggly-bulk": "^2.0.2",
|
|
"xml2js": "^0.4.4"
|
|
},
|
|
"private": true,
|
|
"engines": {
|
|
"node": "^8.9.4",
|
|
"npm": "^5.6.0"
|
|
},
|
|
"scripts": {
|
|
"lint": "eslint --ext .js,.vue .",
|
|
"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": "istanbul cover --dir coverage/sanity --report lcovonly node_modules/mocha/bin/_mocha -- test/sanity --recursive",
|
|
"test:common": "istanbul cover --dir coverage/common --report lcovonly node_modules/mocha/bin/_mocha -- test/common --recursive",
|
|
"test:content": "istanbul cover --dir coverage/content --report lcovonly node_modules/mocha/bin/_mocha -- test/content --recursive",
|
|
"test:nodemon": "gulp test:nodemon",
|
|
"coverage": "COVERAGE=true mocha --require register-handlers.js --reporter html-cov > coverage.html; open coverage.html",
|
|
"sprites": "gulp sprites:compile",
|
|
"client:dev": "node webpack/dev-server.js",
|
|
"client:build": "gulp build:client",
|
|
"client:unit": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js --single-run",
|
|
"client:unit:watch": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js",
|
|
"client:e2e": "node test/client/e2e/runner.js",
|
|
"client:test": "npm run client:unit && npm run client:e2e",
|
|
"start": "gulp nodemon",
|
|
"postinstall": "gulp build",
|
|
"apidoc": "gulp apidoc"
|
|
},
|
|
"devDependencies": {
|
|
"@vue/test-utils": "^1.0.0-beta.16",
|
|
"babel-plugin-istanbul": "^4.1.6",
|
|
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
|
|
"chai": "^4.1.2",
|
|
"chai-as-promised": "^7.1.1",
|
|
"chalk": "^2.4.1",
|
|
"chromedriver": "^2.38.3",
|
|
"connect-history-api-fallback": "^1.1.0",
|
|
"coveralls": "^3.0.1",
|
|
"cross-spawn": "^6.0.5",
|
|
"eslint": "^4.19.1",
|
|
"eslint-config-habitrpg": "^4.0.0",
|
|
"eslint-friendly-formatter": "^4.0.1",
|
|
"eslint-loader": "^2.0.0",
|
|
"eslint-plugin-html": "^4.0.3",
|
|
"eslint-plugin-mocha": "^5.0.0",
|
|
"eventsource-polyfill": "^0.9.6",
|
|
"expect.js": "^0.3.1",
|
|
"http-proxy-middleware": "^0.18.0",
|
|
"istanbul": "^1.1.0-alpha.1",
|
|
"karma": "^3.0.0",
|
|
"karma-babel-preprocessor": "^7.0.0",
|
|
"karma-chai-plugins": "^0.9.0",
|
|
"karma-chrome-launcher": "^2.2.0",
|
|
"karma-coverage": "^1.1.2",
|
|
"karma-mocha": "^1.3.0",
|
|
"karma-mocha-reporter": "^2.2.5",
|
|
"karma-sinon-chai": "^2.0.0",
|
|
"karma-sinon-stub-promise": "^1.0.0",
|
|
"karma-sourcemap-loader": "^0.3.7",
|
|
"karma-spec-reporter": "0.0.32",
|
|
"karma-webpack": "^3.0.0",
|
|
"lcov-result-merger": "^3.0.0",
|
|
"mocha": "^5.1.1",
|
|
"monk": "^6.0.6",
|
|
"nightwatch": "^0.9.21",
|
|
"puppeteer": "^1.4.0",
|
|
"require-again": "^2.0.0",
|
|
"selenium-server": "^3.12.0",
|
|
"sinon": "^4.5.0",
|
|
"sinon-chai": "^3.0.0",
|
|
"sinon-stub-promise": "^4.0.0",
|
|
"webpack-bundle-analyzer": "^2.12.0",
|
|
"webpack-dev-middleware": "^2.0.5",
|
|
"webpack-hot-middleware": "^2.22.2"
|
|
},
|
|
"optionalDependencies": {
|
|
"memwatch-next": "^0.3.0",
|
|
"node-rdkafka": "^2.3.0"
|
|
}
|
|
}
|