Przeglądaj źródła

update logger and metrics

Shane Kilkelly 7 lat temu
rodzic
commit
f865762c29

+ 4 - 2
services/filestore/Makefile

@@ -1,7 +1,7 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.12
+# Version: 1.1.21
 
 
 BUILD_NUMBER ?= local
 BUILD_NUMBER ?= local
 BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
 BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
@@ -26,7 +26,9 @@ test: test_unit test_acceptance
 test_unit:
 test_unit:
 	@[ ! -d test/unit ] && echo "filestore has no unit tests" || $(DOCKER_COMPOSE) run --rm test_unit
 	@[ ! -d test/unit ] && echo "filestore has no unit tests" || $(DOCKER_COMPOSE) run --rm test_unit
 
 
-test_acceptance: test_clean test_acceptance_pre_run # clear the database before each acceptance test run
+test_acceptance: test_clean test_acceptance_pre_run test_acceptance_run
+
+test_acceptance_run:
 	@[ ! -d test/acceptance ] && echo "filestore has no acceptance tests" || $(DOCKER_COMPOSE) run --rm test_acceptance
 	@[ ! -d test/acceptance ] && echo "filestore has no acceptance tests" || $(DOCKER_COMPOSE) run --rm test_acceptance
 
 
 test_clean:
 test_clean:

+ 1 - 1
services/filestore/buildscript.txt

@@ -5,4 +5,4 @@ filestore
 --dependencies=mongo,redis
 --dependencies=mongo,redis
 --docker-repos=gcr.io/overleaf-ops
 --docker-repos=gcr.io/overleaf-ops
 --build-target=docker
 --build-target=docker
---script-version=1.1.12
+--script-version=1.1.21

+ 4 - 2
services/filestore/docker-compose.ci.yml

@@ -1,7 +1,7 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.12
+# Version: 1.1.21
 
 
 version: "2"
 version: "2"
 
 
@@ -10,6 +10,8 @@ services:
     image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
     image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
     user: node
     user: node
     command: npm run test:unit:_run
     command: npm run test:unit:_run
+    environment:
+      NODE_ENV: test
 
 
 
 
   test_acceptance:
   test_acceptance:
@@ -21,7 +23,7 @@ services:
       MONGO_HOST: mongo
       MONGO_HOST: mongo
       POSTGRES_HOST: postgres
       POSTGRES_HOST: postgres
       MOCHA_GREP: ${MOCHA_GREP}
       MOCHA_GREP: ${MOCHA_GREP}
-      ENABLE_CONVERSIONS: "true"
+      NODE_ENV: test
     depends_on:
     depends_on:
       - mongo
       - mongo
       - redis
       - redis

+ 5 - 2
services/filestore/docker-compose.yml

@@ -1,7 +1,7 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.12
+# Version: 1.1.21
 
 
 version: "2"
 version: "2"
 
 
@@ -13,6 +13,7 @@ services:
     working_dir: /app
     working_dir: /app
     environment:
     environment:
       MOCHA_GREP: ${MOCHA_GREP}
       MOCHA_GREP: ${MOCHA_GREP}
+      NODE_ENV: test
     command: npm run test:unit
     command: npm run test:unit
     user: node
     user: node
 
 
@@ -27,7 +28,8 @@ services:
       MONGO_HOST: mongo
       MONGO_HOST: mongo
       POSTGRES_HOST: postgres
       POSTGRES_HOST: postgres
       MOCHA_GREP: ${MOCHA_GREP}
       MOCHA_GREP: ${MOCHA_GREP}
-      ENABLE_CONVERSIONS: "true"
+      LOG_LEVEL: ERROR
+      NODE_ENV: test
     user: node
     user: node
     depends_on:
     depends_on:
       - mongo
       - mongo
@@ -50,3 +52,4 @@ services:
   mongo:
   mongo:
     image: mongo:3.4
     image: mongo:3.4
 
 
+

+ 365 - 150
services/filestore/npm-shrinkwrap.json

@@ -3,19 +3,19 @@
   "version": "0.1.4",
   "version": "0.1.4",
   "dependencies": {
   "dependencies": {
     "@google-cloud/common": {
     "@google-cloud/common": {
-      "version": "0.27.0",
-      "from": "@google-cloud/common@>=0.27.0 <0.28.0",
-      "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.27.0.tgz"
+      "version": "0.32.1",
+      "from": "@google-cloud/common@>=0.32.0 <0.33.0",
+      "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.32.1.tgz"
     },
     },
     "@google-cloud/debug-agent": {
     "@google-cloud/debug-agent": {
-      "version": "3.0.1",
+      "version": "3.2.0",
       "from": "@google-cloud/debug-agent@>=3.0.0 <4.0.0",
       "from": "@google-cloud/debug-agent@>=3.0.0 <4.0.0",
-      "resolved": "https://registry.npmjs.org/@google-cloud/debug-agent/-/debug-agent-3.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/@google-cloud/debug-agent/-/debug-agent-3.2.0.tgz",
       "dependencies": {
       "dependencies": {
         "coffeescript": {
         "coffeescript": {
-          "version": "2.3.2",
+          "version": "2.4.1",
           "from": "coffeescript@>=2.0.0 <3.0.0",
           "from": "coffeescript@>=2.0.0 <3.0.0",
-          "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.3.2.tgz"
+          "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.4.1.tgz"
         }
         }
       }
       }
     },
     },
@@ -29,15 +29,47 @@
           "from": "@google-cloud/common@>=0.26.0 <0.27.0",
           "from": "@google-cloud/common@>=0.26.0 <0.27.0",
           "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.26.2.tgz"
           "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.26.2.tgz"
         },
         },
