diff --git a/package-lock.json b/package-lock.json index c12eb92e..fd634beb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,11 +55,15 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==" }, + "adm-zip": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==" + }, "ajv": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -215,7 +219,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -223,8 +226,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", @@ -249,8 +251,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "2.1.2", @@ -273,14 +274,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "babel-code-frame": { "version": "6.26.0", @@ -636,7 +635,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -709,6 +707,14 @@ "resolved": "https://registry.npmjs.org/browser-split/-/browser-split-0.0.0.tgz", "integrity": "sha1-QUGcrvdpdVkp3VGJZ9PuwKYmJ3E=" }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "~0.2.0" + } + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -998,8 +1004,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "ccount": { "version": "1.0.3", @@ -1121,6 +1126,11 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, + "chrome-native-messaging": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chrome-native-messaging/-/chrome-native-messaging-0.2.0.tgz", + "integrity": "sha1-wULN5SS9GxhU4U9X4HijlqbaOCY=" + }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", @@ -1271,7 +1281,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -1452,7 +1461,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -1610,8 +1618,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", @@ -1678,6 +1685,17 @@ "readable-stream": "^2.0.2" } }, + "duplexify": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, "dynamic-dijkstra": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dynamic-dijkstra/-/dynamic-dijkstra-1.0.1.tgz", @@ -1699,12 +1717,29 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, + "ecstatic": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.0.tgz", + "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==", + "requires": { + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "ed2curve": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.1.4.tgz", @@ -2545,8 +2580,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "falafel": { "version": "2.1.0", @@ -2574,8 +2608,7 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-future": { "version": "1.0.2", @@ -2585,8 +2618,7 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", @@ -2856,14 +2888,28 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "forked-systray": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/forked-systray/-/forked-systray-3.0.10.tgz", + "integrity": "sha512-89ATraLpLe0WqBR7Uvgg6qo8rPvR/UnwP8ZlQSeYhgqcOeUtCYqvI541pElYt5fbFzqVQb5sKpmijsNoSbvERw==", + "requires": { + "adm-zip": "^0.4.11", + "gunzip-maybe": "^1.4.1", + "pull-ndjson": "^0.1.1", + "pull-notify": "^0.1.1", + "pull-stream": "^3.6.9", + "request": "^2.88.0", + "stream-progressbar": "^1.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-fs": "^1.16.3" + } }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -3477,7 +3523,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -3571,17 +3616,33 @@ "statistics": "^3.3.0" } }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "gunzip-maybe": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz", + "integrity": "sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g==", + "requires": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -3689,9 +3750,9 @@ "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" }, "he": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", - "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "heap": { "version": "0.2.6", @@ -3756,7 +3817,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -3819,6 +3879,12 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "if-async": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/if-async/-/if-async-3.7.4.tgz", + "integrity": "sha1-VYaN6wCT08Z79xZudFNT+5vLIaI=", + "optional": true + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -4107,6 +4173,11 @@ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz", "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==" }, + "is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ=" + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -4176,6 +4247,11 @@ "is-extglob": "^1.0.0" } }, + "is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" + }, "is-hexadecimal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz", @@ -4282,8 +4358,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-utf8": { "version": "0.2.1", @@ -4322,8 +4397,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "js-tokens": { "version": "3.0.2", @@ -4351,8 +4425,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { "version": "1.3.0", @@ -4373,14 +4446,12 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -4391,8 +4462,7 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { "version": "2.1.0", @@ -4426,7 +4496,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -5054,14 +5123,12 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -5429,6 +5496,17 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.7.0.tgz", "integrity": "sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==" }, + "node-notifier": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", + "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", + "requires": { + "growly": "^1.3.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, "non-private-ip": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.4.tgz", @@ -5527,8 +5605,7 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", @@ -5768,6 +5845,11 @@ "pull-through": "^1.0.17" } }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, "parse-entities": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz", @@ -6255,6 +6337,16 @@ "pinkie-promise": "^2.0.0" } }, + "peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "requires": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -6264,8 +6356,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "piexifjs": { "version": "1.0.4", @@ -6509,8 +6600,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "progress-stream": { "version": "1.2.0", @@ -6596,8 +6686,7 @@ "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", - "dev": true + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" }, "pubsub-js": { "version": "1.7.0", @@ -6814,6 +6903,16 @@ "resolved": "https://registry.npmjs.org/pull-merge/-/pull-merge-1.0.4.tgz", "integrity": "sha512-pz72yzy7nK4YVKV8+njxC5GrnATJ4OwFEviiuXx/K/W2+G2mDddkomv2g0j4Zf4eT+LhsBuVpOAjZU1E9BPqCw==" }, + "pull-ndjson": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-ndjson/-/pull-ndjson-0.1.1.tgz", + "integrity": "sha1-gx4GutmqbFxevBKol+Og4V1J4H4=", + "requires": { + "pull-split": "^0.2.0", + "pull-stream": "^3.4.5", + "pull-stringify": "^1.2.2" + } + }, "pull-next": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/pull-next/-/pull-next-1.0.1.tgz", @@ -6924,18 +7023,23 @@ "pull-stream": "^3.6.9" } }, + "pull-split": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pull-split/-/pull-split-0.2.0.tgz", + "integrity": "sha1-mW0ohTEFIgmoMTiK0NKB3zyCN5Y=", + "requires": { + "pull-through": "~1.0.6" + } + }, "pull-stream": { "version": "3.6.9", "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==" }, "pull-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-2.0.0.tgz", - "integrity": "sha1-Irox2pWvCIjg+1WSOLH6kVpqW2Q=", - "requires": { - "defined": "^1.0.0" - } + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz", + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw=" }, "pull-through": { "version": "1.0.18", @@ -7011,11 +7115,20 @@ "once": "^1.3.1" } }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "push-stream": { "version": "10.0.4", @@ -7034,8 +7147,12 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" }, "quote-stream": { "version": "0.0.0", @@ -7488,6 +7605,54 @@ "strip-indent": "^1.0.1" } }, + "regedit": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/regedit/-/regedit-2.2.7.tgz", + "integrity": "sha1-RwKEh6RxqqfWKo0Dg8zu7evzr4A=", + "optional": true, + "requires": { + "debug": "^2.1.1", + "if-async": "^3.7.4", + "stream-slicer": "0.0.6", + "through2": "^0.6.3" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "optional": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "optional": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "optional": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", @@ -7575,6 +7740,11 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "he": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", + "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=" } } }, @@ -7629,7 +7799,6 @@ "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -7972,8 +8141,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "scope-analyzer": { "version": "2.0.5", @@ -8108,6 +8276,66 @@ "ssb-sort": "^1.1.0" } }, + "scuttle-shell": { + "version": "github:ssbc/scuttle-shell#87426e1108b6f234ced247e564ea99a4b6d824df", + "from": "github:ssbc/scuttle-shell#refactor_config", + "requires": { + "chrome-native-messaging": "^0.2.0", + "ecstatic": "^3.1.0", + "forked-systray": "^3.0.10", + "lodash.merge": "^4.6.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-notifier": "^5.3.0", + "regedit": "^2.2.7", + "ssb-about": "^2.0.0", + "ssb-backlinks": "^0.7.1", + "ssb-blobs": "^1.1.7", + "ssb-chess-db": "^1.0.5", + "ssb-config": "^2.3.6", + "ssb-ebt": "^5.2.0", + "ssb-friends": "^3.1.7", + "ssb-keys": "^7.1.1", + "ssb-links": "^3.0.3", + "ssb-meme": "^1.0.4", + "ssb-names": "^3.1.0", + "ssb-ooo": "^1.0.7", + "ssb-private": "^0.2.1", + "ssb-query": "^2.1.0", + "ssb-search": "^1.1.1", + "ssb-server": "^13.5.0", + "ssb-tags": "^0.2.0", + "ssb-talequery": "^2.0.1", + "ssb-threads": "^3.0.1", + "ssb-unread": "^1.0.2", + "ssb-web-resolver": "^1.1.2", + "ssb-ws": "^5.1.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "scuttle-tag": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scuttle-tag/-/scuttle-tag-0.3.0.tgz", + "integrity": "sha512-tNEM6LRQiCpzQPyryWahzvcp7aCkYgVJ7N1MveKIXAJDCCYk2qtLx4ippD4lkIHWuez5f7bTRszAO89g6zSCdg==", + "requires": { + "depnest": "^1.3.0", + "is-my-json-valid": "^2.17.2", + "libnested": "^1.3.2", + "mutant": "^3.22.1", + "mutant-pull-reduce": "^1.1.0", + "pull-defer": "^0.2.2", + "pull-stream": "^3.6.1", + "ssb-msg-content": "^1.0.1", + "ssb-ref": "^2.9.1", + "ssb-sort": "^1.1.0" + } + }, "scuttle-thread": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/scuttle-thread/-/scuttle-thread-1.0.1.tgz", @@ -8266,6 +8494,11 @@ "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz", "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=" }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -9351,6 +9584,18 @@ "ssb-ref": "^2.6.2" } }, + "ssb-names": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/ssb-names/-/ssb-names-3.1.4.tgz", + "integrity": "sha512-fAMJSl3aBUErruIfVcBFX5iTV4Vlq/TFuu4budxR45zNiM+0+ErP8itZEDgGKWFbEmTKwIVtW6Gf4QWSApeWeQ==", + "requires": { + "flumeview-reduce": "^1.0.2", + "graphreduce": "^3.0.0", + "hashlru": "^2.2.1", + "ssb-msgs": "^5.2.0", + "ssb-ref": "^2.6.2" + } + }, "ssb-ooo": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.1.0.tgz", @@ -9582,6 +9827,14 @@ "pull-utf8-decoder": "^1.0.2" } }, + "pull-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-2.0.0.tgz", + "integrity": "sha1-Irox2pWvCIjg+1WSOLH6kVpqW2Q=", + "requires": { + "defined": "^1.0.0" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -9589,21 +9842,6 @@ "requires": { "glob": "^7.1.3" } - }, - "ssb-ws": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-5.1.1.tgz", - "integrity": "sha512-Wbttwlr+wVqcoxGsn+WoiBbSI9UMqgL/DZU6Pjm/KQ61LO7jaxV4hGw3+H4uRBtgtOE4pidvHeCk7jUuoXWZfQ==", - "requires": { - "emoji-server": "^1.0.0", - "multiblob-http": "^0.4.2", - "multiserver": "^3.0.2", - "multiserver-scopes": "^1.0.0", - "muxrpc": "^6.3.3", - "pull-box-stream": "^1.0.13", - "ssb-ref": "^2.3.0", - "stack": "^0.1.0" - } } } }, @@ -9615,6 +9853,83 @@ "ssb-ref": "^2.3.0" } }, + "ssb-tags": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ssb-tags/-/ssb-tags-0.2.0.tgz", + "integrity": "sha512-17bI/59xSmaqlJXYYjYqfKi/Px7yYB0nKlPeFgKae5t2Rultp7VVXNj833HK5iXnv6J7lTpSzxgA/Jp9Jaj7Xg==", + "requires": { + "flumeview-reduce": "^1.3.9", + "lodash": "^4.17.4", + "scuttle-tag": "^0.3.0", + "ssb-ref": "^2.7.1" + } + }, + "ssb-talequery": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ssb-talequery/-/ssb-talequery-2.0.1.tgz", + "integrity": "sha512-3Y8W6pi4W6pXW8qsGM+Kbc/5A4kQBlx6itUCdbMKsO3v1NdmpldsA/4GaXKWg+8vzXjEiRL451WLpZwYhtax+w==", + "requires": { + "explain-error": "^1.0.1", + "flumeview-query": "^6.0.0", + "pull-stream": "^3.6.2", + "semver": "^5.4.1" + } + }, + "ssb-threads": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ssb-threads/-/ssb-threads-3.2.1.tgz", + "integrity": "sha512-kYjPej71PH1iu5ISkNoNpujm5sreZwrkQgRUFPyoAf/QNXLO5CxP625NBCu8iCwRVOXXhn+H1KGTLwomte2Whg==", + "requires": { + "encoding-down": "~5.0.2", + "flumeview-level": "~3.0.4", + "pull-cat": "^1.1.11", + "pull-stream": "^3.6.2", + "quick-lru": "^1.1.0", + "ssb-ref": "^2.11.0", + "ssb-sort": "1.1.x", + "ssb-typescript": "1.3.x" + }, + "dependencies": { + "abstract-leveldown": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", + "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", + "requires": { + "xtend": "~4.0.0" + } + }, + "encoding-down": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", + "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", + "requires": { + "abstract-leveldown": "^5.0.0", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "level-codec": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.0.tgz", + "integrity": "sha512-OIpVvjCcZNP5SdhcNupnsI1zo5Y9Vpm+k/F1gfG5kXrtctlrwanisakweJtE0uA0OpLukRfOQae+Fg0M5Debhg==" + }, + "level-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.0.tgz", + "integrity": "sha512-AmY4HCp9h3OiU19uG+3YWkdELgy05OTP/r23aNHaQKWv8DO787yZgsEuGVkoph40uwN+YdUKnANlrxSsoOaaxg==", + "requires": { + "errno": "~0.1.1" + } + } + } + }, + "ssb-typescript": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ssb-typescript/-/ssb-typescript-1.3.0.tgz", + "integrity": "sha512-iS7QDG2Jn/o9jK8LzxmmxOfwx87e5HWP7IYVqn7I+YZxIAWOXl0Vn2c6A8/N9VkWGF/g1sO874nDpncnquUR1A==" + }, "ssb-unread": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/ssb-unread/-/ssb-unread-1.0.2.tgz", @@ -9733,14 +10048,22 @@ "ssb-ref": "^2.6.2" } }, + "ssb-web-resolver": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ssb-web-resolver/-/ssb-web-resolver-1.1.2.tgz", + "integrity": "sha1-Cpl0gNWMkSCohUY6ocixHonv4V4=", + "requires": { + "pull-stream": "^3.6.2" + } + }, "ssb-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-4.0.1.tgz", - "integrity": "sha512-pVs4xf/tIAv/xWcfXKeqtI8O8jk2J9wXpvc8eklkVo1U3qegbG/b7m2pTpOdETCip+tlo27WyAOMlhM79iKsVw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-5.1.1.tgz", + "integrity": "sha512-Wbttwlr+wVqcoxGsn+WoiBbSI9UMqgL/DZU6Pjm/KQ61LO7jaxV4hGw3+H4uRBtgtOE4pidvHeCk7jUuoXWZfQ==", "requires": { "emoji-server": "^1.0.0", "multiblob-http": "^0.4.2", - "multiserver": "^2.0.0", + "multiserver": "^3.0.2", "multiserver-scopes": "^1.0.0", "muxrpc": "^6.3.3", "pull-box-stream": "^1.0.13", @@ -9749,9 +10072,9 @@ }, "dependencies": { "multiserver": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-2.0.0.tgz", - "integrity": "sha512-3CAmd1bi3nCQQXDqlzfokzbkMDKPBaFQLIVsbch2SNltQiVEekxrrCffkCnB1rrPpQ1dMv4Z0BrZV83Zi8OMeQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-3.0.2.tgz", + "integrity": "sha512-YCVA+zCtc4xR55CrKIK6pAYPKTDswrlF+bkO9Nyb1osn93AhFGjKnelA38G9mNHeUd/v9/Un3gxpisorouRQfw==", "requires": { "multicb": "^1.2.2", "multiserver-scopes": "^1.0.0", @@ -9770,7 +10093,6 @@ "version": "1.16.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -9884,6 +10206,25 @@ "resolved": "https://registry.npmjs.org/statistics/-/statistics-3.3.0.tgz", "integrity": "sha1-7HtHUP8DqySmTdmzV6eDFr6teKo=" }, + "stream-progressbar": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-progressbar/-/stream-progressbar-1.1.1.tgz", + "integrity": "sha512-2O227sBklxd5d7I2pqWBBr1gwWe37dPE4ml2pr2t0dfQ0TGxaAvO4U7RwQD21nbYGrWQa+Sd5ciKnwqssAmpog==", + "requires": { + "progress": "^2.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "stream-slicer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stream-slicer/-/stream-slicer-0.0.6.tgz", + "integrity": "sha1-+GsqxcJEC3oKh7cfM2ZcB4gEYTg=", + "optional": true + }, "stream-to-pull-stream": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz", @@ -10320,7 +10661,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -10329,8 +10669,7 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" } } }, @@ -10561,7 +10900,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10601,6 +10939,11 @@ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, + "url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=" + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -10622,8 +10965,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -10639,7 +10981,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", diff --git a/package.json b/package.json index 788fb5d0..fdb4f42f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "patchbay", - "version": "7.15.6", + "version": "7.15.6-scuttle-shell-alpha", "description": "patchbay 2, built on patchcore", "main": "index.js", "scripts": { @@ -85,29 +85,17 @@ "read-directory": "^3.0.1", "require-style": "^1.0.1", "scuttle-blog": "^1.0.1", + "scuttle-shell": "ssbc/scuttle-shell#refactor_config", "scuttle-thread": "^1.0.1", "setimmediate": "^1.0.5", - "ssb-about": "^2.0.0", - "ssb-backlinks": "^0.7.3", "ssb-blob-files": "^1.1.3", - "ssb-blobs": "^1.1.6", - "ssb-chess-db": "^1.0.5", "ssb-chess-mithril": "^1.0.7", "ssb-config": "^2.3.7", - "ssb-ebt": "^5.2.3", - "ssb-friends": "^3.1.10", "ssb-keys": "^7.0.15", - "ssb-meme": "^1.0.4", "ssb-mentions": "^0.5.0", "ssb-mutual": "^0.1.0", - "ssb-private": "^0.2.3", - "ssb-query": "^2.1.0", "ssb-ref": "^2.13.6", - "ssb-search": "^1.1.2", - "ssb-server": "^13.5.2", "ssb-sort": "^1.1.0", - "ssb-unread": "^1.0.2", - "ssb-ws": "^4.0.1", "suggest-box": "^2.2.3", "text-node-searcher": "^1.1.1", "xtend": "^4.0.1" diff --git a/server.js b/server.js index 5caed021..f02c7be3 100644 --- a/server.js +++ b/server.js @@ -1,37 +1,39 @@ -// formerly background-process.js -var fs = require('fs') -var Path = require('path') -var electron = require('electron') - -console.log('STARTING SBOT') - -var createSbot = require('ssb-server') - .use(require('ssb-server/plugins/master')) - .use(require('ssb-server/plugins/gossip')) - .use(require('ssb-server/plugins/replicate')) - .use(require('ssb-server/plugins/invite')) - .use(require('ssb-server/plugins/local')) - .use(require('ssb-server/plugins/logging')) - .use(require('ssb-server/plugins/unix-socket')) - .use(require('ssb-server/plugins/no-auth')) - .use(require('ssb-about')) - .use(require('ssb-backlinks')) - .use(require('ssb-blobs')) - .use(require('ssb-chess-db')) - .use(require('ssb-ebt')) - .use(require('ssb-friends')) - .use(require('ssb-meme')) - .use(require('ssb-private')) - .use(require('ssb-query')) - .use(require('ssb-search')) - .use(require('ssb-unread')) - .use(require('ssb-ws')) - // .use(require('ssb-mutual')) // this is has recursion problems atm - -// pull config options out of depject -var config = require('./config').create().config.sync.load() - -var sbot = createSbot(config) -var manifest = sbot.getManifest() -fs.writeFileSync(Path.join(config.path, 'manifest.json'), JSON.stringify(manifest)) -electron.ipcRenderer.send('server-started') +const electron = require('electron') +const fs = require('fs') +const { join } = require('path') +const Client = require('ssb-client') +const scuttleshell = require('scuttle-shell') + +// Get config options from depject +const config = require('./config').create().config.sync.load() + +// check if manifest.json exists (has any sbot ever started?) +if (!fs.existsSync(join(config.path, 'manifest.json'))) startScuttleShell() +else { + // check if there's a server running we can connect to + Client(config.keys, config, (err, server) => { + if (err) startScuttleShell() + else { + console.log('> scuttle-shell / sbot already running') + server.close() // close this connection (app starts one of its own) + + startFrontend() + } + }) +} + +// helpers + +function startScuttleShell () { + console.log('> scuttle-shell: starting') + + scuttleshell.start({}, (startErr) => { + if (startErr) return console.error('> scuttle-shell: failed to start', startErr) + + startFrontend() + }) +} + +function startFrontend () { + electron.ipcRenderer.send('server-started') +} diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..12174936 --- /dev/null +++ b/shell.nix @@ -0,0 +1,82 @@ +with import ~/nixpkgs {}; +with pkgs; + +let ssbPatchbayEnv = buildEnv { + name = "patchbay"; + paths = [ + alsaLib + atk + binutils + bzip2 + cairo + cups + dbus.lib + expat + fontconfig + freetype + fuse + gcc + gdk_pixbuf + glib + glibc + gtk3 + gnome2.GConf + gnumake + libcap + libgnome_keyring3 + libgpgerror + libnotify + libsodium + nspr + nss + pango + readline + systemd + systrayhelper + udev + xdg_utils + xorg.libX11 + xorg.libXScrnSaver + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + xorg.libxcb + zlib + ]; + extraOutputsToInstall = [ "lib" "dev" "out" ]; +}; in + +(pkgs.buildFHSUserEnv { + name = "patchbay"; + + targetPkgs = pkgs: (with pkgs; [ + nodejs-8_x + xvfb_run + unzip + git + ssbPatchbayEnv + ]); + + extraOutputsToInstall = [ "lib" "dev" "out" ]; + + extraBuildCommands = '' + (cd usr/lib64 && ln -sv libbz2.so.1.0.* libbz2.so.1.0) + ''; + + profile = '' + export npm_config_cache="/tmp/ssbPatchbay-npm-cache/" + export npm_config_devdir="/tmp/ssbPatchbay-gyp/" + export ELECTRON_CACHE="/tmp/ssbPatchbay-electron-cache/" + + export CFLAGS="$NIX_CFLAGS_COMPILE" + export CXXFLAGS="$NIX_CFLAGS_COMPILE" + export LDFLAGS="$NIX_LDFLAGS_BEFORE" + ''; +}).env +