{ "name": "web-overleaf", "version": "0.1.4", "description": "The HTTP front end for ShareLaTeX", "license": "AGPL-3.0-only", "private": true, "repository": { "type": "git", "url": "https://github.com/sharelatex/web-sharelatex.git" }, "directories": { "public": "./public" }, "scripts": { "test:acceptance:run_dir": "mocha --recursive --reporter spec --timeout 25000 --exit --grep=$MOCHA_GREP --require test/acceptance/bootstrap.js", "test:acceptance:app": "npm run test:acceptance:run_dir -- test/acceptance/src", "test:unit:run_dir": "mocha --recursive --reporter spec --timeout 25000 --exit --grep=$MOCHA_GREP --file test/unit/bootstrap.js", "test:unit:app": "npm run test:unit:run_dir -- test/unit/src", "test:unit:app:parallel": "parallel --plain --keep-order --halt now,fail=1 npm run test:unit:run_dir -- {} ::: test/unit/src/*", "test:frontend": "karma start", "test:frontend:single": "karma start --single-run", "start": "node $NODE_APP_OPTIONS app.js", "nodemon": "nodemon --config nodemon.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,less}' --list-different", "format:fix": "prettier-eslint '**/*.{js,less}' --write", "migrations": "east" }, "browserslist": [ "last 1 year", "ie 11", "firefox esr" ], "dependencies": { "@babel/cli": "^7.8.4", "@babel/core": "^7.9.0", "@babel/preset-env": "^7.9.5", "@babel/preset-react": "^7.9.4", "@overleaf/o-error": "^2.1.0", "@pollyjs/adapter-node-http": "^4.2.1", "@pollyjs/core": "^4.2.1", "@pollyjs/persister-fs": "^4.2.1", "@sentry/browser": "^5.12.0", "algoliasearch": "^3.35.1", "angular": "~1.6.10", "angular-sanitize": "~1.6.10", "archiver": "4.0.1", "async": "0.6.2", "backbone": "^1.3.3", "basic-auth-connect": "^1.0.0", "bcrypt": "^3.0.4", "body-parser": "^1.19.0", "bufferedstream": "1.6.0", "celebrate": "^10.0.1", "classnames": "^2.2.6", "codemirror": "^5.33.0", "connect-redis": "^3.1.0", "contentful": "^6.1.1", "cookie": "^0.2.3", "cookie-parser": "1.3.5", "core-js": "^3.6.2", "crypto-js": "^3.1.9-1", "csurf": "^1.11.0", "d3": "^3.5.16", "dateformat": "1.0.4-1.2.3", "daterangepicker": "git+https://github.com/40thieves/daterangepicker.git#master", "east": "^1.1.0", "express": "4.17.1", "express-bearer-token": "^2.4.0", "express-http-proxy": "^1.6.0", "express-session": "^1.17.1", "fs-extra": "^4.0.2", "fuse.js": "^3.0.0", "handlebars": "^4.7.6", "helmet": "^3.22.0", "http-proxy": "^1.18.0", "isomorphic-unfetch": "^3.0.0", "jquery": "^2.2.4", "json2csv": "^4.3.3", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.15", "logger-sharelatex": "^1.9.1", "mailchimp-api-v3": "^1.12.0", "marked": "^0.3.5", "method-override": "^2.3.3", "metrics-sharelatex": "^2.6.2", "minimist": "1.2.5", "mmmagic": "^0.5.2", "mocha": "^6.2.2", "moment": "^2.24.0", "mongojs": "2.4.0", "mongoose": "^4.13.19", "multer": "git+https://github.com/overleaf/multer.git", "nocache": "^2.1.0", "node-html-encoder": "0.0.2", "nodemailer": "2.1.0", "nodemailer-mandrill-transport": "^1.2.0", "nodemailer-ses-transport": "^1.5.1", "nvd3": "^1.8.6", "oauth2-server": "^3.0.1", "otplib": "^12.0.1", "p-limit": "^2.3.0", "parse-data-url": "^2.0.0", "passport": "^0.4.1", "passport-google-oauth20": "^2.0.0", "passport-local": "^1.0.0", "passport-oauth2": "^1.5.0", "passport-orcid": "0.0.4", "passport-saml": "^1.3.3", "passport-twitter": "^1.0.4", "pdfjs-dist": "^2.2.228", "prop-types": "^15.7.2", "pug": "^2.0.4", "qrcode": "^1.4.4", "react": "^16.13.1", "react-bootstrap": "^0.33.1", "react-dom": "^16.13.1", "react2angular": "^4.0.6", "redis-sharelatex": "^1.0.12", "request": "^2.88.2", "request-promise-native": "^1.0.8", "requestretry": "^1.13.0", "rimraf": "2.2.6", "rolling-rate-limiter": "git+https://github.com/ShaneKilkelly/rolling-rate-limiter.git#master", "sanitizer": "0.1.1", "settings-sharelatex": "^1.1.0", "temp": "^0.8.3", "underscore": "1.6.0", "url-parse": "^1.4.7", "utf-8-validate": "^5.0.2", "uuid": "^3.0.1", "valid-data-url": "^2.0.0", "valid-url": "^1.0.9", "xml2js": "^0.4.22", "xregexp": "^4.3.0", "yauzl": "^2.10.0" }, "devDependencies": { "@testing-library/dom": "^7.7.3", "@testing-library/react": "^10.0.4", "acorn": "^7.1.1", "acorn-walk": "^7.1.1", "angular-mocks": "~1.6.10", "autoprefixer": "^9.7.6", "babel-eslint": "^10.1.0", "babel-loader": "^8.1.0", "babel-plugin-angularjs-annotate": "^0.10.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "chaid": "^1.0.2", "cheerio": "^1.0.0-rc.3", "copy-webpack-plugin": "^5.1.1", "css-loader": "^3.5.2", "es6-promise": "^4.2.8", "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.20.2", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-mocha": "^5.2.0", "eslint-plugin-node": "^6.0.0", "eslint-plugin-promise": "^3.6.0", "eslint-plugin-react": "^7.19.0", "eslint-plugin-standard": "^3.0.1", "expose-loader": "^0.7.5", "fetch-mock": "^9.10.2", "file-loader": "^5.0.2", "glob": "^7.1.6", "handlebars-loader": "^1.7.1", "karma": "^5.0.2", "karma-chai-sinon": "^0.1.5", "karma-chrome-launcher": "^3.1.0", "karma-mocha": "^2.0.0", "karma-mocha-reporter": "^2.2.5", "karma-requirejs": "^1.1.0", "karma-webpack": "^4.0.2", "less": "^3.11.1", "less-loader": "^6.0.0", "less-plugin-autoprefix": "^2.0.0", "mini-css-extract-plugin": "^0.8.0", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "mock-fs": "^4.11.0", "nodemon": "^1.14.3", "optimize-css-assets-webpack-plugin": "^5.0.3", "postcss-loader": "^3.0.0", "prettier-eslint-cli": "^4.7.1", "requirejs": "^2.3.6", "samlp": "^3.4.1", "sandboxed-module": "0.2.0", "sinon": "^7.5.0", "sinon-chai": "^3.5.0", "sinon-mongoose": "^2.3.0", "terser-webpack-plugin": "^2.3.6", "timekeeper": "^2.2.0", "translations-sharelatex": "git+https://github.com/sharelatex/translations-sharelatex.git#master", "val-loader": "^1.1.1", "webpack": "^4.43.0", "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.11.0", "webpack-manifest-plugin": "^2.2.0", "webpack-merge": "^4.2.2" } }