+        "@google-cloud/promisify": {
+          "version": "0.3.1",
+          "from": "@google-cloud/promisify@>=0.3.0 <0.4.0",
+          "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-0.3.1.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"
+        },
+        "gcp-metadata": {
+          "version": "0.9.3",
+          "from": "gcp-metadata@>=0.9.0 <0.10.0",
+          "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.9.3.tgz"
+        },
+        "google-auth-library": {
+          "version": "2.0.2",
+          "from": "google-auth-library@>=2.0.0 <3.0.0",
+          "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-2.0.2.tgz",
+          "dependencies": {
+            "gcp-metadata": {
+              "version": "0.7.0",
+              "from": "gcp-metadata@>=0.7.0 <0.8.0",
+              "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.7.0.tgz"
+            }
+          }
+        },
         "nan": {
         "nan": {
-          "version": "2.12.1",
+          "version": "2.14.0",
           "from": "nan@>=2.11.1 <3.0.0",
           "from": "nan@>=2.11.1 <3.0.0",
-          "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz"
+          "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz"
         },
         },
         "readable-stream": {
         "readable-stream": {
-          "version": "3.1.1",
+          "version": "3.4.0",
           "from": "readable-stream@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
           "from": "readable-stream@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz"
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz"
+        },
+        "semver": {
+          "version": "5.7.0",
+          "from": "semver@>=5.5.0 <6.0.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz"
         },
         },
         "string_decoder": {
         "string_decoder": {
           "version": "1.2.0",
           "version": "1.2.0",
@@ -45,37 +77,27 @@
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz"
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz"
         },
         },
         "through2": {
         "through2": {
-          "version": "3.0.0",
+          "version": "3.0.1",
           "from": "through2@>=3.0.0 <4.0.0",
           "from": "through2@>=3.0.0 <4.0.0",
-          "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.0.tgz"
+          "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz"
         }
         }
       }
       }
     },
     },
     "@google-cloud/projectify": {
     "@google-cloud/projectify": {
-      "version": "0.3.2",
-      "from": "@google-cloud/projectify@>=0.3.0 <0.4.0",
-      "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-0.3.2.tgz"
+      "version": "0.3.3",
+      "from": "@google-cloud/projectify@>=0.3.3 <0.4.0",
+      "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-0.3.3.tgz"
     },
     },
     "@google-cloud/promisify": {
     "@google-cloud/promisify": {
-      "version": "0.3.1",
-      "from": "@google-cloud/promisify@>=0.3.0 <0.4.0",
-      "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-0.3.1.tgz"
+      "version": "0.4.0",
+      "from": "@google-cloud/promisify@>=0.4.0 <0.5.0",
+      "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-0.4.0.tgz"
     },
     },
     "@google-cloud/trace-agent": {
     "@google-cloud/trace-agent": {
-      "version": "3.5.2",
+      "version": "3.6.1",
       "from": "@google-cloud/trace-agent@>=3.2.0 <4.0.0",
       "from": "@google-cloud/trace-agent@>=3.2.0 <4.0.0",
-      "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-3.5.2.tgz",
+      "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-3.6.1.tgz",
       "dependencies": {
       "dependencies": {
-        "@google-cloud/common": {
-          "version": "0.30.2",
-          "from": "@google-cloud/common@>=0.30.0 <0.31.0",
-          "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.30.2.tgz"
-        },
-        "google-auth-library": {
-          "version": "3.0.1",
-          "from": "google-auth-library@>=3.0.0 <4.0.0",
-          "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.0.1.tgz"
-        },
         "uuid": {
         "uuid": {
           "version": "3.3.2",
           "version": "3.3.2",
           "from": "uuid@>=3.0.1 <4.0.0",
           "from": "uuid@>=3.0.1 <4.0.0",
@@ -134,14 +156,46 @@
       "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
       "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
     },
     },
     "@sindresorhus/is": {
     "@sindresorhus/is": {
-      "version": "0.13.0",
-      "from": "@sindresorhus/is@>=0.13.0 <0.14.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.13.0.tgz"
+      "version": "0.15.0",
+      "from": "@sindresorhus/is@>=0.15.0 <0.16.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.15.0.tgz"
+    },
+    "@sinonjs/commons": {
+      "version": "1.4.0",
+      "from": "@sinonjs/commons@>=1.2.0 <2.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.4.0.tgz",
+      "dev": true
+    },
+    "@sinonjs/formatio": {
+      "version": "3.2.1",
+      "from": "@sinonjs/formatio@>=3.0.0 <4.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/samsam": {
+          "version": "3.3.2",
+          "from": "@sinonjs/samsam@>=3.1.0 <4.0.0",
+          "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.2.tgz",
+          "dev": true
+        }
+      }
+    },
+    "@sinonjs/samsam": {
+      "version": "2.1.3",
+      "from": "@sinonjs/samsam@>=2.1.2 <3.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.3.tgz",
+      "dev": true
+    },
+    "@sinonjs/text-encoding": {
+      "version": "0.7.1",
+      "from": "@sinonjs/text-encoding@>=0.7.1 <0.8.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
+      "dev": true
     },
     },
     "@types/caseless": {
     "@types/caseless": {
-      "version": "0.12.1",
+      "version": "0.12.2",
       "from": "@types/caseless@*",
       "from": "@types/caseless@*",
-      "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz"
+      "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz"
     },
     },
     "@types/console-log-level": {
     "@types/console-log-level": {
       "version": "1.4.0",
       "version": "1.4.0",
@@ -164,9 +218,9 @@
       "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz"
       "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz"
     },
     },
     "@types/node": {
     "@types/node": {
-      "version": "10.12.20",
+      "version": "12.0.8",
       "from": "@types/node@*",
       "from": "@types/node@*",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.20.tgz"
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz"
     },
     },
     "@types/request": {
     "@types/request": {
       "version": "2.48.1",
       "version": "2.48.1",
@@ -183,6 +237,11 @@
       "from": "@types/tough-cookie@*",
       "from": "@types/tough-cookie@*",
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz"
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz"
     },
     },
+    "abort-controller": {
+      "version": "3.0.0",
+      "from": "abort-controller@>=3.0.0 <4.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
+    },
     "accept-encoding": {
     "accept-encoding": {
       "version": "0.1.0",
       "version": "0.1.0",
       "from": "accept-encoding@>=0.1.0 <0.2.0",
       "from": "accept-encoding@>=0.1.0 <0.2.0",
@@ -194,29 +253,35 @@
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz"
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz"
     },
     },
     "acorn": {
     "acorn": {
-      "version": "5.7.3",
-      "from": "acorn@>=5.0.3 <6.0.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz"
+      "version": "6.1.1",
+      "from": "acorn@>=6.0.0 <7.0.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz"
     },
     },
     "agent-base": {
     "agent-base": {
-      "version": "4.2.1",
+      "version": "4.3.0",
       "from": "agent-base@>=4.1.0 <5.0.0",
       "from": "agent-base@>=4.1.0 <5.0.0",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz"
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz"
     },
     },
     "ajv": {
     "ajv": {
-      "version": "6.7.0",
+      "version": "6.10.0",
       "from": "ajv@>=6.5.5 <7.0.0",
       "from": "ajv@>=6.5.5 <7.0.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz"
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz"
     },
     },
     "array-flatten": {
     "array-flatten": {
       "version": "1.1.1",
       "version": "1.1.1",
       "from": "array-flatten@1.1.1",
       "from": "array-flatten@1.1.1",
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
     },
     },
+    "array-from": {
+      "version": "2.1.1",
+      "from": "array-from@>=2.1.1 <3.0.0",
+      "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+      "dev": true
+    },
     "arrify": {
     "arrify": {
-      "version": "1.0.1",
-      "from": "arrify@>=1.0.1 <2.0.0",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
+      "version": "2.0.1",
+      "from": "arrify@>=2.0.0 <3.0.0",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz"
     },
     },
     "asn1": {
     "asn1": {
       "version": "0.2.4",
       "version": "0.2.4",
@@ -228,6 +293,12 @@
       "from": "assert-plus@>=1.0.0 <2.0.0",
       "from": "assert-plus@>=1.0.0 <2.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
     },
     },
+    "assertion-error": {
+      "version": "1.1.0",
+      "from": "assertion-error@>=1.1.0 <2.0.0",
+      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+      "dev": true
+    },
     "async": {
     "async": {
       "version": "0.2.10",
       "version": "0.2.10",
       "from": "async@>=0.2.10 <0.3.0",
       "from": "async@>=0.2.10 <0.3.0",
@@ -236,7 +307,14 @@
     "async-listener": {
     "async-listener": {
       "version": "0.6.10",
       "version": "0.6.10",
       "from": "async-listener@>=0.6.0 <0.7.0",
       "from": "async-listener@>=0.6.0 <0.7.0",
-      "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz"
+      "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz",
+      "dependencies": {
+        "semver": {
+          "version": "5.7.0",
+          "from": "semver@>=5.3.0 <6.0.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz"
+        }
+      }
     },
     },
     "asynckit": {
     "asynckit": {
       "version": "0.4.0",
       "version": "0.4.0",
@@ -271,9 +349,9 @@
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz"
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz"
     },
     },
     "axios": {
     "axios": {
-      "version": "0.18.0",
+      "version": "0.18.1",
       "from": "axios@>=0.18.0 <0.19.0",
       "from": "axios@>=0.18.0 <0.19.0",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz"
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz"
     },
     },
     "balanced-match": {
     "balanced-match": {
       "version": "1.0.0",
       "version": "1.0.0",
@@ -301,9 +379,9 @@
       "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz"
       "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz"
     },
     },
     "bindings": {
     "bindings": {
-      "version": "1.4.0",
+      "version": "1.5.0",
       "from": "bindings@>=1.2.1 <2.0.0",
       "from": "bindings@>=1.2.1 <2.0.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.4.0.tgz"
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"
     },
     },
     "bintrees": {
     "bintrees": {
       "version": "1.0.1",
       "version": "1.0.1",
@@ -346,14 +424,15 @@
       "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
       "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
     },
     },
     "builtin-modules": {
     "builtin-modules": {
-      "version": "3.0.0",
+      "version": "3.1.0",
       "from": "builtin-modules@>=3.0.0 <4.0.0",
       "from": "builtin-modules@>=3.0.0 <4.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz"
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz"
     },
     },
     "bunyan": {
     "bunyan": {
       "version": "1.5.1",
       "version": "1.5.1",
       "from": "bunyan@1.5.1",
       "from": "bunyan@1.5.1",
-      "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.5.1.tgz"
+      "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.5.1.tgz",
+      "dev": true
     },
     },
     "bytes": {
     "bytes": {
       "version": "3.0.0",
       "version": "3.0.0",
@@ -365,10 +444,22 @@
       "from": "caseless@>=0.3.0 <0.4.0",
       "from": "caseless@>=0.3.0 <0.4.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.3.0.tgz"
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.3.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
+    },
+    "check-error": {
+      "version": "1.0.2",
+      "from": "check-error@>=1.0.2 <2.0.0",
+      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+      "dev": true
+    },
     "coffee-script": {
     "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"
+      "version": "1.6.0",
+      "from": "coffee-script@1.6.0",
+      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz"
     },
     },
     "combined-stream": {
     "combined-stream": {
       "version": "0.0.7",
       "version": "0.0.7",
@@ -381,9 +472,9 @@
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
     },
     },
     "console-log-level": {
     "console-log-level": {
-      "version": "1.4.0",
+      "version": "1.4.1",
       "from": "console-log-level@>=1.4.0 <2.0.0",
       "from": "console-log-level@>=1.4.0 <2.0.0",
-      "resolved": "https://registry.npmjs.org/console-log-level/-/console-log-level-1.4.0.tgz"
+      "resolved": "https://registry.npmjs.org/console-log-level/-/console-log-level-1.4.1.tgz"
     },
     },
     "content-disposition": {
     "content-disposition": {
       "version": "0.5.2",
       "version": "0.5.2",
@@ -435,10 +526,16 @@
       "from": "debug@2.6.9",
       "from": "debug@2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
     },
     },
+    "deep-eql": {
+      "version": "3.0.1",
+      "from": "deep-eql@>=3.0.1 <4.0.0",
+      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+      "dev": true
+    },
     "delay": {
     "delay": {
-      "version": "4.1.0",
+      "version": "4.3.0",
       "from": "delay@>=4.0.1 <5.0.0",
       "from": "delay@>=4.0.1 <5.0.0",
-      "resolved": "https://registry.npmjs.org/delay/-/delay-4.1.0.tgz"
+      "resolved": "https://registry.npmjs.org/delay/-/delay-4.3.0.tgz"
     },
     },
     "delayed-stream": {
     "delayed-stream": {
       "version": "0.0.5",
       "version": "0.0.5",
@@ -455,16 +552,23 @@
       "from": "destroy@>=1.0.4 <1.1.0",
       "from": "destroy@>=1.0.4 <1.1.0",
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.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",
+      "dev": true
+    },
     "dtrace-provider": {
     "dtrace-provider": {
       "version": "0.6.0",
       "version": "0.6.0",
       "from": "dtrace-provider@>=0.6.0 <0.7.0",
       "from": "dtrace-provider@>=0.6.0 <0.7.0",
       "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz",
       "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz",
+      "dev": true,
       "optional": true
       "optional": true
     },
     },
     "duplexify": {
     "duplexify": {
-      "version": "3.6.1",
+      "version": "3.7.1",
       "from": "duplexify@>=3.6.0 <4.0.0",
       "from": "duplexify@>=3.6.0 <4.0.0",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
       "dependencies": {
       "dependencies": {
         "readable-stream": {
         "readable-stream": {
           "version": "2.3.6",
           "version": "2.3.6",
@@ -484,9 +588,9 @@
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
     },
     },
     "ecdsa-sig-formatter": {
     "ecdsa-sig-formatter": {
-      "version": "1.0.10",
-      "from": "ecdsa-sig-formatter@1.0.10",
-      "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz"
+      "version": "1.0.11",
+      "from": "ecdsa-sig-formatter@1.0.11",
+      "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz"
     },
     },
     "ee-first": {
     "ee-first": {
       "version": "1.1.1",
       "version": "1.1.1",
@@ -514,9 +618,9 @@
       "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz"
       "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz"
     },
     },
     "es6-promise": {
     "es6-promise": {
-      "version": "4.2.5",
+      "version": "4.2.8",
       "from": "es6-promise@>=4.0.3 <5.0.0",
       "from": "es6-promise@>=4.0.3 <5.0.0",
-      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz"
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz"
     },
     },
     "es6-promisify": {
     "es6-promisify": {
       "version": "5.0.0",
       "version": "5.0.0",
@@ -538,6 +642,11 @@
       "from": "etag@>=1.8.1 <1.9.0",
       "from": "etag@>=1.8.1 <1.9.0",
       "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
       "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
     },
     },
+    "event-target-shim": {
+      "version": "5.0.1",
+      "from": "event-target-shim@>=5.0.0 <6.0.0",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
+    },
     "events": {
     "events": {
       "version": "1.1.1",
       "version": "1.1.1",
       "from": "events@1.1.1",
       "from": "events@1.1.1",
@@ -640,9 +749,9 @@
       "resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz"
       "resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz"
     },
     },
     "follow-redirects": {
     "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",
+      "version": "1.5.10",
+      "from": "follow-redirects@1.5.10",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
       "dependencies": {
       "dependencies": {
         "debug": {
         "debug": {
           "version": "3.1.0",
           "version": "3.1.0",
@@ -689,14 +798,20 @@
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
     },
     },
     "gaxios": {
     "gaxios": {
-      "version": "1.2.7",
-      "from": "gaxios@>=1.0.4 <2.0.0",
-      "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.2.7.tgz"
+      "version": "1.8.4",
+      "from": "gaxios@>=1.2.1 <2.0.0",
+      "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz"
     },
     },
     "gcp-metadata": {
     "gcp-metadata": {
-      "version": "0.9.3",
-      "from": "gcp-metadata@>=0.9.0 <0.10.0",
-      "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.9.3.tgz"
+      "version": "1.0.0",
+      "from": "gcp-metadata@>=1.0.0 <2.0.0",
+      "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz"
+    },
+    "get-func-name": {
+      "version": "2.0.0",
+      "from": "get-func-name@>=2.0.0 <3.0.0",
+      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+      "dev": true
     },
     },
     "getpass": {
     "getpass": {
       "version": "0.1.7",
       "version": "0.1.7",
@@ -715,21 +830,21 @@
       "optional": true
       "optional": true
     },
     },
     "google-auth-library": {
     "google-auth-library": {
-      "version": "2.0.2",
-      "from": "google-auth-library@>=2.0.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-2.0.2.tgz",
+      "version": "3.1.2",
+      "from": "google-auth-library@>=3.1.1 <4.0.0",
+      "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz",
       "dependencies": {
       "dependencies": {
-        "gcp-metadata": {
-          "version": "0.7.0",
-          "from": "gcp-metadata@>=0.7.0 <0.8.0",
-          "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.7.0.tgz"
+        "semver": {
+          "version": "5.7.0",
+          "from": "semver@>=5.5.0 <6.0.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz"
         }
         }
       }
       }
     },
     },
     "google-p12-pem": {
     "google-p12-pem": {
-      "version": "1.0.3",
+      "version": "1.0.4",
       "from": "google-p12-pem@>=1.0.0 <2.0.0",
       "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"
+      "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.4.tgz"
     },
     },
     "graceful-fs": {
     "graceful-fs": {
       "version": "4.1.11",
       "version": "4.1.11",
@@ -737,14 +852,14 @@
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
     },
     },
     "gtoken": {
     "gtoken": {
-      "version": "2.3.2",
-      "from": "gtoken@>=2.3.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.2.tgz",
+      "version": "2.3.3",
+      "from": "gtoken@>=2.3.2 <3.0.0",
+      "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz",
       "dependencies": {
       "dependencies": {
         "mime": {
         "mime": {
-          "version": "2.4.0",
+          "version": "2.4.4",
           "from": "mime@>=2.2.0 <3.0.0",
           "from": "mime@>=2.2.0 <3.0.0",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz"
+          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz"
         }
         }
       }
       }
     },
     },
@@ -809,9 +924,9 @@
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"
         },
         },
         "ms": {
         "ms": {
-          "version": "2.1.1",
+          "version": "2.1.2",
           "from": "ms@>=2.1.1 <3.0.0",
           "from": "ms@>=2.1.1 <3.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
         }
         }
       }
       }
     },
     },
@@ -846,9 +961,9 @@
       "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz"
       "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz"
     },
     },
     "is-buffer": {
     "is-buffer": {
-      "version": "1.1.6",
-      "from": "is-buffer@>=1.1.5 <2.0.0",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+      "version": "2.0.3",
+      "from": "is-buffer@>=2.0.2 <3.0.0",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz"
     },
     },
     "is-typedarray": {
     "is-typedarray": {
       "version": "1.0.0",
       "version": "1.0.0",
@@ -905,15 +1020,21 @@
       "from": "jsprim@>=1.2.2 <2.0.0",
       "from": "jsprim@>=1.2.2 <2.0.0",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.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",
+      "dev": true
+    },
     "jwa": {
     "jwa": {
-      "version": "1.2.0",
-      "from": "jwa@>=1.2.0 <2.0.0",
-      "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.2.0.tgz"
+      "version": "1.4.1",
+      "from": "jwa@>=1.4.1 <2.0.0",
+      "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz"
     },
     },
     "jws": {
     "jws": {
-      "version": "3.2.1",
+      "version": "3.2.2",
       "from": "jws@>=3.1.5 <4.0.0",
       "from": "jws@>=3.1.5 <4.0.0",
-      "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.1.tgz"
+      "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz"
     },
     },
     "klaw": {
     "klaw": {
       "version": "1.3.1",
       "version": "1.3.1",
@@ -932,31 +1053,54 @@
         }
         }
       }
       }
     },
     },
+    "lodash": {
+      "version": "4.17.11",
+      "from": "lodash@>=4.17.11 <5.0.0",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+      "dev": true
+    },
+    "lodash.get": {
+      "version": "4.4.2",
+      "from": "lodash.get@>=4.4.2 <5.0.0",
+      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+      "dev": true
+    },
     "lodash.pickby": {
     "lodash.pickby": {
       "version": "4.6.0",
       "version": "4.6.0",
       "from": "lodash.pickby@>=4.6.0 <5.0.0",
       "from": "lodash.pickby@>=4.6.0 <5.0.0",
       "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz"
       "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz"
     },
     },
     "logger-sharelatex": {
     "logger-sharelatex": {
-      "version": "1.6.0",
-      "from": "logger-sharelatex@1.6.0",
-      "resolved": "https://registry.npmjs.org/logger-sharelatex/-/logger-sharelatex-1.6.0.tgz",
+      "version": "1.7.0",
+      "from": "logger-sharelatex@1.7.0",
+      "resolved": "https://registry.npmjs.org/logger-sharelatex/-/logger-sharelatex-1.7.0.tgz",
       "dependencies": {
       "dependencies": {
+        "bunyan": {
+          "version": "1.8.12",
+          "from": "bunyan@1.8.12",
+          "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz"
+        },
         "caseless": {
         "caseless": {
           "version": "0.12.0",
           "version": "0.12.0",
           "from": "caseless@>=0.12.0 <0.13.0",
           "from": "caseless@>=0.12.0 <0.13.0",
           "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
           "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
         },
         },
         "combined-stream": {
         "combined-stream": {
-          "version": "1.0.7",
+          "version": "1.0.8",
           "from": "combined-stream@>=1.0.6 <1.1.0",
           "from": "combined-stream@>=1.0.6 <1.1.0",
-          "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz"
+          "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
         },
         },
         "delayed-stream": {
         "delayed-stream": {
           "version": "1.0.0",
           "version": "1.0.0",
           "from": "delayed-stream@>=1.0.0 <1.1.0",
           "from": "delayed-stream@>=1.0.0 <1.1.0",
           "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
           "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
         },
         },
+        "dtrace-provider": {
+          "version": "0.8.7",
+          "from": "dtrace-provider@>=0.8.0 <0.9.0",
+          "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.7.tgz",
+          "optional": true
+        },
         "forever-agent": {
         "forever-agent": {
           "version": "0.6.1",
           "version": "0.6.1",
           "from": "forever-agent@>=0.6.1 <0.7.0",
           "from": "forever-agent@>=0.6.1 <0.7.0",
@@ -994,6 +1138,12 @@
         }
         }
       }
       }
     },
     },
+    "lolex": {
+      "version": "3.1.0",
+      "from": "lolex@>=3.0.0 <4.0.0",
+      "resolved": "https://registry.npmjs.org/lolex/-/lolex-3.1.0.tgz",
+      "dev": true
+    },
     "long": {
     "long": {
       "version": "4.0.0",
       "version": "4.0.0",
       "from": "long@>=4.0.0 <5.0.0",
       "from": "long@>=4.0.0 <5.0.0",
@@ -1035,15 +1185,10 @@
       "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
       "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
     },
     },
     "metrics-sharelatex": {
     "metrics-sharelatex": {
-      "version": "2.1.1",
-      "from": "metrics-sharelatex@2.1.1",
-      "resolved": "https://registry.npmjs.org/metrics-sharelatex/-/metrics-sharelatex-2.1.1.tgz",
+      "version": "2.2.0",
+      "from": "metrics-sharelatex@2.2.0",
+      "resolved": "https://registry.npmjs.org/metrics-sharelatex/-/metrics-sharelatex-2.2.0.tgz",
       "dependencies": {
       "dependencies": {
-        "coffee-script": {
-          "version": "1.6.0",
-          "from": "coffee-script@1.6.0",
-          "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.0.tgz"
-        },
         "underscore": {
         "underscore": {
           "version": "1.6.0",
           "version": "1.6.0",
           "from": "underscore@>=1.6.0 <1.7.0",
           "from": "underscore@>=1.6.0 <1.7.0",
@@ -1123,6 +1268,12 @@
       "from": "module-details-from-path@>=1.0.3 <2.0.0",
       "from": "module-details-from-path@>=1.0.3 <2.0.0",
       "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz"
       "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz"
     },
     },
+    "moment": {
+      "version": "2.24.0",
+      "from": "moment@>=2.10.6 <3.0.0",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+      "optional": true
+    },
     "ms": {
     "ms": {
       "version": "2.0.0",
       "version": "2.0.0",
       "from": "ms@2.0.0",
       "from": "ms@2.0.0",
@@ -1165,15 +1316,41 @@
       "from": "negotiator@0.6.1",
       "from": "negotiator@0.6.1",
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
     },
     },
+    "nise": {
+      "version": "1.5.0",
+      "from": "nise@>=1.4.6 <2.0.0",
+      "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.0.tgz",
+      "dev": true,
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "from": "isarray@0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "dev": true
+        },
+        "lolex": {
+          "version": "4.1.0",
+          "from": "lolex@>=4.1.0 <5.0.0",
+          "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.1.0.tgz",
+          "dev": true
+        },
+        "path-to-regexp": {
+          "version": "1.7.0",
+          "from": "path-to-regexp@>=1.7.0 <2.0.0",
+          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+          "dev": true
+        }
+      }
+    },
     "node-fetch": {
     "node-fetch": {
-      "version": "2.3.0",
-      "from": "node-fetch@>=2.2.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz"
+      "version": "2.6.0",
+      "from": "node-fetch@>=2.3.0 <3.0.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz"
     },
     },
     "node-forge": {
     "node-forge": {
-      "version": "0.7.6",
-      "from": "node-forge@>=0.7.4 <0.8.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz"
+      "version": "0.8.4",
+      "from": "node-forge@>=0.8.0 <0.9.0",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.4.tgz"
     },
     },
     "node-transloadit": {
     "node-transloadit": {
       "version": "0.0.4",
       "version": "0.0.4",
@@ -1228,14 +1405,14 @@
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
     },
     },
     "p-limit": {
     "p-limit": {
-      "version": "2.1.0",
-      "from": "p-limit@>=2.0.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz"
+      "version": "2.2.0",
+      "from": "p-limit@>=2.2.0 <3.0.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz"
     },
     },
     "p-try": {
     "p-try": {
-      "version": "2.0.0",
+      "version": "2.2.0",
       "from": "p-try@>=2.0.0 <3.0.0",
       "from": "p-try@>=2.0.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz"
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
     },
     },
     "parse-duration": {
     "parse-duration": {
       "version": "0.1.1",
       "version": "0.1.1",
@@ -1243,9 +1420,9 @@
       "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.1.1.tgz"
       "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.1.1.tgz"
     },
     },
     "parse-ms": {
     "parse-ms": {
-      "version": "2.0.0",
+      "version": "2.1.0",
       "from": "parse-ms@>=2.0.0 <3.0.0",
       "from": "parse-ms@>=2.0.0 <3.0.0",
-      "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.0.0.tgz"
+      "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz"
     },
     },
     "parseurl": {
     "parseurl": {
       "version": "1.3.2",
       "version": "1.3.2",
@@ -1267,6 +1444,12 @@
       "from": "path-to-regexp@0.1.7",
       "from": "path-to-regexp@0.1.7",
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
     },
     },
+    "pathval": {
+      "version": "1.1.0",
+      "from": "pathval@>=1.1.0 <2.0.0",
+      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
+      "dev": true
+    },
     "performance-now": {
     "performance-now": {
       "version": "2.1.0",
       "version": "2.1.0",
       "from": "performance-now@>=2.1.0 <3.0.0",
       "from": "performance-now@>=2.1.0 <3.0.0",
@@ -1293,14 +1476,21 @@
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz"
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz"
     },
     },
     "prom-client": {
     "prom-client": {
-      "version": "11.2.1",
+      "version": "11.5.1",
       "from": "prom-client@>=11.1.3 <12.0.0",
       "from": "prom-client@>=11.1.3 <12.0.0",
-      "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.2.1.tgz"
+      "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.1.tgz"
     },
     },
     "protobufjs": {
     "protobufjs": {
       "version": "6.8.8",
       "version": "6.8.8",
       "from": "protobufjs@>=6.8.6 <6.9.0",
       "from": "protobufjs@>=6.8.6 <6.9.0",
-      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz"
+      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz",
+      "dependencies": {
+        "@types/node": {
+          "version": "10.14.9",
+          "from": "@types/node@>=10.1.0 <11.0.0",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.9.tgz"
+        }
+      }
     },
     },
     "proxy-addr": {
     "proxy-addr": {
       "version": "2.0.4",
       "version": "2.0.4",
@@ -1308,9 +1498,9 @@
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz"
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz"
     },
     },
     "psl": {
     "psl": {
-      "version": "1.1.31",
+      "version": "1.1.32",
       "from": "psl@>=1.1.24 <2.0.0",
       "from": "psl@>=1.1.24 <2.0.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz"
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz"
     },
     },
     "punycode": {
     "punycode": {
       "version": "1.3.2",
       "version": "1.3.2",
@@ -1333,9 +1523,9 @@
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
     },
     },
     "raven": {
     "raven": {
-      "version": "1.2.1",
-      "from": "raven@>=1.1.3 <2.0.0",
-      "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz",
+      "version": "1.1.3",
+      "from": "raven@1.1.3",
+      "resolved": "https://registry.npmjs.org/raven/-/raven-1.1.3.tgz",
       "dependencies": {
       "dependencies": {
         "uuid": {
         "uuid": {
           "version": "3.0.0",
           "version": "3.0.0",
@@ -1398,9 +1588,21 @@
       }
       }
     },
     },
     "require-in-the-middle": {
     "require-in-the-middle": {
-      "version": "3.1.0",
-      "from": "require-in-the-middle@>=3.0.0 <4.0.0",
-      "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-3.1.0.tgz"
+      "version": "4.0.0",
+      "from": "require-in-the-middle@>=4.0.0 <5.0.0",
+      "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-4.0.0.tgz",
+      "dependencies": {
+        "debug": {
+          "version": "4.1.1",
+          "from": "debug@>=4.1.1 <5.0.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz"
+        },
+        "ms": {
+          "version": "2.1.2",
+          "from": "ms@^2.1.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+        }
+      }
     },
     },
     "require-like": {
     "require-like": {
       "version": "0.1.2",
       "version": "0.1.2",
@@ -1409,9 +1611,9 @@
       "dev": true
       "dev": true
     },
     },
     "resolve": {
     "resolve": {
-      "version": "1.10.0",
-      "from": "resolve@>=1.5.0 <2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz"
+      "version": "1.11.0",
+      "from": "resolve@>=1.10.0 <2.0.0",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz"
     },
     },
     "response": {
     "response": {
       "version": "0.14.0",
       "version": "0.14.0",
@@ -1468,9 +1670,9 @@
       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"
       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"
     },
     },
     "semver": {
     "semver": {
-      "version": "5.6.0",
-      "from": "semver@>=5.5.0 <6.0.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz"
+      "version": "6.1.1",
+      "from": "semver@>=6.0.0 <7.0.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz"
     },
     },
     "send": {
     "send": {
       "version": "0.16.2",
       "version": "0.16.2",
@@ -1511,6 +1713,12 @@
       "from": "shimmer@>=1.2.0 <2.0.0",
       "from": "shimmer@>=1.2.0 <2.0.0",
       "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz"
       "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz"
     },
     },
+    "sinon": {
+      "version": "7.1.1",
+      "from": "sinon@7.1.1",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.1.1.tgz",
+      "dev": true
+    },
     "sntp": {
     "sntp": {
       "version": "0.1.4",
       "version": "0.1.4",
       "from": "sntp@>=0.1.0 <0.2.0",
       "from": "sntp@>=0.1.0 <0.2.0",
@@ -1583,10 +1791,11 @@
       "from": "string_decoder@>=0.10.0 <0.11.0",
       "from": "string_decoder@>=0.10.0 <0.11.0",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
     },
     },
-    "symbol-observable": {
-      "version": "1.2.0",
-      "from": "symbol-observable@>=1.2.0 <2.0.0",
-      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.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",
+      "dev": true
     },
     },
     "tdigest": {
     "tdigest": {
       "version": "0.1.1",
       "version": "0.1.1",
@@ -1649,6 +1858,12 @@
       "from": "tweetnacl@>=0.14.0 <0.15.0",
       "from": "tweetnacl@>=0.14.0 <0.15.0",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
     },
     },
+    "type-detect": {
+      "version": "4.0.8",
+      "from": "type-detect@>=4.0.5 <5.0.0",
+      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+      "dev": true
+    },
     "type-is": {
     "type-is": {
       "version": "1.6.16",
       "version": "1.6.16",
       "from": "type-is@>=1.6.16 <1.7.0",
       "from": "type-is@>=1.6.16 <1.7.0",

+ 2 - 2
services/filestore/package.json

@@ -29,8 +29,8 @@
     "fs-extra": "^1.0.0",
     "fs-extra": "^1.0.0",
     "heapdump": "^0.3.2",
     "heapdump": "^0.3.2",
     "knox": "~0.9.1",
     "knox": "~0.9.1",
-    "logger-sharelatex": "^1.6.0",
-    "metrics-sharelatex": "^2.1.1",
+    "logger-sharelatex": "^1.7.0",
+    "metrics-sharelatex": "^2.2.0",
     "mocha": "5.2.0",
     "mocha": "5.2.0",
     "node-transloadit": "0.0.4",
     "node-transloadit": "0.0.4",
     "node-uuid": "~1.4.1",
     "node-uuid": "~1.4.1",