mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-29 02:53:48 -05:00
Global test setup
Configure chai and SandboxedModule globally with options used in many tests. That required upgrading mocha and SandboxedModule.
This commit is contained in:
parent
23738540ed
commit
dc5bfea181
38 changed files with 578 additions and 228 deletions
3
services/document-updater/.mocharc.json
Normal file
3
services/document-updater/.mocharc.json
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"require": "test/setup.js"
|
||||||
|
}
|
581
services/document-updater/package-lock.json
generated
581
services/document-updater/package-lock.json
generated
|
@ -819,6 +819,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@ungap/promise-all-settled": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"abbrev": {
|
"abbrev": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||||
|
@ -887,6 +893,12 @@
|
||||||
"uri-js": "^4.2.2"
|
"uri-js": "^4.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ansi-colors": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"ansi-escapes": {
|
"ansi-escapes": {
|
||||||
"version": "4.3.1",
|
"version": "4.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
|
||||||
|
@ -919,6 +931,16 @@
|
||||||
"color-convert": "^1.9.0"
|
"color-convert": "^1.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"anymatch": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"picomatch": "^2.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"aproba": {
|
"aproba": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||||
|
@ -1112,6 +1134,12 @@
|
||||||
"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",
|
||||||
"integrity": "sha1-gMBIdZ2CaACAfEv9Uh5Q7bulel8="
|
"integrity": "sha1-gMBIdZ2CaACAfEv9Uh5Q7bulel8="
|
||||||
},
|
},
|
||||||
|
"binary-extensions": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"bindings": {
|
"bindings": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
||||||
|
@ -1182,10 +1210,19 @@
|
||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"braces": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fill-range": "^7.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"browser-stdout": {
|
"browser-stdout": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
|
||||||
"integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=",
|
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"bson": {
|
"bson": {
|
||||||
|
@ -1269,12 +1306,6 @@
|
||||||
"type-detect": "^1.0.0"
|
"type-detect": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chai-spies": {
|
|
||||||
"version": "0.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/chai-spies/-/chai-spies-0.7.1.tgz",
|
|
||||||
"integrity": "sha1-ND2Z9RJEIS6LF+ZLk5lv97LCqbE=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "2.4.2",
|
"version": "2.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||||
|
@ -1292,6 +1323,22 @@
|
||||||
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
|
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"chokidar": {
|
||||||
|
"version": "3.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
|
||||||
|
"integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"anymatch": "~3.1.1",
|
||||||
|
"braces": "~3.0.2",
|
||||||
|
"fsevents": "~2.3.1",
|
||||||
|
"glob-parent": "~5.1.0",
|
||||||
|
"is-binary-path": "~2.1.0",
|
||||||
|
"is-glob": "~4.0.1",
|
||||||
|
"normalize-path": "~3.0.0",
|
||||||
|
"readdirp": "~3.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"chownr": {
|
"chownr": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
||||||
|
@ -1333,6 +1380,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
|
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
|
||||||
},
|
},
|
||||||
|
"coffee-script": {
|
||||||
|
"version": "1.12.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
|
||||||
|
"integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"coffeescript": {
|
"coffeescript": {
|
||||||
"version": "2.5.1",
|
"version": "2.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.5.1.tgz",
|
||||||
|
@ -1475,7 +1528,7 @@
|
||||||
"d64": {
|
"d64": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz",
|
||||||
"integrity": "sha1-QAKofoUMv8n52XBrYPymE6MzbpA="
|
"integrity": "sha512-5eNy3WZziVYnrogqgXhcdEmqcDB2IHurTqLcrgssJsfkMVCUoUaZpK6cJjxxvLV2dUm5SuJMNcYfVGoin9UIRw=="
|
||||||
},
|
},
|
||||||
"damerau-levenshtein": {
|
"damerau-levenshtein": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
|
@ -1578,9 +1631,9 @@
|
||||||
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
|
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
|
||||||
},
|
},
|
||||||
"diff": {
|
"diff": {
|
||||||
"version": "3.5.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
||||||
"integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=",
|
"integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"diff-match-patch": {
|
"diff-match-patch": {
|
||||||
|
@ -1747,6 +1800,12 @@
|
||||||
"is-symbol": "^1.0.2"
|
"is-symbol": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"escalade": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"escape-html": {
|
"escape-html": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||||
|
@ -2482,6 +2541,15 @@
|
||||||
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||||
"integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90="
|
"integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90="
|
||||||
},
|
},
|
||||||
|
"fill-range": {
|
||||||
|
"version": "7.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"finalhandler": {
|
"finalhandler": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
|
||||||
|
@ -2510,6 +2578,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz",
|
||||||
"integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY="
|
"integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY="
|
||||||
},
|
},
|
||||||
|
"flat": {
|
||||||
|
"version": "5.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
|
||||||
|
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"flat-cache": {
|
"flat-cache": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
|
||||||
|
@ -2600,6 +2674,13 @@
|
||||||
"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",
|
||||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||||
},
|
},
|
||||||
|
"fsevents": {
|
||||||
|
"version": "2.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||||
|
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"function-bind": {
|
"function-bind": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||||
|
@ -2890,9 +2971,9 @@
|
||||||
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
|
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
|
||||||
},
|
},
|
||||||
"he": {
|
"he": {
|
||||||
"version": "1.1.1",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
|
||||||
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
|
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"hex2dec": {
|
"hex2dec": {
|
||||||
|
@ -3245,6 +3326,15 @@
|
||||||
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
|
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"is-binary-path": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"binary-extensions": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"is-callable": {
|
"is-callable": {
|
||||||
"version": "1.1.5",
|
"version": "1.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
|
||||||
|
@ -3277,11 +3367,23 @@
|
||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"is-obj": {
|
"is-obj": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
||||||
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
|
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
|
||||||
},
|
},
|
||||||
|
"is-plain-obj": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"is-regex": {
|
"is-regex": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
|
||||||
|
@ -3467,12 +3569,12 @@
|
||||||
"lodash.at": {
|
"lodash.at": {
|
||||||
"version": "4.6.0",
|
"version": "4.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz",
|
||||||
"integrity": "sha1-k83OZk8KGZTqM9181A4jr9EbD/g="
|
"integrity": "sha512-GOTh0SEp+Yosnlpjic+8cl2WM9MykorogkGA9xyIFkkObQ3H3kNZqZ+ohuq4K3FrSVo7hMcZBMataJemrxC3BA=="
|
||||||
},
|
},
|
||||||
"lodash.camelcase": {
|
"lodash.camelcase": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
||||||
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
|
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
|
||||||
},
|
},
|
||||||
"lodash.defaults": {
|
"lodash.defaults": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
|
@ -3493,7 +3595,7 @@
|
||||||
"lodash.has": {
|
"lodash.has": {
|
||||||
"version": "4.5.2",
|
"version": "4.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz",
|
||||||
"integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI="
|
"integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g=="
|
||||||
},
|
},
|
||||||
"lodash.memoize": {
|
"lodash.memoize": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
|
@ -3518,6 +3620,66 @@
|
||||||
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
|
||||||
"integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
|
"integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
|
||||||
},
|
},
|
||||||
|
"log-symbols": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"chalk": "^4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"logger-sharelatex": {
|
"logger-sharelatex": {
|
||||||
"version": "1.9.1",
|
"version": "1.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/logger-sharelatex/-/logger-sharelatex-1.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/logger-sharelatex/-/logger-sharelatex-1.9.1.tgz",
|
||||||
|
@ -3768,7 +3930,8 @@
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.9.0",
|
"version": "2.9.0",
|
||||||
|
@ -3803,43 +3966,128 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mocha": {
|
"mocha": {
|
||||||
"version": "5.2.0",
|
"version": "8.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz",
|
||||||
"integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=",
|
"integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@ungap/promise-all-settled": "1.1.2",
|
||||||
|
"ansi-colors": "4.1.1",
|
||||||
"browser-stdout": "1.3.1",
|
"browser-stdout": "1.3.1",
|
||||||
"commander": "2.15.1",
|
"chokidar": "3.5.1",
|
||||||
"debug": "3.1.0",
|
"debug": "4.3.1",
|
||||||
"diff": "3.5.0",
|
"diff": "5.0.0",
|
||||||
"escape-string-regexp": "1.0.5",
|
"escape-string-regexp": "4.0.0",
|
||||||
"glob": "7.1.2",
|
"find-up": "5.0.0",
|
||||||
|
"glob": "7.1.6",
|
||||||
"growl": "1.10.5",
|
"growl": "1.10.5",
|
||||||
"he": "1.1.1",
|
"he": "1.2.0",
|
||||||
|
"js-yaml": "4.0.0",
|
||||||
|
"log-symbols": "4.0.0",
|
||||||
"minimatch": "3.0.4",
|
"minimatch": "3.0.4",
|
||||||
"mkdirp": "0.5.1",
|
"ms": "2.1.3",
|
||||||
"supports-color": "5.4.0"
|
"nanoid": "3.1.20",
|
||||||
|
"serialize-javascript": "5.0.1",
|
||||||
|
"strip-json-comments": "3.1.1",
|
||||||
|
"supports-color": "8.1.1",
|
||||||
|
"which": "2.0.2",
|
||||||
|
"wide-align": "1.1.3",
|
||||||
|
"workerpool": "6.1.0",
|
||||||
|
"yargs": "16.2.0",
|
||||||
|
"yargs-parser": "20.2.4",
|
||||||
|
"yargs-unparser": "2.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": {
|
"ansi-regex": {
|
||||||
"version": "2.15.1",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
||||||
"integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=",
|
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"cliui": {
|
||||||
|
"version": "7.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
|
||||||
|
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"string-width": "^4.2.0",
|
||||||
|
"strip-ansi": "^6.0.0",
|
||||||
|
"wrap-ansi": "^7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "3.1.0",
|
"version": "4.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
|
||||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.1.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"escape-string-regexp": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"find-up": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"locate-path": "^6.0.0",
|
||||||
|
"path-exists": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"glob": {
|
"glob": {
|
||||||
"version": "7.1.2",
|
"version": "7.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||||
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
|
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fs.realpath": "^1.0.0",
|
"fs.realpath": "^1.0.0",
|
||||||
|
@ -3850,19 +4098,140 @@
|
||||||
"path-is-absolute": "^1.0.0"
|
"path-is-absolute": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mkdirp": {
|
"has-flag": {
|
||||||
"version": "0.5.1",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"js-yaml": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"argparse": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"locate-path": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"p-locate": "^5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.0.0",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"p-limit": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"yocto-queue": "^0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"p-locate": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"p-limit": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-exists": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string-width": {
|
||||||
|
"version": "4.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
|
||||||
|
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "8.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
|
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"which": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"isexe": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrap-ansi": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.0.0",
|
||||||
|
"string-width": "^4.1.0",
|
||||||
|
"strip-ansi": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"y18n": {
|
||||||
|
"version": "5.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
|
||||||
|
"integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"yargs": {
|
||||||
|
"version": "16.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
|
||||||
|
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"cliui": "^7.0.2",
|
||||||
|
"escalade": "^3.1.1",
|
||||||
|
"get-caller-file": "^2.0.5",
|
||||||
|
"require-directory": "^2.1.1",
|
||||||
|
"string-width": "^4.2.0",
|
||||||
|
"y18n": "^5.0.5",
|
||||||
|
"yargs-parser": "^20.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yargs-parser": {
|
||||||
|
"version": "20.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
|
||||||
|
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3929,6 +4298,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
||||||
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
|
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
|
||||||
},
|
},
|
||||||
|
"nanoid": {
|
||||||
|
"version": "3.1.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
|
||||||
|
"integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"natural-compare": {
|
"natural-compare": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
||||||
|
@ -4091,6 +4466,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"normalize-path": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"npm-bundled": {
|
"npm-bundled": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
|
||||||
|
@ -4351,6 +4732,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||||
},
|
},
|
||||||
|
"picomatch": {
|
||||||
|
"version": "2.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||||
|
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"pprof": {
|
"pprof": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pprof/-/pprof-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pprof/-/pprof-3.0.0.tgz",
|
||||||
|
@ -5184,6 +5571,15 @@
|
||||||
"integrity": "sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==",
|
"integrity": "sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"randombytes": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "^5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"range-parser": {
|
"range-parser": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||||
|
@ -5263,10 +5659,19 @@
|
||||||
"util-deprecate": "^1.0.1"
|
"util-deprecate": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"readdirp": {
|
||||||
|
"version": "3.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
|
||||||
|
"integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"picomatch": "^2.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"redis-commands": {
|
"redis-commands": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz",
|
||||||
"integrity": "sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg=="
|
"integrity": "sha1-gNLiBpj+aI8icSf/nlFkp90X54U="
|
||||||
},
|
},
|
||||||
"redis-errors": {
|
"redis-errors": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
|
@ -5483,7 +5888,7 @@
|
||||||
"safe-json-stringify": {
|
"safe-json-stringify": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz",
|
||||||
"integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==",
|
"integrity": "sha1-NW5EvJjx+TzkXfFLzXwBzahuCv0=",
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"safer-buffer": {
|
"safer-buffer": {
|
||||||
|
@ -5492,21 +5897,13 @@
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"sandboxed-module": {
|
"sandboxed-module": {
|
||||||
"version": "0.2.2",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-2.0.4.tgz",
|
||||||
"integrity": "sha1-bL3sghOAx31FdcjIeDi5ET5kulA=",
|
"integrity": "sha512-AwEPOdO8mg/wJjr876yCHP2DHqVN0MaggEXhp6IIf3bcI5cYoQl9QrrCHSrvToHjvdEiS5x4TVZRgjD2bEmNTA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"require-like": "0.1.2",
|
"require-like": "0.1.2",
|
||||||
"stack-trace": "0.0.6"
|
"stack-trace": "0.0.9"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"stack-trace": {
|
|
||||||
"version": "0.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz",
|
|
||||||
"integrity": "sha1-HnGb1qJin/CcGJ4Xqe+QKpT8XbA=",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"saslprep": {
|
"saslprep": {
|
||||||
|
@ -5555,6 +5952,15 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"serialize-javascript": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"randombytes": "^2.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"serve-static": {
|
"serve-static": {
|
||||||
"version": "1.14.1",
|
"version": "1.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
|
||||||
|
@ -5777,7 +6183,7 @@
|
||||||
"standard-as-callback": {
|
"standard-as-callback": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.0.1.tgz",
|
||||||
"integrity": "sha512-NQOxSeB8gOI5WjSaxjBgog2QFw55FV8TkS6Y07BiB3VJ8xNTvUYm0wl0s8ObgQ5NhdpnNfigMIKjgPESzgr4tg=="
|
"integrity": "sha1-7YuyVkjhWDF1m2Ajvbh+a2CzgSY="
|
||||||
},
|
},
|
||||||
"statuses": {
|
"statuses": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
|
@ -5896,7 +6302,7 @@
|
||||||
"stubs": {
|
"stubs": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
|
||||||
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
|
"integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw=="
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "5.4.0",
|
"version": "5.4.0",
|
||||||
|
@ -6028,12 +6434,21 @@
|
||||||
"to-no-case": {
|
"to-no-case": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz",
|
||||||
"integrity": "sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo="
|
"integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg=="
|
||||||
|
},
|
||||||
|
"to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"to-snake-case": {
|
"to-snake-case": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/to-snake-case/-/to-snake-case-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/to-snake-case/-/to-snake-case-1.0.0.tgz",
|
||||||
"integrity": "sha1-znRpE4l5RgGah+Yu366upMYIq4w=",
|
"integrity": "sha512-joRpzBAk1Bhi2eGEYBjukEWHOe/IvclOkiJl3DtA91jV6NwQ3MwXA4FHYeqk8BNp/D8bmi9tcNbRu/SozP0jbQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"to-space-case": "^1.0.0"
|
"to-space-case": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
@ -6041,7 +6456,7 @@
|
||||||
"to-space-case": {
|
"to-space-case": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz",
|
||||||
"integrity": "sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=",
|
"integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"to-no-case": "^1.0.0"
|
"to-no-case": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
@ -6322,6 +6737,12 @@
|
||||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"workerpool": {
|
||||||
|
"version": "6.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz",
|
||||||
|
"integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"wrap-ansi": {
|
"wrap-ansi": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
|
||||||
|
@ -6412,6 +6833,32 @@
|
||||||
"decamelize": "^1.2.0"
|
"decamelize": "^1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"yargs-unparser": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"camelcase": "^6.0.0",
|
||||||
|
"decamelize": "^4.0.0",
|
||||||
|
"flat": "^5.0.2",
|
||||||
|
"is-plain-obj": "^2.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"camelcase": {
|
||||||
|
"version": "6.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
|
||||||
|
"integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"decamelize": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"yn": {
|
"yn": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"chai": "^3.5.0",
|
"chai": "^3.5.0",
|
||||||
"chai-spies": "^0.7.1",
|
|
||||||
"cluster-key-slot": "^1.0.5",
|
"cluster-key-slot": "^1.0.5",
|
||||||
|
"coffee-script": "^1.12.7",
|
||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"eslint-config-prettier": "^6.10.0",
|
"eslint-config-prettier": "^6.10.0",
|
||||||
"eslint-config-standard": "^14.1.0",
|
"eslint-config-standard": "^14.1.0",
|
||||||
|
@ -53,10 +53,10 @@
|
||||||
"eslint-plugin-promise": "^4.2.1",
|
"eslint-plugin-promise": "^4.2.1",
|
||||||
"eslint-plugin-react": "^7.19.0",
|
"eslint-plugin-react": "^7.19.0",
|
||||||
"eslint-plugin-standard": "^4.0.1",
|
"eslint-plugin-standard": "^4.0.1",
|
||||||
"mocha": "^5.0.1",
|
"mocha": "^8.3.2",
|
||||||
"prettier": "^2.0.0",
|
"prettier": "^2.0.0",
|
||||||
"prettier-eslint-cli": "^5.0.0",
|
"prettier-eslint-cli": "^5.0.0",
|
||||||
"sandboxed-module": "~0.2.0",
|
"sandboxed-module": "^2.0.4",
|
||||||
"sinon": "^9.0.2",
|
"sinon": "^9.0.2",
|
||||||
"timekeeper": "^2.0.0"
|
"timekeeper": "^2.0.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const async = require('async')
|
const async = require('async')
|
||||||
const Settings = require('settings-sharelatex')
|
const Settings = require('settings-sharelatex')
|
||||||
const rclient_history = require('@overleaf/redis-wrapper').createClient(
|
const rclient_history = require('@overleaf/redis-wrapper').createClient(
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
chai.should()
|
|
||||||
const Settings = require('settings-sharelatex')
|
const Settings = require('settings-sharelatex')
|
||||||
const rclientProjectHistory = require('@overleaf/redis-wrapper').createClient(
|
const rclientProjectHistory = require('@overleaf/redis-wrapper').createClient(
|
||||||
Settings.redis.project_history
|
Settings.redis.project_history
|
||||||
|
|
|
@ -11,9 +11,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
chai.should()
|
|
||||||
|
|
||||||
const MockTrackChangesApi = require('./helpers/MockTrackChangesApi')
|
const MockTrackChangesApi = require('./helpers/MockTrackChangesApi')
|
||||||
const MockProjectHistoryApi = require('./helpers/MockProjectHistoryApi')
|
const MockProjectHistoryApi = require('./helpers/MockProjectHistoryApi')
|
||||||
const MockWebApi = require('./helpers/MockWebApi')
|
const MockWebApi = require('./helpers/MockWebApi')
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
chai.should()
|
|
||||||
const async = require('async')
|
const async = require('async')
|
||||||
|
|
||||||
const MockTrackChangesApi = require('./helpers/MockTrackChangesApi')
|
const MockTrackChangesApi = require('./helpers/MockTrackChangesApi')
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
chai.should()
|
|
||||||
const async = require('async')
|
const async = require('async')
|
||||||
|
|
||||||
const MockWebApi = require('./helpers/MockWebApi')
|
const MockWebApi = require('./helpers/MockWebApi')
|
||||||
|
|
|
@ -14,9 +14,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const async = require('async')
|
const async = require('async')
|
||||||
|
|
||||||
const MockWebApi = require('./helpers/MockWebApi')
|
const MockWebApi = require('./helpers/MockWebApi')
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
|
|
||||||
const MockWebApi = require('./helpers/MockWebApi')
|
const MockWebApi = require('./helpers/MockWebApi')
|
||||||
const DocUpdaterClient = require('./helpers/DocUpdaterClient')
|
const DocUpdaterClient = require('./helpers/DocUpdaterClient')
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
|
|
||||||
const MockWebApi = require('./helpers/MockWebApi')
|
const MockWebApi = require('./helpers/MockWebApi')
|
||||||
const DocUpdaterClient = require('./helpers/DocUpdaterClient')
|
const DocUpdaterClient = require('./helpers/DocUpdaterClient')
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const async = require('async')
|
const async = require('async')
|
||||||
|
|
||||||
const { db, ObjectId } = require('../../../app/js/mongodb')
|
const { db, ObjectId } = require('../../../app/js/mongodb')
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
chai.should()
|
|
||||||
const { expect } = require('chai')
|
const { expect } = require('chai')
|
||||||
const Settings = require('settings-sharelatex')
|
const Settings = require('settings-sharelatex')
|
||||||
const docUpdaterRedis = require('@overleaf/redis-wrapper').createClient(
|
const docUpdaterRedis = require('@overleaf/redis-wrapper').createClient(
|
||||||
|
|
37
services/document-updater/test/setup.js
Normal file
37
services/document-updater/test/setup.js
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
const chai = require('chai')
|
||||||
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
const sinon = require('sinon')
|
||||||
|
|
||||||
|
// Chai configuration
|
||||||
|
chai.should()
|
||||||
|
|
||||||
|
// Global stubs
|
||||||
|
const sandbox = sinon.createSandbox()
|
||||||
|
const stubs = {
|
||||||
|
logger: {
|
||||||
|
debug: sandbox.stub(),
|
||||||
|
log: sandbox.stub(),
|
||||||
|
warn: sandbox.stub(),
|
||||||
|
err: sandbox.stub(),
|
||||||
|
error: sandbox.stub()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SandboxedModule configuration
|
||||||
|
SandboxedModule.configure({
|
||||||
|
requires: {
|
||||||
|
'logger-sharelatex': stubs.logger
|
||||||
|
},
|
||||||
|
globals: { Buffer, JSON, Math, console, process }
|
||||||
|
})
|
||||||
|
|
||||||
|
// Mocha hooks
|
||||||
|
exports.mochaHooks = {
|
||||||
|
beforeEach() {
|
||||||
|
this.logger = stubs.logger
|
||||||
|
},
|
||||||
|
|
||||||
|
afterEach() {
|
||||||
|
sandbox.reset()
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,9 +11,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
const should = chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const modulePath = '../../../../app/js/DiffCodec.js'
|
const modulePath = '../../../../app/js/DiffCodec.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/DispatchManager.js'
|
const modulePath = '../../../../app/js/DispatchManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors.js')
|
const Errors = require('../../../../app/js/Errors.js')
|
||||||
|
@ -25,11 +23,6 @@ describe('DispatchManager', function () {
|
||||||
this.DispatchManager = SandboxedModule.require(modulePath, {
|
this.DispatchManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'./UpdateManager': (this.UpdateManager = {}),
|
'./UpdateManager': (this.UpdateManager = {}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub(),
|
|
||||||
warn: sinon.stub()
|
|
||||||
}),
|
|
||||||
'settings-sharelatex': (this.settings = {
|
'settings-sharelatex': (this.settings = {
|
||||||
redis: {
|
redis: {
|
||||||
documentupdater: {}
|
documentupdater: {}
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/DocumentManager.js'
|
const modulePath = '../../../../app/js/DocumentManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
@ -33,11 +31,6 @@ describe('DocumentManager', function () {
|
||||||
flushDocChangesAsync: sinon.stub(),
|
flushDocChangesAsync: sinon.stub(),
|
||||||
flushProjectChangesAsync: sinon.stub()
|
flushProjectChangesAsync: sinon.stub()
|
||||||
}),
|
}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
warn: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./DocOpsManager': (this.DocOpsManager = {}),
|
|
||||||
'./Metrics': (this.Metrics = {
|
'./Metrics': (this.Metrics = {
|
||||||
Timer: (Timer = (function () {
|
Timer: (Timer = (function () {
|
||||||
Timer = class Timer {
|
Timer = class Timer {
|
||||||
|
@ -220,7 +213,6 @@ describe('DocumentManager', function () {
|
||||||
.stub()
|
.stub()
|
||||||
.callsArgWith(2, null, null, null, null)
|
.callsArgWith(2, null, null, null, null)
|
||||||
this.PersistenceManager.setDoc = sinon.stub().yields()
|
this.PersistenceManager.setDoc = sinon.stub().yields()
|
||||||
this.DocOpsManager.flushDocOpsToMongo = sinon.stub().callsArgWith(2)
|
|
||||||
return this.DocumentManager.flushDocIfLoaded(
|
return this.DocumentManager.flushDocIfLoaded(
|
||||||
this.project_id,
|
this.project_id,
|
||||||
this.doc_id,
|
this.doc_id,
|
||||||
|
@ -236,7 +228,6 @@ describe('DocumentManager', function () {
|
||||||
|
|
||||||
it('should not write anything to the persistence layer', function () {
|
it('should not write anything to the persistence layer', function () {
|
||||||
this.PersistenceManager.setDoc.called.should.equal(false)
|
this.PersistenceManager.setDoc.called.should.equal(false)
|
||||||
return this.DocOpsManager.flushDocOpsToMongo.called.should.equal(false)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should call the callback without error', function () {
|
it('should call the callback without error', function () {
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
*/
|
*/
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
require('chai').should()
|
|
||||||
const modulePath = require('path').join(
|
const modulePath = require('path').join(
|
||||||
__dirname,
|
__dirname,
|
||||||
'../../../../app/js/HistoryManager'
|
'../../../../app/js/HistoryManager'
|
||||||
|
@ -33,11 +32,6 @@ describe('HistoryManager', function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub(),
|
|
||||||
debug: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./DocumentManager': (this.DocumentManager = {}),
|
'./DocumentManager': (this.DocumentManager = {}),
|
||||||
'./HistoryRedisManager': (this.HistoryRedisManager = {}),
|
'./HistoryRedisManager': (this.HistoryRedisManager = {}),
|
||||||
'./RedisManager': (this.RedisManager = {}),
|
'./RedisManager': (this.RedisManager = {}),
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/HistoryRedisManager.js'
|
const modulePath = '../../../../app/js/HistoryRedisManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
@ -41,8 +39,7 @@ describe('HistoryRedisManager', function () {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
'logger-sharelatex': { log() {} }
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.doc_id = 'doc-id-123'
|
this.doc_id = 'doc-id-123'
|
||||||
|
|
|
@ -12,7 +12,6 @@ describe('HttpController', function () {
|
||||||
flushProjectChangesAsync: sinon.stub()
|
flushProjectChangesAsync: sinon.stub()
|
||||||
}),
|
}),
|
||||||
'./ProjectManager': (this.ProjectManager = {}),
|
'./ProjectManager': (this.ProjectManager = {}),
|
||||||
'logger-sharelatex': (this.logger = { log: sinon.stub() }),
|
|
||||||
'./ProjectFlusher': { flushAllProjects() {} },
|
'./ProjectFlusher': { flushAllProjects() {} },
|
||||||
'./DeleteQueueManager': (this.DeleteQueueManager = {}),
|
'./DeleteQueueManager': (this.DeleteQueueManager = {}),
|
||||||
'./Metrics': (this.Metrics = {}),
|
'./Metrics': (this.Metrics = {}),
|
||||||
|
|
|
@ -25,7 +25,6 @@ describe('LockManager - checking the lock', function () {
|
||||||
const existsStub = sinon.stub()
|
const existsStub = sinon.stub()
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
'logger-sharelatex': { log() {} },
|
|
||||||
'@overleaf/redis-wrapper': {
|
'@overleaf/redis-wrapper': {
|
||||||
createClient() {
|
createClient() {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -27,10 +27,6 @@ describe('LockManager - releasing the lock', function () {
|
||||||
eval: sinon.stub()
|
eval: sinon.stub()
|
||||||
}
|
}
|
||||||
const mocks = {
|
const mocks = {
|
||||||
'logger-sharelatex': {
|
|
||||||
log() {},
|
|
||||||
error() {}
|
|
||||||
},
|
|
||||||
'@overleaf/redis-wrapper': {
|
'@overleaf/redis-wrapper': {
|
||||||
createClient: () => this.client
|
createClient: () => this.client
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/LockManager.js'
|
const modulePath = '../../../../app/js/LockManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -25,7 +23,6 @@ describe('LockManager - getting the lock', function () {
|
||||||
let Profiler
|
let Profiler
|
||||||
this.LockManager = SandboxedModule.require(modulePath, {
|
this.LockManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'logger-sharelatex': { log() {} },
|
|
||||||
'@overleaf/redis-wrapper': {
|
'@overleaf/redis-wrapper': {
|
||||||
createClient: () => {
|
createClient: () => {
|
||||||
return { auth() {} }
|
return { auth() {} }
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/LockManager.js'
|
const modulePath = '../../../../app/js/LockManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -22,7 +20,6 @@ describe('LockManager - trying the lock', function () {
|
||||||
let Profiler
|
let Profiler
|
||||||
this.LockManager = SandboxedModule.require(modulePath, {
|
this.LockManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'logger-sharelatex': { log() {} },
|
|
||||||
'@overleaf/redis-wrapper': {
|
'@overleaf/redis-wrapper': {
|
||||||
createClient: () => {
|
createClient: () => {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -11,8 +11,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/PersistenceManager.js'
|
const modulePath = '../../../../app/js/PersistenceManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
@ -38,11 +36,6 @@ describe('PersistenceManager', function () {
|
||||||
})()),
|
})()),
|
||||||
inc: sinon.stub()
|
inc: sinon.stub()
|
||||||
}),
|
}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
err: sinon.stub(),
|
|
||||||
error: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./Errors': Errors
|
'./Errors': Errors
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/ProjectHistoryRedisManager.js'
|
const modulePath = '../../../../app/js/ProjectHistoryRedisManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const tk = require('timekeeper')
|
const tk = require('timekeeper')
|
||||||
|
@ -47,13 +45,7 @@ describe('ProjectHistoryRedisManager', function () {
|
||||||
'@overleaf/redis-wrapper': {
|
'@overleaf/redis-wrapper': {
|
||||||
createClient: () => this.rclient
|
createClient: () => this.rclient
|
||||||
},
|
},
|
||||||
'logger-sharelatex': {
|
|
||||||
log() {}
|
|
||||||
},
|
|
||||||
'./Metrics': (this.metrics = { summary: sinon.stub() })
|
'./Metrics': (this.metrics = { summary: sinon.stub() })
|
||||||
},
|
|
||||||
globals: {
|
|
||||||
JSON: (this.JSON = JSON)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
|
@ -136,7 +128,7 @@ describe('ProjectHistoryRedisManager', function () {
|
||||||
return this.ProjectHistoryRedisManager.queueOps
|
return this.ProjectHistoryRedisManager.queueOps
|
||||||
.calledWithExactly(
|
.calledWithExactly(
|
||||||
this.project_id,
|
this.project_id,
|
||||||
this.JSON.stringify(update),
|
JSON.stringify(update),
|
||||||
this.callback
|
this.callback
|
||||||
)
|
)
|
||||||
.should.equal(true)
|
.should.equal(true)
|
||||||
|
@ -184,7 +176,7 @@ describe('ProjectHistoryRedisManager', function () {
|
||||||
return this.ProjectHistoryRedisManager.queueOps
|
return this.ProjectHistoryRedisManager.queueOps
|
||||||
.calledWithExactly(
|
.calledWithExactly(
|
||||||
this.project_id,
|
this.project_id,
|
||||||
this.JSON.stringify(update),
|
JSON.stringify(update),
|
||||||
this.callback
|
this.callback
|
||||||
)
|
)
|
||||||
.should.equal(true)
|
.should.equal(true)
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/ProjectManager.js'
|
const modulePath = '../../../../app/js/ProjectManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -26,10 +24,6 @@ describe('ProjectManager - flushAndDeleteProject', function () {
|
||||||
'./RedisManager': (this.RedisManager = {}),
|
'./RedisManager': (this.RedisManager = {}),
|
||||||
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
||||||
'./DocumentManager': (this.DocumentManager = {}),
|
'./DocumentManager': (this.DocumentManager = {}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./HistoryManager': (this.HistoryManager = {
|
'./HistoryManager': (this.HistoryManager = {
|
||||||
flushProjectChanges: sinon.stub().callsArg(2)
|
flushProjectChanges: sinon.stub().callsArg(2)
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/ProjectManager.js'
|
const modulePath = '../../../../app/js/ProjectManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -28,10 +26,6 @@ describe('ProjectManager - flushProject', function () {
|
||||||
'./RedisManager': (this.RedisManager = {}),
|
'./RedisManager': (this.RedisManager = {}),
|
||||||
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
||||||
'./DocumentManager': (this.DocumentManager = {}),
|
'./DocumentManager': (this.DocumentManager = {}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./HistoryManager': (this.HistoryManager = {}),
|
'./HistoryManager': (this.HistoryManager = {}),
|
||||||
'./Metrics': (this.Metrics = {
|
'./Metrics': (this.Metrics = {
|
||||||
Timer: (Timer = (function () {
|
Timer: (Timer = (function () {
|
||||||
|
|
|
@ -11,8 +11,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/ProjectManager.js'
|
const modulePath = '../../../../app/js/ProjectManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors.js')
|
const Errors = require('../../../../app/js/Errors.js')
|
||||||
|
@ -25,10 +23,6 @@ describe('ProjectManager - getProjectDocsAndFlushIfOld', function () {
|
||||||
'./RedisManager': (this.RedisManager = {}),
|
'./RedisManager': (this.RedisManager = {}),
|
||||||
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
||||||
'./DocumentManager': (this.DocumentManager = {}),
|
'./DocumentManager': (this.DocumentManager = {}),
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./HistoryManager': (this.HistoryManager = {}),
|
'./HistoryManager': (this.HistoryManager = {}),
|
||||||
'./Metrics': (this.Metrics = {
|
'./Metrics': (this.Metrics = {
|
||||||
Timer: (Timer = (function () {
|
Timer: (Timer = (function () {
|
||||||
|
|
|
@ -22,17 +22,11 @@ describe('ProjectManager', function () {
|
||||||
}
|
}
|
||||||
this.Metrics.Timer.prototype.done = sinon.stub()
|
this.Metrics.Timer.prototype.done = sinon.stub()
|
||||||
|
|
||||||
this.logger = {
|
|
||||||
log: sinon.stub(),
|
|
||||||
error: sinon.stub()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.ProjectManager = SandboxedModule.require(modulePath, {
|
this.ProjectManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'./RedisManager': this.RedisManager,
|
'./RedisManager': this.RedisManager,
|
||||||
'./ProjectHistoryRedisManager': this.ProjectHistoryRedisManager,
|
'./ProjectHistoryRedisManager': this.ProjectHistoryRedisManager,
|
||||||
'./DocumentManager': this.DocumentManager,
|
'./DocumentManager': this.DocumentManager,
|
||||||
'logger-sharelatex': this.logger,
|
|
||||||
'./HistoryManager': this.HistoryManager,
|
'./HistoryManager': this.HistoryManager,
|
||||||
'./Metrics': this.Metrics
|
'./Metrics': this.Metrics
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,23 +13,13 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
const should = chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const modulePath = '../../../../app/js/RangesManager.js'
|
const modulePath = '../../../../app/js/RangesManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
describe('RangesManager', function () {
|
describe('RangesManager', function () {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
this.RangesManager = SandboxedModule.require(modulePath, {
|
this.RangesManager = SandboxedModule.require(modulePath)
|
||||||
requires: {
|
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
error: sinon.stub(),
|
|
||||||
log: sinon.stub(),
|
|
||||||
warn: sinon.stub()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
this.doc_id = 'doc-id-123'
|
this.doc_id = 'doc-id-123'
|
||||||
this.project_id = 'project-id-123'
|
this.project_id = 'project-id-123'
|
||||||
|
@ -368,11 +358,6 @@ describe('RangesManager', function () {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
this.RangesManager = SandboxedModule.require(modulePath, {
|
this.RangesManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
error: sinon.stub(),
|
|
||||||
log: sinon.stub(),
|
|
||||||
warn: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./RangesTracker': (this.RangesTracker = SandboxedModule.require(
|
'./RangesTracker': (this.RangesTracker = SandboxedModule.require(
|
||||||
'../../../../app/js/RangesTracker.js'
|
'../../../../app/js/RangesTracker.js'
|
||||||
))
|
))
|
||||||
|
|
|
@ -11,9 +11,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
const should = chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const modulePath = '../../../../app/js/RateLimitManager.js'
|
const modulePath = '../../../../app/js/RateLimitManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -22,7 +20,6 @@ describe('RateLimitManager', function () {
|
||||||
let Timer
|
let Timer
|
||||||
this.RateLimitManager = SandboxedModule.require(modulePath, {
|
this.RateLimitManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'logger-sharelatex': (this.logger = { log: sinon.stub() }),
|
|
||||||
'settings-sharelatex': (this.settings = {}),
|
'settings-sharelatex': (this.settings = {}),
|
||||||
'./Metrics': (this.Metrics = {
|
'./Metrics': (this.Metrics = {
|
||||||
Timer: (Timer = (function () {
|
Timer: (Timer = (function () {
|
||||||
|
|
|
@ -11,8 +11,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/RealTimeRedisManager.js'
|
const modulePath = '../../../../app/js/RealTimeRedisManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
@ -45,7 +43,6 @@ describe('RealTimeRedisManager', function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'logger-sharelatex': { log() {} },
|
|
||||||
crypto: (this.crypto = {
|
crypto: (this.crypto = {
|
||||||
randomBytes: sinon
|
randomBytes: sinon
|
||||||
.stub()
|
.stub()
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/RedisManager.js'
|
const modulePath = '../../../../app/js/RedisManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
@ -28,11 +26,6 @@ describe('RedisManager', function () {
|
||||||
tk.freeze(new Date())
|
tk.freeze(new Date())
|
||||||
this.RedisManager = SandboxedModule.require(modulePath, {
|
this.RedisManager = SandboxedModule.require(modulePath, {
|
||||||
requires: {
|
requires: {
|
||||||
'logger-sharelatex': (this.logger = {
|
|
||||||
error: sinon.stub(),
|
|
||||||
log: sinon.stub(),
|
|
||||||
warn: sinon.stub()
|
|
||||||
}),
|
|
||||||
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
'./ProjectHistoryRedisManager': (this.ProjectHistoryRedisManager = {}),
|
||||||
'settings-sharelatex': (this.settings = {
|
'settings-sharelatex': (this.settings = {
|
||||||
documentupdater: { logHashErrors: { write: true, read: true } },
|
documentupdater: { logHashErrors: { write: true, read: true } },
|
||||||
|
@ -122,9 +115,6 @@ describe('RedisManager', function () {
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
'./Errors': Errors
|
'./Errors': Errors
|
||||||
},
|
|
||||||
globals: {
|
|
||||||
JSON: (this.JSON = JSON)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -924,8 +914,9 @@ describe('RedisManager', function () {
|
||||||
this.RedisManager.getDocVersion
|
this.RedisManager.getDocVersion
|
||||||
.withArgs(this.doc_id)
|
.withArgs(this.doc_id)
|
||||||
.yields(null, this.version - this.ops.length)
|
.yields(null, this.version - this.ops.length)
|
||||||
this._stringify = JSON.stringify
|
this.stringifyStub = sinon
|
||||||
this.JSON.stringify = () => '["bad bytes! \u0000 <- here"]'
|
.stub(JSON, 'stringify')
|
||||||
|
.callsFake(() => '["bad bytes! \u0000 <- here"]')
|
||||||
return this.RedisManager.updateDocument(
|
return this.RedisManager.updateDocument(
|
||||||
this.project_id,
|
this.project_id,
|
||||||
this.doc_id,
|
this.doc_id,
|
||||||
|
@ -939,7 +930,7 @@ describe('RedisManager', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
afterEach(function () {
|
afterEach(function () {
|
||||||
return (this.JSON.stringify = this._stringify)
|
this.stringifyStub.restore()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should log an error', function () {
|
it('should log an error', function () {
|
||||||
|
@ -1127,8 +1118,9 @@ describe('RedisManager', function () {
|
||||||
|
|
||||||
describe('with null bytes in the serialized doc lines', function () {
|
describe('with null bytes in the serialized doc lines', function () {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
this._stringify = JSON.stringify
|
this.stringifyStub = sinon
|
||||||
this.JSON.stringify = () => '["bad bytes! \u0000 <- here"]'
|
.stub(JSON, 'stringify')
|
||||||
|
.callsFake(() => '["bad bytes! \u0000 <- here"]')
|
||||||
return this.RedisManager.putDocInMemory(
|
return this.RedisManager.putDocInMemory(
|
||||||
this.project_id,
|
this.project_id,
|
||||||
this.doc_id,
|
this.doc_id,
|
||||||
|
@ -1142,7 +1134,7 @@ describe('RedisManager', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
afterEach(function () {
|
afterEach(function () {
|
||||||
return (this.JSON.stringify = this._stringify)
|
this.stringifyStub.restore()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should log an error', function () {
|
it('should log an error', function () {
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const text = require('../../../../app/js/sharejs/types/text')
|
const text = require('../../../../app/js/sharejs/types/text')
|
||||||
require('chai').should()
|
|
||||||
const RangesTracker = require('../../../../app/js/RangesTracker')
|
const RangesTracker = require('../../../../app/js/RangesTracker')
|
||||||
|
|
||||||
describe('ShareJS text type', function () {
|
describe('ShareJS text type', function () {
|
||||||
|
|
|
@ -11,9 +11,7 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
const { expect } = require('chai')
|
||||||
const should = chai.should()
|
|
||||||
const { expect } = chai
|
|
||||||
const modulePath = '../../../../app/js/ShareJsDB.js'
|
const modulePath = '../../../../app/js/ShareJsDB.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const Errors = require('../../../../app/js/Errors')
|
const Errors = require('../../../../app/js/Errors')
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/ShareJsUpdateManager.js'
|
const modulePath = '../../../../app/js/ShareJsUpdateManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
const crypto = require('crypto')
|
const crypto = require('crypto')
|
||||||
|
@ -35,7 +33,6 @@ describe('ShareJsUpdateManager', function () {
|
||||||
return (this.rclient = { auth() {} })
|
return (this.rclient = { auth() {} })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'logger-sharelatex': (this.logger = { log: sinon.stub() }),
|
|
||||||
'./RealTimeRedisManager': (this.RealTimeRedisManager = {}),
|
'./RealTimeRedisManager': (this.RealTimeRedisManager = {}),
|
||||||
'./Metrics': (this.metrics = { inc: sinon.stub() })
|
'./Metrics': (this.metrics = { inc: sinon.stub() })
|
||||||
},
|
},
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||||
*/
|
*/
|
||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const chai = require('chai')
|
|
||||||
const should = chai.should()
|
|
||||||
const modulePath = '../../../../app/js/UpdateManager.js'
|
const modulePath = '../../../../app/js/UpdateManager.js'
|
||||||
const SandboxedModule = require('sandboxed-module')
|
const SandboxedModule = require('sandboxed-module')
|
||||||
|
|
||||||
|
@ -31,7 +29,6 @@ describe('UpdateManager', function () {
|
||||||
'./RealTimeRedisManager': (this.RealTimeRedisManager = {}),
|
'./RealTimeRedisManager': (this.RealTimeRedisManager = {}),
|
||||||
'./ShareJsUpdateManager': (this.ShareJsUpdateManager = {}),
|
'./ShareJsUpdateManager': (this.ShareJsUpdateManager = {}),
|
||||||
'./HistoryManager': (this.HistoryManager = {}),
|
'./HistoryManager': (this.HistoryManager = {}),
|
||||||
'logger-sharelatex': (this.logger = { log: sinon.stub() }),
|
|
||||||
'./Metrics': (this.Metrics = {
|
'./Metrics': (this.Metrics = {
|
||||||
Timer: (Timer = (function () {
|
Timer: (Timer = (function () {
|
||||||
Timer = class Timer {
|
Timer = class Timer {
|
||||||
|
|
Loading…
Reference in a new issue