From c27d298081e57bd59b10ae88e0524cda064a6fc8 Mon Sep 17 00:00:00 2001 From: Christian Bundy Date: Sat, 7 Dec 2019 15:22:00 -0800 Subject: [PATCH] Add basic search functionality --- docs/roadmap.md | 2 +- package.json | 2 +- src/app.js | 5 + src/assets/style.css | 10 + src/pages/models/lib/cooler.js | 3 + src/pages/models/post.js | 34 +++ src/pages/search.js | 10 + src/pages/views/components/template.js | 1 + src/pages/views/search.js | 14 ++ yarn.lock | 331 ++++++++++++++++++++++--- 10 files changed, 372 insertions(+), 40 deletions(-) create mode 100644 src/pages/search.js create mode 100644 src/pages/views/search.js diff --git a/docs/roadmap.md b/docs/roadmap.md index a2dae4b..6ee830c 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -18,7 +18,7 @@ - [x] Posts that are thread comments - [x] Nested comments in threads - [ ] Pagination to view older posts - - [ ] Search to filter posts by content + - [x] Search to filter posts by content - [x] Notifications (by author mention) - [x] Content warning - [ ] Set diff --git a/package.json b/package.json index 81a4fb1..f044c93 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "AGPL-3.0", "dependencies": { "@fraction/base16-css": "^1.1.0", - "@fraction/flotilla": "^2.0.0", + "@fraction/flotilla": "3.0.0", "debug": "^4.1.1", "highlight.js": "^9.16.2", "hyperaxe": "^1.3.0", diff --git a/src/app.js b/src/app.js index 482a990..7f3d682 100644 --- a/src/app.js +++ b/src/app.js @@ -31,6 +31,7 @@ const blob = require('./pages/blob') const publish = require('./pages/publish') const markdown = require('./pages/markdown') const inboxPage = require('./pages/inbox') +const searchPage = require('./pages/search') const defaultTheme = 'unikitty-light' @@ -121,6 +122,10 @@ module.exports = (config) => { const { feed } = ctx.params ctx.body = await author(feed) }) + .get('/search/', async (ctx) => { + const { query } = ctx.query + ctx.body = await searchPage({ query }) + }) .get('/inbox', async (ctx) => { ctx.body = await inboxPage() }) diff --git a/src/assets/style.css b/src/assets/style.css index 4f41ac9..07ce663 100644 --- a/src/assets/style.css +++ b/src/assets/style.css @@ -62,6 +62,11 @@ html { padding: 0; } +main { + margin-top: 1rem; + margin-bottom: 2rem; +} + /* https://www.desmos.com/calculator/3elcf5cwhn */ h1 { font-size: 133%; } /* 4 / 3 */ h2 { font-size: 115%; } /* 8 / 7 */ @@ -390,3 +395,8 @@ th { text-align: left; background-color: var(--bg-status); } + +input[type="search"] { + width: 100%; + margin-bottom: 1rem; +} diff --git a/src/pages/models/lib/cooler.js b/src/pages/models/lib/cooler.js index 9bf131a..5f8588a 100644 --- a/src/pages/models/lib/cooler.js +++ b/src/pages/models/lib/cooler.js @@ -35,6 +35,9 @@ const rawConnect = () => new Promise((resolve, reject) => { friends: { isFollowing: 'async', isBlocking: 'async' + }, + search: { + query: 'source' } } }, (err, api) => { diff --git a/src/pages/models/post.js b/src/pages/models/post.js index f8fd293..efbba98 100644 --- a/src/pages/models/post.js +++ b/src/pages/models/post.js @@ -285,6 +285,40 @@ const post = { return messages }, + search: async ({ query }) => { + const ssb = await cooler.connect() + + const whoami = await cooler.get(ssb.whoami) + const myFeedId = whoami.id + + const options = configure({ + query + }) + + const source = await cooler.read( + ssb.search.query, + options + ) + + const messages = await new Promise((resolve, reject) => { + pull( + source, + pull.filter((message) => // avoid private messages (!) + typeof message.value.content !== 'string' + ), + pull.take(maxMessages), + pull.collect((err, collectedMessages) => { + if (err) { + reject(err) + } else { + resolve(transform(ssb, collectedMessages, myFeedId)) + } + }) + ) + }) + + return messages + }, latest: async () => { const ssb = await cooler.connect() diff --git a/src/pages/search.js b/src/pages/search.js new file mode 100644 index 0000000..15a593e --- /dev/null +++ b/src/pages/search.js @@ -0,0 +1,10 @@ +'use strict' + +const post = require('./models/post') +const searchView = require('./views/search') + +module.exports = async function searchPage ({ query }) { + const messages = await post.search({ query }) + + return searchView({ messages, query }) +} diff --git a/src/pages/views/components/template.js b/src/pages/views/components/template.js index afb15c6..b35a77b 100644 --- a/src/pages/views/components/template.js +++ b/src/pages/views/components/template.js @@ -45,6 +45,7 @@ module.exports = (...elements) => { li(a({ href: '/inbox' }, 'inbox')), li(a({ href: '/mentions' }, 'mentions')), li(a({ href: '/profile' }, 'profile')), + li(a({ href: '/search' }, 'search')), li(a({ href: '/meta' }, 'meta')) ) ), diff --git a/src/pages/views/search.js b/src/pages/views/search.js new file mode 100644 index 0000000..b0213cd --- /dev/null +++ b/src/pages/views/search.js @@ -0,0 +1,14 @@ +'use strict' + +const template = require('./components/template') +const post = require('./components/post') +const { form, input, button } = require('hyperaxe') + +module.exports = ({ messages, query }) => template( + form({ action: '/search', method: 'get' }, + input({ required: true, type: 'search', name: 'query', value: query }), + button({ + type: 'submit' + }, 'submit')), + messages.map((msg) => post({ msg })) +) diff --git a/yarn.lock b/yarn.lock index 36c79ab..eb06cba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -123,10 +123,10 @@ resolved "https://registry.yarnpkg.com/@fraction/base16-css/-/base16-css-1.1.0.tgz#296fc756c6573f6c85bccdf06894a014ad346564" integrity sha512-Lnle0J8t+Z+jFg78GFFnGo+Fphxaco9K9SppeBDsI27QBRBumxeGAMeOg5wt6XbAuj5pQWmAEWWEwPz4PYGMHw== -"@fraction/flotilla@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fraction/flotilla/-/flotilla-2.1.1.tgz#fb1a2e27c0d601d1ed14d1af05676a0980d239da" - integrity sha512-ADUaeXqdFVc1feRzLvTtCJu10TF2/M9pf3ywpw4Dmc0LUqcx8oe0kHfEteVllei46VRDmlPsYogj+IO/03PPxg== +"@fraction/flotilla@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@fraction/flotilla/-/flotilla-3.0.0.tgz#cabbd16cd360d81d71529517d2500a5647102f07" + integrity sha512-FGEXJl1iYEaAKIWBRp0Fwy5IeaukTsCNKYHj6BtihHH0X8p9FCJTLriQQsdpIg3qAgrjOMbP2QZoywNVK5oltA== dependencies: lodash.shuffle "^4.2.0" secret-stack "^6.3.0" @@ -140,7 +140,6 @@ ssb-invite "^2.1.3" ssb-lan "^0.1.3" ssb-links "^3.0.8" - ssb-local "^1.0.0" ssb-logging "^1.0.0" ssb-master "^1.0.3" ssb-no-auth "^1.0.0" @@ -149,6 +148,8 @@ ssb-plugins "^1.0.2" ssb-query "^2.4.3" ssb-replicate "^1.3.0" + ssb-room "^1.1.1" + ssb-search "^1.2.1" ssb-tangle "^1.0.1" ssb-unix-socket "^1.0.0" ssb-ws "^6.2.3" @@ -274,7 +275,7 @@ abstract-leveldown@~6.0.1: level-concat-iterator "~2.0.0" xtend "~4.0.0" -accepts@^1.3.5: +accepts@^1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -425,6 +426,11 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + array-from@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" @@ -583,6 +589,22 @@ blake2s@^1.0.1: resolved "https://registry.yarnpkg.com/blake2s/-/blake2s-1.1.0.tgz#825a8fc536a5dc43193467f3124f7e9b78b21cef" integrity sha1-glqPxTal3EMZNGfzEk9+m3iyHO8= +body-parser@1.19.0, body-parser@^1.16.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -1066,14 +1088,14 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@~0.5.2: +content-disposition@0.5.3, content-disposition@~0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== dependencies: safe-buffer "5.1.2" -content-type@^1.0.4: +content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== @@ -1122,6 +1144,16 @@ convert-source-map@^1.5.1, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + cookies@~0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" @@ -1441,7 +1473,7 @@ debug-log@^1.0.0: resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8= -debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1619,7 +1651,7 @@ dependency-check@^4.1.0: read-package-json "^2.0.10" resolve "^1.1.7" -destroy@^1.0.4: +destroy@^1.0.4, destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= @@ -1758,6 +1790,11 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +ejs@^2.5.5: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + electron-to-chromium@^1.3.317: version "1.3.321" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.321.tgz#913869f5ec85daabba0e75c9c314b4bf26cdb01e" @@ -1785,7 +1822,7 @@ emoji-server@^1.0.0: dependencies: emoji-named-characters "~1.0.2" -encodeurl@^1.0.2: +encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= @@ -1926,7 +1963,7 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -escape-html@^1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -2164,6 +2201,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + event-emitter@~0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" @@ -2228,6 +2270,42 @@ explain-error@^1.0.1, explain-error@^1.0.3, explain-error@^1.0.4, explain-error@ resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" integrity sha1-p5PTrAytTGq1cemWj7urbLJTKSk= +express@^4.16.0: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext@^1.1.2: version "1.4.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" @@ -2354,6 +2432,19 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + find-root@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -2447,7 +2538,7 @@ flumeview-hashtable@^1.0.2: obv "0.0.1" pull-stream "^3.6.0" -flumeview-level@^3.0.0, flumeview-level@^3.0.13: +flumeview-level@^3.0.0, flumeview-level@^3.0.13, flumeview-level@^3.0.5: version "3.0.14" resolved "https://registry.yarnpkg.com/flumeview-level/-/flumeview-level-3.0.14.tgz#236da6675e51853acc85e7622e7a51325f58ae3a" integrity sha512-Nl0gJOgrDGpJGZDkP6gvo6s1Q9WmRynbHUvI/JY3eQ81YgzUUa2FKLlfu6OHV5ho5NeXP+00F+0K1yBVaEgJOQ== @@ -2502,6 +2593,16 @@ flumeview-reduce@^1.3.0, flumeview-reduce@^1.3.9: pull-notify "^0.1.1" pull-stream "^3.5.0" +flumeview-search@^1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/flumeview-search/-/flumeview-search-1.0.6.tgz#e7ac71eb6ee7635a36c23aa9b1646673c85aa980" + integrity sha512-gXuKH2Y3/6dkdK2UEOBILnVZcP0mRYeIDZmJK5CB+PjXWn2ZPANSg1vGuKcqMq/bmfbbVtNwsnMFDGWMnhcvPg== + dependencies: + flumeview-level "^3.0.5" + pull-paramap "^1.2.2" + pull-pushable "^2.2.0" + pull-stream "^3.0.1" + for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -2519,6 +2620,11 @@ formidable@^1.1.1: resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -2526,7 +2632,7 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fresh@~0.5.2: +fresh@0.5.2, fresh@~0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= @@ -2933,6 +3039,17 @@ http-assert@^1.3.0: deep-equal "~1.0.1" http-errors "~1.7.2" +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + http-errors@1.7.3, http-errors@^1.3.1, http-errors@^1.6.3, http-errors@~1.7.2: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -3138,6 +3255,11 @@ ip@1.1.5, ip@^1.1.3, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= +ipaddr.js@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -4201,6 +4323,11 @@ meow@^5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + merge-source-map@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" @@ -4213,7 +4340,7 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== -methods@^1.0.1: +methods@^1.0.1, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -4257,7 +4384,7 @@ mime-types@^2.1.18, mime-types@~2.1.24: dependencies: mime-db "1.42.0" -mime@^1.3.4: +mime@1.6.0, mime@^1.3.4: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -4362,6 +4489,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -4829,7 +4961,7 @@ on-change-network-strict@1.0.0: resolved "https://registry.yarnpkg.com/on-change-network-strict/-/on-change-network-strict-1.0.0.tgz#0d3c5ca7f03944ad07198e096db83693208e9ee0" integrity sha512-ldHCpTJWgr5KUJy3/TVoSGNwBUA8BP9UFmd0iQqe4aGaXY4PJyzQPiVBIo8VBSlSoKyaJY3vcpW0hixZb6gPaA== -on-finished@^2.3.0: +on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= @@ -5029,7 +5161,7 @@ parse-ms@^2.1.0: resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== -parseurl@^1.3.2: +parseurl@^1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -5074,6 +5206,11 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + path-to-regexp@^1.1.1: version "1.8.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" @@ -5343,6 +5480,14 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +proxy-addr@~2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.0" + prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -5516,7 +5661,7 @@ pull-next@^1.0.1: resolved "https://registry.yarnpkg.com/pull-next/-/pull-next-1.0.1.tgz#03f4d7d19872fc1114161e88db6ecf4c65e61e56" integrity sha1-A/TX0Zhy/BEUFh6I227PTGXmHlY= -pull-notify@^0.1.0, pull-notify@^0.1.1, pull-notify@~0.1.1: +pull-notify@0.1.1, pull-notify@^0.1.0, pull-notify@^0.1.1, pull-notify@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pull-notify/-/pull-notify-0.1.1.tgz#6f86ff95d270b89c3ebf255b6031b7032dc99cca" integrity sha1-b4b/ldJwuJw+vyVbYDG3Ay3JnMo= @@ -5579,7 +5724,7 @@ pull-sort@^1.0.1, pull-sort@^1.0.2: pull-defer "^0.2.3" pull-stream "^3.6.9" -pull-stream@^3.2.3, pull-stream@^3.3.0, pull-stream@^3.4.0, pull-stream@^3.4.3, pull-stream@^3.4.5, pull-stream@^3.5.0, pull-stream@^3.6.0, pull-stream@^3.6.1, pull-stream@^3.6.10, pull-stream@^3.6.11, pull-stream@^3.6.12, pull-stream@^3.6.13, pull-stream@^3.6.2, pull-stream@^3.6.7, pull-stream@^3.6.8, pull-stream@^3.6.9, pull-stream@~3.6.9: +pull-stream@^3.0.1, pull-stream@^3.2.3, pull-stream@^3.3.0, pull-stream@^3.4.0, pull-stream@^3.4.3, pull-stream@^3.4.5, pull-stream@^3.5.0, pull-stream@^3.6.0, pull-stream@^3.6.1, pull-stream@^3.6.10, pull-stream@^3.6.11, pull-stream@^3.6.12, pull-stream@^3.6.13, pull-stream@^3.6.2, pull-stream@^3.6.7, pull-stream@^3.6.8, pull-stream@^3.6.9, pull-stream@~3.6.14, pull-stream@~3.6.9: version "3.6.14" resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee" integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew== @@ -5670,6 +5815,16 @@ push-stream@^10.0.0, push-stream@^10.0.3: resolved "https://registry.yarnpkg.com/push-stream/-/push-stream-10.1.2.tgz#8578885b7e957463d02df56ea2049b3cabb7d990" integrity sha512-wCDN1KkAWOMXsiV0XxH/CggHqOYeXvyn00t9Zjp5RKsLZ2rzg/lLJIMAVxYLyh79T168W3fBYcG5TRRJAlQr6g== +qr-image@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/qr-image/-/qr-image-3.2.0.tgz#9fa8295beae50c4a149cf9f909a1db464a8672e8" + integrity sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + qs@^6.4.0: version "6.9.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.1.tgz#20082c65cb78223635ab1a9eaca8875a29bf8ec9" @@ -5707,11 +5862,21 @@ randexp@0.4.6: discontinuous-range "1.0.0" ret "~0.1.10" -range-parser@^1.2.0: +range-parser@^1.2.0, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + raw-body@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" @@ -6171,6 +6336,24 @@ secret-stack-decorators@1.0.0, secret-stack-decorators@~1.0.0: resolved "https://registry.yarnpkg.com/secret-stack-decorators/-/secret-stack-decorators-1.0.0.tgz#0eb4c25feb06f678572235415420d3192e897f59" integrity sha512-IOg/RCXS6q5rRuGPV0fsExG5D5wGVk+evvPl0pdZJrfBwDQiWGi4yxPhDNxvZb/So4TiVj8iQRxVdkWwrPFaBg== +secret-stack@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/secret-stack/-/secret-stack-6.3.0.tgz#46ed285cf3ce6acaaa76945a6ad736971a1659df" + integrity sha512-abIfcP1tlJ3gbfgAkp6mgqEc7M70GvXVTyE//iHDXMQz21zQxOD5WcWAiMg1Lgw5FgLfHM1WF+c8PqFNNE3WOg== + dependencies: + debug "^4.1.0" + hoox "0.0.1" + ip "^1.1.5" + map-merge "^1.1.0" + multiserver "^3.1.0" + muxrpc "^6.4.0" + non-private-ip "^1.4.3" + pull-inactivity "~2.1.1" + pull-rate "^1.0.2" + pull-stream "^3.4.5" + stream-to-pull-stream "^1.6.1" + to-camel-case "^1.0.0" + secret-stack@^6.3.0: version "6.3.1" resolved "https://registry.yarnpkg.com/secret-stack/-/secret-stack-6.3.1.tgz#6aa2e575bf02d7e0cc37fb81bfe76f86c431510f" @@ -6216,11 +6399,40 @@ semver@~5.1.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" integrity sha1-oykqNz5vPgeY2gsgZBuanFvEfhk= +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + separator-escape@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/separator-escape/-/separator-escape-0.0.0.tgz#e433676932020454e3c14870c517ea1de56c2fa4" integrity sha1-5DNnaTICBFTjwUhwxRfqHeVsL6Q= +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -6529,12 +6741,12 @@ ssb-blobs@^1.2.2: pull-stream "^3.3.0" ssb-ref "^2.3.0" -ssb-caps@^1.0.1: +ssb-caps@^1.0.1, ssb-caps@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ssb-caps/-/ssb-caps-1.1.0.tgz#1cdce2971b13dea8ca595be9668fdf94b5955fb2" integrity sha512-qe3qpvchJ+gnH8M/ge4rpL+7eRbSmsEAzNwHkDdrW06OBcziQ6/KuAdmcR6joxCbNeoAXAZF+inkefgE16okXA== -ssb-client@^4.7.4, ssb-client@^4.7.7: +ssb-client@^4.7.4, ssb-client@^4.7.7, ssb-client@~4.7.8: version "4.7.9" resolved "https://registry.yarnpkg.com/ssb-client/-/ssb-client-4.7.9.tgz#c49260c12736155ef343bbda02728db95655c845" integrity sha512-koVuazgGa+Pz7KHnPTsOFvaKSrE0T38wSO7n6P7ZQp+1BpaoBCI4z8Kq2SvMw521Sz9dK9Rwh2bTakEDRgx84A== @@ -6561,6 +6773,19 @@ ssb-config@^3.2.5, ssb-config@^3.4.3: ssb-caps "^1.0.1" ssb-keys "^7.1.4" +ssb-config@~3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ssb-config/-/ssb-config-3.3.3.tgz#683031072c095f13070ec393cb98957125af062a" + integrity sha512-5dcFuYrUqyELNHzX3fOcgF/SRdjVWjkXxgq5+D+bt7KUy1YCCAEiB1VkQfhwWeDblYQCaXSE6rhuWO9JMTkJSg== + dependencies: + deep-extend "^0.6.0" + lodash.get "^4.4.2" + non-private-ip "^1.4.4" + os-homedir "^1.0.1" + rc "^1.1.6" + ssb-caps "^1.0.1" + ssb-keys "^7.1.4" + ssb-conn-db@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ssb-conn-db/-/ssb-conn-db-0.2.1.tgz#363d75fbe55d008a7f4e576fb7ec3ba886df1742" @@ -6607,7 +6832,7 @@ ssb-conn-staging@~0.1.0: pull-notify "~0.1.1" pull-stream "^3.6.9" -ssb-conn@^0.11.2: +ssb-conn@^0.11.2, ssb-conn@~0.11.0: version "0.11.2" resolved "https://registry.yarnpkg.com/ssb-conn/-/ssb-conn-0.11.2.tgz#99aa302cab5d91993d99589b2450bebca62822c4" integrity sha512-jekmlO3nXYFIMpIe6N5n3NFRD484IaA9vROFFIuHZVcWdd13o1x577b+qNoWcigg2OjjGVN9ySFRlqVCO0zMMg== @@ -6728,15 +6953,7 @@ ssb-links@^3.0.8: map-filter-reduce "^2.0.0" ssb-msgs "^5.2.0" -ssb-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ssb-local/-/ssb-local-1.0.0.tgz#05950ecdd590fc9afbbd82c79c1c43d0349b0d9a" - integrity sha512-aIkz+tDsAQFLbcN5d9itipHG71EG62UdIwojz78BQBxD7kGTwMezZofkMplURp9/njwdqMiqxYEUMvOh8Emh/w== - dependencies: - broadcast-stream "^0.2.2" - ssb-ref "^2.13.9" - -ssb-logging@^1.0.0: +ssb-logging@^1.0.0, ssb-logging@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ssb-logging/-/ssb-logging-1.0.0.tgz#01df4a9b7275efc58fbd625e573f47e52280e6c7" integrity sha512-6apTG47+VgLAD3MYkpRTbO27DMDh0YLJIvWfcJUEo5FdrjnLsqDl1kkzQ4B5MbH08z5Vklx5907t4by9rhlROQ== @@ -6761,7 +6978,7 @@ ssb-marked@^0.7.0: resolved "https://registry.yarnpkg.com/ssb-marked/-/ssb-marked-0.7.4.tgz#31714f16548531c99a03a24e22c7e1ebbbce7875" integrity sha1-MXFPFlSFMcmaA6JOIsfh67vOeHU= -ssb-master@^1.0.3: +ssb-master@^1.0.3, ssb-master@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/ssb-master/-/ssb-master-1.0.3.tgz#0d33e9ead15a97cd9b0b7b1773c6227757b93aea" integrity sha512-N1Cxm9WscGD9VEZrWbF2amyQai2U2g9gtq57W5zTqbhlQTLUUvl84U9A6fg6GPkECnUXadulnTw+mMYVkLLHjQ== @@ -6869,6 +7086,29 @@ ssb-replicate@^1.3.0: pull-stream "^3.6.9" ssb-ref "^2.13.9" +ssb-room@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ssb-room/-/ssb-room-1.1.1.tgz#2c6c47afbef1750d602ddd6c86b5a4fd5157beea" + integrity sha512-poV4vXJDuB/rJd48eDjqI57va5fJua160RgPvLahQfekNhW2ACdqqtyaOBpVTLC73U1znfv7PKX9omyf0ihztg== + dependencies: + body-parser "^1.16.0" + debug "~4.1.1" + ejs "^2.5.5" + express "^4.16.0" + pull-cat "~1.1.11" + pull-notify "0.1.1" + pull-pair "~1.1.0" + pull-stream "~3.6.14" + qr-image "^3.2.0" + secret-stack "6.3.0" + ssb-caps "~1.1.0" + ssb-client "~4.7.8" + ssb-config "~3.3.2" + ssb-conn "~0.11.0" + ssb-logging "~1.0.0" + ssb-master "~1.0.3" + ssb-ref "~2.13.9" + ssb-schema-definitions@^1.1.5: version "1.3.0" resolved "https://registry.yarnpkg.com/ssb-schema-definitions/-/ssb-schema-definitions-1.3.0.tgz#7ddec99b543f34b39d67fd852df9512a403b39f7" @@ -6876,6 +7116,16 @@ ssb-schema-definitions@^1.1.5: dependencies: ssb-ref "^2.13.6" +ssb-search@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ssb-search/-/ssb-search-1.2.1.tgz#3aec7761831a219519c2ed38e71a1b26a9fd0c88" + integrity sha512-/3e9vH29cxzc76WDk/e5PaL+fKbBMjV8G/s4Syblb/tZdlAiRdr6jd4U0WQ9bNXtVNT2WQIUBwgNUuvEl22PUg== + dependencies: + flumeview-search "^1.0.0" + pull-cont "^0.1.1" + pull-stream "^3.6.7" + ssb-msgs "^5.2.0" + ssb-social-index@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ssb-social-index/-/ssb-social-index-1.0.0.tgz#308ca27e20f3afe023332b4f0ce1fe2a30c8baab" @@ -7022,7 +7272,7 @@ statistics@^3.3.0: resolved "https://registry.yarnpkg.com/statistics/-/statistics-3.3.0.tgz#ec7b4750ff03ab24a64dd9b357a78316bead78aa" integrity sha1-7HtHUP8DqySmTdmzV6eDFr6teKo= -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0, statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -7547,7 +7797,7 @@ type-fest@^0.6.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== -type-is@^1.6.14, type-is@^1.6.16: +type-is@^1.6.14, type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -7727,7 +7977,7 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -unpipe@1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= @@ -7812,6 +8062,11 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -7825,7 +8080,7 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vary@^1.1.2: +vary@^1.1.2, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=