{ "name": "freecodecamp", "version": "0.1.0", "repository": { "type": "git", "url": "https://github.com/freecodecamp/freecodecamp.git" }, "scripts": { "first-time": "npm run create-rev && echo '\n\nseeding database\n\n' && node seed && node seed/nonprofits", "create-rev": "test ! -e server/rev-manifest.json && echo '\n\ncreating manifest\n\n' && touch server/rev-manifest.json && echo '{}' >> server/rev-manifest.json", "build": "gulp build", "start": "babel-node server/server.js", "prestart-production": "bower cache clean && bower install && gulp build", "start-production": "node pm2Start", "lint": "npm run lint-js && npm run lint-json", "lint-challenges": "jsonlint -q seed/challenges/*.json", "lint-nonprofits": "jsonlint -q seed/nonprofits.json", "lint-server": "jsonlint -q server/*.json", "lint-resources": "jsonlint -q server/resources/*.json", "lint-utils": "jsonlint -q server/utils/*.json", "lint-js": "eslint --ext=.js,.jsx server/ common/ config/ client/", "lint-json": "npm run lint-server && npm run lint-nonprofits && npm run lint-challenges && npm run lint-resources && npm run lint-utils", "test-challenges": "babel-node seed/test-challenges.js | tnyan", "pretest": "npm run lint", "test": "npm run test-challenges" }, "license": "(BSD-3-Clause AND CC-BY-SA-4.0)", "dependencies": { "accepts": "~1.3.0", "async": "^1.5.0", "babel": "5.8.29", "babel-core": "5.8.33", "babel-eslint": "^4.1.4", "babel-loader": "5.3.3", "body-parser": "^1.13.2", "chai-jquery": "~2.0.0", "cheerio": "~0.19.0", "classnames": "^2.1.2", "compression": "~1.6.0", "connect-mongo": "~0.8.2", "cookie-parser": "~1.4.0", "csso": "~1.4.1", "dateformat": "~1.0.11", "debug": "~2.2.0", "dedent": "^0.6.0", "dotenv": "~1.2.0", "errorhandler": "~1.4.2", "es6-map": "^0.1.1", "eslint": "^1.1.0", "eslint-plugin-react": "^3.7.1", "express": "~4.13.3", "express-flash": "~0.0.2", "express-session": "~1.12.1", "express-state": "^1.2.0", "express-validator": "~2.18.0", "fetchr": "^0.5.12", "forever": "~0.15.1", "frameguard": "^0.2.2", "gulp": "~3.9.0", "gulp-eslint": "~1.0.0", "gulp-inject": "~3.0.0", "gulp-jsonlint": "^1.1.0", "gulp-less": "^3.0.3", "gulp-minify-css": "~1.2.1", "gulp-nodemon": "^2.0.3", "gulp-notify": "^2.2.0", "gulp-plumber": "^1.0.1", "gulp-reduce-file": "0.0.1", "gulp-rev": "^6.0.1", "gulp-rev-replace": "^0.4.2", "gulp-util": "^3.0.6", "gulp-webpack": "^1.5.0", "helmet": "~0.14.0", "helmet-csp": "^0.3.0", "history": "^1.9.0", "jade": "~1.11.0", "json-loader": "^0.5.2", "less": "~2.5.1", "lodash": "^3.9.3", "loopback": "^2.22.0", "loopback-boot": "^2.13.0", "loopback-component-passport": "https://github.com/FreeCodeCamp/loopback-component-passport.git#feature/flashfailure", "loopback-connector-mongodb": "^1.10.0", "method-override": "~2.3.0", "moment": "~2.10.2", "mongodb": "^2.0.33", "morgan": "~1.6.1", "node-uuid": "^1.4.3", "nodemailer": "~1.9.0", "normalize-url": "^1.3.1", "object.assign": "^4.0.3", "passport-facebook": "^2.0.0", "passport-github": "^1.0.0", "passport-google-oauth2": "^0.1.6", "passport-linkedin-oauth2": "^1.2.1", "passport-local": "^1.0.0", "passport-oauth": "^1.0.0", "passport-twitter": "^1.0.3", "pmx": "^0.5.5", "ramda": "~0.18.0", "react": "^0.14.2", "react-bootstrap": "~0.27.3", "react-motion": "~0.3.1", "react-router": "^1.0.0-rc4", "react-router-bootstrap": "^0.19.2", "react-vimeo": "^0.0.3", "request": "~2.65.0", "rev-del": "^1.0.5", "rx": "^4.0.0", "sanitize-html": "~1.11.1", "sort-keys": "^1.1.1", "store": "https://github.com/berkeleytrue/store.js.git#feature/noop-server", "thundercats": "^3.0.0", "thundercats-react": "^0.4.0", "twit": "~2.1.1", "uglify-js": "~2.5.0", "url-regex": "^3.0.0", "validator": "^4.2.1", "webpack": "^1.9.12", "xss-filters": "^1.2.6" }, "devDependencies": { "blessed": "~0.1.81", "bower-main-files": "~0.0.4", "browser-sync": "~2.9.12", "chai": "~3.4.0", "envify": "^3.4.0", "istanbul": "^0.4.0", "jsonlint": "^1.6.2", "loopback-component-explorer": "^2.1.1", "loopback-testing": "^1.1.0", "mocha": "~2.3.3", "tap-nyan": "0.0.2", "tape": "^4.2.2" } }