diff --git a/core/pipeline-driver/lib/consts/Events.js b/core/pipeline-driver/lib/consts/Events.js index 4955e1f6c..01a7a56db 100644 --- a/core/pipeline-driver/lib/consts/Events.js +++ b/core/pipeline-driver/lib/consts/Events.js @@ -6,8 +6,9 @@ module.exports = { STOP: 'job-stop', WAITING: 'job-waiting', ACTIVE: 'job-active', + FAILED: 'job-failed', STALLED: 'job-stalled', - FAILED: 'job-failed' + CRASHED: 'job-crashed' }, TASKS: { WAITING: 'task-waiting', @@ -15,5 +16,6 @@ module.exports = { SUCCEED: 'task-succeed', FAILED: 'task-failed', STALLED: 'task-stalled', + CRASHED: 'task-crashed' } }; \ No newline at end of file diff --git a/core/pipeline-driver/lib/graph/virtual-link.js b/core/pipeline-driver/lib/graph/virtual-link.js index bafe956f2..b3b93e940 100644 --- a/core/pipeline-driver/lib/graph/virtual-link.js +++ b/core/pipeline-driver/lib/graph/virtual-link.js @@ -5,7 +5,7 @@ class VirtualLink { constructor(options) { this.source = options.source; this.target = options.target; - this.edges = Object.entries(options.edge).filter(([k, v]) => v).map(e => ({ type: e[0] })); + this.edges = options.edges; } } diff --git a/core/pipeline-driver/lib/nodes/edge.js b/core/pipeline-driver/lib/nodes/edge.js deleted file mode 100644 index 31386ff6d..000000000 --- a/core/pipeline-driver/lib/nodes/edge.js +++ /dev/null @@ -1,6 +0,0 @@ -const create = (options) => ({ - waitNode: options.isWaitNode, - waitBatch: options.isWaitBatch, - waitAny: options.isWaitAny -}) -module.exports = create; \ No newline at end of file diff --git a/core/pipeline-driver/lib/nodes/node-base.js b/core/pipeline-driver/lib/nodes/node-base.js index 19daedda8..fb9fe7276 100644 --- a/core/pipeline-driver/lib/nodes/node-base.js +++ b/core/pipeline-driver/lib/nodes/node-base.js @@ -9,6 +9,7 @@ class NodeBase extends Task { this.algorithmName = options.algorithmName; this.extraData = options.extraData; this.input = options.input; + this.storage = options.storage; this.status = options.status || States.CREATING; this.error = options.error; this.result = options.result; diff --git a/core/pipeline-driver/lib/nodes/nodes-map.js b/core/pipeline-driver/lib/nodes/nodes-map.js index 38163560f..c5c08bc7b 100644 --- a/core/pipeline-driver/lib/nodes/nodes-map.js +++ b/core/pipeline-driver/lib/nodes/nodes-map.js @@ -10,7 +10,6 @@ const VirtualNode = require('../graph/virtual-node'); const VirtualLink = require('../graph/virtual-link'); const ActualGraph = require('../graph/graph-actual'); const VirtualGraph = require('../graph/graph-virtual'); -const createEdge = require('./edge'); const NodeResult = require('./node-result'); const States = require('../state/States'); const { parser, consts } = require('@hkube/parsers'); @@ -41,14 +40,12 @@ class NodesMap extends EventEmitter { results.forEach(r => { let node = nodes.find(f => f.source === r.nodeName && f.target === n.nodeName); if (!node) { - node = { source: r.nodeName, target: n.nodeName, edge: createEdge(r) } + node = { source: r.nodeName, target: n.nodeName, edges: [{ type: r.type }] } nodes.push(node); this._graph.setEdge(node.source, node.target); } else { - node.edge.waitNode = r.isWaitNode || node.edge.waitNode; - node.edge.waitBatch = r.isWaitBatch || node.edge.waitBatch; - node.edge.waitAny = r.isWaitAny || node.edge.waitAny; + node.edges.push({ type: r.type }); } }) }) diff --git a/core/pipeline-driver/lib/producer/jobs-producer.js b/core/pipeline-driver/lib/producer/jobs-producer.js index 1d3a2b38b..66cc37cd4 100644 --- a/core/pipeline-driver/lib/producer/jobs-producer.js +++ b/core/pipeline-driver/lib/producer/jobs-producer.js @@ -33,8 +33,8 @@ class JobProducer extends EventEmitter { this.emit(Events.TASKS.ACTIVE, data.jobID); }).on(Events.JOBS.STALLED, (data) => { this.emit(Events.TASKS.STALLED, data.jobID); - }).on(Events.JOBS.FAILED, (data) => { - this.emit(Events.TASKS.FAILED, data); + }).on(Events.JOBS.CRASHED, (data) => { + this.emit(Events.TASKS.CRASHED, { taskId: data.jobID, error: data.error }); }); } diff --git a/core/pipeline-driver/lib/tasks/task-runner.js b/core/pipeline-driver/lib/tasks/task-runner.js index 22e81285a..26627185c 100644 --- a/core/pipeline-driver/lib/tasks/task-runner.js +++ b/core/pipeline-driver/lib/tasks/task-runner.js @@ -46,7 +46,11 @@ class TaskRunner { producer.on(Events.TASKS.STALLED, (taskId) => { this._setTaskState(taskId, { status: States.STALLED }); }); - producer.on(Events.TASKS.FAILED, (data) => { + producer.on(Events.TASKS.CRASHED, (data) => { + this._setTaskState(data.taskId, { status: States.FAILED, error: data.error }); + this._taskComplete(data.taskId); + }); + stateManager.on(Events.TASKS.FAILED, (data) => { this._setTaskState(data.taskId, { status: States.FAILED, error: data.error }); this._taskComplete(data.taskId); }); @@ -267,37 +271,39 @@ class TaskRunner { }; const result = parser.parse(options); if (index) { - this._runWaitAnyBatch(node, result.input, index); + this._runWaitAnyBatch(node, result.input, index, result.storage); } else if (result.batch) { - this._runNodeBatch(node, result.input); + this._runNodeBatch(node, result.input, result.storage); } else { - this._runNodeSimple(node, result.input); + this._runNodeSimple(node, result.input, result.storage); } } - _runWaitAnyBatch(node, input, index) { + _runWaitAnyBatch(node, input, index, storage) { const waitNode = this._nodes.getWaitAny(node.nodeName, index); waitNode.input = input; + waitNode.storage = storage; this._setTaskState(waitNode.taskId, waitNode); this._createJob(waitNode); } - _runNodeSimple(node, input) { - this._nodes.setNode(new Node({ ...node, input })); + _runNodeSimple(node, input, storage) { + this._nodes.setNode(new Node({ ...node, input, storage })); this._setTaskState(node.taskId, node); this._createJob(node); } - _runNodeBatch(node, input) { + _runNodeBatch(node, input, storage) { input.forEach((inp, ind) => { const batch = new Batch({ nodeName: node.nodeName, batchIndex: (ind + 1), algorithmName: node.algorithmName, extraData: node.extraData, - input: inp + input: inp, + storage }); this._nodes.addBatch(batch); this._setTaskState(batch.taskId, batch); @@ -368,6 +374,7 @@ class TaskRunner { jobID: this._jobId, taskID: node.taskId, input: node.input, + storage: node.storage, node: node.nodeName, batchIndex: node.batchIndex, pipelineName: this._pipelineName, diff --git a/core/pipeline-driver/package-lock.json b/core/pipeline-driver/package-lock.json index ac454b3b8..13ce47049 100644 --- a/core/pipeline-driver/package-lock.json +++ b/core/pipeline-driver/package-lock.json @@ -15,7 +15,7 @@ "integrity": "sha512-F7agpF0zvdTvllCOX4MlX+2u0pwwWXv6H7suRidu15RdA0e8v5qdvOcfs3qJPDR0H8FQqPbcmqVGEE/QqNyFug==", "requires": { "deep-extend": "0.4.2", - "moment": "2.20.1" + "moment": "2.21.0" }, "dependencies": { "deep-extend": { @@ -26,9 +26,9 @@ } }, "@hkube/etcd": { - "version": "3.2.33", - "resolved": "https://registry.npmjs.org/@hkube/etcd/-/etcd-3.2.33.tgz", - "integrity": "sha512-E3ZzXQ7bqyPM3wqErwmjWX7JnJH6WSTugU3niATzX3KY3GKtXX6Iym5Ca+1j+GOb1GbpyLnpAr99xFLfb09lZg==", + "version": "3.2.35", + "resolved": "https://registry.npmjs.org/@hkube/etcd/-/etcd-3.2.35.tgz", + "integrity": "sha512-5nwAj0WMpcPSJY6ioTPMQi0EtZnRsPa9DS8PvXpP/3ZsD+7DU2VVuxKJFriGlIH31scaV1pPZVRnnwQBcKuu/Q==", "requires": { "djsv": "3.0.3", "etcd3": "0.2.9", @@ -46,7 +46,7 @@ "@hkube/redis-utils": "1.0.2", "colors": "1.1.2", "cycle": "1.0.3", - "moment": "2.20.1", + "moment": "2.21.0", "stack-trace": "0.0.9", "winston": "1.1.2", "winston-kibana": "0.1.0", @@ -67,21 +67,21 @@ } }, "@hkube/parsers": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@hkube/parsers/-/parsers-1.0.6.tgz", - "integrity": "sha512-NqRLhwmNyogl9HbK7uEiAa+Bty8EJEY201hOK/mOEReZIJO+D8lEjBL/2Qbg85FwpEnTmztZnzkWw635iUit2Q==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@hkube/parsers/-/parsers-1.0.7.tgz", + "integrity": "sha512-p52atWvCNg5o/39Kycc891jbWCdlDdkR4PRrii0VVmzyft+kyPwUdSsBFEt1NmiO3s4jG/d65NJ3xuGZRBLoeA==", "requires": { "clone": "2.1.1", "object-path": "0.11.4" } }, "@hkube/producer-consumer": { - "version": "1.0.29", - "resolved": "https://registry.npmjs.org/@hkube/producer-consumer/-/producer-consumer-1.0.29.tgz", - "integrity": "sha512-KvT5EFsWRGQ8rqLMhhvkx7wbGk8zujJwqdg4LZQj1l93aW8/mHOF2gW3j/Vphw3aQIvY3gMPIOdE3PXnXvAaaQ==", + "version": "1.0.31", + "resolved": "https://registry.npmjs.org/@hkube/producer-consumer/-/producer-consumer-1.0.31.tgz", + "integrity": "sha512-xoC7VaZJm3YPAkwhtcLXrx2JQndju8LbxVkeDhYGKFHesx5tzrCXJtp6OEpu1/oWVAEUg2Z8DHh8MEMFyZ3PMQ==", "requires": { "@hkube/redis-utils": "1.0.2", - "bull": "3.3.9", + "bull": "3.3.10", "djsv": "3.0.3", "ioredis": "3.2.2", "uuid": "3.1.0" @@ -146,9 +146,9 @@ } }, "@hkube/rest-server": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@hkube/rest-server/-/rest-server-1.0.5.tgz", - "integrity": "sha512-S6FVekmVxXw3mesUXHLj8p+7rQ8X+BKuZjImI7k6eCKH2G1HjFhQJJYnTOWEGsEao3F/otSc0P5KRV7N2PCmMg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@hkube/rest-server/-/rest-server-1.0.6.tgz", + "integrity": "sha512-VmpO1r3iS1J/vlKXgBOhVOK/gVBtrOnu50FJQyYgrjty4XahXHQti7nYDhlcO9MKTgSZrRHSH9SJsFh2EJBh5g==", "requires": { "body-parser": "1.18.2", "express": "4.16.2", @@ -171,18 +171,33 @@ "dev": true }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.17", + "mime-types": "2.1.18", "negotiator": "0.6.1" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + } } }, "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", "dev": true }, "acorn-jsx": { @@ -813,6 +828,13 @@ "once": "1.4.0", "process-nextick-args": "1.0.7", "stream-exhaust": "1.0.2" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + } } }, "async-each": { @@ -2210,7 +2232,7 @@ "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "1.6.16" }, "dependencies": { "debug": { @@ -2267,12 +2289,12 @@ "dev": true }, "bull": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/bull/-/bull-3.3.9.tgz", - "integrity": "sha512-Y+OWSYpeO2pVFCjJi4ctpHeGFv96d23uAZxhnr5+SlfBLGua+QAzNWEQlkDOkCscsjH6WSVndiWqFUJrGsYLVA==", + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/bull/-/bull-3.3.10.tgz", + "integrity": "sha512-bO1w83BONVTE3Rb10e0wPf11lXH1fGFNGmZH4Ys9jR7jGN4qmTNo7odxm7ELhjKXofjiFLWZFuTdONCs8kV8ug==", "requires": { "bluebird": "3.5.1", - "cron-parser": "2.4.4", + "cron-parser": "2.4.5", "debuglog": "1.0.1", "ioredis": "3.2.2", "lodash": "4.17.4", @@ -2559,6 +2581,13 @@ "inherits": "2.0.3", "process-nextick-args": "1.0.7", "through2": "2.0.3" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + } } }, "cluster-key-slot": { @@ -2748,13 +2777,13 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "typedarray": "0.0.6" } }, @@ -2836,9 +2865,9 @@ } }, "cron-parser": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.4.4.tgz", - "integrity": "sha512-lNWu5pGRGF7y4kl/uRXY69mC8n0qhjTIDQmc3MIfNY5eEvGyYqFPewn+2YQXybJoa2LVVOmDQ/1WTWyQzAM8uA==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.4.5.tgz", + "integrity": "sha512-J/BXGGFLQCxrLqcGT9Zp1Yz9H1LfZqlUJ7JRgfbtwt6fkWGVKKtMskF/iDxkA7MXJoaYerwyHX48lZuZoOJ1Eg==", "requires": { "is-nan": "1.2.1", "moment-timezone": "0.5.14" @@ -3020,7 +3049,7 @@ "integrity": "sha1-9Y3Un6YxEMdL6oQFqQqCi+JtOiQ=", "requires": { "bindings": "1.2.1", - "nan": "2.8.0" + "nan": "2.9.2" } }, "debug": { @@ -3159,9 +3188,9 @@ } }, "denque": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.2.2.tgz", - "integrity": "sha512-x92Ql74lcTbGylXILO9Xf9S0cMpEPP04zVp2bB9e2C7G/n/Q1SgLl78RaSYEPSgpDX9uLgQXCEGAS5BI5dP3yA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.2.3.tgz", + "integrity": "sha512-BOjyD1zPf7gqgXlXBCnCsz84cbRNfqpQNvWOUiw3Onu9s7a2afW2LyHzctoie/2KELfUoZkNHTnW02C3hCU20w==" }, "depd": { "version": "1.1.2", @@ -3219,13 +3248,13 @@ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, "duplexify": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", - "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "stream-shift": "1.0.0" } }, @@ -3477,15 +3506,15 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.17.0.tgz", - "integrity": "sha512-AyxBUCANU/o/xC0ijGMKavo5Ls3oK6xykiOITlMdjFjrKOsqLrA7Nf5cnrDgcKrHzBirclAZt63XO7YZlVUPwA==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", + "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.3.0", - "concat-stream": "1.6.0", + "chalk": "2.3.2", + "concat-stream": "1.6.1", "cross-spawn": "5.1.0", "debug": "3.1.0", "doctrine": "2.1.0", @@ -3528,23 +3557,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.3.0" } }, "strip-ansi": { @@ -3557,12 +3586,12 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -3625,9 +3654,9 @@ "dev": true }, "eslint-plugin-import": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", - "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", + "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", "dev": true, "requires": { "builtin-modules": "1.1.1", @@ -3637,7 +3666,7 @@ "eslint-import-resolver-node": "0.3.2", "eslint-module-utils": "2.1.1", "has": "1.0.1", - "lodash.cond": "4.5.2", + "lodash": "4.17.4", "minimatch": "3.0.4", "read-pkg-up": "2.0.0" }, @@ -3675,7 +3704,7 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, @@ -3691,7 +3720,7 @@ "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.5.0", "acorn-jsx": "3.0.1" } }, @@ -3710,13 +3739,12 @@ } }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -3879,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", @@ -3898,7 +3926,7 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "2.0.3", "qs": "6.5.1", "range-parser": "1.2.0", "safe-buffer": "5.1.1", @@ -3906,7 +3934,7 @@ "serve-static": "1.13.1", "setprototypeof": "1.1.0", "statuses": "1.3.1", - "type-is": "1.6.15", + "type-is": "1.6.16", "utils-merge": "1.0.1", "vary": "1.1.2" }, @@ -4478,7 +4506,7 @@ "expand-tilde": "2.0.2", "homedir-polyfill": "1.0.1", "ini": "1.3.5", - "is-windows": "1.0.1", + "is-windows": "1.0.2", "which": "1.3.0" } }, @@ -4599,7 +4627,7 @@ "requires": { "arguejs": "0.2.3", "lodash": "4.17.4", - "nan": "2.8.0", + "nan": "2.9.2", "node-pre-gyp": "0.6.39", "protobufjs": "5.0.2" }, @@ -5389,9 +5417,9 @@ } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-glob": { @@ -5604,7 +5632,7 @@ "dev": true, "requires": { "ansi-escapes": "3.0.0", - "chalk": "2.3.0", + "chalk": "2.3.2", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.1.0", @@ -5632,23 +5660,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.3.0" } }, "cli-cursor": { @@ -5735,12 +5763,12 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -5800,7 +5828,7 @@ "bluebird": "3.5.1", "cluster-key-slot": "1.0.8", "debug": "2.6.9", - "denque": "1.2.2", + "denque": "1.2.3", "flexbuffer": "0.0.6", "lodash.assign": "4.2.0", "lodash.bind": "4.2.1", @@ -5818,7 +5846,7 @@ "lodash.sample": "4.2.1", "lodash.shuffle": "4.2.0", "lodash.values": "4.3.0", - "redis-commands": "1.3.1", + "redis-commands": "1.3.5", "redis-parser": "2.6.0" }, "dependencies": { @@ -5848,9 +5876,9 @@ } }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "is-absolute": { "version": "0.2.6", @@ -6190,9 +6218,9 @@ "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=" }, "is-windows": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "isarray": { "version": "1.0.0", @@ -6521,7 +6549,7 @@ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "lcid": { @@ -6795,12 +6823,6 @@ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, "lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", @@ -7196,7 +7218,7 @@ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { "global-prefix": "1.0.2", - "is-windows": "1.0.1", + "is-windows": "1.0.2", "resolve-dir": "1.0.1" } }, @@ -7265,7 +7287,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "merge-value": { @@ -7509,16 +7531,16 @@ } }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" }, "moment-timezone": { "version": "0.5.14", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.14.tgz", "integrity": "sha1-TrOP+VOLgBCLpGekWPPtQmjM/LE=", "requires": { - "moment": "2.20.1" + "moment": "2.21.0" } }, "ms": { @@ -7532,9 +7554,9 @@ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", + "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==" }, "nanoseconds": { "version": "0.1.0", @@ -7558,9 +7580,9 @@ "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=" }, "nise": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.5.tgz", - "integrity": "sha512-Es4hGuq3lpip5PckrB+Qpuma282M0UJANJ+jxAgI+0wWTL9X6MtNv+M385JgqsAE8hv6NvD3lv8CQtXgEnvlpQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.0.tgz", + "integrity": "sha512-U+Krdzhsw4losPP/Rij5UGTLQgS9gaWmXdRIbZQIQWVsUGDBo+N0m9mrY9CCEnmwssgswwydxLJUZtFfouC0gA==", "dev": true, "requires": { "@sinonjs/formatio": "2.0.0", @@ -7617,7 +7639,7 @@ "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -7901,7 +7923,7 @@ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", "requires": { "is-stream": "1.1.0", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "os-homedir": { @@ -8326,9 +8348,9 @@ } }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress": { "version": "2.0.0", @@ -8373,12 +8395,12 @@ } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.6.0" } }, "pseudomap": { @@ -8570,14 +8592,14 @@ } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -8594,9 +8616,9 @@ } }, "redis-commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", - "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz", + "integrity": "sha512-foGF8u6MXGFF++1TZVC6icGXuMYPftKXt1FBT2vrfU9ZATNtZJ8duRC5d1lEfE8hyVe3jhelHGB91oB7I6qLsA==" }, "redis-parser": { "version": "2.6.0", @@ -8820,7 +8842,7 @@ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { "global-prefix": "1.0.2", - "is-windows": "1.0.1", + "is-windows": "1.0.2", "resolve-dir": "1.0.1" } }, @@ -9075,17 +9097,17 @@ "dev": true }, "sinon": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz", - "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.2.tgz", + "integrity": "sha512-cpOHpnRyY3Dk9dTHBYMfVBB0HUCSKIpxW07X6OGW2NiYPovs4AkcL8Q8MzecbAROjbfRA9esJCmlZgikxDz7DA==", "dev": true, "requires": { "@sinonjs/formatio": "2.0.0", "diff": "3.4.0", "lodash.get": "4.4.2", "lolex": "2.3.2", - "nise": "1.2.5", - "supports-color": "5.2.0", + "nise": "1.3.0", + "supports-color": "5.3.0", "type-detect": "4.0.8" }, "dependencies": { @@ -9095,16 +9117,10 @@ "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", "dev": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9168,24 +9184,35 @@ "dev": true }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split-string": { @@ -9225,7 +9252,7 @@ "resolved": "https://registry.npmjs.org/src-stream/-/src-stream-0.1.1.tgz", "integrity": "sha1-2T9G0oGjcAKB7A8wszoDFDiUpoE=", "requires": { - "duplexify": "3.5.3", + "duplexify": "3.5.4", "merge-stream": "0.1.8", "through2": "2.0.3" }, @@ -9427,7 +9454,7 @@ "methods": "1.1.2", "mime": "1.4.1", "qs": "6.5.1", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "supertest": { @@ -9452,7 +9479,7 @@ "requires": { "ajv": "5.5.2", "ajv-keywords": "2.1.1", - "chalk": "2.3.0", + "chalk": "2.3.2", "lodash": "4.17.4", "slice-ansi": "1.0.0", "string-width": "2.1.1" @@ -9465,23 +9492,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.3.0" } }, "is-fullwidth-code-point": { @@ -9510,12 +9537,12 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -9650,7 +9677,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "xtend": "4.0.1" } }, @@ -9879,12 +9906,27 @@ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.18" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + } } }, "typedarray": { @@ -10104,13 +10146,13 @@ "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -10150,7 +10192,7 @@ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", "requires": { - "duplexify": "3.5.3", + "duplexify": "3.5.4", "glob-stream": "5.3.5", "graceful-fs": "4.1.11", "gulp-sourcemaps": "1.6.0", @@ -10160,7 +10202,7 @@ "merge-stream": "1.0.1", "mkdirp": "0.5.1", "object-assign": "4.1.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "strip-bom": "2.0.0", "strip-bom-stream": "1.0.0", "through2": "2.0.3", diff --git a/core/pipeline-driver/package.json b/core/pipeline-driver/package.json index e1a13f4ba..284bf393a 100644 --- a/core/pipeline-driver/package.json +++ b/core/pipeline-driver/package.json @@ -9,13 +9,13 @@ }, "dependencies": { "@hkube/config": "^2.0.0", - "@hkube/etcd": "^3.2.33", + "@hkube/etcd": "^3.2.35", "@hkube/logger": "^1.0.12", "@hkube/metrics": "^1.0.21", - "@hkube/parsers": "^1.0.6", - "@hkube/producer-consumer": "^1.0.29", + "@hkube/parsers": "^1.0.7", + "@hkube/producer-consumer": "^1.0.31", "@hkube/redis-utils": "^1.0.1", - "@hkube/rest-server": "^1.0.5", + "@hkube/rest-server": "^1.0.6", "clone": "^2.1.1", "deep-equal": "^1.0.1", "deep-extend": "^0.5.0", @@ -23,19 +23,19 @@ "graphlib": "^2.1.2", "lodash.groupby": "^4.6.0", "lodash.throttle": "^4.1.1", - "moment": "^2.20.1" + "moment": "^2.21.0" }, "devDependencies": { "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "coveralls": "^3.0.0", - "eslint": "^4.17.0", + "eslint": "^4.18.2", "eslint-config-airbnb-base": "^12.1.0", "eslint-plugin-chai-friendly": "^0.4.1", - "eslint-plugin-import": "^2.8.0", + "eslint-plugin-import": "^2.9.0", "istanbul": "^1.1.0-alpha.1", "mocha": "^2.5.3", - "sinon": "^4.3.0" + "sinon": "^4.4.2" }, "scripts": { "lint": "./node_modules/eslint/bin/eslint.js .", diff --git a/core/pipeline-driver/tests/test.js b/core/pipeline-driver/tests/test.js index 2b9cfe71c..d27f27f22 100644 --- a/core/pipeline-driver/tests/test.js +++ b/core/pipeline-driver/tests/test.js @@ -340,8 +340,8 @@ describe('Test', function () { expect(link1.source).to.equal('yellow'); expect(link0.target).to.equal('black'); - expect(edges1).to.deep.equal(['waitNode', 'waitAny']); - expect(edges2).to.deep.equal(['waitNode', 'waitAny']); + expect(edges1).to.deep.equal(['waitAny', 'waitNode']); + expect(edges2).to.deep.equal(['waitAny', 'waitNode']); }); }); describe('VirtualGraph', function () { @@ -397,8 +397,8 @@ describe('Test', function () { expect(link1.source).to.equal('yellow'); expect(link0.target).to.equal('black'); - expect(edges1).to.deep.equal(['waitNode', 'waitAny']); - expect(edges2).to.deep.equal(['waitNode', 'waitAny']); + expect(edges1).to.deep.equal(['waitAny', 'waitNode']); + expect(edges2).to.deep.equal(['waitAny', 'waitNode']); }); it('should find Virtual node By Target', function () { const pipeline = {