From cbb586300896002d22da7fcb9b8f86ede9745e8a Mon Sep 17 00:00:00 2001 From: cel Date: Wed, 18 Oct 2017 10:52:56 -1000 Subject: Render blocks and blockers on contacts pages --- lib/app.js | 7 +- lib/contact.js | 89 +++++++++++++ lib/serve.js | 55 +++++--- package-lock.json | 383 ++++++++++++++++++++++++++---------------------------- package.json | 1 - 5 files changed, 309 insertions(+), 226 deletions(-) create mode 100644 lib/contact.js diff --git a/lib/app.js b/lib/app.js index bcbc118..e1383a8 100644 --- a/lib/app.js +++ b/lib/app.js @@ -6,7 +6,7 @@ var u = require('./util') var pull = require('pull-stream') var multicb = require('multicb') var paramap = require('pull-paramap') -var Contacts = require('ssb-contact') +var getContacts = require('./contact') var About = require('./about') var Serve = require('./serve') var Render = require('./render') @@ -51,6 +51,7 @@ function App(sbot, config) { sbot.blobs.size.bind(sbot.blobs)) this.getFollows = memo(this._getFollows.bind(this)) this.getVotes = memo({cache: lru(100)}, this._getVotes.bind(this)) + this.getContacts = getContacts.bind(null, this.sbot) this.unboxMsg = this.unboxMsg.bind(this) @@ -462,10 +463,6 @@ App.prototype.streamMyChannels = function (id, opts) { ) } -App.prototype.createContactStreams = function (id) { - return new Contacts(this.sbot).createContactStreams(id) -} - function compareVoted(a, b) { return b.value - a.value } diff --git a/lib/contact.js b/lib/contact.js new file mode 100644 index 0000000..676c84a --- /dev/null +++ b/lib/contact.js @@ -0,0 +1,89 @@ +var pull = require('pull-stream') +var multicb = require('multicb') + +function accumulateNonNull(a, b) { + return b == null ? a : b +} + +module.exports = function (sbot, id, cb) { + var followed = {}, followedBy = {}, blocked = {}, blockedBy = {} + var done = multicb({pluck: 1}) + pull( + sbot.links2.read({ + query: [ + {$filter: { + source: id, + rel: [{$prefix: 'contact'}] + }}, + {$reduce: { + id: 'dest', + following: {$collect: ['rel', 1]}, + blocking: {$collect: ['rel', 2]} + }} + ] + }), + pull.drain(function (op) { + var following = op.following.reduce(accumulateNonNull, null) + var blocking = op.blocking.reduce(accumulateNonNull, null) + if (following != null) followed[op.id] = following + if (blocking != null) blocked[op.id] = blocking + }, done()) + ) + pull( + sbot.links2.read({ + query: [ + {$filter: { + dest: id, + rel: [{$prefix: 'contact'}] + }}, + {$reduce: { + id: 'source', + following: {$collect: ['rel', 1]}, + blocking: {$collect: ['rel', 2]} + }} + ] + }), + pull.drain(function (op) { + var following = op.following.reduce(accumulateNonNull, null) + var blocking = op.blocking.reduce(accumulateNonNull, null) + if (following != null) followedBy[op.id] = following + if (blocking != null) blockedBy[op.id] = blocking + }, done()) + ) + + done(function (err) { + if (err) return cb(new Error(err.stack || err)) + var id + var friendsList = [] + var followingList = [] + var blockingList = [] + var followedByList = [] + var blockedByList = [] + + for (id in followed) { + if (followed[id]) { + if (followedBy[id]) friendsList.push(id) + else followingList.push(id) + } + } + for (id in followedBy) { + if (followedBy[id] && !followed[id]) { + followedByList.push(id) + } + } + for (id in blocked) { + if (blocked[id]) blockingList.push(id) + } + for (id in blockedBy) { + if (blockedBy[id]) blockedByList.push(id) + } + + cb(null, { + follows: followingList, + followers: followedByList, + friends: friendsList, + blocks: blockingList, + blockers: blockedByList + }) + }) +} diff --git a/lib/serve.js b/lib/serve.js index 2bbc80d..e8313f4 100644 --- a/lib/serve.js +++ b/lib/serve.js @@ -794,10 +794,10 @@ Serve.prototype.channels = function (ext) { Serve.prototype.contacts = function (path) { var self = this var id = String(path).substr(1) - var contacts = self.app.createContactStreams(id) - function renderFriendsList() { + function renderFriendsList(ids) { return pull( + pull.values(ids), paramap(function (id, cb) { self.app.getAbout(id, function (err, about) { var name = about && about.name || id.substr(0, 8) + '…' @@ -812,23 +812,40 @@ Serve.prototype.contacts = function (path) { ) } - pull( - cat([ - ph('section', {}, [ - ph('h3', {}, ['Contacts: ', self.phIdLink(id)]), - ph('h4', {}, 'Friends'), - renderFriendsList()(contacts.friends), - ph('h4', {}, 'Follows'), - renderFriendsList()(contacts.follows), - ph('h4', {}, 'Followers'), - renderFriendsList()(contacts.followers) - ]) - ]), - this.wrapPage('contacts: ' + id), - this.respondSink(200, { - 'Content-Type': ctype('html') - }) - ) + self.app.getContacts(id, function (err, contacts) { + if (err) return self.respond(500, err.stack || err) + pull( + cat([ + ph('section', {}, [ + ph('h3', {}, ['Contacts: ', self.phIdLink(id)]), + contacts.friends.length ? [ + ph('h4', {}, 'Friends'), + renderFriendsList(contacts.friends), + ] : [], + contacts.follows.length ? [ + ph('h4', {}, 'Follows'), + renderFriendsList(contacts.follows), + ] : [], + contacts.followers.length ? [ + ph('h4', {}, 'Followers'), + renderFriendsList(contacts.followers), + ] : [], + contacts.blocks.length ? [ + ph('h4', {}, 'Blocks'), + renderFriendsList(contacts.blocks), + ] : [], + contacts.blockers.length ? [ + ph('h4', {}, 'Blocked by'), + renderFriendsList(contacts.blockers), + ] : [], + ]) + ]), + self.wrapPage('contacts: ' + id), + self.respondSink(200, { + 'Content-Type': ctype('html') + }) + ) + }) } Serve.prototype.about = function (path) { diff --git a/package-lock.json b/package-lock.json index da44dc4..c43d428 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,8 +5,8 @@ "requires": true, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "http://localhost:8989/blobs/get/&UrirFIhl7q9TjmMKk3+hU9WvISMvAUpdTjhJGTe+gDc=.sha256" + "version": "http://localhost:8989/blobs/get/&UrirFIhl7q9TjmMKk3+hU9WvISMvAUpdTjhJGTe+gDc=.sha256", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "async": { "version": "2.5.0", @@ -22,8 +22,8 @@ "integrity": "sha256-g5Cy4MsybkB4WACZysh7sGm9W9+mvMSNVxyw0ST8wAo=" }, "balanced-match": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&KJZgLBLTzvVmv77XzN73kjL08eAGIvxcm0BzdGW6/60=.sha256" + "version": "http://localhost:8989/blobs/get/&KJZgLBLTzvVmv77XzN73kjL08eAGIvxcm0BzdGW6/60=.sha256", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-url": { "version": "2.0.0", @@ -31,20 +31,20 @@ "integrity": "sha256-tix85Coqflfg1RbOQ/x6cq0E1Rry5rDhGiIHyRdM+8s=" }, "brace-expansion": { - "version": "1.1.8", - "resolved": "http://localhost:8989/blobs/get/&fdjQQT88BvLg9ynhFsffO5ZCC04SoSTrnmmGGWWxcPo=.sha256", + "version": "http://localhost:8989/blobs/get/&fdjQQT88BvLg9ynhFsffO5ZCC04SoSTrnmmGGWWxcPo=.sha256", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" + "balanced-match": "http://localhost:8989/blobs/get/&KJZgLBLTzvVmv77XzN73kjL08eAGIvxcm0BzdGW6/60=.sha256", + "concat-map": "http://localhost:8989/blobs/get/&NZAt1iDPAFjEnqYUEg8YqInZhCaakDgbdiLnnCz+QmE=.sha256" } }, "browser-split": { - "version": "0.0.0", - "resolved": "http://localhost:8989/blobs/get/&u3cvbnn1mLUZCBFO3qRNABW3op1sgtwIK2UCQ/RIYGY=.sha256" + "version": "http://localhost:8989/blobs/get/&u3cvbnn1mLUZCBFO3qRNABW3op1sgtwIK2UCQ/RIYGY=.sha256", + "integrity": "sha1-QUGcrvdpdVkp3VGJZ9PuwKYmJ3E=" }, "builtin-modules": { - "version": "1.1.1", - "resolved": "http://localhost:8989/blobs/get/&54lxeCToaIJpwkHCA9n2Fc8VKG1iF9dN78fzlbDaXxE=.sha256" + "version": "http://localhost:8989/blobs/get/&54lxeCToaIJpwkHCA9n2Fc8VKG1iF9dN78fzlbDaXxE=.sha256", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "busboy": { "version": "0.2.14", @@ -52,7 +52,7 @@ "integrity": "sha256-VyROp1YhWtj1V5WVtCDELopoYXT2X6ahcpxNjRjW0CM=", "requires": { "dicer": "0.2.5", - "readable-stream": "1.1.14" + "readable-stream": "http://localhost:8989/blobs/get/&LJk/zFok/BYFod2B9SuSF3SZAxbTHbxhqV8k0NfVneQ=.sha256" } }, "camelcase": { @@ -81,10 +81,10 @@ } }, "class-list": { - "version": "0.1.1", - "resolved": "http://localhost:8989/blobs/get/&DsfVRvYWkJQWkAbkf9kI3yI9UcfLjmTabe/KkloDwsk=.sha256", + "version": "http://localhost:8989/blobs/get/&DsfVRvYWkJQWkAbkf9kI3yI9UcfLjmTabe/KkloDwsk=.sha256", + "integrity": "sha1-m5dFGSxBebXaCg12M2WOPHDXlss=", "requires": { - "indexof": "0.0.1" + "indexof": "http://localhost:8989/blobs/get/&nDS6Nq/MeuikC+zoCIWjBq6Ftwx6u6eG+Fay5QHbKBc=.sha256" } }, "cliui": { @@ -92,25 +92,25 @@ "resolved": "http://localhost:8989/blobs/get/&T/Hzere+zT+wo4lWrQRESaTn00pIyqYyNTD/CAW26kA=.sha256", "integrity": "sha256-T/Hzere+zT+wo4lWrQRESaTn00pIyqYyNTD/CAW26kA=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", + "string-width": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "strip-ansi": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256", "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "version": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "http://localhost:8989/blobs/get/&UnnKeJhtY4GFKsGwJZKuLcXMl5MXKEuKoddVQQd3Cz0=.sha256", + "is-fullwidth-code-point": "http://localhost:8989/blobs/get/&d+1lahMNR8yATB2P2ujw/ErTVWJVUvzeN3A8pfizaGw=.sha256", + "strip-ansi": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256" } } } }, "code-point-at": { - "version": "1.1.0", - "resolved": "http://localhost:8989/blobs/get/&UnnKeJhtY4GFKsGwJZKuLcXMl5MXKEuKoddVQQd3Cz0=.sha256" + "version": "http://localhost:8989/blobs/get/&UnnKeJhtY4GFKsGwJZKuLcXMl5MXKEuKoddVQQd3Cz0=.sha256", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "colors": { "version": "1.1.2", @@ -118,20 +118,20 @@ "integrity": "sha256-gPB/9OrrQwk9ZUvBIJ1nrx61F1M6Qd4xF5xswMLvBgs=" }, "concat-map": { - "version": "0.0.1", - "resolved": "http://localhost:8989/blobs/get/&NZAt1iDPAFjEnqYUEg8YqInZhCaakDgbdiLnnCz+QmE=.sha256" + "version": "http://localhost:8989/blobs/get/&NZAt1iDPAFjEnqYUEg8YqInZhCaakDgbdiLnnCz+QmE=.sha256", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "core-util-is": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&pKRNq2V57ePgat5Y0m+P1kLq4JFT/VnGCPy3lRpJk5g=.sha256" + "version": "http://localhost:8989/blobs/get/&pKRNq2V57ePgat5Y0m+P1kLq4JFT/VnGCPy3lRpJk5g=.sha256", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cross-spawn": { - "version": "5.1.0", - "resolved": "http://localhost:8989/blobs/get/&kQgF6M1dpk1vQveJ8JZe7hijfFeiYx92T4R/jo/M/20=.sha256", + "version": "http://localhost:8989/blobs/get/&kQgF6M1dpk1vQveJ8JZe7hijfFeiYx92T4R/jo/M/20=.sha256", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "http://localhost:8989/blobs/get/&3nBo7+7JlMG70BMnaszNXPs10YrPZXer0nlEl34un2I=.sha256", + "shebang-command": "http://localhost:8989/blobs/get/&5WWErtZ/p4VembY82QIx4lBuVJOjf1L1PiMkFfV94fc=.sha256", + "which": "http://localhost:8989/blobs/get/&h6jOfljGoAtkQMJTmk4dqC8keZDFRqk0eKkAp5+jBRI=.sha256" } }, "decamelize": { @@ -154,7 +154,7 @@ "resolved": "http://localhost:8989/blobs/get/&Z7qom4olj+OwIkSjs0KYoTRB8ZPA7FSGluhx8UDXgac=.sha256", "integrity": "sha256-Z7qom4olj+OwIkSjs0KYoTRB8ZPA7FSGluhx8UDXgac=", "requires": { - "readable-stream": "1.1.14", + "readable-stream": "http://localhost:8989/blobs/get/&LJk/zFok/BYFod2B9SuSF3SZAxbTHbxhqV8k0NfVneQ=.sha256", "streamsearch": "0.1.2" } }, @@ -167,14 +167,14 @@ } }, "emoji-named-characters": { - "version": "http://localhost:8989/blobs/get/&vW38X+lwPDgAzgY6z6k6r2l7BiROggivH7F4lIUga0U=.sha256", - "integrity": "sha1-zes20OZgAsS5178d+8Ohmft9QJs=" + "version": "1.0.2", + "resolved": "http://localhost:8989/blobs/get/&vW38X+lwPDgAzgY6z6k6r2l7BiROggivH7F4lIUga0U=.sha256" }, "emoji-server": { - "version": "http://localhost:8989/blobs/get/&Yt3cRdCu8ftMVwd+hBtgmrJ4ItRyrszK6Q5+qYTV8mw=.sha256", - "integrity": "sha1-0GPP7prxGMxa7vvC6bPdUIWBXGM=", + "version": "1.0.0", + "resolved": "http://localhost:8989/blobs/get/&Yt3cRdCu8ftMVwd+hBtgmrJ4ItRyrszK6Q5+qYTV8mw=.sha256", "requires": { - "emoji-named-characters": "http://localhost:8989/blobs/get/&vW38X+lwPDgAzgY6z6k6r2l7BiROggivH7F4lIUga0U=.sha256" + "emoji-named-characters": "1.0.2" } }, "error-ex": { @@ -190,12 +190,12 @@ "resolved": "http://localhost:8989/blobs/get/&2os3PsXuPlh5Wl8Sdi2DnIg+H4jFi1gmsZC+FEk3XBY=.sha256", "integrity": "sha256-2os3PsXuPlh5Wl8Sdi2DnIg+H4jFi1gmsZC+FEk3XBY=", "requires": { - "cross-spawn": "5.1.0", + "cross-spawn": "http://localhost:8989/blobs/get/&kQgF6M1dpk1vQveJ8JZe7hijfFeiYx92T4R/jo/M/20=.sha256", "get-stream": "3.0.0", "is-stream": "1.1.0", "npm-run-path": "2.0.2", "p-finally": "1.0.0", - "signal-exit": "3.0.2", + "signal-exit": "http://localhost:8989/blobs/get/&2JAO0FDbn45cJ1KdQ8Al0Lu7FnN8oZnYa9UP3Ixb0tg=.sha256", "strip-eof": "1.0.0" } }, @@ -213,8 +213,8 @@ } }, "fs.realpath": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&noDLhxMSWqU9+BopYm97gfJqm+HNQYQLPM3K5NUuj5w=.sha256" + "version": "http://localhost:8989/blobs/get/&noDLhxMSWqU9+BopYm97gfJqm+HNQYQLPM3K5NUuj5w=.sha256", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "get-caller-file": { "version": "1.0.2", @@ -227,39 +227,39 @@ "integrity": "sha256-d14FtIOpqAH6+09IWLIA28NM44qbwUQu+0sA+SJFAG4=" }, "glob": { - "version": "7.1.2", - "resolved": "http://localhost:8989/blobs/get/&zz0+R6Ewi1Ev1wfx31k3N8tWkHnQS/l14fxI3mpintE=.sha256", + "version": "http://localhost:8989/blobs/get/&zz0+R6Ewi1Ev1wfx31k3N8tWkHnQS/l14fxI3mpintE=.sha256", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", + "fs.realpath": "http://localhost:8989/blobs/get/&noDLhxMSWqU9+BopYm97gfJqm+HNQYQLPM3K5NUuj5w=.sha256", + "inflight": "http://localhost:8989/blobs/get/&Wp/c9Zh0r2rTtBO2gV1a+q6jSTmjvuIOHlD3gwAxiJs=.sha256", "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "minimatch": "http://localhost:8989/blobs/get/&Qmok15u28NO7Ez5izsaQIYNtJUs52THBBN3XxGSt6nE=.sha256", + "once": "http://localhost:8989/blobs/get/&z1FGC6Nwxpj2i5duUU0RNJczm6AYtgA+jo61acb8z88=.sha256", + "path-is-absolute": "http://localhost:8989/blobs/get/&bm1wnxpWlCUU5OLCcJswx7H/pG++1w5xSQSj1jsB91w=.sha256" } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "http://localhost:8989/blobs/get/&arBwJw743Y7dRG34dCWCntMQkdx+XzB4f1q7nLXCtrg=.sha256" + "version": "http://localhost:8989/blobs/get/&arBwJw743Y7dRG34dCWCntMQkdx+XzB4f1q7nLXCtrg=.sha256", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "hashlru": { - "version": "http://localhost:8989/blobs/get/&EASZ1/L+jHuTVxrgbQrNlTdCenA8etAVuk/TGn92RoY=.sha256", - "integrity": "sha1-eTpYlD+QKupXgXfXsDNfE/JpS3E=" + "version": "2.2.0", + "resolved": "http://localhost:8989/blobs/get/&EASZ1/L+jHuTVxrgbQrNlTdCenA8etAVuk/TGn92RoY=.sha256" }, "highlight.js": { - "version": "http://localhost:8989/blobs/get/&LK2T/oKc1S44QQjxG/3TDdR6OujGN7aWLR4It0ylTv4=.sha256", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + "version": "9.12.0", + "resolved": "http://localhost:8989/blobs/get/&LK2T/oKc1S44QQjxG/3TDdR6OujGN7aWLR4It0ylTv4=.sha256" }, "hosted-git-info": { - "version": "2.5.0", - "resolved": "http://localhost:8989/blobs/get/&YUe3Q99bA5b/X94y+wiLwCspLENBKyIV4NuecamLnlE=.sha256" + "version": "http://localhost:8989/blobs/get/&YUe3Q99bA5b/X94y+wiLwCspLENBKyIV4NuecamLnlE=.sha256", + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=" }, "html-element": { "version": "2.2.0", "resolved": "http://localhost:8989/blobs/get/&sdoCGhjOZX/XrJAS/Dglraa18Hqy5VrkyUIranMXi9I=.sha256", "integrity": "sha256-sdoCGhjOZX/XrJAS/Dglraa18Hqy5VrkyUIranMXi9I=", "requires": { - "class-list": "0.1.1" + "class-list": "http://localhost:8989/blobs/get/&DsfVRvYWkJQWkAbkf9kI3yI9UcfLjmTabe/KkloDwsk=.sha256" } }, "human-time": { @@ -272,8 +272,8 @@ "resolved": "http://localhost:8989/blobs/get/&AR/q8h2lShQjaKie/0v3nVHvpasn9N50ccGs84Eu6xA=.sha256", "integrity": "sha256-AR/q8h2lShQjaKie/0v3nVHvpasn9N50ccGs84Eu6xA=", "requires": { - "browser-split": "0.0.0", - "class-list": "0.1.1", + "browser-split": "http://localhost:8989/blobs/get/&u3cvbnn1mLUZCBFO3qRNABW3op1sgtwIK2UCQ/RIYGY=.sha256", + "class-list": "http://localhost:8989/blobs/get/&DsfVRvYWkJQWkAbkf9kI3yI9UcfLjmTabe/KkloDwsk=.sha256", "html-element": "2.2.0" } }, @@ -283,15 +283,15 @@ "integrity": "sha256-8tCD7itunhQ6XM3RhoS8hWRSZE1PTlc5n33kNrN/g2M=" }, "indexof": { - "version": "0.0.1", - "resolved": "http://localhost:8989/blobs/get/&nDS6Nq/MeuikC+zoCIWjBq6Ftwx6u6eG+Fay5QHbKBc=.sha256" + "version": "http://localhost:8989/blobs/get/&nDS6Nq/MeuikC+zoCIWjBq6Ftwx6u6eG+Fay5QHbKBc=.sha256", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, "inflight": { - "version": "1.0.6", - "resolved": "http://localhost:8989/blobs/get/&Wp/c9Zh0r2rTtBO2gV1a+q6jSTmjvuIOHlD3gwAxiJs=.sha256", + "version": "http://localhost:8989/blobs/get/&Wp/c9Zh0r2rTtBO2gV1a+q6jSTmjvuIOHlD3gwAxiJs=.sha256", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "http://localhost:8989/blobs/get/&z1FGC6Nwxpj2i5duUU0RNJczm6AYtgA+jo61acb8z88=.sha256", + "wrappy": "http://localhost:8989/blobs/get/&r/NzDZG3seFDgilW0UYI9WMWPPEbnQrmAt8f4eQw/fs=.sha256" } }, "inherits": { @@ -320,10 +320,10 @@ "integrity": "sha256-hI0V2T5EeJcmOmVMEUyORcNAzn/cG8huekSkxE8n44w=" }, "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&RCC0/zn3sTUkGwQmJD1O2/AtH23TKk+6aMf2jw6CDo4=.sha256", + "version": "http://localhost:8989/blobs/get/&RCC0/zn3sTUkGwQmJD1O2/AtH23TKk+6aMf2jw6CDo4=.sha256", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "http://localhost:8989/blobs/get/&54lxeCToaIJpwkHCA9n2Fc8VKG1iF9dN78fzlbDaXxE=.sha256" } }, "is-electron": { @@ -332,10 +332,10 @@ "integrity": "sha256-rFFKsJVuu7Jc3JlNDC0js3WaAaFpFeMEFwmEA/w6VQs=" }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&d+1lahMNR8yATB2P2ujw/ErTVWJVUvzeN3A8pfizaGw=.sha256", + "version": "http://localhost:8989/blobs/get/&d+1lahMNR8yATB2P2ujw/ErTVWJVUvzeN3A8pfizaGw=.sha256", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "http://localhost:8989/blobs/get/&iW7F3SJpoPIZsORt0ktVMs39Fkjx5RVgeIVLkS1hnzw=.sha256" } }, "is-stream": { @@ -348,12 +348,12 @@ "integrity": "sha1-PnqUI/98Oy/hFmOvvW04N6JR+3c=" }, "isarray": { - "version": "0.0.1", - "resolved": "http://localhost:8989/blobs/get/&PoREAgaWgArtkqCdTFJgKtx2FAo5tsjpT+fInPcKnwo=.sha256" + "version": "http://localhost:8989/blobs/get/&PoREAgaWgArtkqCdTFJgKtx2FAo5tsjpT+fInPcKnwo=.sha256", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "isexe": { - "version": "2.0.0", - "resolved": "http://localhost:8989/blobs/get/&R8/ocuCI4oxTtzb+8wUyS1fMHPyfcqmw92n5JzHLg1k=.sha256" + "version": "http://localhost:8989/blobs/get/&R8/ocuCI4oxTtzb+8wUyS1fMHPyfcqmw92n5JzHLg1k=.sha256", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "jpeg-autorotate": { "version": "3.0.1", @@ -362,7 +362,7 @@ "requires": { "async": "2.5.0", "colors": "1.1.2", - "glob": "7.1.2", + "glob": "http://localhost:8989/blobs/get/&zz0+R6Ewi1Ev1wfx31k3N8tWkHnQS/l14fxI3mpintE=.sha256", "jpeg-js": "0.3.3", "piexifjs": "1.0.3", "yargs": "8.0.2" @@ -404,9 +404,9 @@ "resolved": "http://localhost:8989/blobs/get/&7XrFTggWEpyl07kr2oPQssslIvpKWTn6r2XI9ZU6RWY=.sha256", "integrity": "sha256-7XrFTggWEpyl07kr2oPQssslIvpKWTn6r2XI9ZU6RWY=", "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "http://localhost:8989/blobs/get/&arBwJw743Y7dRG34dCWCntMQkdx+XzB4f1q7nLXCtrg=.sha256", "parse-json": "2.2.0", - "pify": "2.3.0", + "pify": "http://localhost:8989/blobs/get/&dKUskx7qXSJvagTetuE48amJarzGT8HFl/g9GaeyBTA=.sha256", "strip-bom": "3.0.0" } }, @@ -430,11 +430,11 @@ "integrity": "sha256-oT3/+5D8wCnusZXTdC2XbHK1iXu04q9JzL2UkGYtNY4=" }, "lru-cache": { - "version": "4.1.1", - "resolved": "http://localhost:8989/blobs/get/&3nBo7+7JlMG70BMnaszNXPs10YrPZXer0nlEl34un2I=.sha256", + "version": "http://localhost:8989/blobs/get/&3nBo7+7JlMG70BMnaszNXPs10YrPZXer0nlEl34un2I=.sha256", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "http://localhost:8989/blobs/get/&B+lWNIfJsBYUEuydHdLDrhPHsSUEC7rE4KmaOHkLW44=.sha256", + "yallist": "http://localhost:8989/blobs/get/&x7MQhNNSXhcxS0bCjljOts2PEKn/km2vSDA5dvissLI=.sha256" } }, "mem": { @@ -445,15 +445,17 @@ "mimic-fn": "1.1.0" } }, - "mime-db": { - "version": "http://localhost:8989/blobs/get/&bthRei7RV8TfiQZxdmfGqc0N4W3c15dYuoEcDUFxyHY=.sha256", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, "mime-types": { - "version": "http://localhost:8989/blobs/get/&bZmlnBs3fRBs4JRo1O8ArQGuTHxuKwk+vj9dI3OdvLY=.sha256", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.17", + "resolved": "http://localhost:8989/blobs/get/&bZmlnBs3fRBs4JRo1O8ArQGuTHxuKwk+vj9dI3OdvLY=.sha256", "requires": { - "mime-db": "http://localhost:8989/blobs/get/&bthRei7RV8TfiQZxdmfGqc0N4W3c15dYuoEcDUFxyHY=.sha256" + "mime-db": "1.30.0" + }, + "dependencies": { + "mime-db": { + "version": "1.30.0", + "resolved": "http://localhost:8989/blobs/get/&bthRei7RV8TfiQZxdmfGqc0N4W3c15dYuoEcDUFxyHY=.sha256" + } } }, "mimic-fn": { @@ -462,10 +464,10 @@ "integrity": "sha256-gZzFzTkg7Kh5stP9JMbdUZgKKxbkADNPQilj/4OG53g=" }, "minimatch": { - "version": "3.0.4", - "resolved": "http://localhost:8989/blobs/get/&Qmok15u28NO7Ez5izsaQIYNtJUs52THBBN3XxGSt6nE=.sha256", + "version": "http://localhost:8989/blobs/get/&Qmok15u28NO7Ez5izsaQIYNtJUs52THBBN3XxGSt6nE=.sha256", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "http://localhost:8989/blobs/get/&fdjQQT88BvLg9ynhFsffO5ZCC04SoSTrnmmGGWWxcPo=.sha256" } }, "minimist": { @@ -547,13 +549,13 @@ } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "http://localhost:8989/blobs/get/&ldcavRhQkT4JQhtp++J4aTgpm+W2FvJ1+OqoJZpSRlo=.sha256", + "version": "http://localhost:8989/blobs/get/&ldcavRhQkT4JQhtp++J4aTgpm+W2FvJ1+OqoJZpSRlo=.sha256", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "http://localhost:8989/blobs/get/&YUe3Q99bA5b/X94y+wiLwCspLENBKyIV4NuecamLnlE=.sha256", + "is-builtin-module": "http://localhost:8989/blobs/get/&RCC0/zn3sTUkGwQmJD1O2/AtH23TKk+6aMf2jw6CDo4=.sha256", + "semver": "http://localhost:8989/blobs/get/&g9RJddYB3N4kZLtt5wGzYfSbu50VykRSS7J7Ca2xWNQ=.sha256", + "validate-npm-package-license": "http://localhost:8989/blobs/get/&FZFTRu/blzraNxOJt63Ut68JKa3cpNPwb1RBvaWZBW4=.sha256" } }, "npm-run-path": { @@ -565,14 +567,14 @@ } }, "number-is-nan": { - "version": "1.0.1", - "resolved": "http://localhost:8989/blobs/get/&iW7F3SJpoPIZsORt0ktVMs39Fkjx5RVgeIVLkS1hnzw=.sha256" + "version": "http://localhost:8989/blobs/get/&iW7F3SJpoPIZsORt0ktVMs39Fkjx5RVgeIVLkS1hnzw=.sha256", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "once": { - "version": "1.4.0", - "resolved": "http://localhost:8989/blobs/get/&z1FGC6Nwxpj2i5duUU0RNJczm6AYtgA+jo61acb8z88=.sha256", + "version": "http://localhost:8989/blobs/get/&z1FGC6Nwxpj2i5duUU0RNJczm6AYtgA+jo61acb8z88=.sha256", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "http://localhost:8989/blobs/get/&r/NzDZG3seFDgilW0UYI9WMWPPEbnQrmAt8f4eQw/fs=.sha256" } }, "options": { @@ -641,8 +643,8 @@ "integrity": "sha256-1/eHUtx14vijojKwZP0JkzAzSZdBPe2ClsetXY0GMi0=" }, "path-is-absolute": { - "version": "1.0.1", - "resolved": "http://localhost:8989/blobs/get/&bm1wnxpWlCUU5OLCcJswx7H/pG++1w5xSQSj1jsB91w=.sha256" + "version": "http://localhost:8989/blobs/get/&bm1wnxpWlCUU5OLCcJswx7H/pG++1w5xSQSj1jsB91w=.sha256", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "2.0.1", @@ -654,7 +656,7 @@ "resolved": "http://localhost:8989/blobs/get/&aeA2rrGi7kGSQrntYdwO3XuJ4nhp+A0kT9oa/STSOqE=.sha256", "integrity": "sha256-aeA2rrGi7kGSQrntYdwO3XuJ4nhp+A0kT9oa/STSOqE=", "requires": { - "pify": "2.3.0" + "pify": "http://localhost:8989/blobs/get/&dKUskx7qXSJvagTetuE48amJarzGT8HFl/g9GaeyBTA=.sha256" } }, "piexifjs": { @@ -663,8 +665,8 @@ "integrity": "sha256-vehOXuQ/+ioXqblkkFjlmuf/EtIn3q99V4465w4IWPg=" }, "pify": { - "version": "2.3.0", - "resolved": "http://localhost:8989/blobs/get/&dKUskx7qXSJvagTetuE48amJarzGT8HFl/g9GaeyBTA=.sha256" + "version": "http://localhost:8989/blobs/get/&dKUskx7qXSJvagTetuE48amJarzGT8HFl/g9GaeyBTA=.sha256", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "private-box": { "version": "0.2.1", @@ -675,8 +677,8 @@ } }, "pseudomap": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&B+lWNIfJsBYUEuydHdLDrhPHsSUEC7rE4KmaOHkLW44=.sha256" + "version": "http://localhost:8989/blobs/get/&B+lWNIfJsBYUEuydHdLDrhPHsSUEC7rE4KmaOHkLW44=.sha256", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "pull-box-stream": { "version": "1.0.13", @@ -696,17 +698,9 @@ "resolved": "http://localhost:8989/blobs/get/&+uVE8RHNwJIJa68sQGICGbxnCTCOdLLhSt/Pb4NmgL0=.sha256", "integrity": "sha256-+uVE8RHNwJIJa68sQGICGbxnCTCOdLLhSt/Pb4NmgL0=" }, - "pull-core": { - "version": "http://localhost:8989/blobs/get/&HZk9i531Fe2BN93/439wkrzR5ItsqLTwkgOhYLs09ao=.sha256", - "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo=" - }, - "pull-defer": { - "version": "0.2.2", - "resolved": "http://localhost:8989/blobs/get/&mDI2o/JC9yvFOVbeAhDN+hwTm7cK+dBwISYO49EMY24=.sha256" - }, "pull-git-packidx-parser": { - "version": "http://localhost:8989/blobs/get/&ou0MPQZabBgzrHDu54jzLU3Sc6Rf5a/lost0whPQUJ0=.sha256", - "integrity": "sha1-LYvwr+SCSJfuA4QL/k9ahq/syiE=", + "version": "1.0.0", + "resolved": "http://localhost:8989/blobs/get/&ou0MPQZabBgzrHDu54jzLU3Sc6Rf5a/lost0whPQUJ0=.sha256", "requires": { "pull-stream": "3.6.1" } @@ -743,25 +737,29 @@ "integrity": "sha256-mVOLtd5e8OPAoi/ARUMfEkgZlHrlkPzgapIlv2a9FwI=" }, "pull-hyperscript": { - "version": "http://localhost:8989/blobs/get/&jMiBworh7lOvn5eH15aXOAVDHAJnsAVONJ3F6/+6lrg=.sha256", - "integrity": "sha1-ykplgzYxhU9XWk4phVaMmQH1Y4M=", + "version": "0.2.2", + "resolved": "http://localhost:8989/blobs/get/&jMiBworh7lOvn5eH15aXOAVDHAJnsAVONJ3F6/+6lrg=.sha256", "requires": { "pull-cat": "1.1.11", "pull-stream": "3.6.1" } }, "pull-identify-filetype": { - "version": "http://localhost:8989/blobs/get/&+bhhz+qZR+p9Q93DusCRsOAMc3mhNU7f11DnnB3FLFo=.sha256", - "integrity": "sha1-X5mvFeiEbUjs9iXtwkjsLPV/aw0=", + "version": "1.1.0", + "resolved": "http://localhost:8989/blobs/get/&+bhhz+qZR+p9Q93DusCRsOAMc3mhNU7f11DnnB3FLFo=.sha256", "requires": { - "pull-stream": "http://localhost:8989/blobs/get/&lilCQ+zOUuYxQdgWAG/nW1NGuFTlg0xJ0QhKwlJ7HWA=.sha256" + "pull-stream": "2.28.4" }, "dependencies": { + "pull-core": { + "version": "1.1.0", + "resolved": "http://localhost:8989/blobs/get/&HZk9i531Fe2BN93/439wkrzR5ItsqLTwkgOhYLs09ao=.sha256" + }, "pull-stream": { - "version": "http://localhost:8989/blobs/get/&lilCQ+zOUuYxQdgWAG/nW1NGuFTlg0xJ0QhKwlJ7HWA=.sha256", - "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=", + "version": "2.28.4", + "resolved": "http://localhost:8989/blobs/get/&lilCQ+zOUuYxQdgWAG/nW1NGuFTlg0xJ0QhKwlJ7HWA=.sha256", "requires": { - "pull-core": "http://localhost:8989/blobs/get/&HZk9i531Fe2BN93/439wkrzR5ItsqLTwkgOhYLs09ao=.sha256" + "pull-core": "1.1.0" } } } @@ -774,16 +772,9 @@ "multicb": "1.2.2" } }, - "pull-many": { - "version": "1.0.8", - "resolved": "http://localhost:8989/blobs/get/&wBHfPheBEjwjjkNoeM5mWtU/tYDs8+xnt5w6C1+EK3g=.sha256", - "requires": { - "pull-stream": "3.6.1" - } - }, "pull-paginate": { - "version": "http://localhost:8989/blobs/get/&4gERPvcRCgSlKyybE+EiKHLIz4kbeSz5+T/MVAz0Jxo=.sha256", - "integrity": "sha1-Y61Y76EGa8cBqlgamKPEHmrsf8I=" + "version": "1.0.0", + "resolved": "http://localhost:8989/blobs/get/&4gERPvcRCgSlKyybE+EiKHLIz4kbeSz5+T/MVAz0Jxo=.sha256" }, "pull-pair": { "version": "1.1.0", @@ -855,7 +846,7 @@ "integrity": "sha256-JvAF9aaNZEnja1eP0Vwd+ISFq525USZSRA0iey6AjYk=", "requires": { "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", + "normalize-package-data": "http://localhost:8989/blobs/get/&ldcavRhQkT4JQhtp++J4aTgpm+W2FvJ1+OqoJZpSRlo=.sha256", "path-type": "2.0.0" } }, @@ -869,13 +860,13 @@ } }, "readable-stream": { - "version": "1.1.14", - "resolved": "http://localhost:8989/blobs/get/&LJk/zFok/BYFod2B9SuSF3SZAxbTHbxhqV8k0NfVneQ=.sha256", + "version": "http://localhost:8989/blobs/get/&LJk/zFok/BYFod2B9SuSF3SZAxbTHbxhqV8k0NfVneQ=.sha256", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "1.0.2", + "core-util-is": "http://localhost:8989/blobs/get/&pKRNq2V57ePgat5Y0m+P1kLq4JFT/VnGCPy3lRpJk5g=.sha256", "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "isarray": "http://localhost:8989/blobs/get/&PoREAgaWgArtkqCdTFJgKtx2FAo5tsjpT+fInPcKnwo=.sha256", + "string_decoder": "http://localhost:8989/blobs/get/&Pm5v/q/mFX6yJ4qQmvwLhFI0sTRG3KipUYwrebnCIIY=.sha256" } }, "relative-url": { @@ -911,8 +902,8 @@ } }, "semver": { - "version": "5.4.1", - "resolved": "http://localhost:8989/blobs/get/&g9RJddYB3N4kZLtt5wGzYfSbu50VykRSS7J7Ca2xWNQ=.sha256" + "version": "http://localhost:8989/blobs/get/&g9RJddYB3N4kZLtt5wGzYfSbu50VykRSS7J7Ca2xWNQ=.sha256", + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=" }, "separator-escape": { "version": "0.0.0", @@ -920,8 +911,8 @@ "integrity": "sha256-qKSDEN6jTKKDauG5dYvQglg6Swhb3ITWZJ8R4IvdZy8=" }, "set-blocking": { - "version": "2.0.0", - "resolved": "http://localhost:8989/blobs/get/&2TSu59ueCdoJ6HckdDMV/+iIEwqm4E+73srJhfauaT0=.sha256" + "version": "http://localhost:8989/blobs/get/&2TSu59ueCdoJ6HckdDMV/+iIEwqm4E+73srJhfauaT0=.sha256", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "sha.js": { "version": "2.4.5", @@ -932,19 +923,19 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "http://localhost:8989/blobs/get/&5WWErtZ/p4VembY82QIx4lBuVJOjf1L1PiMkFfV94fc=.sha256", + "version": "http://localhost:8989/blobs/get/&5WWErtZ/p4VembY82QIx4lBuVJOjf1L1PiMkFfV94fc=.sha256", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "http://localhost:8989/blobs/get/&Z28STo5mIcUbVj1hE2+b8r7LhrC2xOa/sFWs4h6FxnE=.sha256" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&Z28STo5mIcUbVj1hE2+b8r7LhrC2xOa/sFWs4h6FxnE=.sha256" + "version": "http://localhost:8989/blobs/get/&Z28STo5mIcUbVj1hE2+b8r7LhrC2xOa/sFWs4h6FxnE=.sha256", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "signal-exit": { - "version": "3.0.2", - "resolved": "http://localhost:8989/blobs/get/&2JAO0FDbn45cJ1KdQ8Al0Lu7FnN8oZnYa9UP3Ixb0tg=.sha256" + "version": "http://localhost:8989/blobs/get/&2JAO0FDbn45cJ1KdQ8Al0Lu7FnN8oZnYa9UP3Ixb0tg=.sha256", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "smart-buffer": { "version": "1.1.15", @@ -1008,19 +999,19 @@ } }, "spdx-correct": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&u0lrrQ97A1WKgbvJWYnLzeslgh8TGLulR2Fq/MoGoD8=.sha256", + "version": "http://localhost:8989/blobs/get/&u0lrrQ97A1WKgbvJWYnLzeslgh8TGLulR2Fq/MoGoD8=.sha256", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "http://localhost:8989/blobs/get/&2KBzyE003CuDQOM8oy9Z+CYV3QS7waQpwnA7DQ1tnyM=.sha256" } }, "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "http://localhost:8989/blobs/get/&ZyIVgNc6CYRt9acicl6jKnazntXD5z10hvSrelW303g=.sha256" + "version": "http://localhost:8989/blobs/get/&ZyIVgNc6CYRt9acicl6jKnazntXD5z10hvSrelW303g=.sha256", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "http://localhost:8989/blobs/get/&2KBzyE003CuDQOM8oy9Z+CYV3QS7waQpwnA7DQ1tnyM=.sha256" + "version": "http://localhost:8989/blobs/get/&2KBzyE003CuDQOM8oy9Z+CYV3QS7waQpwnA7DQ1tnyM=.sha256", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, "split-buffer": { "version": "1.0.0", @@ -1051,16 +1042,6 @@ "rc": "1.2.1" } }, - "ssb-contact": { - "version": "1.0.0", - "resolved": "http://localhost:8989/blobs/get/&2z3wB2xn/OgMu8JcrwnKJhZiz188mvNGOhGI1vSbrms=.sha256", - "integrity": "sha256-2z3wB2xn/OgMu8JcrwnKJhZiz188mvNGOhGI1vSbrms=", - "requires": { - "pull-defer": "0.2.2", - "pull-many": "1.0.8", - "pull-stream": "3.6.1" - } - }, "ssb-keys": { "version": "7.0.10", "resolved": "http://localhost:8989/blobs/get/&/XLsWirGsUv3pQ11HIJwzZgLF7HVKQmd4QCt+nCDf6A=.sha256", @@ -1072,14 +1053,14 @@ } }, "ssb-marked": { - "version": "http://localhost:8989/blobs/get/&5yyYBZpB4w+X6kW42KMh43Xz9KP3XW79mYOj40/CHA4=.sha256", - "integrity": "sha1-Fg4kETeCqcpegGByqnpl58hl2/I=" + "version": "0.7.2", + "resolved": "http://localhost:8989/blobs/get/&5yyYBZpB4w+X6kW42KMh43Xz9KP3XW79mYOj40/CHA4=.sha256" }, "ssb-mentions": { "version": "http://localhost:8989/blobs/get/&GKwsJ3ykvOXc24wyNuWBdmnCFpQ+Ltd9ggjoOuOF/Pg=.sha256", "integrity": "sha1-en5LsSk2uHwNcjeC+b1ZMfuFef4=", "requires": { - "ssb-marked": "http://localhost:8989/blobs/get/&5yyYBZpB4w+X6kW42KMh43Xz9KP3XW79mYOj40/CHA4=.sha256", + "ssb-marked": "0.7.2", "ssb-ref": "http://localhost:8989/blobs/get/&wLimOD3785KVj7kBIAbjN6GH8EMhKRkcZSPrEMhdhks=.sha256" } }, @@ -1150,14 +1131,14 @@ } }, "string_decoder": { - "version": "0.10.31", - "resolved": "http://localhost:8989/blobs/get/&Pm5v/q/mFX6yJ4qQmvwLhFI0sTRG3KipUYwrebnCIIY=.sha256" + "version": "http://localhost:8989/blobs/get/&Pm5v/q/mFX6yJ4qQmvwLhFI0sTRG3KipUYwrebnCIIY=.sha256", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "strip-ansi": { - "version": "3.0.1", - "resolved": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256", + "version": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "http://localhost:8989/blobs/get/&UrirFIhl7q9TjmMKk3+hU9WvISMvAUpdTjhJGTe+gDc=.sha256" } }, "strip-bom": { @@ -1194,18 +1175,18 @@ "integrity": "sha256-x9CnHOGgcWXdpCT6uvXvsVHIbcTZ12GYkjEOgXE31BQ=" }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "http://localhost:8989/blobs/get/&FZFTRu/blzraNxOJt63Ut68JKa3cpNPwb1RBvaWZBW4=.sha256", + "version": "http://localhost:8989/blobs/get/&FZFTRu/blzraNxOJt63Ut68JKa3cpNPwb1RBvaWZBW4=.sha256", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "http://localhost:8989/blobs/get/&u0lrrQ97A1WKgbvJWYnLzeslgh8TGLulR2Fq/MoGoD8=.sha256", + "spdx-expression-parse": "http://localhost:8989/blobs/get/&ZyIVgNc6CYRt9acicl6jKnazntXD5z10hvSrelW303g=.sha256" } }, "which": { - "version": "1.3.0", - "resolved": "http://localhost:8989/blobs/get/&h6jOfljGoAtkQMJTmk4dqC8keZDFRqk0eKkAp5+jBRI=.sha256", + "version": "http://localhost:8989/blobs/get/&h6jOfljGoAtkQMJTmk4dqC8keZDFRqk0eKkAp5+jBRI=.sha256", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", "requires": { - "isexe": "2.0.0" + "isexe": "http://localhost:8989/blobs/get/&R8/ocuCI4oxTtzb+8wUyS1fMHPyfcqmw92n5JzHLg1k=.sha256" } }, "which-module": { @@ -1218,24 +1199,24 @@ "resolved": "http://localhost:8989/blobs/get/&TpxoOo3dElmEOT8sLMAUA3SDRYqGPAC/y6dCndgSNJA=.sha256", "integrity": "sha256-TpxoOo3dElmEOT8sLMAUA3SDRYqGPAC/y6dCndgSNJA=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "strip-ansi": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256" }, "dependencies": { "string-width": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "version": "http://localhost:8989/blobs/get/&l+VN7YzKbSSljo0GUPz+gPtAlIlMIHgTa0rQ8kBZ4l0=.sha256", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "http://localhost:8989/blobs/get/&UnnKeJhtY4GFKsGwJZKuLcXMl5MXKEuKoddVQQd3Cz0=.sha256", + "is-fullwidth-code-point": "http://localhost:8989/blobs/get/&d+1lahMNR8yATB2P2ujw/ErTVWJVUvzeN3A8pfizaGw=.sha256", + "strip-ansi": "http://localhost:8989/blobs/get/&HJ04WkEYlZUU+E3OjXuy2vyALwJy3QA0iqGNF7lbeTo=.sha256" } } } }, "wrappy": { - "version": "1.0.2", - "resolved": "http://localhost:8989/blobs/get/&r/NzDZG3seFDgilW0UYI9WMWPPEbnQrmAt8f4eQw/fs=.sha256" + "version": "http://localhost:8989/blobs/get/&r/NzDZG3seFDgilW0UYI9WMWPPEbnQrmAt8f4eQw/fs=.sha256", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "1.1.4", @@ -1252,8 +1233,8 @@ "integrity": "sha256-TXQS5y1kIQaEezyqhZelSyQXjjuq9AZ0jVGdi1FGJ0E=" }, "yallist": { - "version": "2.1.2", - "resolved": "http://localhost:8989/blobs/get/&x7MQhNNSXhcxS0bCjljOts2PEKn/km2vSDA5dvissLI=.sha256" + "version": "http://localhost:8989/blobs/get/&x7MQhNNSXhcxS0bCjljOts2PEKn/km2vSDA5dvissLI=.sha256", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { "version": "8.0.2", @@ -1268,7 +1249,7 @@ "read-pkg-up": "2.0.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", + "set-blocking": "http://localhost:8989/blobs/get/&2TSu59ueCdoJ6HckdDMV/+iIEwqm4E+73srJhfauaT0=.sha256", "string-width": "2.1.1", "which-module": "2.0.0", "y18n": "3.2.1", diff --git a/package.json b/package.json index 47cdcca..d83d65a 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "pull-reader": "^1.2.9", "pull-stream": "^3.5.0", "ssb-client": "http://localhost:8989/blobs/get/&EAaUpI+wrJM5/ly1RqZW0GAEF4PmCAmABBj7e6UIrL0=.sha256", - "ssb-contact": "^1.0.0", "ssb-marked": "^0.7.1", "ssb-mentions": "http://localhost:8989/blobs/get/&GKwsJ3ykvOXc24wyNuWBdmnCFpQ+Ltd9ggjoOuOF/Pg=.sha256", "ssb-sort": "^1.0.0", -- cgit v1.2.3