From d59710ddf162ecc524c9fd17fde3d8d2c7490725 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 26 Jun 2020 16:34:37 +0800 Subject: [PATCH] bug fix --- hydro/handler/discussion.js | 8 +- hydro/handler/record.js | 2 +- hydro/lib/logger.js | 12 ++- hydro/model/discussion.js | 1 + hydro/model/record.js | 12 +-- hydro/model/task.js | 25 ++++-- hydro/service/server.js | 5 +- module/migrate-vijos/hydro.json | 2 +- module/migrate-vijos/script.js | 6 +- package.json | 2 +- ui/package.json | 3 +- ui/yarn.lock | 22 +++--- yarn.lock | 130 +++++++++++++++++++++++++++----- 13 files changed, 181 insertions(+), 49 deletions(-) diff --git a/hydro/handler/discussion.js b/hydro/handler/discussion.js index 34ba0bd54..b061593a2 100644 --- a/hydro/handler/discussion.js +++ b/hydro/handler/discussion.js @@ -92,7 +92,10 @@ class DiscussionNodeHandler extends DiscussionHandler { page, await system.get('DISCUSSION_PER_PAGE'), ); - const udict = await user.getList(domainId, ddocs.map((ddoc) => ddoc.owner)); + const [udict, vnodes] = await Promise.all([ + user.getList(domainId, ddocs.map((ddoc) => ddoc.owner)), + discussion.getNodes(domainId), + ]); const path = [ ['Hydro', 'homepage'], ['discussion_main', 'discussion_main'], @@ -109,6 +112,7 @@ class DiscussionNodeHandler extends DiscussionHandler { vndict, vnode: this.vnode, page_name: 'discussion_node', + vnodes, }; } } @@ -141,7 +145,7 @@ class DiscussionCreateHandler extends DiscussionHandler { title, content, this.request.ip, highlight, ); this.response.body = { did }; - this.response.redirect = `/discuss/${did}`; + this.response.redirect = this.url('discussion_detail', { did }); } } diff --git a/hydro/handler/record.js b/hydro/handler/record.js index a1dc89499..f5b9db683 100644 --- a/hydro/handler/record.js +++ b/hydro/handler/record.js @@ -151,7 +151,7 @@ class RecordDetailConnectionHandler extends contest.ContestHandlerMixin(Connecti async onRecordChange(data) { const rdoc = data.value; - if (rdoc._id.toString() !== this.rid.toString()) return; + if (!rdoc._id.equals(this.rid)) return; this.send({ status_html: await this.renderHTML('record_detail_status.html', { rdoc }), summary_html: await this.renderHTML('record_detail_summary.html', { rdoc }), diff --git a/hydro/lib/logger.js b/hydro/lib/logger.js index e50548e1b..628ca7683 100644 --- a/hydro/lib/logger.js +++ b/hydro/lib/logger.js @@ -5,7 +5,17 @@ function warp(func, type) { const time = new Date(); func(...args); if (global.Hydro.model.message) { - global.Hydro.model.message.send(1, 1, yaml.safeDump({ time, type, args })); + try { + for (let i = 0; i <= args.length; i++) { + if (args[i] instanceof Error) { + // js-yaml cannot dump [object Error] + args[i] = `${args[i].message}\n${args[i].stack}`; + } + } + global.Hydro.model.message.send(1, 1, yaml.dump({ time, type, args }, {})); + } catch (e) { + func(e.message); + } } }; } diff --git a/hydro/model/discussion.js b/hydro/model/discussion.js index af8f568a9..efe61cd70 100644 --- a/hydro/model/discussion.js +++ b/hydro/model/discussion.js @@ -24,6 +24,7 @@ function add(domainId, parentType, parentId, owner, title, content, ip = null, h highlight, nReply: 0, updateAt: new Date(), + views: 0, }, ); } diff --git a/hydro/model/record.js b/hydro/model/record.js index 85483b8c4..7743d9fc3 100644 --- a/hydro/model/record.js +++ b/hydro/model/record.js @@ -98,11 +98,12 @@ async function getList(domainId, rids, showHidden = false) { return r; } -function getUserInProblemMulti(domainId, uid, pid, getHidden = false) { - if (getHidden) return coll.find({ domainId, owner: uid, pid }); - return coll.find({ - domainId, owner: uid, pid, hidden: false, - }); +function getUserInProblemMulti(domainId, uid, pid) { + return coll.find({ domainId, uid, pid }); +} + +function getByUid(domainId, uid) { + return coll.find({ domainId, uid }).toArray(); } async function judge(domainId, rid) { @@ -144,6 +145,7 @@ global.Hydro.model.record = module.exports = { reset, getList, getUserInProblemMulti, + getByUid, judge, rejudge, }; diff --git a/hydro/model/task.js b/hydro/model/task.js index de8086a0d..4f5c95fa9 100644 --- a/hydro/model/task.js +++ b/hydro/model/task.js @@ -4,8 +4,10 @@ const db = require('../service/db'); const coll = db.collection('task'); async function add(task) { - task.executeAfter = task.executeAfter || new Date(); - const res = await coll.insertOne(task); + const t = { ...task }; + if (typeof t.executeAfter === 'object') t.executeAfter = t.executeAfter.getTime(); + t.executeAfter = t.executeAfter || new Date().getTime(); + const res = await coll.insertOne(t); return res.insertedId; } @@ -22,8 +24,9 @@ function del(_id) { } async function getFirst(query) { - query.executeAfter = query.executeAfter || { $lte: new Date() }; - const res = await coll.find(query).sort('_id', 1).limit(1).toArray(); + const q = { ...query }; + q.executeAfter = q.executeAfter || { $lt: new Date().getTime() }; + const res = await coll.find(q).sort('_id', 1).limit(1).toArray(); if (res.length) { await coll.deleteOne({ _id: res[0]._id }); if (res[0].interval) { @@ -37,9 +40,19 @@ async function getFirst(query) { } async function consume(query, cb) { - setInterval(async () => { + let isRunning = false; + const interval = setInterval(async () => { + if (isRunning) return; + isRunning = true; const res = await getFirst(query); - if (res) cb(res); + if (res) { + try { + await cb(res); + } catch (e) { + clearInterval(interval); + } + } + isRunning = false; }, 100); } diff --git a/hydro/service/server.js b/hydro/service/server.js index ba8d7658d..a58c1660e 100644 --- a/hydro/service/server.js +++ b/hydro/service/server.js @@ -175,8 +175,8 @@ class Handler { this.response.type = 'text/html'; } - renderTitle(str) { // eslint-disable-line class-methods-use-this - return str; + renderTitle(str) { + return `${this.translate(str)} - Hydro`; } checkPerm(...args) { @@ -261,6 +261,7 @@ class Handler { path: this.request.path, uid: this.session.uid, }); + this.UIContext.csrfToken = this.csrfToken; this.preferJson = (this.request.headers.accept || '').includes('application/json'); } diff --git a/module/migrate-vijos/hydro.json b/module/migrate-vijos/hydro.json index 0056c31a7..f52284a2d 100644 --- a/module/migrate-vijos/hydro.json +++ b/module/migrate-vijos/hydro.json @@ -1,5 +1,5 @@ { "id": "migrate-vijos", - "version": "1.0.0", + "version": "1.0.1", "description": "Migrate From Vijos" } \ No newline at end of file diff --git a/module/migrate-vijos/script.js b/module/migrate-vijos/script.js index fa14f9239..2de4e920d 100644 --- a/module/migrate-vijos/script.js +++ b/module/migrate-vijos/script.js @@ -308,10 +308,14 @@ async function domainUser(src, report) { } } +function addSpace(content) { + return content.split('\n').map((line) => (line.endsWith(' ') ? line : `${line} `)).join('\n'); +} + async function fix(doc) { await dst.collection('document').updateOne( { _id: doc._id }, - { $set: { pid: doc.pid || doc.docId.toString() } }, + { $set: { pid: doc.pid || doc.docId.toString(), content: addSpace(doc.content) } }, ); if (doc.data && doc.data.generationTime) { await file.inc(doc.data); diff --git a/package.json b/package.json index d2512839b..780d6f1fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.4.0", + "version": "2.4.2", "main": "hydro/loader.js", "repository": "https://github.com/hydro-dev/Hydro.git", "author": "masnn", diff --git a/ui/package.json b/ui/package.json index 3a20b040f..c6b4be092 100644 --- a/ui/package.json +++ b/ui/package.json @@ -20,7 +20,7 @@ "@babel/preset-env": "^7.10.3", "@babel/preset-react": "^7.10.1", "@babel/register": "^7.10.3", - "autoprefixer": "^9.8.3", + "autoprefixer": "^9.8.4", "babel-eslint": "^10.0.1", "babel-loader": "^8.0.6", "babel-plugin-lodash": "^3.3.4", @@ -79,6 +79,7 @@ "lodash": "^4.17.13", "mini-css-extract-plugin": "^0.9.0", "moment": "^2.27.0", + "monaco-editor": "^0.20.0", "normalize.css": "^8.0.1", "nprogress": "^0.2.0", "pickadate": "^3.6.4", diff --git a/ui/yarn.lock b/ui/yarn.lock index 457a0799f..c443697f3 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1973,14 +1973,14 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.8.3: - version "9.8.3" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.3.tgz#e04c8b7f72c608e4aef1b74a542946e2ed271753" - integrity sha512-Y3CkEPqPqGw0TNBcMoUAxeZT9WEOAh0BPYENOTrN/bEfNBqjlYWjHbR1PKduBrmAVn8WbEZtMA3gAZO5MgV7Pg== +autoprefixer@^9.8.4: + version "9.8.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.4.tgz#736f1012673a70fa3464671d78d41abd54512863" + integrity sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A== dependencies: browserslist "^4.12.0" caniuse-lite "^1.0.30001087" - kleur "^4.0.1" + colorette "^1.2.0" normalize-range "^0.1.2" num2fraction "^1.2.2" postcss "^7.0.32" @@ -2735,6 +2735,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.0.tgz#45306add826d196e8c87236ac05d797f25982e63" + integrity sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -5655,11 +5660,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.0.1.tgz#3d4948534b666e2578f93b6fafb62108e64f05ef" - integrity sha512-Qs6SqCLm63rd0kNVh+wO4XsWLU6kgfwwaPYsLiClWf0Tewkzsa6MvB21bespb8cz+ANS+2t3So1ge3gintzhlw== - language-subtag-registry@~0.3.2: version "0.3.20" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755" @@ -6262,7 +6262,7 @@ monaco-editor-webpack-plugin@^1.9.0: dependencies: loader-utils "^1.2.3" -monaco-editor@*: +monaco-editor@*, monaco-editor@^0.20.0: version "0.20.0" resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz#5d5009343a550124426cb4d965a4d27a348b4dea" integrity sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ== diff --git a/yarn.lock b/yarn.lock index b410e05e2..bc5a7afc2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,11 +121,11 @@ tslib "^2.0.0" "@snyk/dep-graph@^1.17.0", "@snyk/dep-graph@^1.18.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@snyk/dep-graph/-/dep-graph-1.19.2.tgz#6f230d81f5dbb3251c69ab81c2b693b90f6335a9" - integrity sha512-lqmeR5bFpnDuRd+fu4BNT+414N/iGb+5+jcIwM8jTx0Jf2fgwXPicngeQL5/rVM/ojAuOKLH4wl3nD4cK/T/UQ== + version "1.19.3" + resolved "https://registry.yarnpkg.com/@snyk/dep-graph/-/dep-graph-1.19.3.tgz#f20521baf060f83f052fd6b55fad8b377833418d" + integrity sha512-WJLUFKBokoFK5imi0t8Dkyj+uqtS/5Ziuf4oE/OOFX30UqP1ffMDkv9/3sqBJQVQ9FjdgsX3Cm8JZMtMlYRc6w== dependencies: - "@snyk/graphlib" "2.1.9-patch" + "@snyk/graphlib" "2.1.9-patch.2" lodash.isequal "^4.5.0" object-hash "^2.0.3" semver "^6.0.0" @@ -144,6 +144,28 @@ dependencies: "@snyk/lodash" "4.17.15-patch" +"@snyk/graphlib@2.1.9-patch.2": + version "2.1.9-patch.2" + resolved "https://registry.yarnpkg.com/@snyk/graphlib/-/graphlib-2.1.9-patch.2.tgz#571255808f5bf291f42d51f1e1f0adc8f9145be9" + integrity sha512-BjJzOXDNzoEMBOjSks7vadu5f0c39SeorJMi9vUvvWM5dcE22CZqcN9VMRW5DYTifUJiCWszkm5TOyfYfB0bfg== + dependencies: + lodash.clone "^4.5.0" + lodash.constant "^3.0.0" + lodash.filter "^4.6.0" + lodash.foreach "^4.5.0" + lodash.has "^4.5.2" + lodash.isarray "^4.0.0" + lodash.isempty "^4.4.0" + lodash.isfunction "^3.0.9" + lodash.isundefined "^3.0.1" + lodash.keys "^4.2.0" + lodash.map "^4.6.0" + lodash.reduce "^4.6.0" + lodash.size "^4.2.0" + lodash.transform "^4.6.0" + lodash.union "^4.6.0" + lodash.values "^4.3.0" + "@snyk/inquirer@6.2.2-patch": version "6.2.2-patch" resolved "https://registry.yarnpkg.com/@snyk/inquirer/-/inquirer-6.2.2-patch.tgz#14bfd111493eebdb8858f7ac4a98f8d274d10a91" @@ -255,9 +277,9 @@ integrity sha512-OW/D8GqCyQtH8F7xDdDxzPJTBgknZeZhlCakUcBCya2rYPRN53F+0YJVwSPyiyAhrknnjkl3P9qVk0oBI4S1qw== "@types/js-yaml@^3.12.1": - version "3.12.4" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.4.tgz#7d3b534ec35a0585128e2d332db1403ebe057e25" - integrity sha512-fYMgzN+9e28R81weVN49inn/u798ruU91En1ZnGvSZzCRc5jXx9B2EDhlRaWmcO1RIxFHL8AajRXzxDuJu93+A== + version "3.12.5" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.5.tgz#136d5e6a57a931e1cce6f9d8126aa98a9c92a6bb" + integrity sha512-JCcp6J0GV66Y4ZMDAQCXot4xprYB+Zfd3meK9+INSJeVZwJmHAW30BBEEkPzXswMXuiyReUGOP3GxrADc9wPww== "@types/json5@^0.0.29": version "0.0.29" @@ -265,9 +287,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/node@*": - version "14.0.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9" - integrity sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA== + version "14.0.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" + integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== "@types/node@^6.14.4", "@types/node@^6.14.7": version "6.14.10" @@ -1867,9 +1889,9 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@1.x.x: - version "1.14.2" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.2.tgz#14ab71bf5026c2aa08173afba22c6f3173284a84" - integrity sha512-InuOIiKk8wwuOFg6x9BQXbzjrQhtyXh46K9bqVTPzSo2FnyMBaYGBMC6PhQy7yxxil9vIedFBweQBMK74/7o8A== + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: esprima "^4.0.1" estraverse "^4.2.0" @@ -3335,41 +3357,116 @@ lodash.clonedeep@^4.3.0, lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +lodash.constant@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash.constant/-/lodash.constant-3.0.0.tgz#bfe05cce7e515b3128925d6362138420bd624910" + integrity sha1-v+Bczn5RWzEokl1jYhOEIL1iSRA= + lodash.escaperegexp@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= +lodash.filter@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" + integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + lodash.flatten@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= +lodash.foreach@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.has@^4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" + integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= + +lodash.isarray@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-4.0.0.tgz#2aca496b28c4ca6d726715313590c02e6ea34403" + integrity sha1-KspJayjEym1yZxUxNZDALm6jRAM= + +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha1-b4bL7di+TsmHvpqvM8loTbGzHn4= + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isundefined@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" + integrity sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g= + +lodash.keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" + integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= + +lodash.map@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.reduce@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= + lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= +lodash.size@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.size/-/lodash.size-4.2.0.tgz#71fe75ed3eabdb2bcb73a1b0b4f51c392ee27b86" + integrity sha1-cf517T6r2yvLc6GwtPUcOS7ie4Y= + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.union@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= +lodash.values@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" + integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= + lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -5121,9 +5218,9 @@ snyk-try-require@1.3.1, snyk-try-require@^1.1.1, snyk-try-require@^1.3.1: then-fs "^2.0.0" snyk@^1.348.1: - version "1.348.1" - resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.348.1.tgz#c2eeaa1fd37a0ed8a6ae8a614780d5a006083402" - integrity sha512-jDOUUoJzemIrhIQuUerS1drMY+Ijq1WtE+K2yLhKUgYo6tJnCpqSwIuuJREjeiQ2Q7zRmjlT+iD5owKdEaJR1w== + version "1.349.0" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.349.0.tgz#b29ea17037f7bc5ff29ac4a4c3227fe412fe23cb" + integrity sha512-2gE31HJ42H2gYDci9WB+f1GOTNLQXIcO5jm7i8sw+Xpfce3FYYH3s0oCecnrDHV3qOXbr6Qa5MtL0bwWmOA3fg== dependencies: "@snyk/cli-interface" "2.8.0" "@snyk/dep-graph" "1.18.3" @@ -5167,7 +5264,6 @@ snyk@^1.348.1: source-map-support "^0.5.11" strip-ansi "^5.2.0" tempfile "^2.0.0" - then-fs "^2.0.0" update-notifier "^4.1.0" uuid "^3.3.2" wrap-ansi "^5.1.0"