bump build scripts and move to npm modules

This commit is contained in:
Henry Oswald 2019-01-31 16:13:21 +00:00
parent 32c6bb9874
commit 10f71a6a9d
7 changed files with 281 additions and 458 deletions

View file

@ -48,8 +48,11 @@ pipeline {
}
}
stage('Package and publish build') {
stage('Package and docker push') {
steps {
sh 'echo ${BUILD_NUMBER} > build_number.txt'
sh 'touch build.tar.gz' // Avoid tar warning about files changing during read
sh 'DOCKER_COMPOSE_FLAGS="-f docker-compose.ci.yml" make tar'
withCredentials([file(credentialsId: 'gcr.io_overleaf-ops', variable: 'DOCKER_REPO_KEY_PATH')]) {
sh 'docker login -u _json_key --password-stdin https://gcr.io/overleaf-ops < ${DOCKER_REPO_KEY_PATH}'
@ -60,9 +63,12 @@ pipeline {
}
}
stage('Publish build number') {
stage('Publish to s3') {
steps {
sh 'echo ${BRANCH_NAME}-${BUILD_NUMBER} > build_number.txt'
withAWS(credentials:'S3_CI_BUILDS_AWS_KEYS', region:"${S3_REGION_BUILD_ARTEFACTS}") {
s3Upload(file:'build.tar.gz', bucket:"${S3_BUCKET_BUILD_ARTEFACTS}", path:"${JOB_NAME}/${BUILD_NUMBER}.tar.gz")
}
withAWS(credentials:'S3_CI_BUILDS_AWS_KEYS', region:"${S3_REGION_BUILD_ARTEFACTS}") {
// The deployment process uses this file to figure out the latest build
s3Upload(file:'build_number.txt', bucket:"${S3_BUCKET_BUILD_ARTEFACTS}", path:"${JOB_NAME}/latest")

View file

@ -1,7 +1,7 @@
# This file was auto-generated, do not edit it directly.
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
# Version: 1.1.10
# Version: 1.1.12
BUILD_NUMBER ?= local
BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
@ -13,7 +13,6 @@ DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \
MOCHA_GREP=${MOCHA_GREP} \
docker-compose ${DOCKER_COMPOSE_FLAGS}
clean:
docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
docker rmi gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
@ -40,6 +39,9 @@ build:
--tag gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) \
.
tar:
$(DOCKER_COMPOSE) up tar
publish:
docker push $(DOCKER_REPO)/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)

View file

@ -1,9 +1,8 @@
--script-version=1.1.10
notifications
--language=coffeescript
--node-version=6.14.1
--acceptance-creds=None
--language=coffeescript
--dependencies=mongo,redis
--docker-repos=gcr.io/overleaf-ops
--kube=false
--build-target=docker
--script-version=1.1.12

View file

@ -1,7 +1,7 @@
# This file was auto-generated, do not edit it directly.
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
# Version: 1.1.10
# Version: 1.1.12
version: "2"
@ -11,6 +11,7 @@ services:
user: node
command: npm run test:unit:_run
test_acceptance:
build: .
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
@ -26,6 +27,16 @@ services:
user: node
command: npm run test:acceptance:_run
tar:
build: .
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
volumes:
- ./:/tmp/build/
command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
user: root
redis:
image: redis

View file

@ -1,7 +1,7 @@
# This file was auto-generated, do not edit it directly.
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
# Version: 1.1.10
# Version: 1.1.12
version: "2"
@ -33,6 +33,16 @@ services:
- redis
command: npm run test:acceptance
tar:
build: .
image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
volumes:
- ./:/tmp/build/
command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
user: root
redis:
image: redis

View file

@ -176,11 +176,6 @@
"from": "@types/tough-cookie@*",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.4.tgz"
},
"abbrev": {
"version": "1.1.1",
"from": "abbrev@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
},
"acorn": {
"version": "5.7.3",
"from": "acorn@>=5.0.3 <6.0.0",
@ -191,47 +186,31 @@
"from": "agent-base@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz"
},
"ansi-regex": {
"version": "0.2.1",
"from": "ansi-regex@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
},
"ansi-styles": {
"version": "1.1.0",
"from": "ansi-styles@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz"
},
"argparse": {
"version": "0.1.16",
"from": "argparse@>=0.1.11 <0.2.0",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
"dependencies": {
"underscore": {
"version": "1.7.0",
"from": "underscore@>=1.7.0 <1.8.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz"
},
"underscore.string": {
"version": "2.4.0",
"from": "underscore.string@>=2.4.0 <2.5.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz"
}
}
},
"array-from": {
"version": "2.1.1",
"from": "array-from@https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
"resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz"
"ajv": {
"version": "6.7.0",
"from": "ajv@>=6.5.5 <7.0.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz"
},
"arrify": {
"version": "1.0.1",
"from": "arrify@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
},
"asn1": {
"version": "0.2.4",
"from": "asn1@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"
},
"assert-plus": {
"version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
},
"assertion-error": {
"version": "1.1.0",
"from": "assertion-error@https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz"
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
"dev": true
},
"async": {
"version": "0.1.22",
@ -243,6 +222,21 @@
"from": "async-listener@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz"
},
"asynckit": {
"version": "0.4.0",
"from": "asynckit@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
},
"aws-sign2": {
"version": "0.7.0",
"from": "aws-sign2@>=0.7.0 <0.8.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"
},
"aws4": {
"version": "1.8.0",
"from": "aws4@>=1.8.0 <2.0.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz"
},
"axios": {
"version": "0.18.0",
"from": "axios@>=0.18.0 <0.19.0",
@ -253,6 +247,11 @@
"from": "balanced-match@https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"
},
"bignumber.js": {
"version": "7.2.1",
"from": "bignumber.js@>=7.0.0 <8.0.0",
@ -295,28 +294,22 @@
"resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
"dev": true
},
"caseless": {
"version": "0.12.0",
"from": "caseless@>=0.12.0 <0.13.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
},
"chai": {
"version": "4.2.0",
"from": "chai@4.2.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
"dev": true
},
"chalk": {
"version": "0.5.1",
"from": "chalk@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"dependencies": {
"supports-color": {
"version": "0.2.0",
"from": "supports-color@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
}
}
},
"check-error": {
"version": "1.0.2",
"from": "check-error@https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz"
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
"dev": true
},
"coffee-script": {
"version": "1.7.1",
@ -330,10 +323,10 @@
}
}
},
"colors": {
"version": "0.6.2",
"from": "colors@>=0.6.2 <0.7.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
"combined-stream": {
"version": "1.0.7",
"from": "combined-stream@>=1.0.6 <1.1.0",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz"
},
"commander": {
"version": "2.11.0",
@ -366,10 +359,10 @@
"from": "core-util-is@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
},
"dateformat": {
"version": "1.0.2-1.2.3",
"from": "dateformat@1.0.2-1.2.3",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz"
"dashdash": {
"version": "1.14.1",
"from": "dashdash@>=1.12.0 <2.0.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
},
"debug": {
"version": "3.1.0",
@ -379,13 +372,19 @@
"deep-eql": {
"version": "3.0.1",
"from": "deep-eql@https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz"
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
"dev": true
},
"delay": {
"version": "4.1.0",
"from": "delay@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-4.1.0.tgz"
},
"delayed-stream": {
"version": "1.0.0",
"from": "delayed-stream@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
},
"diff": {
"version": "3.3.1",
"from": "diff@https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
@ -404,6 +403,11 @@
"from": "duplexify@>=3.6.0 <4.0.0",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz"
},
"ecc-jsbn": {
"version": "0.1.2",
"from": "ecc-jsbn@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
},
"ecdsa-sig-formatter": {
"version": "1.0.10",
"from": "ecdsa-sig-formatter@1.0.10",
@ -437,22 +441,8 @@
"escape-string-regexp": {
"version": "1.0.5",
"from": "escape-string-regexp@https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
},
"esprima": {
"version": "1.0.4",
"from": "esprima@>=1.0.2 <1.1.0",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz"
},
"eventemitter2": {
"version": "0.4.14",
"from": "eventemitter2@>=0.4.13 <0.5.0",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz"
},
"exit": {
"version": "0.1.2",
"from": "exit@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"dev": true
},
"express": {
"version": "3.1.0",
@ -557,54 +547,40 @@
"from": "extend@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
},
"extsprintf": {
"version": "1.3.0",
"from": "extsprintf@1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
},
"fast-deep-equal": {
"version": "2.0.1",
"from": "fast-deep-equal@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"from": "fast-json-stable-stringify@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"
},
"findit2": {
"version": "2.2.3",
"from": "findit2@>=2.2.3 <3.0.0",
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz"
},
"findup-sync": {
"version": "0.1.3",
"from": "findup-sync@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
"dependencies": {
"glob": {
"version": "3.2.11",
"from": "glob@>=3.2.9 <3.3.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"
},
"lodash": {
"version": "2.4.2",
"from": "lodash@>=2.4.1 <2.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
},
"lru-cache": {
"version": "2.7.3",
"from": "lru-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz"
},
"minimatch": {
"version": "0.3.0",
"from": "minimatch@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
}
}
},
"follow-redirects": {
"version": "1.6.1",
"from": "follow-redirects@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz"
},
"fs-extra": {
"version": "0.9.1",
"from": "fs-extra@>=0.9.1 <0.10.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.9.1.tgz",
"dependencies": {
"ncp": {
"version": "0.5.1",
"from": "ncp@>=0.5.1 <0.6.0",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-0.5.1.tgz"
}
}
"forever-agent": {
"version": "0.6.1",
"from": "forever-agent@>=0.6.1 <0.7.0",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
},
"form-data": {
"version": "2.3.3",
"from": "form-data@>=2.3.2 <2.4.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"
},
"fs.realpath": {
"version": "1.0.0",
@ -625,17 +601,19 @@
"get-func-name": {
"version": "2.0.0",
"from": "get-func-name@https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
"dev": true
},
"getobject": {
"version": "0.1.0",
"from": "getobject@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz"
"getpass": {
"version": "0.1.7",
"from": "getpass@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"
},
"glob": {
"version": "6.0.4",
"from": "glob@https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"optional": true
},
"google-auth-library": {
"version": "2.0.2",
@ -654,186 +632,12 @@
"from": "google-p12-pem@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.3.tgz"
},
"graceful-fs": {
"version": "1.2.3",
"from": "graceful-fs@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"
},
"growl": {
"version": "1.10.3",
"from": "growl@https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
"dev": true
},
"grunt": {
"version": "0.4.5",
"from": "grunt@>=0.4.5 <0.5.0",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
"dependencies": {
"coffee-script": {
"version": "1.3.3",
"from": "coffee-script@>=1.3.3 <1.4.0",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz"
},
"glob": {
"version": "3.1.21",
"from": "glob@>=3.1.21 <3.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz"
},
"inherits": {
"version": "1.0.2",
"from": "inherits@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz"
},
"lru-cache": {
"version": "2.7.3",
"from": "lru-cache@2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz"
},
"minimatch": {
"version": "0.2.14",
"from": "minimatch@>=0.2.12 <0.3.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
},
"rimraf": {
"version": "2.2.8",
"from": "rimraf@>=2.2.8 <2.3.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
}
}
},
"grunt-bunyan": {
"version": "0.5.0",
"from": "grunt-bunyan@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/grunt-bunyan/-/grunt-bunyan-0.5.0.tgz",
"dependencies": {
"lodash": {
"version": "2.4.2",
"from": "lodash@>=2.4.1 <2.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}
}
},
"grunt-contrib-clean": {
"version": "0.6.0",
"from": "grunt-contrib-clean@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.6.0.tgz",
"dependencies": {
"rimraf": {
"version": "2.2.8",
"from": "rimraf@~2.2.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
}
}
},
"grunt-contrib-coffee": {
"version": "0.11.1",
"from": "grunt-contrib-coffee@>=0.11.0 <0.12.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-coffee/-/grunt-contrib-coffee-0.11.1.tgz",
"dependencies": {
"lodash": {
"version": "2.4.2",
"from": "lodash@>=2.4.1 <2.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}
}
},
"grunt-execute": {
"version": "0.2.2",
"from": "grunt-execute@>=0.2.2 <0.3.0",
"resolved": "https://registry.npmjs.org/grunt-execute/-/grunt-execute-0.2.2.tgz"
},
"grunt-legacy-log": {
"version": "0.1.3",
"from": "grunt-legacy-log@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
"dependencies": {
"lodash": {
"version": "2.4.2",
"from": "lodash@>=2.4.1 <2.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
},
"underscore.string": {
"version": "2.3.3",
"from": "underscore.string@>=2.3.3 <2.4.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz"
}
}
},
"grunt-legacy-log-utils": {
"version": "0.1.1",
"from": "grunt-legacy-log-utils@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
"dependencies": {
"lodash": {
"version": "2.4.2",
"from": "lodash@>=2.4.1 <2.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
},
"underscore.string": {
"version": "2.3.3",
"from": "underscore.string@>=2.3.3 <2.4.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz"
}
}
},
"grunt-legacy-util": {
"version": "0.2.0",
"from": "grunt-legacy-util@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz"
},
"grunt-mocha-test": {
"version": "0.11.0",
"from": "grunt-mocha-test@>=0.11.0 <0.12.0",
"resolved": "https://registry.npmjs.org/grunt-mocha-test/-/grunt-mocha-test-0.11.0.tgz",
"dependencies": {
"commander": {
"version": "2.0.0",
"from": "commander@2.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz"
},
"diff": {
"version": "1.0.7",
"from": "diff@1.0.7",
"resolved": "https://registry.npmjs.org/diff/-/diff-1.0.7.tgz"
},
"glob": {
"version": "3.2.3",
"from": "glob@3.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz"
},
"graceful-fs": {
"version": "2.0.3",
"from": "graceful-fs@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz"
},
"growl": {
"version": "1.7.0",
"from": "growl@>=1.7.0 <1.8.0",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz"
},
"lru-cache": {
"version": "2.7.3",
"from": "lru-cache@2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz"
},
"minimatch": {
"version": "0.2.14",
"from": "minimatch@~0.2.11",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
},
"mkdirp": {
"version": "0.3.5",
"from": "mkdirp@0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
},
"mocha": {
"version": "1.20.1",
"from": "mocha@>=1.20.0 <1.21.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-1.20.1.tgz"
}
}
},
"gtoken": {
"version": "2.3.0",
"from": "gtoken@>=2.3.0 <3.0.0",
@ -846,10 +650,15 @@
}
}
},
"has-ansi": {
"version": "0.1.0",
"from": "has-ansi@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz"
"har-schema": {
"version": "2.0.0",
"from": "har-schema@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"
},
"har-validator": {
"version": "5.1.3",
"from": "har-validator@>=5.1.0 <5.2.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"
},
"has-flag": {
"version": "2.0.0",
@ -868,21 +677,16 @@
"from": "hex2dec@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/hex2dec/-/hex2dec-1.1.1.tgz"
},
"hooker": {
"version": "0.2.3",
"from": "hooker@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
"http-signature": {
"version": "1.2.0",
"from": "http-signature@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"
},
"https-proxy-agent": {
"version": "2.2.1",
"from": "https-proxy-agent@>=2.2.1 <3.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz"
},
"iconv-lite": {
"version": "0.2.11",
"from": "iconv-lite@>=0.2.11 <0.3.0",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz"
},
"inflight": {
"version": "1.0.6",
"from": "inflight@https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@ -903,47 +707,51 @@
"from": "is-buffer@>=1.1.5 <2.0.0",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
},
"is-typedarray": {
"version": "1.0.0",
"from": "is-typedarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
},
"isarray": {
"version": "0.0.1",
"from": "isarray@https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"dev": true
},
"jade": {
"version": "0.26.3",
"from": "jade@0.26.3",
"resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
"dependencies": {
"commander": {
"version": "0.6.1",
"from": "commander@0.6.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
"isstream": {
"version": "0.1.2",
"from": "isstream@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
},
"mkdirp": {
"version": "0.3.0",
"from": "mkdirp@0.3.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"
}
}
},
"js-yaml": {
"version": "2.0.5",
"from": "js-yaml@>=2.0.5 <2.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz"
"jsbn": {
"version": "0.1.1",
"from": "jsbn@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
},
"json-bigint": {
"version": "0.3.0",
"from": "json-bigint@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz"
},
"json-schema": {
"version": "0.2.3",
"from": "json-schema@0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"
},
"json-schema-traverse": {
"version": "0.4.1",
"from": "json-schema-traverse@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
},
"json-stringify-safe": {
"version": "5.0.1",
"from": "json-stringify-safe@5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
},
"jsonfile": {
"version": "1.1.1",
"from": "jsonfile@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz"
"jsprim": {
"version": "1.4.1",
"from": "jsprim@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
},
"just-extend": {
"version": "4.0.2",
@ -961,15 +769,11 @@
"from": "jws@>=3.1.5 <4.0.0",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz"
},
"lodash": {
"version": "0.9.2",
"from": "lodash@>=0.9.2 <0.10.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"
},
"lodash.get": {
"version": "4.4.2",
"from": "lodash.get@https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"dev": true
},
"lodash.pickby": {
"version": "4.6.0",
@ -977,92 +781,30 @@
"resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz"
},
"logger-sharelatex": {
"version": "1.5.9",
"from": "git+https://github.com/sharelatex/logger-sharelatex.git#v1.5.9",
"resolved": "git+https://github.com/sharelatex/logger-sharelatex.git#e8e1b95052f62e107336053e4a983f81cdbdf589",
"version": "1.6.0",
"from": "logger-sharelatex@>=1.6.0 <2.0.0",
"resolved": "https://registry.npmjs.org/logger-sharelatex/-/logger-sharelatex-1.6.0.tgz",
"dependencies": {
"@sinonjs/commons": {
"version": "1.3.0",
"from": "@sinonjs/commons@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.3.0.tgz"
},
"@sinonjs/formatio": {
"version": "3.1.0",
"from": "@sinonjs/formatio@>=3.1.0 <4.0.0",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.1.0.tgz"
},
"@sinonjs/samsam": {
"version": "3.0.2",
"from": "@sinonjs/samsam@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.0.2.tgz"
},
"bunyan": {
"version": "1.5.1",
"from": "bunyan@1.5.1",
"resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.5.1.tgz"
},
"chai": {
"version": "4.2.0",
"from": "chai@latest",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz"
},
"coffee-script": {
"version": "1.12.4",
"from": "coffee-script@1.12.4",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.4.tgz"
},
"diff": {
"version": "3.5.0",
"from": "diff@>=3.5.0 <4.0.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz"
},
"dtrace-provider": {
"version": "0.6.0",
"from": "dtrace-provider@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz",
"optional": true
},
"has-flag": {
"version": "3.0.0",
"from": "has-flag@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
},
"just-extend": {
"version": "4.0.2",
"from": "just-extend@>=4.0.2 <5.0.0",
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz"
},
"lolex": {
"version": "3.0.0",
"from": "lolex@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-3.0.0.tgz"
},
"nise": {
"version": "1.4.8",
"from": "nise@>=1.4.7 <2.0.0",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.8.tgz",
"dependencies": {
"lolex": {
"version": "2.7.5",
"from": "lolex@>=2.3.2 <3.0.0",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz"
}
}
},
"sandboxed-module": {
"version": "2.0.3",
"from": "sandboxed-module@latest",
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-2.0.3.tgz"
},
"sinon": {
"version": "7.2.2",
"from": "sinon@latest",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.2.2.tgz"
},
"supports-color": {
"version": "5.5.0",
"from": "supports-color@>=5.5.0 <6.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
"request": {
"version": "2.88.0",
"from": "request@>=2.88.0 <3.0.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz"
}
}
},
@ -1103,18 +845,18 @@
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
},
"metrics-sharelatex": {
"version": "2.0.12",
"from": "git+https://github.com/sharelatex/metrics-sharelatex.git#v2.0.12",
"resolved": "git+https://github.com/sharelatex/metrics-sharelatex.git#3ac1621ef049e2f2d88a83b3a41011333d609662",
"version": "2.1.1",
"from": "metrics-sharelatex@>=2.1.1 <3.0.0",
"resolved": "https://registry.npmjs.org/metrics-sharelatex/-/metrics-sharelatex-2.1.1.tgz",
"dependencies": {
"coffee-script": {
"version": "1.6.0",
"from": "coffee-script@https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz",
"from": "coffee-script@1.6.0",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz"
},
"underscore": {
"version": "1.6.0",
"from": "underscore@https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
"from": "underscore@>=1.6.0 <1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
}
}
@ -1124,6 +866,16 @@
"from": "mime@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz"
},
"mime-db": {
"version": "1.37.0",
"from": "mime-db@>=1.37.0 <1.38.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz"
},
"mime-types": {
"version": "2.1.21",
"from": "mime-types@>=2.1.19 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz"
},
"minimatch": {
"version": "3.0.4",
"from": "minimatch@https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@ -1384,10 +1136,10 @@
}
}
},
"nopt": {
"version": "1.0.10",
"from": "nopt@>=1.0.10 <1.1.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz"
"oauth-sign": {
"version": "0.9.0",
"from": "oauth-sign@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"
},
"once": {
"version": "1.4.0",
@ -1427,12 +1179,19 @@
"path-to-regexp": {
"version": "1.7.0",
"from": "path-to-regexp@https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz"
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"dev": true
},
"pathval": {
"version": "1.1.0",
"from": "pathval@https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz"
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
"dev": true
},
"performance-now": {
"version": "2.1.0",
"from": "performance-now@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
},
"pify": {
"version": "4.0.1",
@ -1459,6 +1218,21 @@
"from": "protobufjs@>=6.8.6 <6.9.0",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz"
},
"psl": {
"version": "1.1.31",
"from": "psl@>=1.1.24 <2.0.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz"
},
"punycode": {
"version": "2.1.1",
"from": "punycode@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
},
"qs": {
"version": "6.5.2",
"from": "qs@>=6.5.2 <6.6.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
},
"raven": {
"version": "1.2.1",
"from": "raven@>=1.1.3 <2.0.0",
@ -1780,7 +1554,8 @@
"require-like": {
"version": "0.1.2",
"from": "require-like@https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz",
"resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz"
"resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz",
"dev": true
},
"resolve": {
"version": "1.9.0",
@ -1800,7 +1575,8 @@
"rimraf": {
"version": "2.4.5",
"from": "rimraf@https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz"
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"optional": true
},
"safe-buffer": {
"version": "5.1.2",
@ -1813,6 +1589,11 @@
"resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz",
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
"from": "safer-buffer@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
},
"sandboxed-module": {
"version": "2.0.3",
"from": "sandboxed-module@>=2.0.3 <3.0.0",
@ -1826,12 +1607,12 @@
},
"settings-sharelatex": {
"version": "1.1.0",
"from": "git+https://github.com/sharelatex/settings-sharelatex.git#v1.1.0",
"resolved": "git+https://github.com/sharelatex/settings-sharelatex.git#93f63d029b52fef8825c3a401b2b6a7ba29b4750",
"from": "settings-sharelatex@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/settings-sharelatex/-/settings-sharelatex-1.1.0.tgz",
"dependencies": {
"coffee-script": {
"version": "1.6.0",
"from": "coffee-script@https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz",
"from": "coffee-script@1.6.0",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz"
}
}
@ -1841,11 +1622,6 @@
"from": "shimmer@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.0.tgz"
},
"sigmund": {
"version": "1.0.1",
"from": "sigmund@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
},
"sinon": {
"version": "6.3.5",
"from": "sinon@>=6.3.4 <7.0.0",
@ -1882,6 +1658,11 @@
"from": "split@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz"
},
"sshpk": {
"version": "1.16.1",
"from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"
},
"stack-trace": {
"version": "0.0.9",
"from": "stack-trace@https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
@ -1902,11 +1683,6 @@
"from": "string_decoder@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
},
"strip-ansi": {
"version": "0.3.0",
"from": "strip-ansi@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz"
},
"supports-color": {
"version": "4.4.0",
"from": "supports-color@https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
@ -1931,7 +1707,8 @@
"text-encoding": {
"version": "0.6.4",
"from": "text-encoding@https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz"
"resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"dev": true
},
"through": {
"version": "2.3.8",
@ -1943,25 +1720,43 @@
"from": "through2@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"
},
"timekeeper": {
"version": "1.0.0",
"from": "timekeeper@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-1.0.0.tgz"
"tough-cookie": {
"version": "2.4.3",
"from": "tough-cookie@>=2.4.3 <2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"dependencies": {
"punycode": {
"version": "1.4.1",
"from": "punycode@>=1.4.1 <2.0.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
}
}
},
"tunnel-agent": {
"version": "0.6.0",
"from": "tunnel-agent@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"
},
"tweetnacl": {
"version": "0.14.5",
"from": "tweetnacl@>=0.14.0 <0.15.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
},
"type-detect": {
"version": "4.0.8",
"from": "type-detect@https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
"dev": true
},
"underscore": {
"version": "1.4.4",
"from": "underscore@https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"
},
"underscore.string": {
"version": "2.2.1",
"from": "underscore.string@>=2.2.1 <2.3.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz"
"uri-js": {
"version": "4.2.2",
"from": "uri-js@>=4.2.2 <5.0.0",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"
},
"util-deprecate": {
"version": "1.0.2",
@ -1973,10 +1768,10 @@
"from": "uuid@>=3.3.2 <4.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz"
},
"which": {
"version": "1.0.9",
"from": "which@>=1.0.5 <1.1.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz"
"verror": {
"version": "1.10.0",
"from": "verror@1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
},
"wrappy": {
"version": "1.0.2",

View file

@ -22,12 +22,12 @@
"async": "^0.1.22",
"coffee-script": "^1.7.1",
"express": "3.1.0",
"logger-sharelatex": "git+https://github.com/sharelatex/logger-sharelatex.git#v1.5.9",
"metrics-sharelatex": "git+https://github.com/sharelatex/metrics-sharelatex.git#v2.0.12",
"logger-sharelatex": "^1.6.0",
"metrics-sharelatex": "^2.1.1",
"mongojs": "^2.4.0",
"node-statsd": "0.0.3",
"request": "^2.65.0",
"settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#v1.1.0",
"settings-sharelatex": "^1.1.0",
"underscore": "1.4.4"
},
"devDependencies": {