{ "name": "web-sharelatex", "version": "0.1.4", "description": "The HTTP front end for ShareLaTeX", "repository": { "type": "git", "url": "https://github.com/sharelatex/web-sharelatex.git" }, "directories": { "public": "./public" }, "scripts": { "test:acceptance:wait_for_app": "echo 'Waiting for app to be accessible' && while (! curl -s -o /dev/null localhost:3000/status) do sleep 1; done", "test:acceptance:run": "bin/acceptance_test $@", "test:acceptance:dir": "npm -q run test:acceptance:wait_for_app && npm -q run test:acceptance:run -- $@", "test:acceptance": "npm -q run test:acceptance:dir -- $@ test/acceptance/js", "test:unit": "npm -q run compile && bin/unit_test $@", "test:unit:app": "npm -q run compile && bin/unit_test_app $@", "test:frontend": "karma start", "compile": "make compile", "start": "npm -q run compile && node $NODE_APP_OPTIONS app.js", "nodemon": "nodemon --config nodemon.json", "nodemon:frontend": "nodemon --config nodemon.frontend.json", "webpack": "webpack-dev-server --config webpack.config.dev.js", "webpack:production": "webpack --config webpack.config.prod.js", "lint": "eslint -f unix .", "format": "prettier-eslint '**/*.js' --list-different" }, "dependencies": { "archiver": "0.9.0", "async": "0.6.2", "backbone": "^1.3.3", "base64-stream": "^0.1.2", "basic-auth-connect": "^1.0.0", "bcrypt": "1.0.1", "body-parser": "^1.13.1", "bufferedstream": "1.6.0", "codemirror": "^5.33.0", "connect-redis": "^3.1.0", "contentful": "^6.1.1", "cookie": "^0.2.3", "cookie-parser": "1.3.5", "csurf": "^1.8.3", "d3": "^3.5.16", "dateformat": "1.0.4-1.2.3", "daterangepicker": "^2.1.27", "express": "4.13.0", "express-bearer-token": "^2.2.0", "express-http-proxy": "^1.1.0", "express-session": "^1.14.2", "fs-extra": "^4.0.2", "fuse.js": "^3.0.0", "handlebars": "^4.0.11", "heapdump": "^0.3.7", "helmet": "^3.8.1", "http-proxy": "^1.8.1", "jade": "~1.3.1", "jquery": "^1.11.1", "jsonwebtoken": "^8.0.1", "ldapjs": "^0.7.1", "lodash": "^4.13.1", "logger-sharelatex": "git+https://github.com/sharelatex/logger-sharelatex.git#master", "lynx": "0.1.1", "mailchimp-api-v3": "^1.12.0", "marked": "^0.3.5", "method-override": "^2.3.3", "metrics-sharelatex": "git+https://github.com/sharelatex/metrics-sharelatex.git#v1.8.0", "minimist": "1.2.0", "mocha": "^5.0.1", "mongojs": "2.4.0", "mongoose": "4.11.4", "multer": "^0.1.8", "node-html-encoder": "0.0.2", "nodemailer": "2.1.0", "nodemailer-mandrill-transport": "^1.2.0", "nodemailer-sendgrid-transport": "^0.2.0", "nodemailer-ses-transport": "^1.3.0", "nvd3": "^1.8.6", "optimist": "0.6.1", "passport": "^0.3.2", "passport-google-oauth20": "^1.0.0", "passport-ldapauth": "^0.6.0", "passport-local": "^1.0.0", "passport-oauth2": "^1.4.0", "passport-oauth2-refresh": "^1.0.0", "passport-orcid": "0.0.3", "passport-saml": "^0.15.0", "passport-twitter": "^1.0.4", "pug": "^2.0.0-beta6", "react": "^15.4.2", "react-dom": "^15.4.2", "redis-sharelatex": "git+https://github.com/sharelatex/redis-sharelatex.git#v1.0.4", "request": "^2.69.0", "requestretry": "^1.13.0", "requests": "^0.1.7", "rimraf": "2.2.6", "rolling-rate-limiter": "git+https://github.com/ShaneKilkelly/rolling-rate-limiter.git#master", "sanitizer": "0.1.1", "sequelize": "^3.2.0", "settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#v1.0.0", "sixpack-client": "^1.0.0", "temp": "^0.8.3", "underscore": "1.6.0", "uuid": "^3.0.1", "v8-profiler": "^5.2.3", "valid-url": "^1.0.9", "xml2js": "0.2.0", "yauzl": "^2.8.0" }, "devDependencies": { "autoprefixer": "^6.6.1", "babel-cli": "^6.26.0", "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-env": "^1.6.1", "babel-preset-react": "^6.16.0", "bunyan": "0.22.1", "chai": "3.5.0", "chai-spies": "", "clean-css": "^3.4.18", "coffee-script": "^1.7.1", "es6-promise": "^4.0.5", "eslint": "^4.18.1", "eslint-config-prettier": "^3.1.0", "eslint-config-standard": "^11.0.0", "eslint-config-standard-jsx": "^5.0.0", "eslint-config-standard-react": "^6.0.0", "eslint-plugin-chai-expect": "^1.1.1", "eslint-plugin-chai-friendly": "^0.4.1", "eslint-plugin-import": "^2.9.0", "eslint-plugin-jsx-a11y": "^6.1.2", "eslint-plugin-mocha": "^5.2.0", "eslint-plugin-node": "^6.0.0", "eslint-plugin-prettier": "^2.7.0", "eslint-plugin-promise": "^3.6.0", "eslint-plugin-react": "^7.11.1", "eslint-plugin-standard": "^3.0.1", "grunt": "0.4.5", "grunt-available-tasks": "0.4.1", "grunt-bunyan": "0.5.0", "grunt-cli": "^1.2.0", "grunt-contrib-clean": "0.5.0", "grunt-contrib-coffee": "0.10.0", "grunt-contrib-less": "1.4.x", "grunt-contrib-requirejs": "0.4.1", "grunt-contrib-watch": "^1.0.0", "grunt-env": "0.4.4", "grunt-exec": "^0.4.7", "grunt-execute": "^0.2.2", "grunt-file-append": "0.0.6", "grunt-forever": "^0.4.7", "grunt-git-rev-parse": "^0.1.4", "grunt-mocha-test": "0.9.0", "grunt-newer": "^1.2.0", "grunt-parallel": "^0.5.1", "grunt-postcss": "^0.8.0", "grunt-sed": "^0.1.1", "grunt-shell": "^2.1.0", "handlebars-loader": "^1.7.0", "karma": "^2.0.0", "karma-chai-sinon": "^0.1.5", "karma-chrome-launcher": "^2.2.0", "karma-mocha": "^1.3.0", "karma-mocha-reporter": "^2.2.5", "karma-requirejs": "^1.1.0", "karma-webpack": "^2.0.9", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "nodemon": "^1.14.3", "prettier-eslint-cli": "^4.7.1", "requirejs": "^2.1.22", "sandboxed-module": "0.2.0", "sinon": "^1.17.0", "sinon-chai": "^2.14.0", "timekeeper": "", "translations-sharelatex": "git+https://github.com/sharelatex/translations-sharelatex.git#master", "webpack": "^3.10.0", "webpack-dev-server": "^2.11.1", "webpack-merge": "^4.1.1" } }