diff --git a/add-on/_locales/de_DE/messages.json b/add-on/_locales/de_DE/messages.json index f347fcfec..15958b601 100644 --- a/add-on/_locales/de_DE/messages.json +++ b/add-on/_locales/de_DE/messages.json @@ -7,14 +7,26 @@ "message": "Eingebettet", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "Extern", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "Gateway", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "Version", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "Schwarmpeers", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "Schnell-Upload", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Gateways", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/en/messages.json b/add-on/_locales/en/messages.json index 25ac7163a..eedd2cf99 100644 --- a/add-on/_locales/en/messages.json +++ b/add-on/_locales/en/messages.json @@ -7,12 +7,24 @@ "message": "Embedded", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "External", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over HTTP", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { - "message": "HTTP Gateway", + "message": "Gateway", + "description": "A label in Node status section of Browser Action pop-up" + }, + "panel_statusApiAddress": { + "message": "API", "description": "A label in Node status section of Browser Action pop-up" }, "panel_statusGatewayVersion": { @@ -20,11 +32,15 @@ "description": "A label in Node status section of Browser Action pop-up" }, "panel_statusSwarmPeers": { - "message": "swarm peers", + "message": "Peers", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other IPFS nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { - "message": "Quick Upload", + "message": "Share files via IPFS", "description": "A menu item in Browser Action pop-up" }, "panel_openWebui": { @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over HTTP. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Gateways", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/fr_FR/messages.json b/add-on/_locales/fr_FR/messages.json index 2975a34ae..928b85343 100644 --- a/add-on/_locales/fr_FR/messages.json +++ b/add-on/_locales/fr_FR/messages.json @@ -7,14 +7,26 @@ "message": "Embedded", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "External", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "routeur", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "version", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "essaim de pairs", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "Dépôt rapide", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Passerelle", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/it_IT/messages.json b/add-on/_locales/it_IT/messages.json index fa2845ec5..4affb505f 100644 --- a/add-on/_locales/it_IT/messages.json +++ b/add-on/_locales/it_IT/messages.json @@ -7,14 +7,26 @@ "message": "Embedded", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "External", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "gateway", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "versione", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "nodi connessi", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "Upload veloce", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Gateways", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/pl_PL/messages.json b/add-on/_locales/pl_PL/messages.json index 736380217..76a0dafe4 100644 --- a/add-on/_locales/pl_PL/messages.json +++ b/add-on/_locales/pl_PL/messages.json @@ -7,14 +7,26 @@ "message": "Wbudowany", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "Zewnętrzny", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "Brama HTTP", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "wersja", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "połączenia", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "Opublikuj plik", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Bramy", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/ro_RO/messages.json b/add-on/_locales/ro_RO/messages.json index d33184876..f2e6bfa35 100644 --- a/add-on/_locales/ro_RO/messages.json +++ b/add-on/_locales/ro_RO/messages.json @@ -7,14 +7,26 @@ "message": "Embedded", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "External", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "gateway", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "versiune", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "nodurile partenere", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "Încărcare rapidă", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "Gateway-uri", "description": "A section header on the Preferences screen" diff --git a/add-on/_locales/zh_CN/messages.json b/add-on/_locales/zh_CN/messages.json index c92769a38..ef7c32f00 100644 --- a/add-on/_locales/zh_CN/messages.json +++ b/add-on/_locales/zh_CN/messages.json @@ -7,14 +7,26 @@ "message": "Embedded", "description": "Label for an embedded IPFS node" }, + "panel_headerIpfsNodeEmbeddedTitle": { + "message": "Experimental: Use IPFS embedded in your browser via js-ipfs", + "description": "Label for an embedded IPFS node" + }, "panel_headerIpfsNodeExternal": { "message": "External", "description": "Label for an external IPFS node" }, + "panel_headerIpfsNodeExternalTitle": { + "message": "Connect to an IPFS node over http", + "description": "Label for an external IPFS node" + }, "panel_statusGatewayAddress": { "message": "网关", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusApiAddress": { + "message": "API", + "description": "A label in Node status section of Browser Action pop-up" + }, "panel_statusGatewayVersion": { "message": "版本", "description": "A label in Node status section of Browser Action pop-up" @@ -23,6 +35,10 @@ "message": "群集对等端", "description": "A label in Node status section of Browser Action pop-up" }, + "panel_statusSwarmPeersTitle": { + "message": "The number of other ipfs nodes you can connect to", + "description": "A label tool-tip in Node status section of Browser Action pop-up" + }, "panel_quickUpload": { "message": "快速上传", "description": "A menu item in Browser Action pop-up" @@ -136,6 +152,26 @@ }, "description": "A generic placeholder for error notification" }, + "option_header_nodeType" : { + "message": "IPFS Node", + "description": "A section header on the Preferences screen" + }, + "option_ipfsNodeType_title": { + "message": "IPFS Node Type", + "description": "An option title on the Preferences screen" + }, + "option_ipfsNodeType_description": { + "message": "External: Connect to an IPFS daemon over http. \n\n Embedded: Run an IPFS node in your browser via ipfs-js *Experimental*", + "description": "An option description on the Preferences screen" + }, + "option_ipfsNodeType_external": { + "message": "External", + "description": "An option on the Preferences screen" + }, + "option_ipfsNodeType_embedded": { + "message": "Embedded", + "description": "An option on the Preferences screen" + }, "option_header_gateways": { "message": "网关", "description": "A section header on the Preferences screen" diff --git a/add-on/icons/ipfs-logo-off.svg b/add-on/icons/ipfs-logo-off.svg index 9fec1a875..2966d9273 100644 --- a/add-on/icons/ipfs-logo-off.svg +++ b/add-on/icons/ipfs-logo-off.svg @@ -1,20 +1,14 @@ - - - - - - - - - - - - - - - - - - - + + + ipfs-logo-off + + + + + + + + + + diff --git a/add-on/icons/ipfs-logo-on.svg b/add-on/icons/ipfs-logo-on.svg index 43307977c..361d3d2b2 100644 --- a/add-on/icons/ipfs-logo-on.svg +++ b/add-on/icons/ipfs-logo-on.svg @@ -1,20 +1,14 @@ - - - - - - - - - - - - - - - - - - - + + + ipfs-logo-on + + + + + + + + + + diff --git a/add-on/icons/js-ipfs-logo-off.svg b/add-on/icons/js-ipfs-logo-off.svg new file mode 100644 index 000000000..15fa51653 --- /dev/null +++ b/add-on/icons/js-ipfs-logo-off.svg @@ -0,0 +1,16 @@ + + + js-ipfs-logo-off + + + + + + + + + + + + + diff --git a/add-on/icons/js-ipfs-logo-on.svg b/add-on/icons/js-ipfs-logo-on.svg new file mode 100644 index 000000000..debe2a3a8 --- /dev/null +++ b/add-on/icons/js-ipfs-logo-on.svg @@ -0,0 +1,16 @@ + + + js-ipfs-logo-on + + + + + + + + + + + + + diff --git a/add-on/src/lib/ipfs-client/embedded.js b/add-on/src/lib/ipfs-client/embedded.js new file mode 100644 index 000000000..93fe4ed43 --- /dev/null +++ b/add-on/src/lib/ipfs-client/embedded.js @@ -0,0 +1,35 @@ +'use strict' + +const Ipfs = require('ipfs') + +let node = null + +exports.init = function init () { + console.log('[ipfs-companion] Embedded ipfs init') + + node = new Ipfs({ + config: { + Addresses: { + Swarm: [] + } + } + }) + + if (node.isOnline()) { + return Promise.resolve(node) + } + + return new Promise((resolve, reject) => { + // TODO: replace error listener after a 'ready' event. + node.once('error', (err) => reject(err)) + node.once('ready', () => resolve(node)) + }) +} + +exports.destroy = async function () { + console.log('[ipfs-companion] Embedded ipfs destroy') + if (!node) return + + await node.stop() + node = null +} diff --git a/add-on/src/lib/ipfs-client/external.js b/add-on/src/lib/ipfs-client/external.js new file mode 100644 index 000000000..6a6c1b028 --- /dev/null +++ b/add-on/src/lib/ipfs-client/external.js @@ -0,0 +1,18 @@ +'use strict' +/* eslint-env browser */ + +const IpfsApi = require('ipfs-api') + +exports.init = async function (opts) { + console.log('[ipfs-companion] External ipfs init', opts.apiURLString) + + const url = opts.apiURL + const api = IpfsApi({host: url.hostname, port: url.port, procotol: url.protocol}) + return api +} + +exports.destroy = async function () { + console.log('[ipfs-companion] External ipfs destroy') +} + +// TODO: Upgrade to a caching proxy for ipfs-api diff --git a/add-on/src/lib/ipfs-client/index.js b/add-on/src/lib/ipfs-client/index.js new file mode 100644 index 000000000..b02cbecc1 --- /dev/null +++ b/add-on/src/lib/ipfs-client/index.js @@ -0,0 +1,27 @@ +'use strict' + +const external = require('./external') +const embedded = require('./embedded') + +let client = null + +async function initIpfsClient (opts) { + await destroyIpfsClient() + + if (opts.ipfsNodeType === 'embedded') { + client = embedded + } else { + client = external + } + + return client.init(opts) +} + +async function destroyIpfsClient () { + if (client && client.destroy) { + return client.destroy() + } +} + +exports.initIpfsClient = initIpfsClient +exports.destroyIpfsClient = destroyIpfsClient diff --git a/add-on/src/lib/ipfs-companion.js b/add-on/src/lib/ipfs-companion.js index 643ab4d44..7d0ef10e1 100644 --- a/add-on/src/lib/ipfs-companion.js +++ b/add-on/src/lib/ipfs-companion.js @@ -4,10 +4,11 @@ const browser = require('webextension-polyfill') const { optionDefaults, storeMissingOptions } = require('./options') const { initState } = require('./state') -const IpfsApi = require('ipfs-api') const { createIpfsPathValidator, urlAtPublicGw } = require('./ipfs-path') const createDnsLink = require('./dns-link') const { createRequestModifier } = require('./ipfs-request') +const { initIpfsClient, destroyIpfsClient } = require('./ipfs-client') +const { createIpfsUrlProtocolHandler } = require('./ipfs-protocol') const createNotifier = require('./notifier') const createCopier = require('./copier') const { createContextMenus, findUrlForContext } = require('./context-menus') @@ -31,7 +32,7 @@ module.exports = async function init () { try { const options = await browser.storage.local.get(optionDefaults) state = initState(options) - ipfs = initIpfsApi(options.ipfsApiUrl) + ipfs = await initIpfsClient(state) notify = createNotifier(getState) copier = createCopier(getState, notify) dnsLink = createDnsLink(getState) @@ -55,11 +56,6 @@ module.exports = async function init () { return state } - function initIpfsApi (ipfsApiUrl) { - const url = new URL(ipfsApiUrl) - return IpfsApi({host: url.hostname, port: url.port, procotol: url.protocol}) - } - function registerListeners () { browser.webRequest.onBeforeSendHeaders.addListener(onBeforeSendHeaders, {urls: ['']}, ['blocking', 'requestHeaders']) browser.webRequest.onBeforeRequest.addListener(onBeforeRequest, {urls: ['']}, ['blocking']) @@ -69,6 +65,13 @@ module.exports = async function init () { browser.tabs.onActivated.addListener(onActivatedTab) browser.runtime.onMessage.addListener(onRuntimeMessage) browser.runtime.onConnect.addListener(onRuntimeConnect) + // browser.protocol exists only in Brave + if (browser.protocol && browser.protocol.registerStringProtocol) { + console.log(`[ipfs-companion] registerStringProtocol available. Adding ipfs:// handler`) + browser.protocol.registerStringProtocol('ipfs', createIpfsUrlProtocolHandler(() => ipfs)) + } else { + console.log(`[ipfs-companion] registerStringProtocol not available, native protocol will not be registered`, browser.protocol) + } } // HTTP Request Hooks @@ -144,6 +147,7 @@ module.exports = async function init () { async function sendStatusUpdateToBrowserAction () { if (browserActionPort) { const info = { + ipfsNodeType: state.ipfsNodeType, peerCount: state.peerCount, gwURLString: state.gwURLString, pubGwURLString: state.pubGwURLString, @@ -215,7 +219,7 @@ module.exports = async function init () { reader.readAsArrayBuffer(blob) }) - result = await ipfs.add(buffer) + result = await ipfs.files.add(buffer) } else { result = await ipfs.util.addFromURL(srcUrl) } @@ -236,12 +240,24 @@ module.exports = async function init () { return uploadResultHandler(result) } + // TODO: feature detect and push to client type specific modules. + function getIpfsPathAndLocalAddress (hash) { + const path = `/ipfs/${hash}` + if (state.ipfsNodeType === 'embedded' && browser && browser.protocol && browser.protocol.registerStringProtocol) { + return {path, localAddress: `ipfs://${hash}`} + } else { + // Use the chosen gateway... local or public + const url = new URL(path, state.gwURLString).toString() + return {path, localAddress: url} + } + } + function uploadResultHandler (result) { result.forEach(function (file) { if (file && file.hash) { - const path = `/ipfs/${file.hash}` + const {path, localAddress} = getIpfsPathAndLocalAddress(file.hash) browser.tabs.create({ - 'url': new URL(state.gwURLString + path).toString() + 'url': localAddress }) console.info('[ipfs-companion] successfully stored', path) if (state.preloadAtPublicGateway) { @@ -437,27 +453,33 @@ module.exports = async function init () { function updateAutomaticModeRedirectState (oldPeerCount, newPeerCount) { // enable/disable gw redirect based on API going online or offline + // newPeerCount === -1 currently implies node is offline. + // TODO: use `node.isOnline()` if available (js-ipfs) if (state.automaticMode) { - if (oldPeerCount < 1 && newPeerCount > 0 && !state.redirect) { + if (oldPeerCount === -1 && newPeerCount > -1 && !state.redirect) { browser.storage.local.set({useCustomGateway: true}) .then(() => notify('notify_apiOnlineTitle', 'notify_apiOnlineAutomaticModeMsg')) - } else if (oldPeerCount > 0 && newPeerCount < 1 && state.redirect) { + } else if (oldPeerCount > -1 && newPeerCount === -1 && state.redirect) { browser.storage.local.set({useCustomGateway: false}) .then(() => notify('notify_apiOfflineTitle', 'notify_apiOfflineAutomaticModeMsg')) } } } - function onStorageChange (changes, area) { + async function onStorageChange (changes, area) { for (let key in changes) { let change = changes[key] if (change.oldValue !== change.newValue) { // debug info // console.info(`Storage key "${key}" in namespace "${area}" changed. Old value was "${change.oldValue}", new value is "${change.newValue}".`) - if (key === 'ipfsApiUrl') { + if (key === 'ipfsNodeType') { + state.ipfsNodeType = change.newValue + ipfs = await initIpfsClient(state) + apiStatusUpdate() + } else if (key === 'ipfsApiUrl') { state.apiURL = new URL(change.newValue) state.apiURLString = state.apiURL.toString() - ipfs = initIpfsApi(state.apiURLString) + ipfs = await initIpfsClient(state) apiStatusUpdate() } else if (key === 'ipfsApiPollMs') { setApiStatusUpdateInterval(change.newValue) @@ -496,7 +518,7 @@ module.exports = async function init () { async ipfsAddAndShow (buffer) { let result try { - result = await api.ipfs.add(buffer) + result = await api.ipfs.files.add(buffer) } catch (err) { console.error('Failed to IPFS add', err) notify('notify_uploadErrorTitle', 'notify_inlineErrorMsg', `${err.message}`) @@ -506,7 +528,7 @@ module.exports = async function init () { return result }, - destroy () { + async destroy () { clearInterval(apiStatusUpdateInterval) apiStatusUpdateInterval = null ipfs = null @@ -517,6 +539,7 @@ module.exports = async function init () { notify = null copier = null contextMenus = null + await destroyIpfsClient() } } diff --git a/add-on/src/lib/ipfs-protocol.js b/add-on/src/lib/ipfs-protocol.js new file mode 100644 index 000000000..1901dd329 --- /dev/null +++ b/add-on/src/lib/ipfs-protocol.js @@ -0,0 +1,31 @@ +const { mimeSniff } = require('./mime-sniff') + +exports.createIpfsUrlProtocolHandler = (getIpfs) => { + return async (request, reply) => { + console.time('[ipfs-companion] IpfsUrlProtocolHandler') + console.log(`[ipfs-companion] handling ${request.url}`) + + const path = request.url.split('ipfs://')[1] + const ipfs = getIpfs() + + try { + const {data, mimeType} = await getDataAndGuessMimeType(ipfs, path) + console.log(`[ipfs-companion] returning ${path} as ${mimeType}`) + reply({mimeType, data}) + } catch (err) { + reply({mimeType: 'text/html', data: `Error ${err.message}`}) + } + + console.timeEnd('[ipfs-companion] IpfsUrlProtocolHandler') + } +} + +function getDataAndGuessMimeType (ipfs, path) { + return new Promise((resolve, reject) => { + ipfs.files.cat(path, (err, res) => { + if (err) return reject(err) + const mimeType = mimeSniff(res, path) + resolve({mimeType, data: res.toString('utf8')}) + }) + }) +} diff --git a/add-on/src/lib/is-js-ipfs-enabled.js b/add-on/src/lib/is-js-ipfs-enabled.js new file mode 100644 index 000000000..4eb67088d --- /dev/null +++ b/add-on/src/lib/is-js-ipfs-enabled.js @@ -0,0 +1,12 @@ +const ipfs = require('ipfs') + +/* + * A temporary feature flag while we test out js-ipfs support + * `require('ipfs')` will return an empty object if js-ipfs has been disabled + * + * Remove `browser: { ipfs: false }` from package.json to enable embedded + * js-ipfs support. + */ +module.exports = function isJsIpfsEnabled () { + return Object.keys(ipfs).length > 0 +} diff --git a/add-on/src/lib/mime-sniff.js b/add-on/src/lib/mime-sniff.js new file mode 100644 index 000000000..cc068ec5a --- /dev/null +++ b/add-on/src/lib/mime-sniff.js @@ -0,0 +1,35 @@ +const docSniff = require('doc-sniff') +const fileType = require('file-type') +const isSvg = require('is-svg') +const mime = require('mime-types') + +/* + * A quick, best effort mime sniffing fn, via: + * @see https://github.com/sindresorhus/file-type + * @see https://github.com/sindresorhus/is-svg + * @see https://github.com/bitinn/doc-sniff + * + * buffer => 'mime/type' + * + * TODO: https://mimesniff.spec.whatwg.org/ + */ +exports.mimeSniff = function (buff, path) { + // deals with buffers, and uses magic number detection + const fileTypeRes = fileType(buff) + if (fileTypeRes) return fileTypeRes.mime + + const str = buff.toString('utf8') + + // You gotta read the file to figure out if something is an svg + if (isSvg(str)) return 'image/svg+xml' + + // minimal whatwg style doc sniff. + const docSniffRes = docSniff(false, str) + + if (!docSniffRes || docSniffRes === 'text/plain') { + // fallback to guessing by file extension + return mime.lookup(path) + } else { + return docSniffRes + } +} diff --git a/add-on/src/lib/notifier.js b/add-on/src/lib/notifier.js index d3b65ee10..382bede87 100644 --- a/add-on/src/lib/notifier.js +++ b/add-on/src/lib/notifier.js @@ -17,7 +17,7 @@ function createNotifier (getState) { iconUrl: browser.extension.getURL('icons/ipfs-logo-on.svg'), title: title, message: message - }) + }).catch(err => console.warn(`[ipfs-companion] Browser notification failed: ${err.message}`)) } console.info(`[ipfs-companion] ${title}: ${message}`) } diff --git a/add-on/src/lib/options.js b/add-on/src/lib/options.js index ec3a5771b..70442e693 100644 --- a/add-on/src/lib/options.js +++ b/add-on/src/lib/options.js @@ -1,6 +1,7 @@ 'use strict' const optionDefaults = Object.freeze({ + ipfsNodeType: 'external', publicGatewayUrl: 'https://ipfs.io', useCustomGateway: true, automaticMode: true, diff --git a/add-on/src/lib/state.js b/add-on/src/lib/state.js index f14a3d28d..b802c644d 100644 --- a/add-on/src/lib/state.js +++ b/add-on/src/lib/state.js @@ -5,6 +5,7 @@ function initState (options) { const state = {} // we store the most used values in optimized form // to minimize performance impact on overall browsing experience + state.ipfsNodeType = options.ipfsNodeType state.pubGwURL = new URL(options.publicGatewayUrl) state.pubGwURLString = state.pubGwURL.toString() state.redirect = options.useCustomGateway diff --git a/add-on/src/options/options.html b/add-on/src/options/options.html index 7d55dbeb7..d730fa9f3 100644 --- a/add-on/src/options/options.html +++ b/add-on/src/options/options.html @@ -57,7 +57,7 @@ div:hover > label > dl > dd { color: #333; } - input, textarea { + input, textarea, select { flex: 1; padding: .5em; font-family: monospace; @@ -69,6 +69,7 @@ input[type=text], input[type=url], input[type=number], + select, textarea { -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; @@ -77,6 +78,7 @@ input[type=text]:focus, input[type=url]:focus, input[type=number]:focus, + select:focus, textarea:focus { outline: none; border: 1px solid #3E9398; @@ -93,6 +95,21 @@
+
diff --git a/add-on/src/options/options.js b/add-on/src/options/options.js index 35ed33925..f6f62082e 100644 --- a/add-on/src/options/options.js +++ b/add-on/src/options/options.js @@ -4,6 +4,7 @@ const browser = require('webextension-polyfill') const { optionDefaults, normalizeGatewayURL } = require('../lib/options') const translateDataAttrs = require('../lib/data-i18n') +const isJsIpfsEnabled = require('../lib/is-js-ipfs-enabled')() translateDataAttrs() @@ -16,6 +17,7 @@ async function saveOption (name) { if (element) { const change = {} switch (element.type) { + case 'select-one': case 'text': case 'number': change[name] = element.value @@ -61,6 +63,10 @@ async function readOption (name) { case 'checkbox': element.checked = typeof (oldValue) === 'boolean' ? oldValue : false break + case 'select-one': + element.onchange = () => saveOption(name) + element.value = oldValue + break default: console.log('Unsupported option type: ' + element.type) } @@ -91,6 +97,9 @@ function resetAllOptions (event) { // initial load document.addEventListener('DOMContentLoaded', () => { + if (isJsIpfsEnabled) { + document.getElementById('showIfEmbeddedIpfsEnabled').style.display = 'block' + } readAllOptions() document.querySelector('#resetAllOptions > button').addEventListener('click', resetAllOptions) }) diff --git a/add-on/src/popup/browser-action/gateway-status.js b/add-on/src/popup/browser-action/gateway-status.js index 4dc925d87..4e21e555e 100644 --- a/add-on/src/popup/browser-action/gateway-status.js +++ b/add-on/src/popup/browser-action/gateway-status.js @@ -5,25 +5,33 @@ const browser = require('webextension-polyfill') const html = require('choo/html') module.exports = function gatewayStatus ({ + ipfsApiUrl, + publicGatewayUrl, gatewayAddress, gatewayVersion, swarmPeers, isIpfsOnline, + ipfsNodeType, redirectEnabled }) { + const api = ipfsNodeType === 'embedded' ? 'js-ipfs' : ipfsApiUrl return html`
    -
  • - ${browser.i18n.getMessage('panel_statusGatewayAddress')} - ${gatewayAddress == null ? 'unknown' : gatewayAddress} +
  • + ${browser.i18n.getMessage('panel_statusGatewayAddress')} + ${gatewayAddress == null ? 'unknown' : gatewayAddress}
  • -
  • - ${browser.i18n.getMessage('panel_statusGatewayVersion')} - ${gatewayVersion == null ? 'offline' : gatewayVersion} +
  • + ${browser.i18n.getMessage('panel_statusApiAddress')} + ${api}
  • -
  • - ${browser.i18n.getMessage('panel_statusSwarmPeers')} - ${swarmPeers == null ? 'offline' : swarmPeers} +
  • + ${browser.i18n.getMessage('panel_statusGatewayVersion')} + ${gatewayVersion == null ? 'offline' : gatewayVersion} +
  • +
  • + ${browser.i18n.getMessage('panel_statusSwarmPeers')} + ${swarmPeers == null ? 'offline' : swarmPeers}
` diff --git a/add-on/src/popup/browser-action/header.js b/add-on/src/popup/browser-action/header.js index af925db96..7376b5cc4 100644 --- a/add-on/src/popup/browser-action/header.js +++ b/add-on/src/popup/browser-action/header.js @@ -3,30 +3,33 @@ const browser = require('webextension-polyfill') const html = require('choo/html') +const logo = require('../logo') +const isJsIpfsEnabled = require('../../lib/is-js-ipfs-enabled')() -module.exports = function header ({ isIpfsOnline }) { +module.exports = function header ({ ipfsNodeType, onToggleNodeType, isIpfsOnline }) { return html`
- + ${logo({ + size: 52, + path: '../../../icons', + ipfsNodeType, + isIpfsOnline + })}

IPFS node

-
+
-
diff --git a/add-on/src/popup/browser-action/operations.js b/add-on/src/popup/browser-action/operations.js index a9248ee5d..473355c17 100644 --- a/add-on/src/popup/browser-action/operations.js +++ b/add-on/src/popup/browser-action/operations.js @@ -6,6 +6,7 @@ const html = require('choo/html') const navItem = require('./nav-item') module.exports = function operations ({ + ipfsNodeType, isIpfsOnline, redirectEnabled, onQuickUpload, @@ -22,7 +23,7 @@ module.exports = function operations ({ onClick: onQuickUpload }) ) : null} - ${isIpfsOnline ? ( + ${ipfsNodeType === 'external' && isIpfsOnline ? ( navItem({ text: browser.i18n.getMessage('panel_openWebui'), onClick: onOpenWebUi @@ -32,14 +33,16 @@ module.exports = function operations ({ text: browser.i18n.getMessage('panel_openPreferences'), onClick: onOpenPrefs })} - ${navItem({ - text: browser.i18n.getMessage( - redirectEnabled - ? 'panel_switchToPublicGateway' - : 'panel_switchToCustomGateway' - ), - onClick: onToggleRedirect - })} + ${ipfsNodeType === 'external' ? ( + navItem({ + text: browser.i18n.getMessage( + redirectEnabled + ? 'panel_switchToPublicGateway' + : 'panel_switchToCustomGateway' + ), + onClick: onToggleRedirect + }) + ) : null}
` } diff --git a/add-on/src/popup/browser-action/page.css b/add-on/src/popup/browser-action/page.css index 1f94c366e..401e3daa9 100644 --- a/add-on/src/popup/browser-action/page.css +++ b/add-on/src/popup/browser-action/page.css @@ -8,33 +8,3 @@ .outline-0--focus:focus { outline: 0; } - -@keyframes heart-beat { - 0% { - transform: scale(1); - } - 5% { - transform: scale(1.05); - filter: drop-shadow(0 0 1.05em rgba(95, 203, 207, 0.5)); - } - 10% { - transform: scale(1.025); - filter: drop-shadow(0 0 1.025em rgba(95, 203, 207, 0.25)); - } - 15% { - transform: scale(1.075); - filter: drop-shadow(0 0 1.075em rgba(95, 203, 207, 0.5)); - } - 50% { - transform: scale(1); - } - 100% { - transform: scale(1); - } -} - -#ipfs-logo.online { - animation-name: heart-beat; - animation-iteration-count: infinite; - animation-duration: 2.5s; -} diff --git a/add-on/src/popup/browser-action/page.js b/add-on/src/popup/browser-action/page.js index e14fc34d9..7b7177273 100644 --- a/add-on/src/popup/browser-action/page.js +++ b/add-on/src/popup/browser-action/page.js @@ -22,8 +22,9 @@ module.exports = function browserActionPage (state, emit) { const onOpenWebUi = () => emit('openWebUi') const onOpenPrefs = () => emit('openPrefs') const onToggleRedirect = () => emit('toggleRedirect') + const onToggleNodeType = () => emit('toggleNodeType') - const headerProps = Object.assign({}, state) + const headerProps = Object.assign({ onToggleNodeType }, state) const contextActionsProps = Object.assign({ onCopyIpfsAddr, onCopyPublicGwAddr, onPin, onUnPin }, state) const opsProps = Object.assign({ onQuickUpload, onOpenWebUi, onOpenPrefs, onToggleRedirect }, state) const gwStatusProps = Object.assign({}, state) diff --git a/add-on/src/popup/browser-action/store.js b/add-on/src/popup/browser-action/store.js index 0960f1bb4..7097bf6a0 100644 --- a/add-on/src/popup/browser-action/store.js +++ b/add-on/src/popup/browser-action/store.js @@ -14,7 +14,10 @@ module.exports = (state, emitter) => { isPinned: false, currentTabUrl: null, // IPFS status + ipfsNodeType: 'external', isIpfsOnline: false, + ipfsApiUrl: null, + publicGatewayUrl: null, gatewayAddress: null, swarmPeers: null, gatewayVersion: null, @@ -28,7 +31,7 @@ module.exports = (state, emitter) => { port = browser.runtime.connect({name: 'browser-action-port'}) port.onMessage.addListener(async (message) => { if (message.statusUpdate) { - // console.log('In browser action, received message from background:', message) + console.log('In browser action, received message from background:', message) await updateBrowserActionState(message.statusUpdate) emitter.emit('render') } @@ -134,6 +137,19 @@ module.exports = (state, emitter) => { emitter.emit('render') }) + emitter.on('toggleNodeType', async () => { + const prev = state.ipfsNodeType + state.ipfsNodeType = prev === 'external' ? 'embedded' : 'external' + emitter.emit('render') + try { + await browser.storage.local.set({ipfsNodeType: state.ipfsNodeType}) + } catch (error) { + console.error(`Unable to update ipfs node type due to ${error}`) + state.ipfsNodeType = prev + emitter.emit('render') + } + }) + async function updatePageActionsState (status) { // IPFS contexts require access to background page // which is denied in Private Browsing mode @@ -155,24 +171,20 @@ module.exports = (state, emitter) => { async function updateBrowserActionState (status) { await updatePageActionsState(status) const options = await browser.storage.local.get() - - try { - state.redirectEnabled = options.useCustomGateway - if (options.useCustomGateway) { + if (status) { + if (options.useCustomGateway && (options.ipfsNodeType !== 'embedded')) { state.gatewayAddress = options.customGatewayUrl } else { state.gatewayAddress = options.publicGatewayUrl } - } catch (error) { - console.error(`Unable update redirect state due to ${error}`) - state.gatewayAddress = '???' - } - - if (status) { - state.swarmPeers = status.peerCount < 0 ? null : status.peerCount - state.isIpfsOnline = status.peerCount > 0 + state.ipfsNodeType = status.ipfsNodeType + state.ipfsApiUrl = options.ipfsApiUrl + state.redirectEnabled = options.useCustomGateway + state.swarmPeers = status.peerCount === -1 ? 0 : status.peerCount + state.isIpfsOnline = status.peerCount > -1 state.gatewayVersion = status.gatewayVersion ? status.gatewayVersion : null } else { + state.ipfsNodeType = 'external' state.swarmPeers = null state.isIpfsOnline = false state.gatewayVersion = null @@ -197,7 +209,7 @@ module.exports = (state, emitter) => { } function notify (title, message) { - port.postMessage({event: 'notification', title: title, message: message}) + port.postMessage({event: 'notification', title: title, message: message}).catch((err) => console.log(err)) } } diff --git a/add-on/src/popup/heartbeat.css b/add-on/src/popup/heartbeat.css new file mode 100644 index 000000000..ce0bf0694 --- /dev/null +++ b/add-on/src/popup/heartbeat.css @@ -0,0 +1,29 @@ +@keyframes heartbeat { + 0% { + transform: scale(1); + } + 5% { + transform: scale(1.05); + filter: drop-shadow(0 0 1.05em rgba(95, 203, 207, 0.5)); + } + 10% { + transform: scale(1.025); + filter: drop-shadow(0 0 1.025em rgba(95, 203, 207, 0.25)); + } + 15% { + transform: scale(1.075); + filter: drop-shadow(0 0 1.075em rgba(95, 203, 207, 0.5)); + } + 50% { + transform: scale(1); + } + 100% { + transform: scale(1); + } +} + +.heartbeat { + animation-name: heartbeat; + animation-iteration-count: infinite; + animation-duration: 2.5s; +} \ No newline at end of file diff --git a/add-on/src/popup/logo.js b/add-on/src/popup/logo.js new file mode 100644 index 000000000..cc7f9b257 --- /dev/null +++ b/add-on/src/popup/logo.js @@ -0,0 +1,20 @@ +'use strict' +/* eslint-env browser, webextensions */ + +const html = require('choo/html') +require('./heartbeat.css') + +function logo ({ path, size = 52, ipfsNodeType = 'external', isIpfsOnline = true, heartbeat = true }) { + const logoTypePrefix = ipfsNodeType === 'embedded' ? 'js-' : '' + const logoFileName = `${logoTypePrefix}ipfs-logo-${isIpfsOnline ? 'on' : 'off'}.svg` + return html` + IPFS + ` +} + +module.exports = logo diff --git a/add-on/src/popup/quick-upload.css b/add-on/src/popup/quick-upload.css new file mode 100644 index 000000000..baaf1e410 --- /dev/null +++ b/add-on/src/popup/quick-upload.css @@ -0,0 +1,5 @@ +@import url('node_modules/tachyons/css/tachyons.css'); + +html, body, #root { + height: 100%; +} \ No newline at end of file diff --git a/add-on/src/popup/quick-upload.html b/add-on/src/popup/quick-upload.html index 8ea7446ec..24dfc8ae4 100644 --- a/add-on/src/popup/quick-upload.html +++ b/add-on/src/popup/quick-upload.html @@ -5,21 +5,6 @@ IPFS Upload - diff --git a/add-on/src/popup/quick-upload.js b/add-on/src/popup/quick-upload.js index 10833a824..d8a8215dc 100644 --- a/add-on/src/popup/quick-upload.js +++ b/add-on/src/popup/quick-upload.js @@ -2,10 +2,11 @@ /* eslint-env browser, webextensions */ const browser = require('webextension-polyfill') -const IpfsApi = require('ipfs-api') -const Buffer = IpfsApi().Buffer const choo = require('choo') const html = require('choo/html') +const logo = require('./logo') + +require('./quick-upload.css') const app = choo() @@ -14,7 +15,9 @@ app.route('*', quickUploadPage) app.mount('#root') function quickUploadStore (state, emitter) { - state.message = browser.i18n.getMessage('panel_quickUpload') + state.message = '' + state.peerCount = 8 + state.ipfsNodeType = 'embedded' emitter.on('fileInputChange', async (event) => { const file = event.target.files[0] @@ -46,12 +49,22 @@ function quickUploadPage (state, emit) { const onFileInputChange = (e) => emit('fileInputChange', e) return html` -
- -

- ${state.message}
- -

+
+
+ ${logo({ + size: 100, + path: '../../icons', + heartbeat: false + })} +

+ ${browser.i18n.getMessage('panel_quickUpload')} +

+

+ +
+ ${state.message} +

+
` } diff --git a/package.json b/package.json index 7996640fa..ae98d5646 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "type": "git", "url": "https://github.com/ipfs/ipfs-companion.git" }, + "browser": { + "ipfs": false + }, "scripts": { "start": "run-s clean build test firefox", "clean": "run-p clean:*", @@ -15,11 +18,11 @@ "build:copy": "run-s build:copy:*", "build:copy:src": "shx mkdir -p add-on/dist && shx cp -R add-on/src/* add-on/dist", "build:copy:wx-polyfill-lib": "shx cp node_modules/webextension-polyfill/dist/browser-polyfill.min.js add-on/dist/contentScripts/browser-polyfill.min.js", - "build:js": "browserify -t [ browserify-package-json --global ] -t browserify-css add-on/src/background/background.js add-on/src/options/options.js add-on/src/popup/browser-action/index.js add-on/src/popup/quick-upload.js -p [ factor-bundle -o add-on/dist/background/background.js -o add-on/dist/options/options.js -o add-on/dist/popup/browser-action/browser-action.js -o add-on/dist/popup/quick-upload.js ] -o add-on/dist/ipfs-companion-common.js", + "build:js": "browserify -p prundupify -t browserify-css -t [ browserify-package-json --global ] add-on/src/background/background.js add-on/src/options/options.js add-on/src/popup/browser-action/index.js add-on/src/popup/quick-upload.js -p [ factor-bundle -o add-on/dist/background/background.js -o add-on/dist/options/options.js -o add-on/dist/popup/browser-action/browser-action.js -o add-on/dist/popup/quick-upload.js ] -o add-on/dist/ipfs-companion-common.js", "build:minimize-dist": "shx rm -rf add-on/dist/lib", "build:bundle-extension": "web-ext build -s add-on/ -i src/ -a build/", "watch": "run-p watch:*", - "watch:js": "watchify -t browserify-css add-on/src/background/background.js add-on/src/options/options.js add-on/src/popup/browser-action/index.js add-on/src/popup/quick-upload.js -p [ factor-bundle -o add-on/dist/background/background.js -o add-on/dist/options/options.js -o add-on/dist/popup/browser-action/browser-action.js -o add-on/dist/popup/quick-upload.js ] -o add-on/dist/ipfs-companion-common.js -v", + "watch:js": "watchify -p prundupify -t browserify-css -t [ browserify-package-json --global ] add-on/src/background/background.js add-on/src/options/options.js add-on/src/popup/browser-action/index.js add-on/src/popup/quick-upload.js -p [ factor-bundle -o add-on/dist/background/background.js -o add-on/dist/options/options.js -o add-on/dist/popup/browser-action/browser-action.js -o add-on/dist/popup/quick-upload.js ] -o add-on/dist/ipfs-companion-common.js -v", "test": "run-s test:*", "test:functional": "mocha test/functional/**/*.test.js", "lint": "run-s lint:*", @@ -69,10 +72,16 @@ }, "dependencies": { "choo": "6.6.0", + "doc-sniff": "1.0.1", + "file-type": "7.3.0", + "ipfs": "0.27.3", "ipfs-api": "17.1.3", "is-ipfs": "0.3.2", + "is-svg": "2.1.0", "lru_map": "0.3.3", - "tachyons": "4.9.0", + "mime-types": "2.1.17", + "prundupify": "1.0.0", + "tachyons": "^4.9.0", "webextension-polyfill": "0.1.2" } } diff --git a/yarn.lock b/yarn.lock index 909818b8b..0efb0b4f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,6 +39,37 @@ abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" +abstract-leveldown@~0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410" + dependencies: + xtend "~3.0.0" + +abstract-leveldown@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz#b3bfedb884eb693a12775f0c55e9f0a420ccee64" + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~2.6.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~2.7.0, abstract-leveldown@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" + dependencies: + xtend "~4.0.0" + +accept@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/accept/-/accept-2.1.4.tgz#887af54ceee5c7f4430461971ec400c61d09acbb" + dependencies: + boom "5.x.x" + hoek "4.x.x" + accepts@1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" @@ -147,6 +178,13 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" +ammo@2.x.x, ammo@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/ammo/-/ammo-2.0.4.tgz#bf80aab211698ea78f63ef5e7f113dd5d9e8917f" + dependencies: + boom "5.x.x" + hoek "4.x.x" + anchor-markdown-header@^0.5.5: version "0.5.7" resolved "https://registry.yarnpkg.com/anchor-markdown-header/-/anchor-markdown-header-0.5.7.tgz#045063d76e6a1f9cd327a57a0126aa0fdec371a7" @@ -318,6 +356,14 @@ asn1.js@^4.0.0, asn1.js@^4.9.1: inherits "^2.0.1" minimalistic-assert "^1.0.0" +asn1.js@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.0.0.tgz#2b0abbc7fa66dc0aadd06a4683c73608c32b0696" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -330,7 +376,7 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert@^1.4.0: +assert@^1.4.0, assert@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: @@ -350,11 +396,15 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@1.x, async@^1.4.0, async@^1.5.2: +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +async@1.x, async@^1.4.0, async@^1.4.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.0, async@^2.1.2, async@^2.5.0, async@^2.6.0: +async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.1.5, async@^2.5.0, async@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: @@ -386,6 +436,10 @@ aws4@^1.2.1, aws4@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +b64@3.x.x: + version "3.0.3" + resolved "https://registry.yarnpkg.com/b64/-/b64-3.0.3.tgz#36afeee0d9345f046387ce6de8a6702afe5bb56e" + babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -394,7 +448,7 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.26.0: +babel-core@^6.0.14, babel-core@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: @@ -431,6 +485,24 @@ babel-generator@^6.26.0: source-map "^0.5.6" trim-right "^1.0.1" +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + babel-helper-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" @@ -448,6 +520,28 @@ babel-helper-get-function-arity@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" @@ -458,6 +552,17 @@ babel-helper-remap-async-to-generator@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" @@ -471,6 +576,12 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -487,6 +598,187 @@ babel-plugin-transform-async-to-generator@^6.24.1: babel-plugin-syntax-async-functions "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + babel-polyfill@6.16.0: version "6.16.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" @@ -503,6 +795,35 @@ babel-polyfill@6.20.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-preset-es2015@^6.24.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + babel-preset-es2017@6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz#597beadfb9f7f208bcfd8a12e9b2b29b8b2f14d1" @@ -560,7 +881,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0: invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -569,6 +890,13 @@ babel-types@^6.24.1, babel-types@^6.26.0: lodash "^4.17.4" to-fast-properties "^1.0.3" +babelify@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" + dependencies: + babel-core "^6.0.14" + object-assign "^4.0.0" + babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -595,6 +923,10 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base32.js@^0.1.0, base32.js@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base32.js/-/base32.js-0.1.0.tgz#b582dec693c2f11e893cf064ee6ac5b6131a2202" + base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" @@ -631,21 +963,33 @@ better-assert@~1.0.0: dependencies: callsite "1.0.0" +bignumber.js@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-3.0.1.tgz#807652d10e39de37e9e3497247edc798bb746f76" + binary-extensions@^1.0.0: version "1.10.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" -bindings@^1.2.1: +binary-querystring@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/binary-querystring/-/binary-querystring-0.1.2.tgz#84a6f9ac21fcf2752e305f60397d445bb84551e9" + +bindings@^1.2.1, bindings@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" +bintrees@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524" + bip66@^1.1.3: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" dependencies: safe-buffer "^5.0.1" -bl@^1.0.0: +bl@^1.0.0, bl@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" dependencies: @@ -677,7 +1021,7 @@ bn.js@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-1.3.0.tgz#0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.3, bn.js@^4.4.0: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.3, bn.js@^4.4.0, bn.js@^4.8.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -712,17 +1056,32 @@ boom@4.x.x: dependencies: hoek "4.x.x" -boom@5.x.x: +boom@5.x.x, boom@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" dependencies: hoek "4.x.x" +boom@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-7.1.1.tgz#50392a4e3417e971f1ad28622c20e832275260bb" + dependencies: + hoek "5.x.x" + +borc@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/borc/-/borc-2.0.2.tgz#8eae1a4d599cfdfdfc9fa857cbba69c90e83291f" + dependencies: + bignumber.js "~3.0.0" + commander "^2.9" + ieee754 "^1.1.8" + json-text-sequence "^0.1" + boundary@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/boundary/-/boundary-1.0.1.tgz#4d67dc2602c0cc16dd9bce7ebf87e948290f5812" -boxen@^1.0.0: +boxen@^1.0.0, boxen@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.2.tgz#3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5" dependencies: @@ -798,7 +1157,7 @@ browser-stdout@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.0.8: +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.0.8, browserify-aes@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" dependencies: @@ -849,6 +1208,12 @@ browserify-rsa@^4.0.0: bn.js "^4.1.0" randombytes "^2.0.1" +browserify-sha3@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.1.tgz#3ff34a3006ef15c0fb3567e541b91a2340123d11" + dependencies: + js-sha3 "^0.3.1" + browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" @@ -937,10 +1302,24 @@ buffer-equal@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" +buffer-equals@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/buffer-equals/-/buffer-equals-1.0.4.tgz#0353b54fd07fd9564170671ae6f66b9cf10d27f5" + +buffer-indexof@~0.0.0: + version "0.0.2" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-0.0.2.tgz#ed0f36b7ae166a66a7cd174c0467ae8dedf008f5" + buffer-loader@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-loader/-/buffer-loader-0.0.1.tgz#4d677ca92dd889310878b02a2fbcfab712024cf2" +buffer-split@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-split/-/buffer-split-1.0.0.tgz#4427dbff53731b61d7a71aba47f503396613784a" + dependencies: + buffer-indexof "~0.0.0" + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -969,6 +1348,10 @@ bunyan@1.8.10: mv "~2" safe-json-stringify "~1" +byteman@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/byteman/-/byteman-1.3.5.tgz#d6061f7536c7e7c4bcb756037ef9c4c266ec51fd" + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -977,6 +1360,13 @@ cached-path-relative@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" +call@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/call/-/call-4.0.2.tgz#df76f5f51ee8dd48b856ac8400f7e69e6d7399c4" + dependencies: + boom "5.x.x" + hoek "4.x.x" + caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -1026,6 +1416,20 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" +catbox-memory@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/catbox-memory/-/catbox-memory-2.0.4.tgz#433e255902caf54233d1286429c8f4df14e822d5" + dependencies: + hoek "4.x.x" + +catbox@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/catbox/-/catbox-7.1.5.tgz#c56f7e8e9555d27c0dc038a96ef73e57d186bb1f" + dependencies: + boom "5.x.x" + hoek "4.x.x" + joi "10.x.x" + ccount@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.2.tgz#53b6a2f815bb77b9c2871f7b9a72c3a25f1d8e89" @@ -1291,6 +1695,10 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" +commander@^2.11.0, commander@^2.9: + version "2.12.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" + common-tags@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" @@ -1384,6 +1792,12 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +content@3.x.x, content@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/content/-/content-3.0.6.tgz#9c2e301e9ae515ed65a4b877d78aa5659bb1b809" + dependencies: + boom "5.x.x" + convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1487,7 +1901,7 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" -cryptiles@3.x.x: +cryptiles@3.x.x, cryptiles@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" dependencies: @@ -1557,22 +1971,60 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" +data-queue@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/data-queue/-/data-queue-0.0.3.tgz#47ab5b634d4a3bbf7bb4ab625a4175b8cf9d44b1" -dateformat@^1.0.6: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" +datastore-core@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-0.4.0.tgz#4509a92c5ccf36089e028c64c0937350c3a13ffc" dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -debounce@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.0.2.tgz#503cc674d8d7f737099664fb75ddbd36b9626dc6" + async "^2.5.0" + interface-datastore "~0.4.0" + left-pad "^1.1.3" + pull-many "^1.0.8" + pull-stream "^3.6.1" -debug-log@^1.0.0: +datastore-fs@~0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/datastore-fs/-/datastore-fs-0.4.2.tgz#8ba4518fb6ce9df59b668126428c053b38cd6762" + dependencies: + async "^2.6.0" + datastore-core "~0.4.0" + glob "^7.1.2" + graceful-fs "^4.1.11" + interface-datastore "^0.4.2" + mkdirp "^0.5.1" + pull-stream "^3.6.1" + write-file-atomic "^2.3.0" + +datastore-level@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/datastore-level/-/datastore-level-0.7.0.tgz#739dd3828547eddac3895df2013868fdc94c7b18" + dependencies: + datastore-core "~0.4.0" + interface-datastore "~0.4.1" + level-js "^2.2.4" + leveldown "^1.9.0" + levelup "^1.3.9" + pull-stream "^3.6.1" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^1.0.6: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debounce@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.0.2.tgz#503cc674d8d7f737099664fb75ddbd36b9626dc6" + +debug-log@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" @@ -1588,13 +2040,13 @@ debug@2.3.3: dependencies: ms "0.7.2" -debug@2.6.9, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.8: +debug@2.6.9, debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.1, debug@^2.6.8, debug@~2.6.4, debug@~2.6.6, debug@~2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.0.1: +debug@3.1.0, debug@^3.0.1, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" dependencies: @@ -1614,6 +2066,10 @@ deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +deep-extend@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.0.tgz#6ef4a09b05f98b0e358d6d93d4ca3caec6672803" + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -1628,6 +2084,12 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +deferred-leveldown@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" + dependencies: + abstract-leveldown "~2.6.0" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -1674,6 +2136,10 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" +delimit-stream@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b" + depd@1.1.1, depd@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" @@ -1733,6 +2199,13 @@ di@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" +dicer@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + dependencies: + readable-stream "1.1.x" + streamsearch "0.1.2" + diff@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -1763,6 +2236,17 @@ dispensary@0.10.19: source-map-support "0.5.0" yargs "^9.0.1" +dns-packet@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +doc-sniff@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/doc-sniff/-/doc-sniff-1.0.1.tgz#04eef054d8cf8c2d301386abc7fc58b549e398c8" + doctoc@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/doctoc/-/doctoc-1.3.0.tgz#7f0839851dd58c808a2cae55d9504e012d08ee30" @@ -1880,6 +2364,15 @@ duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +duplexify@^3.4.2: + version "3.5.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -1946,6 +2439,22 @@ engine.io-client@1.8.3: xmlhttprequest-ssl "1.5.3" yeast "0.1.2" +engine.io-client@~3.1.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.4.tgz#4fcf1370b47163bd2ce9be2733972430350d4ea1" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~2.6.9" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~3.3.1" + xmlhttprequest-ssl "~1.5.4" + yeast "0.1.2" + engine.io-parser@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" @@ -1957,6 +2466,16 @@ engine.io-parser@1.3.2: has-binary "0.1.7" wtf-8 "1.0.0" +engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.1.tgz#e0fb3f0e0462f7f58bb77c1a52e9f5a7e26e4668" + dependencies: + after "0.8.2" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary2 "~1.0.2" + engine.io@1.8.3: version "1.8.3" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4" @@ -1968,6 +2487,19 @@ engine.io@1.8.3: engine.io-parser "1.3.2" ws "1.1.2" +engine.io@~3.1.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.4.tgz#3d0211b70a552ce841ffc7da8627b301a9a4162e" + dependencies: + accepts "1.3.3" + base64id "1.0.0" + cookie "0.3.1" + debug "~2.6.9" + engine.io-parser "~2.1.0" + ws "~3.3.1" + optionalDependencies: + uws "~0.14.4" + ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" @@ -1976,6 +2508,18 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +epimetheus@^1.0.55: + version "1.0.55" + resolved "https://registry.yarnpkg.com/epimetheus/-/epimetheus-1.0.55.tgz#8f47408b2d680b1226ffd205d501f8f7d5e29206" + dependencies: + prom-client "^10.0.0" + +errno@~0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" @@ -2354,6 +2898,68 @@ esutils@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" +ethereum-common@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" + +ethereum-common@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" + +ethereumjs-account@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.4.tgz#f8c30231bcb707f4514d8a052c1f9da103624d47" + dependencies: + ethereumjs-util "^4.0.1" + rlp "^2.0.0" + +ethereumjs-block@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.0.tgz#23d6a765b069500a9f35d1c093ab6b216cbbeb06" + dependencies: + async "^2.0.1" + ethereum-common "0.2.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.3.tgz#ece051d3efdbe771ad2a518d61632ca2ab75ecbb" + dependencies: + ethereum-common "^0.0.18" + ethereumjs-util "^5.0.0" + +ethereumjs-util@^4.0.0, ethereumjs-util@^4.0.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" + dependencies: + bn.js "^4.8.0" + create-hash "^1.1.2" + keccakjs "^0.2.0" + rlp "^2.0.0" + secp256k1 "^3.0.1" + +ethereumjs-util@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz#25ba0215cbb4c2f0b108a6f96af2a2e62e45921f" + dependencies: + babel-preset-es2015 "^6.24.0" + babelify "^7.3.0" + bn.js "^4.8.0" + create-hash "^1.1.2" + ethjs-util "^0.1.3" + keccak "^1.0.2" + rlp "^2.0.0" + secp256k1 "^3.0.1" + +ethjs-util@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.4.tgz#1c8b6879257444ef4d3f3fbbac2ded12cd997d93" + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + event-emitter@~0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" @@ -2505,6 +3111,10 @@ fast-deep-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" +fast-future@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fast-future/-/fast-future-1.0.2.tgz#8435a9aaa02d79248d17d704e76259301d99280a" + fast-json-parse@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" @@ -2547,10 +3157,22 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" +file-type@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-7.3.0.tgz#18869760e10c36c0416d53083684fcfc0d59df3a" + +file-type@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-7.4.0.tgz#2a7c94f62a0030150bb7d9b6c70cfa1d3e759c86" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" +filesize@^3.5.11: + version "3.5.11" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" + fill-range@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" @@ -2580,6 +3202,14 @@ find-node-modules@^1.0.4: findup-sync "0.4.2" merge "^1.2.0" +find-process@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-process/-/find-process-1.1.0.tgz#f21fa08220fec972b471d92ae3cf0c62bebcd5bb" + dependencies: + chalk "^2.0.1" + commander "^2.11.0" + debug "^2.6.8" + find-root@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -2591,7 +3221,7 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: @@ -2700,6 +3330,12 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" +"fs-ext@github:baudehlo/node-fs-ext#master": + version "1.0.0" + resolved "https://codeload.github.com/baudehlo/node-fs-ext/tar.gz/500be8514729c194ac7ca2b30b5bc7eaf812670d" + dependencies: + nan "^2.0" + fs-extra@0.26.5: version "0.26.5" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.5.tgz#53ac74667ca083fd2dc1712c813039ca32d69a7f" @@ -2737,6 +3373,18 @@ fsevents@^1.0.0: nan "^2.3.0" node-pre-gyp "^0.6.39" +fsm-event@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fsm-event/-/fsm-event-2.1.0.tgz#d385716ed38f9c92feab2ba601e2aac6c0ba5a92" + dependencies: + fsm "^1.0.2" + +fsm@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fsm/-/fsm-1.0.2.tgz#e2eb9b29747e806bbb90f8d5453e2f9d7bd23783" + dependencies: + split "~0.3.0" + fstream-ignore@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" @@ -2787,6 +3435,13 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gc-stats@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/gc-stats/-/gc-stats-1.0.2.tgz#4d9ec98441e19888205452062ad6da30c9876e11" + dependencies: + nan "^2.6.2" + node-pre-gyp "^0.6.36" + geckodriver@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-1.10.0.tgz#73e2f785666521d0d3a9ddc9fd5a0a5e3bf47845" @@ -2806,10 +3461,21 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +get-browser-rtc@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9" + get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-folder-size@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-folder-size/-/get-folder-size-1.0.0.tgz#134d663a0e745611b72f71c83b13f1b12f31ba29" + dependencies: + async "^1.4.2" + minimist "^1.2.0" + get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -2892,6 +3558,12 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + dependencies: + ini "^1.3.4" + global-modules@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" @@ -2986,6 +3658,33 @@ handlebars@^4.0.1: optionalDependencies: uglify-js "^2.6" +hapi-set-header@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hapi-set-header/-/hapi-set-header-1.0.2.tgz#2afae002c6719d6d54f3fa88462f822892d2df13" + +hapi@^16.2.2, hapi@^16.6.2: + version "16.6.2" + resolved "https://registry.yarnpkg.com/hapi/-/hapi-16.6.2.tgz#690554fc9c5ca7ad2f8030bbfe21d5e5886cdc14" + dependencies: + accept "^2.1.4" + ammo "^2.0.4" + boom "^5.2.0" + call "^4.0.2" + catbox "^7.1.5" + catbox-memory "^2.0.4" + cryptiles "^3.1.2" + heavy "^4.0.4" + hoek "^4.2.0" + iron "^4.0.5" + items "^2.1.1" + joi "^11.1.0" + mimos "^3.0.3" + podium "^1.3.0" + shot "^3.4.2" + statehood "^5.0.3" + subtext "^5.0.0" + topo "^2.0.2" + har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" @@ -3023,6 +3722,12 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-binary2@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98" + dependencies: + isarray "2.0.1" + has-binary@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" @@ -3071,6 +3776,10 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" +hashlru@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.2.0.tgz#793a58943f902aea578177d7b0335f13f2694b71" + hawk@3.1.3, hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" @@ -3093,6 +3802,18 @@ he@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" +heap@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" + +heavy@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/heavy/-/heavy-4.0.4.tgz#36c91336c00ccfe852caa4d153086335cd2f00e9" + dependencies: + boom "5.x.x" + hoek "4.x.x" + joi "10.x.x" + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -3105,10 +3826,14 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoek@4.x.x: +hoek@4.x.x, hoek@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" +hoek@5.x.x, hoek@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.2.tgz#d2f2c95d36fe7189cf8aa8c237abc1950eca1378" + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -3126,6 +3851,10 @@ hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + htmlescape@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" @@ -3199,7 +3928,17 @@ iconv-lite@0.4.19, iconv-lite@^0.4.17: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -ieee754@^1.1.4: +idb-readable-stream@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/idb-readable-stream/-/idb-readable-stream-0.0.4.tgz#3283da6645bf6b220dc61ba61df62bee5dae4acf" + dependencies: + xtend "^4.0.1" + +idb-wrapper@^1.5.0: + version "1.7.2" + resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2" + +ieee754@^1.1.4, ieee754@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -3207,6 +3946,10 @@ ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0, ignore@^3.3.3: version "3.3.7" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +immediate@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -3229,6 +3972,17 @@ indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" +inert@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/inert/-/inert-4.2.1.tgz#da743c478a18a8378032f80ada128a28cd2bba93" + dependencies: + ammo "2.x.x" + boom "5.x.x" + hoek "4.x.x" + items "2.x.x" + joi "10.x.x" + lru-cache "4.1.x" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -3314,6 +4068,22 @@ insert-module-globals@^7.0.0: through2 "^2.0.0" xtend "^4.0.0" +interface-connection@^0.3.2, interface-connection@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/interface-connection/-/interface-connection-0.3.2.tgz#e4949883f6ea79fb7edd01ee3f4fca47a29fd2c4" + dependencies: + pull-defer "~0.2.2" + timed-tape "~0.1.1" + +interface-datastore@^0.4.2, interface-datastore@~0.4.0, interface-datastore@~0.4.1, interface-datastore@~0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-0.4.2.tgz#5a3aee2959058838e0a394665dafcddc82305bef" + dependencies: + async "^2.6.0" + pull-defer "^0.2.2" + pull-stream "^3.6.1" + uuid "^3.1.0" + interpret@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" @@ -3328,7 +4098,20 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip@^1.1.5: +ip-address@^5.8.8: + version "5.8.8" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.8.8.tgz#5fd1f8f7465249fb7d2b3c1eec7b41d29d1f1b76" + dependencies: + jsbn "0.1.0" + lodash.find "^4.6.0" + lodash.max "^4.0.1" + lodash.merge "^4.6.0" + lodash.padstart "^4.6.1" + lodash.repeat "^4.1.0" + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" + +ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -3367,47 +4150,329 @@ ipfs-api@17.1.3: streamifier "^0.1.1" tar-stream "^1.5.5" +ipfs-api@^17.2.4: + version "17.2.4" + resolved "https://registry.yarnpkg.com/ipfs-api/-/ipfs-api-17.2.4.tgz#8130a5fa98e15b2af8f6a27b71442cebafc89b24" + dependencies: + async "^2.6.0" + bs58 "^4.0.1" + cids "~0.5.2" + concat-stream "^1.6.0" + detect-node "^2.0.3" + flatmap "0.0.3" + glob "^7.1.2" + glob-escape "0.0.2" + ipfs-block "~0.6.1" + ipfs-unixfs "~0.1.14" + ipld-dag-pb "~0.11.3" + is-ipfs "^0.3.2" + is-stream "^1.1.0" + lru-cache "^4.1.1" + multiaddr "^3.0.1" + multihashes "~0.4.12" + ndjson "^1.5.0" + once "^1.4.0" + peer-id "~0.10.3" + peer-info "~0.11.3" + promisify-es6 "^1.0.3" + pull-defer "^0.2.2" + pull-pushable "^2.1.1" + pump "^1.0.3" + qs "^6.5.1" + readable-stream "^2.3.3" + stream-http "^2.7.2" + stream-to-pull-stream "^1.7.2" + streamifier "^0.1.1" + tar-stream "^1.5.5" + +ipfs-bitswap@~0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/ipfs-bitswap/-/ipfs-bitswap-0.17.4.tgz#938bf9e01540c9b554127724900c2a54ae8f4690" + dependencies: + async "^2.6.0" + cids "~0.5.2" + debug "^3.1.0" + ipfs-block "~0.6.1" + lodash.debounce "^4.0.8" + lodash.find "^4.6.0" + lodash.groupby "^4.6.0" + lodash.isequalwith "^4.4.0" + lodash.isundefined "^3.0.1" + lodash.pullallwith "^4.7.0" + lodash.sortby "^4.7.0" + lodash.uniqwith "^4.5.0" + lodash.values "^4.3.0" + multicodec "~0.2.5" + multihashing-async "~0.4.7" + protons "^1.0.0" + pull-defer "~0.2.2" + pull-length-prefixed "^1.3.0" + pull-pushable "^2.1.1" + pull-stream "^3.6.1" + safe-buffer "^5.1.1" + varint-decoder "^0.1.1" + +ipfs-block-service@~0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/ipfs-block-service/-/ipfs-block-service-0.13.0.tgz#4d827863c59f34f9e44deb92dea9a5b1a9fcb093" + ipfs-block@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/ipfs-block/-/ipfs-block-0.6.1.tgz#b93053e9ea95f75ed2907817ffbf55d992a06ad1" dependencies: cids "^0.5.2" -ipfs-unixfs@~0.1.14: - version "0.1.14" - resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-0.1.14.tgz#256437fcf642d8ab46b5185582ec4f21e908ef37" +ipfs-multipart@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ipfs-multipart/-/ipfs-multipart-0.1.0.tgz#5a8ed13f42e82d8bef7d2e151d8eaf5e3a30e3ea" dependencies: - protons "^1.0.0" + content "^3.0.0" + dicer "^0.2.5" -ipld-dag-pb@~0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.11.3.tgz#82851de59e8ff52529012da308644a7e6f90eaef" +ipfs-repo@~0.18.2, ipfs-repo@~0.18.4: + version "0.18.4" + resolved "https://registry.yarnpkg.com/ipfs-repo/-/ipfs-repo-0.18.4.tgz#2a6e5ae1269bb2010b8558e9affeda88aeb0670e" dependencies: async "^2.6.0" - bs58 "^4.0.1" - buffer-loader "0.0.1" + base32.js "~0.1.0" cids "~0.5.2" + datastore-core "~0.4.0" + datastore-fs "~0.4.2" + datastore-level "~0.7.0" + debug "^3.1.0" + interface-datastore "~0.4.2" ipfs-block "~0.6.1" - is-ipfs "~0.3.2" + level-js timkuijsten/level.js#idbunwrapper + leveldown "^1.7.2" + lock-me "^1.0.3" + lodash.get "^4.4.2" + lodash.has "^4.5.2" + lodash.set "^4.3.2" + multiaddr "^3.0.1" + +ipfs-unixfs-engine@~0.24.1: + version "0.24.1" + resolved "https://registry.yarnpkg.com/ipfs-unixfs-engine/-/ipfs-unixfs-engine-0.24.1.tgz#31fa61a3770d5546389fd6a9fe0e54b0413031f3" + dependencies: + async "^2.6.0" + bs58 "^4.0.1" + cids "~0.5.2" + deep-extend "~0.5.0" + ipfs-unixfs "~0.1.14" + ipld-dag-pb "~0.11.3" + ipld-resolver "~0.14.1" + left-pad "^1.1.3" + lodash "^4.17.4" multihashes "~0.4.12" multihashing-async "~0.4.7" - protons "^1.0.0" + pull-batch "^1.0.0" + pull-block "^1.4.0" + pull-cat "^1.1.11" + pull-pair "^1.1.0" + pull-paramap "^1.2.2" + pull-pause "0.0.1" + pull-pushable "^2.1.1" pull-stream "^3.6.1" pull-traverse "^1.0.3" - stable "^0.1.6" + pull-write "^1.1.4" + sparse-array "^1.3.1" -is-absolute@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" +ipfs-unixfs@~0.1.14: + version "0.1.14" + resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-0.1.14.tgz#256437fcf642d8ab46b5185582ec4f21e908ef37" dependencies: - is-relative "^0.1.0" - -is-alphabetical@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.1.tgz#c77079cc91d4efac775be1034bf2d243f95e6f08" + protons "^1.0.0" -is-alphanumerical@^1.0.0: - version "1.0.1" +ipfs@0.27.3: + version "0.27.3" + resolved "https://registry.yarnpkg.com/ipfs/-/ipfs-0.27.3.tgz#c65e32786feadfdad175fe6f25b9685f479e770a" + dependencies: + async "^2.6.0" + binary-querystring "~0.1.2" + bl "^1.2.1" + boom "^7.1.1" + bs58 "^4.0.1" + byteman "^1.3.5" + cids "^0.5.2" + debug "^3.1.0" + file-type "^7.4.0" + filesize "^3.5.11" + fsm-event "^2.1.0" + get-folder-size "^1.0.0" + glob "^7.1.2" + hapi "^16.2.2" + hapi-set-header "^1.0.2" + hoek "^5.0.2" + ipfs-api "^17.2.4" + ipfs-bitswap "~0.17.4" + ipfs-block "~0.6.1" + ipfs-block-service "~0.13.0" + ipfs-multipart "~0.1.0" + ipfs-repo "~0.18.4" + ipfs-unixfs "~0.1.14" + ipfs-unixfs-engine "~0.24.1" + ipld-resolver "~0.14.1" + is-ipfs "^0.3.2" + is-stream "^1.1.0" + joi "^13.0.2" + libp2p "~0.13.3" + libp2p-circuit "~0.1.4" + libp2p-floodsub "~0.13.1" + libp2p-kad-dht "~0.6.0" + libp2p-mdns "~0.9.1" + libp2p-multiplex "~0.5.0" + libp2p-railing "~0.7.1" + libp2p-secio "~0.8.1" + libp2p-tcp "~0.11.1" + libp2p-webrtc-star "~0.13.3" + libp2p-websocket-star "~0.7.2" + libp2p-websockets "~0.10.4" + lodash.flatmap "^4.5.0" + lodash.get "^4.4.2" + lodash.sortby "^4.7.0" + lodash.values "^4.3.0" + mafmt "^3.0.2" + mime-types "^2.1.17" + mkdirp "~0.5.1" + multiaddr "^3.0.1" + multihashes "~0.4.12" + once "^1.4.0" + path-exists "^3.0.0" + peer-book "~0.5.2" + peer-id "~0.10.3" + peer-info "~0.11.3" + progress "^2.0.0" + promisify-es6 "^1.0.3" + pull-abortable "^4.1.1" + pull-file "^1.1.0" + pull-ndjson "^0.1.1" + pull-paramap "^1.2.2" + pull-pushable "^2.1.1" + pull-sort "^1.0.1" + pull-stream "^3.6.1" + pull-stream-to-stream "^1.3.4" + pull-zip "^2.0.1" + read-pkg-up "^3.0.0" + readable-stream "2.3.3" + safe-buffer "^5.1.1" + stream-to-pull-stream "^1.7.2" + tar-stream "^1.5.5" + temp "~0.8.3" + through2 "^2.0.3" + update-notifier "^2.3.0" + yargs "^10.0.3" + yargs-parser "^8.0.0" + optionalDependencies: + prom-client "^10.2.2" + prometheus-gc-stats "^0.5.0" + +ipld-dag-cbor@~0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.11.2.tgz#af38d7089d227d0fdca82cab4db9b83e4f60dbb6" + dependencies: + async "^2.6.0" + borc "^2.0.2" + bs58 "^4.0.1" + cids "~0.5.2" + is-circular "^1.0.1" + multihashes "~0.4.12" + multihashing-async "~0.4.7" + traverse "^0.6.6" + +ipld-dag-pb@~0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.11.3.tgz#82851de59e8ff52529012da308644a7e6f90eaef" + dependencies: + async "^2.6.0" + bs58 "^4.0.1" + buffer-loader "0.0.1" + cids "~0.5.2" + ipfs-block "~0.6.1" + is-ipfs "~0.3.2" + multihashes "~0.4.12" + multihashing-async "~0.4.7" + protons "^1.0.0" + pull-stream "^3.6.1" + pull-traverse "^1.0.3" + stable "^0.1.6" + +ipld-ethereum@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/ipld-ethereum/-/ipld-ethereum-1.4.4.tgz#4ee0604a0d44795c2db56b31902e3083b2c0e1bc" + dependencies: + async "^2.6.0" + cids "~0.5.2" + ethereumjs-account "^2.0.4" + ethereumjs-block "^1.7.0" + ethereumjs-tx "^1.3.3" + ipfs-block "~0.6.1" + merkle-patricia-tree "^2.2.0" + multihashes "~0.4.12" + multihashing-async "~0.4.7" + rlp "^2.0.0" + +ipld-git@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ipld-git/-/ipld-git-0.1.1.tgz#fc9292686f7499b9069dadcbdfc7444ec4715873" + dependencies: + async "^2.6.0" + cids "~0.5.2" + multicodec "~0.2.5" + multihashes "~0.4.12" + multihashing-async "~0.4.7" + smart-buffer "^4.0.0" + traverse "~0.6.6" + +ipld-raw@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-1.0.7.tgz#60530405069e7676f3cbbd09c84a8a23da674ace" + dependencies: + cids "~0.5.2" + +ipld-resolver@~0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/ipld-resolver/-/ipld-resolver-0.14.1.tgz#78812d5a38db3092ec673b79e6836e128358c5d1" + dependencies: + async "^2.6.0" + cids "~0.5.2" + interface-datastore "~0.4.1" + ipfs-block "~0.6.1" + ipfs-block-service "~0.13.0" + ipfs-repo "~0.18.2" + ipld-dag-cbor "~0.11.2" + ipld-dag-pb "~0.11.3" + ipld-ethereum "^1.4.4" + ipld-git "~0.1.1" + ipld-raw "^1.0.7" + is-ipfs "~0.3.2" + lodash.flatten "^4.4.0" + lodash.includes "^4.3.0" + memdown "^1.4.1" + multihashes "~0.4.12" + pull-sort "^1.0.1" + pull-stream "^3.6.1" + pull-traverse "^1.0.3" + +iron@4.x.x, iron@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/iron/-/iron-4.0.5.tgz#4f042cceb8b9738f346b59aa734c83a89bc31428" + dependencies: + boom "5.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + +is-absolute@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" + dependencies: + is-relative "^0.1.0" + +is-alphabetical@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.1.tgz#c77079cc91d4efac775be1034bf2d243f95e6f08" + +is-alphanumerical@^1.0.0: + version "1.0.1" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz#dfb4aa4d1085e33bdb61c2dee9c80e9c6c19f53b" dependencies: is-alphabetical "^1.0.0" @@ -3443,6 +4508,10 @@ is-ci@^1.0.10: dependencies: ci-info "^1.0.0" +is-circular@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.1.tgz#65b0476a8588e546b8087c1d66d4c08d82a31679" + is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" @@ -3495,10 +4564,21 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + is-hexadecimal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz#6e084bbc92061fbb0971ec58b6ce6d404e24da69" +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + is-ipfs@0.3.2, is-ipfs@^0.3.2, is-ipfs@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.3.2.tgz#c4650b838e36fd0151de5896b2ff319fe8936182" @@ -3612,6 +4692,12 @@ is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +is-svg@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" @@ -3640,14 +4726,32 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + isbinaryfile@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" +isbuffer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b" + isemail@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a" +isemail@2.x.x: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isemail/-/isemail-2.2.1.tgz#0353d3d9a62951080c262c2aa0a42b8ea8e9e2a6" + +isemail@3.x.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.0.0.tgz#c89a46bb7a3361e1759f8028f9082488ecce3dff" + dependencies: + punycode "2.x.x" + isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" @@ -3685,6 +4789,10 @@ istanbul@^0.4.0: which "^1.1.1" wordwrap "^1.0.0" +items@2.x.x, items@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/items/-/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198" + jed@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz#7a549bbd9ffe1585b0cd0a191e203055bee574b4" @@ -3693,6 +4801,31 @@ jetpack-id@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jetpack-id/-/jetpack-id-1.0.0.tgz#2cf9fbae46d8074fc16b7de0071c8efebca473a6" +joi@10.x.x: + version "10.6.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-10.6.0.tgz#52587f02d52b8b75cdb0c74f0b164a191a0e1fc2" + dependencies: + hoek "4.x.x" + isemail "2.x.x" + items "2.x.x" + topo "2.x.x" + +joi@^11.1.0: + version "11.4.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" + dependencies: + hoek "4.x.x" + isemail "3.x.x" + topo "2.x.x" + +joi@^13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/joi/-/joi-13.0.2.tgz#8cc57a573b7c0b64108fa6fd85061c20fcb0d6b0" + dependencies: + hoek "5.x.x" + isemail "3.x.x" + topo "3.x.x" + joi@^6.10.1: version "6.10.1" resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" @@ -3709,6 +4842,10 @@ js-select@~0.6.0: JSONSelect "0.2.1" traverse "0.4.x" +js-sha3@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" + js-sha3@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" @@ -3731,6 +4868,10 @@ js-yaml@3.x, js-yaml@^3.5.1, js-yaml@^3.9.1: argparse "^1.0.7" esprima "^4.0.0" +jsbn@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -3739,6 +4880,10 @@ jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + json-parse-better-errors@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" @@ -3767,6 +4912,12 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +json-text-sequence@^0.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2" + dependencies: + delimit-stream "0.1.0" + json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" @@ -3857,6 +5008,14 @@ jws@^3.1.3: jwa "^1.1.4" safe-buffer "^5.0.1" +k-bucket@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/k-bucket/-/k-bucket-3.3.0.tgz#cf18eb3407ff12f9fc2f90cbe832fb66999b2989" + dependencies: + buffer-equals "^1.0.3" + inherits "^2.0.1" + randombytes "^2.0.3" + karma-babel-preprocessor@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/karma-babel-preprocessor/-/karma-babel-preprocessor-7.0.0.tgz#18756d818f97a5e88f91902674cd9130177a8dce" @@ -3936,6 +5095,23 @@ karma@1.7.1: tmp "0.0.31" useragent "^2.1.12" +keccak@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.3.0.tgz#3681bd99ad3d0354ddb29b9040c1b6560cce08ac" + dependencies: + bindings "^1.2.1" + inherits "^2.0.3" + nan "^2.2.1" + prebuild-install "^2.0.0" + safe-buffer "^5.1.0" + +keccakjs@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.1.tgz#1d633af907ef305bbf9f2fa616d56c44561dfa4d" + dependencies: + browserify-sha3 "^0.0.1" + sha3 "^1.1.0" + keypair@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.1.tgz#7603719270afb6564ed38a22087a06fc9aa4ea1b" @@ -4000,6 +5176,91 @@ lcov-parse@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" +left-pad@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" + +length-prefixed-stream@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/length-prefixed-stream/-/length-prefixed-stream-1.5.1.tgz#99eaf51672dddefbfdd8881ee7b7b7df35d1ed73" + dependencies: + readable-stream "^2.0.0" + varint "^5.0.0" + +level-codec@~7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" + +level-errors@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.1.tgz#52fdc2dbbaf395cf767db843929a38b7015678d2" + dependencies: + errno "~0.1.1" + +level-errors@~1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" + dependencies: + errno "~0.1.1" + +level-iterator-stream@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" + dependencies: + inherits "^2.0.1" + level-errors "^1.0.3" + readable-stream "^1.0.33" + xtend "^4.0.0" + +level-js@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697" + dependencies: + abstract-leveldown "~0.12.0" + idb-wrapper "^1.5.0" + isbuffer "~0.0.0" + ltgt "^2.1.2" + typedarray-to-buffer "~1.0.0" + xtend "~2.1.2" + +level-js@timkuijsten/level.js#idbunwrapper: + version "2.2.3" + resolved "https://codeload.github.com/timkuijsten/level.js/tar.gz/18e03adab34c49523be7d3d58fafb0c632f61303" + dependencies: + abstract-leveldown "~2.4.1" + idb-readable-stream "0.0.4" + ltgt "^2.1.2" + xtend "^4.0.1" + +level-ws@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" + dependencies: + readable-stream "~1.0.15" + xtend "~2.1.1" + +leveldown@^1.7.2, leveldown@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-1.9.0.tgz#057b4b5d9d9717f81fe88c6e6cf962f4b44961a1" + dependencies: + abstract-leveldown "~2.7.0" + bindings "~1.3.0" + fast-future "~1.0.2" + nan "~2.7.0" + prebuild-install "^2.1.0" + +levelup@^1.2.1, levelup@^1.3.9: + version "1.3.9" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" + dependencies: + deferred-leveldown "~1.2.1" + level-codec "~7.0.0" + level-errors "~1.0.3" + level-iterator-stream "~1.3.0" + prr "~1.0.1" + semver "~5.4.1" + xtend "~4.0.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -4013,6 +5274,27 @@ lexical-scope@^1.2.0: dependencies: astw "^2.0.0" +libp2p-circuit@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/libp2p-circuit/-/libp2p-circuit-0.1.4.tgz#d2210d0dddd5570f7d6c3ed46bdd46ebc31eaba5" + dependencies: + assert "^1.4.1" + async "^2.5.0" + debug "^3.1.0" + interface-connection "^0.3.2" + lodash "^4.17.4" + mafmt "^3.0.2" + multiaddr "^3.0.1" + multistream-select "^0.14.0" + peer-id "^0.10.2" + peer-info "^0.11.0" + protons "^1.0.0" + pull-abortable "^4.1.1" + pull-handshake "^1.1.4" + pull-stream "^3.6.1" + safe-buffer "^5.1.1" + setimmediate "^1.0.5" + libp2p-crypto-secp256k1@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.2.tgz#0dd521f18abc4e36a152e24e9b36307b0ae9cf05" @@ -4023,7 +5305,23 @@ libp2p-crypto-secp256k1@~0.2.2: safe-buffer "^5.1.1" secp256k1 "^3.3.0" -libp2p-crypto@~0.10.3: +libp2p-crypto@^0.10.4, libp2p-crypto@~0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.10.4.tgz#24fd3f5291fdd8055bc33099e5c9b84fefdf8220" + dependencies: + asn1.js "^5.0.0" + async "^2.6.0" + browserify-aes "^1.1.1" + keypair "^1.0.1" + libp2p-crypto-secp256k1 "~0.2.2" + multihashing-async "~0.4.7" + pem-jwk "^1.5.1" + protons "^1.0.0" + rsa-pem-to-jwk "^1.1.3" + tweetnacl "^1.0.0" + webcrypto-shim "github:dignifiedquire/webcrypto-shim#master" + +libp2p-crypto@~0.10.0, libp2p-crypto@~0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.10.3.tgz#00f84fdfe7a8b334aa1cb9090a44bb066dce3522" dependencies: @@ -4039,6 +5337,221 @@ libp2p-crypto@~0.10.3: tweetnacl "^1.0.0" webcrypto-shim "github:dignifiedquire/webcrypto-shim#master" +libp2p-floodsub@~0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/libp2p-floodsub/-/libp2p-floodsub-0.13.1.tgz#b396f1a401130ecf03899c04c95eef92eaa47fab" + dependencies: + async "^2.6.0" + bs58 "^4.0.1" + debug "^3.1.0" + length-prefixed-stream "^1.5.1" + libp2p-crypto "~0.10.4" + lodash.values "^4.3.0" + protons "^1.0.0" + pull-pushable "^2.1.1" + time-cache "~0.3.0" + +libp2p-identify@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/libp2p-identify/-/libp2p-identify-0.6.1.tgz#ea717671f3e1ea5fa0f1548b1ab85b1b98c5a5be" + dependencies: + multiaddr "^3.0.1" + peer-id "~0.10.0" + peer-info "~0.11.0" + protons "^1.0.0" + pull-length-prefixed "^1.3.0" + pull-stream "^3.6.0" + +libp2p-kad-dht@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/libp2p-kad-dht/-/libp2p-kad-dht-0.6.0.tgz#d3272a471783bfd6f69724f7b2eb38d7cd04efec" + dependencies: + async "^2.6.0" + base32.js "^0.1.0" + cids "~0.5.2" + debug "^3.1.0" + hashlru "^2.2.0" + heap "^0.2.6" + interface-datastore "~0.4.1" + k-bucket "^3.3.0" + libp2p-crypto "~0.10.3" + libp2p-record "~0.5.1" + multihashing-async "~0.4.7" + peer-id "~0.10.2" + peer-info "~0.11.0" + priorityqueue "^0.2.0" + protons "^1.0.0" + pull-length-prefixed "^1.3.0" + pull-stream "^3.6.1" + safe-buffer "^5.1.1" + varint "^5.0.0" + xor-distance "^1.0.0" + +libp2p-mdns@~0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/libp2p-mdns/-/libp2p-mdns-0.9.1.tgz#d8a9d1402f36befcd1e9dd3676f585d2361ef86b" + dependencies: + libp2p-tcp "~0.11.0" + multiaddr "^3.0.1" + multicast-dns "^6.1.1" + peer-id "~0.10.1" + peer-info "~0.11.0" + +libp2p-multiplex@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/libp2p-multiplex/-/libp2p-multiplex-0.5.0.tgz#ffdf2a36e70eba730f64c06c4d65491c3ba19e95" + dependencies: + async "^2.5.0" + multiplex dignifiedquire/multiplex + pull-catch "^1.0.0" + pull-stream "^3.6.0" + pull-stream-to-stream "^1.3.4" + stream-to-pull-stream "^1.7.2" + +libp2p-ping@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/libp2p-ping/-/libp2p-ping-0.6.0.tgz#6e7ef5d597e921aa990707ff058d51dc58833169" + dependencies: + libp2p-crypto "~0.10.0" + pull-handshake "^1.1.4" + pull-stream "^3.6.0" + +libp2p-railing@~0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/libp2p-railing/-/libp2p-railing-0.7.1.tgz#c010885229fff0b753a1a342828b26fdabe7098d" + dependencies: + async "^2.5.0" + debug "^3.0.1" + lodash "^4.17.4" + multiaddr "^3.0.1" + peer-id "~0.10.1" + peer-info "~0.11.0" + +libp2p-record@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/libp2p-record/-/libp2p-record-0.5.1.tgz#dfdec043c67a86bc6bfea6b123a6e603d9fe07e8" + dependencies: + async "^2.5.0" + buffer-split "^1.0.0" + left-pad "^1.1.3" + multihashes "~0.4.9" + multihashing-async "~0.4.6" + peer-id "~0.10.0" + protons "^1.0.0" + +libp2p-secio@~0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/libp2p-secio/-/libp2p-secio-0.8.1.tgz#9dfc17d1b53d1659fdcecee5eff37742cd91ad71" + dependencies: + async "^2.5.0" + debug "^3.0.1" + interface-connection "~0.3.2" + libp2p-crypto "~0.10.3" + multihashing-async "~0.4.6" + peer-id "~0.10.0" + protons "^1.0.0" + pull-defer "^0.2.2" + pull-handshake "^1.1.4" + pull-length-prefixed "^1.3.0" + pull-stream "^3.6.0" + +libp2p-swarm@~0.33.2: + version "0.33.2" + resolved "https://registry.yarnpkg.com/libp2p-swarm/-/libp2p-swarm-0.33.2.tgz#15e8621606a925870c9c1c5b3d03190abcbce2b4" + dependencies: + async "^2.6.0" + debug "^3.1.0" + interface-connection "~0.3.2" + ip-address "^5.8.8" + libp2p-circuit "~0.1.4" + libp2p-identify "~0.6.1" + lodash.includes "^4.3.0" + multiaddr "^3.0.1" + multistream-select "~0.14.1" + once "^1.4.0" + peer-id "~0.10.2" + peer-info "~0.11.1" + pull-stream "^3.6.1" + +libp2p-tcp@~0.11.0, libp2p-tcp@~0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/libp2p-tcp/-/libp2p-tcp-0.11.1.tgz#fd0320df7299425d7d7bba9e5ac8347b0209e590" + dependencies: + interface-connection "~0.3.2" + ip-address "^5.8.8" + lodash.includes "^4.3.0" + lodash.isfunction "^3.0.8" + mafmt "^3.0.1" + multiaddr "^3.0.1" + once "^1.4.0" + stream-to-pull-stream "^1.7.2" + +libp2p-webrtc-star@~0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/libp2p-webrtc-star/-/libp2p-webrtc-star-0.13.3.tgz#adcc511e2d51ec692ed31481520f160e08b301cd" + dependencies: + async "^2.6.0" + debug "^3.1.0" + detect-node "^2.0.3" + epimetheus "^1.0.55" + hapi "^16.6.2" + inert "^4.2.1" + interface-connection "~0.3.2" + mafmt "^3.0.2" + minimist "^1.2.0" + multiaddr "^3.0.1" + once "^1.4.0" + peer-id "~0.10.2" + peer-info "~0.11.1" + pull-stream "^3.6.1" + simple-peer "^8.1.1" + socket.io "^2.0.4" + socket.io-client "^2.0.4" + stream-to-pull-stream "^1.7.2" + webrtcsupport "github:ipfs/webrtcsupport" + +libp2p-websocket-star@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/libp2p-websocket-star/-/libp2p-websocket-star-0.7.2.tgz#644c35ce4ab934d415176a15f58af3b3f30d51ef" + dependencies: + async "^2.6.0" + data-queue "0.0.3" + debug "^3.1.0" + interface-connection "^0.3.2" + libp2p-crypto "^0.10.4" + mafmt "^3.0.2" + merge-recursive "0.0.3" + multiaddr "^3.0.1" + once "^1.4.0" + peer-id "^0.10.3" + peer-info "^0.11.3" + pull-stream "^3.6.1" + socket.io-client "^2.0.4" + socket.io-pull-stream "^0.1.1" + uuid "^3.1.0" + +libp2p-websockets@~0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/libp2p-websockets/-/libp2p-websockets-0.10.4.tgz#b586207bba7c6a9f9d72fcde629a7293e1fa54a8" + dependencies: + interface-connection "~0.3.2" + lodash.includes "^4.3.0" + mafmt "^3.0.1" + pull-ws "^3.3.0" + +libp2p@~0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/libp2p/-/libp2p-0.13.3.tgz#8d94ae8ae5aa48b02f1440ad1e3a41f991af236a" + dependencies: + async "^2.6.0" + libp2p-ping "~0.6.0" + libp2p-swarm "~0.33.2" + mafmt "^3.0.2" + multiaddr "^3.0.1" + peer-book "~0.5.2" + peer-id "~0.10.3" + peer-info "~0.11.3" + lie@~3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" @@ -4080,38 +5593,129 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +lock-me@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/lock-me/-/lock-me-1.0.3.tgz#87169a7160dd551c759a4d29eb00e55df050df5c" + dependencies: + async "^2.1.5" + find-process "^1.0.5" + nodeify "^1.0.1" + once "^1.4.0" + optionalDependencies: + fs-ext "github:baudehlo/node-fs-ext#master" + lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + lodash.filter@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.flatmap@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" +lodash.groupby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" + +lodash.has@^4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + +lodash.isequalwith@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz#266726ddd528f854f21f4ea98a065606e0fbc6b0" + +lodash.isfunction@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz#4db709fc81bc4a8fd7127a458a5346c5cdce2c6b" + +lodash.isundefined@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" + lodash.map@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" +lodash.max@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.max/-/lodash.max-4.0.1.tgz#8735566c618b35a9f760520b487ae79658af136a" + lodash.memoize@~3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" +lodash.merge@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" +lodash.padstart@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + +lodash.pullallwith@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.pullallwith/-/lodash.pullallwith-4.7.0.tgz#657e4200710d8b59d694ee5213662ae0511d1170" + +lodash.range@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" + +lodash.repeat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.repeat/-/lodash.repeat-4.1.0.tgz#fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44" + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + lodash.uniqby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" +lodash.uniqwith@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz#7a0cbf65f43b5928625a9d4d0dc54b18cadc7ef3" + +lodash.values@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" + lodash@3.10.1, lodash@^3.8.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" @@ -4153,10 +5757,14 @@ longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -looper@^3.0.0: +looper@^3.0.0, looper@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/looper/-/looper-3.0.0.tgz#2efa54c3b1cbaba9b94aee2e5914b0be57fbb749" +looper@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/looper/-/looper-4.0.0.tgz#7706aded59a99edca06e6b54bb86c8ec19c95155" + loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" @@ -4178,7 +5786,7 @@ lru-cache@2.2.x: version "2.2.4" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" -lru-cache@^4.0.1, lru-cache@^4.1.1: +lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: @@ -4189,6 +5797,16 @@ lru_map@0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" +ltgt@^2.1.2, ltgt@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.0.tgz#b65ba5fcb349a29924c8e333f7c6a5562f2e4842" + +mafmt@^3.0.1, mafmt@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-3.0.2.tgz#f13aafb6b1cae21fe5593423c1c5398815d4621a" + dependencies: + multiaddr "^3.0.1" + make-dir@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" @@ -4233,6 +5851,17 @@ mem@^1.1.0: dependencies: mimic-fn "^1.0.0" +memdown@^1.0.0, memdown@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" + dependencies: + abstract-leveldown "~2.7.1" + functional-red-black-tree "^1.0.1" + immediate "^3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.1.1" + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -4252,10 +5881,27 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" +merge-recursive@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/merge-recursive/-/merge-recursive-0.0.3.tgz#de7901efcaecc906d8cab2ad1e9c470f5a3dae84" + merge@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" +merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.2.0.tgz#7a4787b1262ab00fe9b204ab471b005332306efa" + dependencies: + async "^1.4.2" + ethereumjs-util "^4.0.0" + level-ws "0.0.0" + levelup "^1.2.1" + memdown "^1.0.0" + readable-stream "^2.0.0" + rlp "^2.0.0" + semaphore ">=1.0.1" + micromatch@^2.1.5, micromatch@^2.3.7: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -4281,11 +5927,15 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.x.x: + version "1.31.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.31.0.tgz#a49cd8f3ebf3ed1a482b60561d9105ad40ca74cb" + mime-db@~1.30.0: version "1.30.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.17, mime-types@~2.1.7: +mime-types@2.1.17, mime-types@^2.1.12, mime-types@^2.1.17, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.17, mime-types@~2.1.7: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: @@ -4303,6 +5953,13 @@ mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" +mimos@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/mimos/-/mimos-3.0.3.tgz#b9109072ad378c2b72f6a0101c43ddfb2b36641f" + dependencies: + hoek "4.x.x" + mime-db "1.x.x" + minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" @@ -4427,7 +6084,14 @@ multibase@~0.3.4: dependencies: base-x "3.0.0" -multicodec@~0.2.3: +multicast-dns@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.1.tgz#c5035defa9219d30640558a49298067352098060" + dependencies: + dns-packet "^1.0.1" + thunky "^0.1.0" + +multicodec@~0.2.3, multicodec@~0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.2.5.tgz#80fe6f2d04a8de73f012a7a19a06aab14b034412" dependencies: @@ -4451,6 +6115,31 @@ multihashing-async@~0.4.6, multihashing-async@~0.4.7: murmurhash3js "^3.0.1" nodeify "^1.0.1" +multiplex@dignifiedquire/multiplex: + version "6.7.0" + resolved "https://codeload.github.com/dignifiedquire/multiplex/tar.gz/b5d5edd30454e2c978ee8c52df86f5f4840d2eab" + dependencies: + debug "^2.6.1" + duplexify "^3.4.2" + readable-stream "^2.0.2" + varint "^4.0.0" + +multistream-select@^0.14.0, multistream-select@~0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/multistream-select/-/multistream-select-0.14.1.tgz#32c0d98a277f9b369c292a71360d8a1493c8ee79" + dependencies: + async "^2.6.0" + debug "^3.1.0" + interface-connection "~0.3.2" + lodash.isfunction "^3.0.8" + lodash.range "^3.2.0" + once "^1.4.0" + pull-handshake "^1.1.4" + pull-length-prefixed "^1.3.0" + pull-stream "^3.6.1" + semver "^5.4.1" + varint "^5.0.0" + murmurhash3js@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/murmurhash3js/-/murmurhash3js-3.0.1.tgz#3e983e5b47c2a06f43a713174e7e435ca044b998" @@ -4495,10 +6184,14 @@ mz@^2.6.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.2.1, nan@^2.3.0, nan@^2.3.3: +nan@^2.0, nan@^2.0.5, nan@^2.2.1, nan@^2.3.0, nan@^2.3.3, nan@^2.6.2: version "2.8.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" +nan@~2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" + nanoassert@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-1.1.0.tgz#4f3152e09540fde28c76f44b19bbcd1d5a42478d" @@ -4573,6 +6266,13 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" +nigel@2.x.x: + version "2.0.2" + resolved "https://registry.yarnpkg.com/nigel/-/nigel-2.0.2.tgz#93a1866fb0c52d87390aa75e2b161f4b5c75e5b1" + dependencies: + hoek "4.x.x" + vise "2.x.x" + nise@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/nise/-/nise-1.2.0.tgz#079d6cadbbcb12ba30e38f1c999f36ad4d6baa53" @@ -4605,7 +6305,7 @@ node-notifier@5.1.2: shellwords "^0.1.0" which "^1.2.12" -node-pre-gyp@^0.6.39: +node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.39: version "0.6.39" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" dependencies: @@ -4723,7 +6423,7 @@ object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -4803,6 +6503,10 @@ optimist@~0.3.5: dependencies: wordwrap "~0.0.2" +optional@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3" + optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -5049,7 +6753,24 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -peer-id@~0.10.2: +peer-book@~0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/peer-book/-/peer-book-0.5.2.tgz#61188faff97d9928b4747e16d6bf2b4cc7015cc4" + dependencies: + bs58 "^4.0.1" + peer-id "^0.10.3" + peer-info "^0.11.3" + +peer-id@^0.10.2, peer-id@^0.10.3, peer-id@~0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.10.3.tgz#ed51144c4556545af3001c73f5e36bb6dc2c2708" + dependencies: + async "^2.6.0" + libp2p-crypto "~0.10.4" + lodash "^4.17.4" + multihashes "~0.4.12" + +peer-id@~0.10.0, peer-id@~0.10.1, peer-id@~0.10.2: version "0.10.2" resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.10.2.tgz#88cefb53b13a5135e78be51e7f32a107fb3916bb" dependencies: @@ -5058,7 +6779,7 @@ peer-id@~0.10.2: lodash "^4.17.4" multihashes "~0.4.9" -peer-info@~0.11.1: +peer-info@^0.11.0, peer-info@~0.11.0, peer-info@~0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.11.1.tgz#50b9b31b6a260efdba747efc2df3ca74e5117dbc" dependencies: @@ -5066,6 +6787,14 @@ peer-info@~0.11.1: multiaddr "^3.0.1" peer-id "~0.10.2" +peer-info@^0.11.3, peer-info@~0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.11.3.tgz#898d898a954fe215608f7ceb94461cb810c22b02" + dependencies: + lodash.uniqby "^4.7.0" + multiaddr "^3.0.1" + peer-id "~0.10.3" + pelo@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/pelo/-/pelo-0.0.4.tgz#ca30c8d59a669d3b43a6d14c28681ca21b604b0f" @@ -5088,6 +6817,16 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +pez@2.x.x: + version "2.1.5" + resolved "https://registry.yarnpkg.com/pez/-/pez-2.1.5.tgz#5ec2cc62500cc3eb4236d4a414cf5a17b5eb5007" + dependencies: + b64 "3.x.x" + boom "5.x.x" + content "3.x.x" + hoek "4.x.x" + nigel "2.x.x" + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5153,6 +6892,14 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +podium@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/podium/-/podium-1.3.0.tgz#3c490f54d16f10f5260cbe98641f1cb733a8851c" + dependencies: + hoek "4.x.x" + items "2.x.x" + joi "10.x.x" + postcss@6.0.11: version "6.0.11" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.11.tgz#f48db210b1d37a7f7ab6499b7a54982997ab6f72" @@ -5161,7 +6908,7 @@ postcss@6.0.11: source-map "^0.5.7" supports-color "^4.4.0" -prebuild-install@^2.0.0: +prebuild-install@^2.0.0, prebuild-install@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.3.0.tgz#19481247df728b854ab57b187ce234211311b485" dependencies: @@ -5192,7 +6939,11 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -private@^0.1.7: +priorityqueue@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/priorityqueue/-/priorityqueue-0.2.0.tgz#717948e22f8392c9570d2d762e90eb411a1b7f9a" + +private@^0.1.6, private@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -5212,6 +6963,20 @@ progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" +prom-client@^10.0.0, prom-client@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-10.2.2.tgz#76b39720710ec10796d7ce60135b5d5dafbff615" + dependencies: + tdigest "^0.1.1" + +prometheus-gc-stats@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/prometheus-gc-stats/-/prometheus-gc-stats-0.5.0.tgz#dce41ab205f1d7909f9ea605d85618126404a789" + dependencies: + optional "^0.1.3" + optionalDependencies: + gc-stats "^1.0.0" + promise@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/promise/-/promise-1.3.0.tgz#e5cc9a4c8278e4664ffedc01c7da84842b040175" @@ -5236,6 +7001,20 @@ protons@^1.0.0: signed-varint "^2.0.1" varint "^5.0.0" +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +prundupify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prundupify/-/prundupify-1.0.0.tgz#772874e2a6b355e8f7179313e71f9f0545ec98ee" + dependencies: + through2 "^2.0.1" + ps-tree@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" @@ -5256,22 +7035,153 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -pull-defer@^0.2.2: +pull-abortable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/pull-abortable/-/pull-abortable-4.1.1.tgz#b3ad5aefb4116b25916d26db89393ac98d0dcea1" + +pull-batch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pull-batch/-/pull-batch-1.0.0.tgz#3a8a7084db0e983c5c59bf0e074aa41e753f0258" + dependencies: + pull-through "^1.0.18" + +pull-block@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/pull-block/-/pull-block-1.4.0.tgz#3a96542f23868f79089589e203aa6fa6df3ce4e3" + dependencies: + pull-through "^1.0.18" + +pull-cat@^1.1.11, pull-cat@^1.1.9: + version "1.1.11" + resolved "https://registry.yarnpkg.com/pull-cat/-/pull-cat-1.1.11.tgz#b642dd1255da376a706b6db4fa962f5fdb74c31b" + +pull-catch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pull-catch/-/pull-catch-1.0.0.tgz#f58037eb5c282ccb506af9f76b0027d33931e48b" + +pull-defer@^0.2.2, pull-defer@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/pull-defer/-/pull-defer-0.2.2.tgz#0887b0ffb30af32a56dbecfa72c1672271f07b13" -pull-pushable@^2.1.1: +pull-file@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pull-file/-/pull-file-1.1.0.tgz#1dd987605d6357a0d23c1e4b826f7915a215129c" + dependencies: + pull-utf8-decoder "^1.0.2" + +pull-handshake@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/pull-handshake/-/pull-handshake-1.1.4.tgz#6000a0fd018884cdfd737254f8cc60ab2a637791" + dependencies: + pull-cat "^1.1.9" + pull-pair "~1.1.0" + pull-pushable "^2.0.0" + pull-reader "^1.2.3" + +pull-length-prefixed@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pull-length-prefixed/-/pull-length-prefixed-1.3.0.tgz#99f3dac7ea4f896d905f4d2da224460811703a5e" + dependencies: + pull-pushable "^2.0.1" + pull-reader "^1.2.9" + safe-buffer "^5.0.1" + varint "^5.0.0" + +pull-many@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/pull-many/-/pull-many-1.0.8.tgz#3dadd9b6d156c545721bda8d0003dd8eaa06293e" + dependencies: + pull-stream "^3.4.5" + +pull-ndjson@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pull-ndjson/-/pull-ndjson-0.1.1.tgz#831e06bad9aa6c5c5ebc12a897e3a0e15d49e07e" + dependencies: + pull-split "^0.2.0" + pull-stream "^3.4.5" + pull-stringify "^1.2.2" + +pull-pair@^1.1.0, pull-pair@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pull-pair/-/pull-pair-1.1.0.tgz#7ee427263fdf4da825397ac0a05e1ab4b74bd76d" + +pull-paramap@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/pull-paramap/-/pull-paramap-1.2.2.tgz#51a4193ce9c8d7215d95adad45e2bcdb8493b23a" + dependencies: + looper "^4.0.0" + +pull-pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pull-pause/-/pull-pause-0.0.1.tgz#c499b4161aaddbea84f52e898e570fa25d5fa22c" + +pull-pushable@^2.0.0, pull-pushable@^2.0.1, pull-pushable@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pull-pushable/-/pull-pushable-2.1.1.tgz#86666abbe3f5402f1f7ead03eefd69b785eca5b8" -pull-stream@^3.2.3, pull-stream@^3.6.1: +pull-reader@^1.2.3, pull-reader@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/pull-reader/-/pull-reader-1.2.9.tgz#d2e9ad00bcfb54e62aa66d42c2dbbcb5eb6843b0" + +pull-sort@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pull-sort/-/pull-sort-1.0.1.tgz#a8ab0c70c86f45343c9accc939fc42769ad3dc6d" + dependencies: + pull-defer "^0.2.2" + pull-stream "^3.6.0" + +pull-split@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/pull-split/-/pull-split-0.2.0.tgz#996d288531052209a831388ad0d281df3c823796" + dependencies: + pull-through "~1.0.6" + +pull-stream-to-stream@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz#3f81d8216bd18d2bfd1a198190471180e2738399" + +pull-stream@^3.2.3, pull-stream@^3.4.5, pull-stream@^3.6.0, pull-stream@^3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.1.tgz#c5c2ae4a51246efeebcc65c0412a3d725a92ce00" +pull-stringify@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/pull-stringify/-/pull-stringify-1.2.2.tgz#5a1c34e0075faf2f2f6d46004e36dccd33bd7c7c" + +pull-through@^1.0.18, pull-through@~1.0.6: + version "1.0.18" + resolved "https://registry.yarnpkg.com/pull-through/-/pull-through-1.0.18.tgz#8dd62314263e59cf5096eafbb127a2b6ef310735" + dependencies: + looper "~3.0.0" + pull-traverse@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pull-traverse/-/pull-traverse-1.0.3.tgz#74fb5d7be7fa6bd7a78e97933e199b7945866938" +pull-utf8-decoder@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz#a7afa2384d1e6415a5d602054126cc8de3bcbce7" + +pull-write@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/pull-write/-/pull-write-1.1.4.tgz#dddea31493b48f6768b84a281d01eb3b531fe0b8" + dependencies: + looper "^4.0.0" + pull-cat "^1.1.11" + pull-stream "^3.4.5" + +pull-ws@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/pull-ws/-/pull-ws-3.3.0.tgz#e1c43ef40332167dd8120ef59edf7e892bea4aae" + dependencies: + relative-url "^1.0.2" + safe-buffer "^5.1.1" + ws "^1.1.0" + +pull-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pull-zip/-/pull-zip-2.0.1.tgz#e0641ceaff964af27596daac0700e79b381028f5" + pump@^1.0.0, pump@^1.0.1, pump@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" @@ -5283,14 +7193,14 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" +punycode@2.x.x, punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -punycode@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - qjobs@^1.1.4: version "1.1.5" resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73" @@ -5343,7 +7253,7 @@ randomatic@^1.1.3: is-number "^3.0.0" kind-of "^4.0.0" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.3, randombytes@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" dependencies: @@ -5405,6 +7315,13 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -5429,7 +7346,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.1.13-1, readable-stream@~1.1.9: +readable-stream@1.1.x, "readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0.33, readable-stream@^1.1.13-1, readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -5438,7 +7355,7 @@ read-pkg@^3.0.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.3.3: +readable-stream@2.3.3, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -5450,7 +7367,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@~1.0.17, readable-stream@~1.0.2, readable-stream@~1.0.27-1: +readable-stream@~1.0.15, readable-stream@~1.0.17, readable-stream@~1.0.2, readable-stream@~1.0.27-1: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -5506,6 +7423,10 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +regenerate@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" + regenerator-runtime@0.10.5, regenerator-runtime@^0.10.0: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" @@ -5518,12 +7439,28 @@ regenerator-runtime@^0.9.5: version "0.9.6" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" dependencies: is-equal-shallow "^0.1.3" +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + registry-auth-token@^3.0.1: version "3.3.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" @@ -5537,6 +7474,20 @@ registry-url@^3.0.3: dependencies: rc "^1.0.1" +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +relative-url@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/relative-url/-/relative-url-1.0.2.tgz#d21c52a72d6061018bcee9f9c9fc106bf7d65287" + relaxed-json@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/relaxed-json/-/relaxed-json-1.0.1.tgz#7c8d4aa2f095704cd020e32e8099bcae103f0bd4" @@ -5758,6 +7709,10 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2. dependencies: glob "^7.0.5" +rimraf@~2.2.6: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + rimraf@~2.4.0: version "2.4.5" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" @@ -5771,6 +7726,10 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" +rlp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0" + rsa-pem-to-jwk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz#245e76bdb7e7234cfee7ca032d31b54c38fab98e" @@ -5834,7 +7793,7 @@ scroll-to-anchor@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/scroll-to-anchor/-/scroll-to-anchor-1.1.0.tgz#c99b8d2e5d95056752787ca78095ab75b520b3fd" -secp256k1@^3.3.0: +secp256k1@^3.0.1, secp256k1@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.3.1.tgz#d1d325519db714789c11ec0450d4b9a3aa01eb1a" dependencies: @@ -5857,13 +7816,17 @@ selenium-webdriver@3.6.0: tmp "0.0.30" xml2js "^0.4.17" +semaphore@>=1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" + semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.4.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: +"semver@2 || 3 || 4 || 5", semver@5.4.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@~5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -5883,6 +7846,10 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + setprototypeof@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" @@ -5894,6 +7861,12 @@ sha.js@^2.4.0, sha.js@^2.4.4, sha.js@^2.4.8, sha.js@~2.4.4: inherits "^2.0.1" safe-buffer "^5.0.1" +sha3@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.0.tgz#6989f1b70a498705876a373e2c62ace96aa9399a" + dependencies: + nan "^2.0.5" + shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" @@ -5944,6 +7917,13 @@ shellwords@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" +shot@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/shot/-/shot-3.4.2.tgz#1e5c3f6f2b26649adc42f7eb350214a5a0291d67" + dependencies: + hoek "4.x.x" + joi "10.x.x" + shx@0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/shx/-/shx-0.2.2.tgz#0a304d020b0edf1306ad81570e80f0346df58a39" @@ -5985,6 +7965,16 @@ simple-get@^1.4.2: unzip-response "^1.0.0" xtend "^4.0.0" +simple-peer@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-8.1.1.tgz#71c475ad9f10da2f22e045d4ec2a1d282046ba23" + dependencies: + debug "^2.1.0" + get-browser-rtc "^1.0.0" + inherits "^2.0.1" + randombytes "^2.0.3" + readable-stream "^2.0.5" + sinon-chrome@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/sinon-chrome/-/sinon-chrome-2.2.1.tgz#e02d4709d4e8b2d8582da1612961fa7fa44ce28f" @@ -6032,6 +8022,10 @@ slice-ansi@1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" +smart-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -6051,6 +8045,10 @@ socket.io-adapter@0.5.0: debug "2.3.3" socket.io-parser "2.3.1" +socket.io-adapter@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" + socket.io-client@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377" @@ -6067,6 +8065,24 @@ socket.io-client@1.7.3: socket.io-parser "2.3.1" to-array "0.1.4" +socket.io-client@2.0.4, socket.io-client@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~2.6.4" + engine.io-client "~3.1.0" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.1.1" + to-array "0.1.4" + socket.io-parser@2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" @@ -6076,6 +8092,24 @@ socket.io-parser@2.3.1: isarray "0.0.1" json3 "3.3.2" +socket.io-parser@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2" + dependencies: + component-emitter "1.2.1" + debug "~2.6.4" + has-binary2 "~1.0.2" + isarray "2.0.1" + +socket.io-pull-stream@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/socket.io-pull-stream/-/socket.io-pull-stream-0.1.3.tgz#23d9bae878093f6c0397e4599250e7ac6f61ced7" + dependencies: + data-queue "0.0.3" + debug "^3.1.0" + pull-stream "^3.6.1" + uuid "^3.1.0" + socket.io@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b" @@ -6088,6 +8122,16 @@ socket.io@1.7.3: socket.io-client "1.7.3" socket.io-parser "2.3.1" +socket.io@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014" + dependencies: + debug "~2.6.6" + engine.io "~3.1.0" + socket.io-adapter "~1.1.0" + socket.io-client "2.0.4" + socket.io-parser "~3.1.1" + source-map-resolve@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" @@ -6145,6 +8189,10 @@ source-map@~0.2.0: dependencies: amdefine ">=0.0.4" +sparse-array@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/sparse-array/-/sparse-array-1.3.1.tgz#d569b98b9e49233d4418de6098502a4a6c41d83c" + spawn-sync@1.0.15: version "1.0.15" resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" @@ -6172,12 +8220,16 @@ split2@^2.1.0, split2@^2.2.0: dependencies: through2 "^2.0.2" -split@0.3: +split@0.3, split@~0.3.0: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" dependencies: through "2" +sprintf-js@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6223,6 +8275,17 @@ standard@10.0.3: eslint-plugin-standard "~3.0.1" standard-engine "~7.0.0" +statehood@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/statehood/-/statehood-5.0.3.tgz#c07a75620db5379b60d2edd47f538002a8ac7dd6" + dependencies: + boom "5.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + iron "4.x.x" + items "2.x.x" + joi "10.x.x" + static-eval@~0.2.0: version "0.2.4" resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-0.2.4.tgz#b7d34d838937b969f9641ca07d48f8ede263ea7b" @@ -6290,6 +8353,10 @@ stream-http@^2.0.0, stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + stream-splicer@^1.1.0: version "1.3.2" resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-1.3.2.tgz#3c0441be15b9bf4e226275e6dc83964745546661" @@ -6333,6 +8400,10 @@ streamifier@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -6424,6 +8495,12 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + dependencies: + is-hex-prefixed "1.0.0" + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -6450,6 +8527,16 @@ subarg@^1.0.0: dependencies: minimist "^1.1.0" +subtext@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/subtext/-/subtext-5.0.0.tgz#9c3f083018bb1586b167ad8cfd87083f5ccdfe0f" + dependencies: + boom "5.x.x" + content "3.x.x" + hoek "4.x.x" + pez "2.x.x" + wreck "12.x.x" + supports-color@4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" @@ -6500,7 +8587,7 @@ table@^4.0.1: slice-ansi "1.0.0" string-width "^2.1.1" -tachyons@4.9.0: +tachyons@^4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/tachyons/-/tachyons-4.9.0.tgz#2df058ea6b6eb3d2be12d62a69fecb0f6b1e0534" @@ -6553,6 +8640,19 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +tdigest@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021" + dependencies: + bintrees "1.0.1" + +temp@~0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" + dependencies: + os-tmpdir "^1.0.0" + rimraf "~2.2.6" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -6579,7 +8679,7 @@ thenify-all@^1.0.0, thenify-all@^1.6.0: dependencies: any-promise "^1.0.0" -through2@2.0.x, through2@^2.0.0, through2@^2.0.2, through2@^2.0.3: +through2@2.0.x, through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -6611,6 +8711,16 @@ through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1, t version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +thunky@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" + +time-cache@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/time-cache/-/time-cache-0.3.0.tgz#ed0dfcf0fda45cdc95fbd601fda830ebf1bd5d8b" + dependencies: + lodash.throttle "^4.1.1" + timed-out@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" @@ -6619,6 +8729,10 @@ timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" +timed-tape@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/timed-tape/-/timed-tape-0.1.1.tgz#9b6e569f17e66c79f1eed2d25ff7962fc7418e49" + timers-browserify@^1.0.1: version "1.4.2" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" @@ -6661,6 +8775,18 @@ topo@1.x.x: dependencies: hoek "2.x.x" +topo@2.x.x, topo@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" + dependencies: + hoek "4.x.x" + +topo@3.x.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.0.tgz#37e48c330efeac784538e0acd3e62ca5e231fe7a" + dependencies: + hoek "5.x.x" + tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" @@ -6677,7 +8803,7 @@ traverse@0.4.x: version "0.4.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.4.6.tgz#d04b2280e4c792a5815429ef7b8b60c64c9ccc34" -traverse@^0.6.6: +traverse@^0.6.6, traverse@~0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -6744,6 +8870,10 @@ type-is@~1.6.15: media-typer "0.3.0" mime-types "~2.1.15" +typedarray-to-buffer@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c" + typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -6769,6 +8899,10 @@ ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + umd@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" @@ -6846,6 +8980,20 @@ update-notifier@2.2.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" +update-notifier@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + update-section@^0.3.0: version "0.3.3" resolved "https://registry.yarnpkg.com/update-section/-/update-section-0.3.3.tgz#458f17820d37820dc60e20b86d94391b00123158" @@ -6884,7 +9032,7 @@ useragent@^2.1.12: lru-cache "2.2.x" tmp "0.0.x" -util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -6902,6 +9050,10 @@ uuid@^3.0.0, uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" +uws@~0.14.4: + version "0.14.5" + resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -6909,6 +9061,16 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" +varint-decoder@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/varint-decoder/-/varint-decoder-0.1.1.tgz#613d62f071d7e7576a20efd16ef4c1e335a0ddfd" + dependencies: + varint "^5.0.0" + +varint@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/varint/-/varint-4.0.1.tgz#490829b942d248463b2b35097995c3bf737198e9" + varint@^5.0.0, varint@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf" @@ -6929,6 +9091,12 @@ vfile@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/vfile/-/vfile-1.4.0.tgz#c0fd6fa484f8debdb771f68c31ed75d88da97fe7" +vise@2.x.x: + version "2.0.2" + resolved "https://registry.yarnpkg.com/vise/-/vise-2.0.2.tgz#6b08e8fb4cb76e3a50cd6dd0ec37338e811a0d39" + dependencies: + hoek "4.x.x" + vm-browserify@~0.0.1: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -7022,6 +9190,10 @@ webidl-conversions@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" +"webrtcsupport@github:ipfs/webrtcsupport": + version "2.2.0" + resolved "https://codeload.github.com/ipfs/webrtcsupport/tar.gz/0669f576582c53a3a42aa5ac014fcc5966809615" + whatwg-url@6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.3.0.tgz#597ee5488371abe7922c843397ddec1ae94c048d" @@ -7098,7 +9270,14 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^2.0.0: +wreck@12.x.x: + version "12.5.1" + resolved "https://registry.yarnpkg.com/wreck/-/wreck-12.5.1.tgz#cd2ffce167449e1f0242ed9cf80552e20fb6902a" + dependencies: + boom "5.x.x" + hoek "4.x.x" + +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" dependencies: @@ -7119,6 +9298,21 @@ ws@1.1.2: options ">=0.0.5" ultron "1.0.x" +ws@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +ws@~3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.2.tgz#96c1d08b3fefda1d5c1e33700d3bfaa9be2d5608" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + wtf-8@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" @@ -7146,11 +9340,19 @@ xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" -xtend@4.0.1, "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +xmlhttprequest-ssl@~1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz#04f560915724b389088715cc0ed7813e9677bf57" + +xor-distance@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/xor-distance/-/xor-distance-1.0.0.tgz#da735d9b24fcca8dbcd9b374d16d2a01ee9541c6" + +xtend@4.0.1, "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -xtend@~2.1.1: +xtend@~2.1.1, xtend@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" dependencies: @@ -7184,6 +9386,12 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" +yargs-parser@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.0.0.tgz#21d476330e5a82279a4b881345bf066102e219c6" + dependencies: + camelcase "^4.1.0" + yargs@6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" @@ -7220,6 +9428,23 @@ yargs@8.0.2: y18n "^3.2.1" yargs-parser "^7.0.0" +yargs@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz#6542debd9080ad517ec5048fb454efe9e4d4aaae" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.0.0" + yargs@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c"