From df83cbb9871a9126e317b63833d3024cd4f74157 Mon Sep 17 00:00:00 2001 From: Eric Dvorsak Date: Thu, 19 Oct 2017 15:58:21 +0200 Subject: [PATCH] update realm version --- package-lock.json | 2113 ++++++++++++----- package.json | 2 +- project.clj | 5 +- .../chat/events/receive_message.cljs | 11 +- src/status_im/data_store/messages.cljs | 59 +- src/status_im/data_store/realm/accounts.cljs | 20 +- src/status_im/data_store/realm/chats.cljs | 23 +- .../data_store/realm/contact_groups.cljs | 4 +- src/status_im/data_store/realm/contacts.cljs | 5 +- src/status_im/data_store/realm/core.cljs | 105 +- src/status_im/data_store/realm/discover.cljs | 8 +- .../data_store/realm/handler_data.cljs | 2 +- src/status_im/data_store/realm/messages.cljs | 24 +- src/status_im/data_store/realm/networks.cljs | 2 +- .../data_store/realm/pending_messages.cljs | 3 +- .../data_store/realm/processed_messages.cljs | 2 +- src/status_im/data_store/realm/requests.cljs | 8 +- 17 files changed, 1656 insertions(+), 740 deletions(-) diff --git a/package-lock.json b/package-lock.json index 22864f01fc..094ecfe55c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,14 +39,14 @@ } }, "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "align-text": { @@ -180,6 +180,11 @@ } } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", @@ -233,6 +238,14 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "2.6.1" + } + }, "array-differ": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", @@ -375,7 +388,7 @@ "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" }, @@ -401,7 +414,7 @@ "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" }, @@ -1169,11 +1182,6 @@ "bignumber.js": { "version": "github:status-im/bignumber.js#cc066a0a3d6bfe0c436c9957f4ea8344bf963c89" }, - "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -1259,19 +1267,6 @@ "untildify": "2.1.0" } }, - "boxen": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz", - "integrity": "sha1-p9iYJDrmIvertrtgTXQKdsalRhs=", - "requires": { - "chalk": "1.1.3", - "filled-array": "1.1.0", - "object-assign": "4.1.1", - "repeating": "2.0.1", - "string-width": "1.0.2", - "widest-line": "1.0.0" - } - }, "bplist-creator": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz", @@ -1295,9 +1290,9 @@ } }, "braces": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.2.2.tgz", - "integrity": "sha1-JB+GjCsmkNn+vu5afIP7vyXQCxs=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", + "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", "requires": { "arr-flatten": "1.1.0", "array-unique": "0.3.2", @@ -1308,7 +1303,7 @@ "repeat-element": "1.1.2", "snapdragon": "0.8.1", "snapdragon-node": "2.1.1", - "split-string": "2.1.1", + "split-string": "3.0.2", "to-regex": "3.0.1" } }, @@ -1318,9 +1313,9 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -1335,7 +1330,7 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -1399,6 +1394,11 @@ "isarray": "1.0.0" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -1435,11 +1435,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1484,7 +1479,7 @@ "integrity": "sha512-GDrbGzzJ6Gc6tQh87HBMGhrJ4UWIlR9MKJwgvlrJyj/gWvTYYb2jQetKbajt/EYK5Y8/4g7gH2LEvq8GdUWTag==", "requires": { "bower-config": "1.4.1", - "chalk": "2.1.0", + "chalk": "2.3.0", "findup-sync": "2.0.0", "lodash.camelcase": "4.3.0", "minimist": "1.2.0", @@ -1500,13 +1495,13 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "minimist": { @@ -1515,9 +1510,9 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { "has-flag": "2.0.0" } @@ -1560,8 +1555,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -1668,6 +1668,16 @@ "delayed-stream": "1.0.0" } }, + "command-line-args": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", + "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", + "requires": { + "array-back": "2.0.0", + "find-replace": "1.0.3", + "typical": "2.6.1" + } + }, "commander": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", @@ -1679,9 +1689,9 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "requires": { "mime-db": "1.30.0" } @@ -1693,7 +1703,7 @@ "requires": { "accepts": "1.2.13", "bytes": "2.1.0", - "compressible": "2.0.11", + "compressible": "2.0.12", "debug": "2.2.0", "on-headers": "1.0.1", "vary": "1.0.1" @@ -1758,29 +1768,6 @@ } } }, - "configstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", - "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", - "requires": { - "dot-prop": "3.0.0", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "os-tmpdir": "1.0.2", - "osenv": "0.1.4", - "uuid": "2.0.3", - "write-file-atomic": "1.3.4", - "xdg-basedir": "2.0.0" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, "connect": { "version": "2.30.2", "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz", @@ -1868,6 +1855,11 @@ "date-now": "0.1.4" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "constants-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz", @@ -1931,14 +1923,6 @@ "elliptic": "6.4.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } - }, "create-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", @@ -2062,6 +2046,110 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "4.1.1", + "decompress-tarbz2": "4.1.1", + "decompress-targz": "4.1.1", + "decompress-unzip": "4.0.1", + "graceful-fs": "4.1.11", + "make-dir": "1.1.0", + "pify": "2.3.0", + "strip-dirs": "2.1.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "5.2.0", + "is-stream": "1.1.0", + "tar-stream": "1.5.4" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "6.2.0", + "is-stream": "1.1.0", + "seek-bzip": "1.0.5", + "unbzip2-stream": "1.2.5" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "5.2.0", + "is-stream": "1.1.0" + } + }, + "decompress-tarxz": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarxz/-/decompress-tarxz-2.1.1.tgz", + "integrity": "sha512-U7LniyhLTpCc07lAmNXMX4NBW60ONkpGTwo6KxIDk9zk22GYh5NKjEI09F8I1oYkGr9WGOA6OH7scqLo7Xu5lA==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "3.9.0", + "is-stream": "1.1.0", + "lzma-native": "3.0.1" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "3.9.0", + "get-stream": "2.3.1", + "pify": "2.3.0", + "yauzl": "2.8.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + } + } + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -2161,14 +2249,6 @@ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "requires": { - "is-obj": "1.0.1" - } - }, "duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", @@ -2246,6 +2326,14 @@ "iconv-lite": "0.4.19" } }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "requires": { + "once": "1.4.0" + } + }, "errno": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", @@ -2402,8 +2490,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -2557,6 +2650,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, + "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=" + }, "fb-watchman": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", @@ -2586,7 +2684,7 @@ "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.14" + "ua-parser-js": "0.7.17" }, "dependencies": { "core-js": { @@ -2649,6 +2747,14 @@ } } }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } + }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", @@ -2658,6 +2764,11 @@ "object-assign": "4.1.1" } }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -2674,11 +2785,6 @@ "to-regex-range": "2.1.1" } }, - "filled-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz", - "integrity": "sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q=" - }, "finalhandler": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", @@ -2710,6 +2816,25 @@ } } }, + "find-replace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", + "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", + "requires": { + "array-back": "1.0.4", + "test-value": "2.1.0" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "2.6.1" + } + } + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -2732,7 +2857,7 @@ "requires": { "detect-file": "1.0.0", "is-glob": "3.1.0", - "micromatch": "3.1.0", + "micromatch": "3.1.3", "resolve-dir": "1.0.1" } }, @@ -2820,6 +2945,16 @@ "rimraf": "2.6.2" } }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.1", + "minimatch": "3.0.4" + } + }, "fwd-stream": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", @@ -2974,70 +3109,16 @@ "sparkles": "1.0.0" } }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" - }, - "dependencies": { - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, "gulp-util": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", @@ -3093,7 +3174,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.2.3", + "ajv": "5.3.0", "har-schema": "2.0.0" } }, @@ -3236,15 +3317,37 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" }, + "http-basic": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz", + "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=", + "requires": { + "caseless": "0.11.0", + "concat-stream": "1.6.0", + "http-response-object": "1.1.0" + }, + "dependencies": { + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + } + } + }, "http-errors": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", "requires": { "inherits": "2.0.1", - "statuses": "1.3.1" + "statuses": "1.4.0" } }, + "http-response-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-1.1.0.tgz", + "integrity": "sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM=" + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3419,7 +3522,14 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } } }, "is-dotfile": { @@ -3469,10 +3579,10 @@ "is-extglob": "2.1.1" } }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, "is-number": { "version": "3.0.0", @@ -3492,11 +3602,6 @@ } } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, "is-object": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz", @@ -3533,16 +3638,6 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3735,7 +3830,7 @@ "requires": { "hoek": "2.16.3", "isemail": "1.2.0", - "moment": "2.19.0", + "moment": "2.19.1", "topo": "1.1.0" } }, @@ -3818,9 +3913,9 @@ "integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=" }, "kind-of": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.0.2.tgz", - "integrity": "sha512-ru8+TQHbN8956c7ZlkgK5Imjx0GMat3jN45GNIthpPeb+SzLrqSg/NG7llQtIqUTbrdu5Oi0lSnIoJmDTwwSzw==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.0.tgz", + "integrity": "sha512-sUd5AnFyOPh+RW+ZIHd1FHuwM4OFvhKCPVxxhamLxWLpmv1xQ394lzRMmhLQOiMpXvnB64YRLezWaJi5xGk7Dg==" }, "klaw": { "version": "1.3.1", @@ -3830,14 +3925,6 @@ "graceful-fs": "4.1.11" } }, - "latest-version": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", - "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", - "requires": { - "package-json": "2.4.0" - } - }, "lazy-cache": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", @@ -4007,11 +4094,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, - "lodash-node": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz", - "integrity": "sha1-6oL3sQDHM9GkKvdoAeUGEF4qgOw=" - }, "lodash._basecopy": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", @@ -4158,11 +4240,6 @@ "js-tokens": "3.0.2" } }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", @@ -4172,6 +4249,740 @@ "yallist": "2.1.2" } }, + "lzma-native": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-3.0.1.tgz", + "integrity": "sha512-RZsLWwvuCpkaXEt2p2pmx7dI20UUfXK9OTyG8KGxSiZA79i67TWLnhlNtCMGGZ0xP3NaWjkq4W5+gol7l7RyPQ==", + "requires": { + "nan": "2.5.1", + "node-pre-gyp": "0.6.36", + "readable-stream": "2.2.11", + "rimraf": "2.6.1" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.2", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.11" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "1.1.2", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "nan": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz", + "integrity": "sha1-1bAWkSUzJql6K77p5hxV2NYDUeI=" + }, + "node-pre-gyp": { + "version": "0.6.36", + "bundled": true, + "requires": { + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qs": { + "version": "6.4.0", + "bundled": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "readable-stream": { + "version": "2.2.11", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.0.1", + "string_decoder": "1.0.2", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "string_decoder": { + "version": "1.0.2", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.11", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -4255,19 +5066,19 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz", - "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.3.tgz", + "integrity": "sha512-gVCSW2StFfuHZYfh/p/HJpdTyB/YX/mr/EATvmw9zMQa6BSUioG4hg4duKEKc47OaXioikzhgFYS/m4EyLmXXg==", "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", - "braces": "2.2.2", + "braces": "2.3.0", "define-property": "1.0.0", "extend-shallow": "2.0.1", "extglob": "2.0.2", "fragment-cache": "0.2.1", - "kind-of": "5.0.2", - "nanomatch": "1.2.3", + "kind-of": "6.0.0", + "nanomatch": "1.2.5", "object.pick": "1.3.0", "regex-not": "1.0.0", "snapdragon": "0.8.1", @@ -4361,31 +5172,10 @@ "minimist": "0.0.8" } }, - "mock-fs": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz", - "integrity": "sha1-/yeCTNarJjp+sFoRUjnUHTYx9fg=", - "requires": { - "rewire": "2.5.2", - "semver": "5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - } - } - }, - "mockery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-1.7.0.tgz", - "integrity": "sha1-9O3g2HUMHJcnwnLqLGBiniyaHE8=" - }, "moment": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.0.tgz", - "integrity": "sha1-RPZ172uUSUJ2JYGxwXn7Z55ZnWc=" + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz", + "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc=" }, "morgan": { "version": "1.6.1", @@ -4470,9 +5260,9 @@ "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" }, "nanomatch": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.3.tgz", - "integrity": "sha512-HqDMQWJlwpXbfKDpAnkc6AJQh5PFqVlrjYbruDjYVAS+05TQUb1qhIde4G9jMzHbs/u6bgEok1jMAV4yJzoh+w==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.5.tgz", + "integrity": "sha512-ZHJamn1utzcUvW8Bais+Kk7pobp6dKmUEKOSQ/HI2glGwOMA/GvjRRKlLyORBUrdRXnwTU/6LIBcW7jYSlutgg==", "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", @@ -4480,11 +5270,18 @@ "extend-shallow": "2.0.1", "fragment-cache": "0.2.1", "is-odd": "1.0.0", - "kind-of": "5.0.2", + "kind-of": "5.1.0", "object.pick": "1.3.0", "regex-not": "1.0.0", "snapdragon": "0.8.1", "to-regex": "3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } } }, "negotiator": { @@ -4504,54 +5301,200 @@ "is-stream": "1.1.0" } }, - "node-gyp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", - "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "2.0.4", - "osenv": "0.1.4", - "request": "2.83.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - } - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" - }, - "node-uuid": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz", - "integrity": "sha1-09tNe1aBDZ5AMjQnZigq8HORcps=" + "node-pre-gyp": { + "version": "0.6.38", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz", + "integrity": "sha1-6Sog+DQWQVu0CG9tH7eLPac9ET0=", + "requires": { + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.2", + "rc": "1.2.2", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.4.1", + "tar": "2.2.1", + "tar-pack": "3.4.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.16.3" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + }, + "dependencies": { + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "requires": { + "mime-db": "1.30.0" + } + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.11", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.16.3" + } + } + } }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1.1.1" + "abbrev": "1.1.1", + "osenv": "0.1.4" } }, "normalize-package-data": { @@ -4631,13 +5574,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.0.2.tgz", - "integrity": "sha512-ru8+TQHbN8956c7ZlkgK5Imjx0GMat3jN45GNIthpPeb+SzLrqSg/NG7llQtIqUTbrdu5Oi0lSnIoJmDTwwSzw==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -4937,17 +5880,6 @@ "p-limit": "1.1.0" } }, - "package-json": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", - "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", - "requires": { - "got": "5.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.4.1" - } - }, "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", @@ -4959,7 +5891,7 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { "asn1.js": "4.9.1", - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.8" @@ -5065,6 +5997,11 @@ "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz", "integrity": "sha1-9q76LjzlYWkgjlIXnf5B+JFBo2k=" }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -5104,20 +6041,15 @@ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -5129,6 +6061,11 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -5194,6 +6131,11 @@ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" + }, "random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", @@ -5254,9 +6196,9 @@ } }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.4", @@ -5529,9 +6471,9 @@ } }, "react-native-action-button": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/react-native-action-button/-/react-native-action-button-2.8.0.tgz", - "integrity": "sha512-4I5CgaP3Xa8W38vTYdhCPwiw61RumZiVfPpaGTV9cdG74lQbZNQ3HdYDFBZqK8L0bRtfzRTHCcn8WqCsJ7/uaA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-native-action-button/-/react-native-action-button-2.8.1.tgz", + "integrity": "sha512-u5DWS2ZorgRGNNhh3H8+PKq0KHQqOIk6jr/w/qGaTrPpX4Fvg0t5WsqlSjDa4J6xrgWJ712OX3rhc56wLLSI3g==", "requires": { "prop-types": "15.6.0" } @@ -5792,9 +6734,9 @@ } }, "react-native-udp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/react-native-udp/-/react-native-udp-2.1.0.tgz", - "integrity": "sha1-1nBNo53ygANOajS+RsQbm1W7/CM=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-native-udp/-/react-native-udp-2.2.1.tgz", + "integrity": "sha1-Y1NsYVCzborhi870AMT66iT5QDU=", "requires": { "base64-js": "0.0.8", "events": "1.1.1", @@ -6005,44 +6947,6 @@ "react-proxy": "1.1.8" } }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -6091,71 +6995,48 @@ } }, "realm": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/realm/-/realm-0.14.3.tgz", - "integrity": "sha1-EfKB1yQLFO3L7ZTW3QY4Tf/1hAg=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/realm/-/realm-2.0.1.tgz", + "integrity": "sha1-/pcAq4c3V8BpaMgIobnJozX7a6M=", "requires": { - "bindings": "1.3.0", - "mockery": "1.7.0", + "command-line-args": "4.0.7", + "decompress": "4.2.0", + "decompress-tarxz": "2.1.1", + "fs-extra": "4.0.2", + "ini": "1.3.4", "nan": "2.7.0", - "node-gyp": "3.6.2", - "rnpm": "1.6.5", - "xcode": "0.8.4" + "node-fetch": "1.7.3", + "node-pre-gyp": "0.6.38", + "progress": "2.0.0", + "prop-types": "15.6.0", + "request": "2.83.0", + "stream-counter": "1.0.0", + "sync-request": "3.0.1", + "url-parse": "1.1.9" }, "dependencies": { - "base64-js": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz", - "integrity": "sha1-e4WfefC7vVWGe6Z6f6s5fiSiCUc=" - }, - "pegjs": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.6.2.tgz", - "integrity": "sha1-dGUfioAORE22iOTuro7bZWN6F6U=" - }, - "plist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-1.1.0.tgz", - "integrity": "sha1-/2cIWQyXzEOOe8Rd5SUb1yXz+J0=", + "fs-extra": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", "requires": { - "base64-js": "0.0.6", - "util-deprecate": "1.0.0", - "xmlbuilder": "2.2.1", - "xmldom": "0.1.27" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, - "simple-plist": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.0.4.tgz", - "integrity": "sha1-f4Y0OLY8t135ndgbgzbXxQdc/As=", + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { - "bplist-creator": "0.0.4", - "bplist-parser": "0.0.6", - "plist": "1.1.0" + "graceful-fs": "4.1.11" } }, - "util-deprecate": { + "stream-counter": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz", - "integrity": "sha1-MAevASwUDq4m3gVXbsInhcrDq/I=" - }, - "xcode": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.8.4.tgz", - "integrity": "sha1-6CxkZ1/K48sC6c64AdeG3ZASNgQ=", - "requires": { - "node-uuid": "1.3.3", - "pegjs": "0.6.2", - "simple-plist": "0.0.4" - } - }, - "xmlbuilder": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz", - "integrity": "sha1-kyZDDxMNh0NdTECGZDqikm4QWjI=", - "requires": { - "lodash-node": "2.4.1" - } + "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz", + "integrity": "sha1-kc8lac5NxQYf6816yyY5SloRR1E=" } } }, @@ -6181,7 +7062,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "private": "0.1.7" + "private": "0.1.8" } }, "regex-cache": { @@ -6210,23 +7091,6 @@ "regjsparser": "0.1.5" } }, - "registry-auth-token": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", - "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", - "requires": { - "rc": "1.2.1", - "safe-buffer": "5.1.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "1.2.1" - } - }, "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -6329,6 +7193,11 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", @@ -6368,11 +7237,6 @@ "onetime": "1.1.0" } }, - "rewire": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz", - "integrity": "sha1-ZCfee3/u+n02QBUH62SlOFvFjcc=" - }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -6438,60 +7302,6 @@ "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" }, - "rnpm": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/rnpm/-/rnpm-1.6.5.tgz", - "integrity": "sha1-2Cvb41YJZcTl64HcUc2UfIPy/X8=", - "requires": { - "commander": "2.11.0", - "glob": "7.1.2", - "lodash": "3.10.1", - "rnpm-plugin-install": "1.1.0", - "rnpm-plugin-link": "1.8.0", - "update-notifier": "0.6.3", - "xmldoc": "0.4.0" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } - }, - "rnpm-plugin-install": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rnpm-plugin-install/-/rnpm-plugin-install-1.1.0.tgz", - "integrity": "sha1-WkbKvyxSPlmmAGM3yW9GxPK/r2k=", - "requires": { - "npmlog": "2.0.4" - } - }, - "rnpm-plugin-link": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/rnpm-plugin-link/-/rnpm-plugin-link-1.8.0.tgz", - "integrity": "sha1-V6/lz8GMyjruDYodwlPSjtr7WTw=", - "requires": { - "fs-extra": "0.26.7", - "glob": "7.1.2", - "inquirer": "0.12.0", - "lodash": "3.10.1", - "mime": "1.4.1", - "mock-fs": "3.12.1", - "npmlog": "2.0.4", - "plist": "1.2.0", - "semver": "5.4.1", - "to-camel-case": "1.0.0", - "xcode": "0.8.9" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } - }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", @@ -6562,19 +7372,29 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=" }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": "1.0.1" + } + } + } + }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "requires": { - "semver": "5.4.1" - } - }, "send": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", @@ -6703,16 +7523,6 @@ "is-extendable": "0.1.1", "is-plain-object": "2.0.4", "split-string": "3.0.2" - }, - "dependencies": { - "split-string": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.0.2.tgz", - "integrity": "sha512-d6myUSfwmBz1izkY4r7r7I0PL41rh21qUDYK1OgclmGHeoqQoujduGxMbzw6BlF3HKmJR4sMpbWVo7/Xzg4YBQ==", - "requires": { - "extend-shallow": "2.0.1" - } - } } }, "setimmediate": { @@ -6803,7 +7613,7 @@ "extend-shallow": "2.0.1", "map-cache": "0.2.2", "source-map": "0.5.7", - "source-map-resolve": "0.5.0", + "source-map-resolve": "0.5.1", "use": "2.0.2" }, "dependencies": { @@ -6822,8 +7632,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -6876,11 +7691,12 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.0.tgz", - "integrity": "sha1-/K0LZLcK+ydpnkJZUMtevNQQvCA=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "requires": { "atob": "2.0.3", + "decode-uri-component": "0.2.0", "resolve-url": "0.2.1", "source-map-url": "0.4.0", "urix": "0.1.0" @@ -6923,9 +7739,9 @@ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, "split-string": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-2.1.1.tgz", - "integrity": "sha1-r0sG2CFWBCZEbDzZMc2mGJQNN9A=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.0.2.tgz", + "integrity": "sha512-d6myUSfwmBz1izkY4r7r7I0PL41rh21qUDYK1OgclmGHeoqQoujduGxMbzw6BlF3HKmJR4sMpbWVo7/Xzg4YBQ==", "requires": { "extend-shallow": "2.0.1" } @@ -6974,15 +7790,20 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, "stream-browserify": { "version": "1.0.0", @@ -7070,6 +7891,14 @@ "is-utf8": "0.2.1" } }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "4.0.1" + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -7085,6 +7914,16 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "sync-request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz", + "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=", + "requires": { + "concat-stream": "1.6.0", + "http-response-object": "1.1.0", + "then-request": "2.2.0" + } + }, "tar": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", @@ -7095,6 +7934,98 @@ "inherits": "2.0.1" } }, + "tar-pack": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", + "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.3", + "rimraf": "2.6.2", + "tar": "2.2.1", + "uid-number": "0.0.6" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, + "tar-stream": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.0", + "readable-stream": "2.3.3", + "xtend": "4.0.1" + }, + "dependencies": { + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "requires": { + "readable-stream": "2.3.3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "temp": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", @@ -7111,6 +8042,50 @@ } } }, + "test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "2.6.1" + } + } + } + }, + "then-request": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz", + "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=", + "requires": { + "caseless": "0.11.0", + "concat-stream": "1.6.0", + "http-basic": "2.5.1", + "http-response-object": "1.1.0", + "promise": "7.3.1", + "qs": "6.5.1" + }, + "dependencies": { + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + } + } + }, "throat": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", @@ -7164,11 +8139,6 @@ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=" - }, "timers-browserify": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", @@ -7190,24 +8160,11 @@ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" }, - "to-camel-case": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-camel-case/-/to-camel-case-1.0.0.tgz", - "integrity": "sha1-GlYFSy+daWKYzmamCJcyK29CPkY=", - "requires": { - "to-space-case": "1.0.0" - } - }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, - "to-no-case": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", - "integrity": "sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo=" - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -7251,8 +8208,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -7265,14 +8227,6 @@ "repeat-string": "1.6.1" } }, - "to-space-case": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", - "integrity": "sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=", - "requires": { - "to-no-case": "1.0.2" - } - }, "topo": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz", @@ -7342,10 +8296,15 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" + }, "ua-parser-js": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, "uglify-js": { "version": "2.8.29", @@ -7376,6 +8335,11 @@ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "optional": true }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" + }, "uid-safe": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", @@ -7389,6 +8353,15 @@ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=" }, + "unbzip2-stream": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "requires": { + "buffer": "3.6.0", + "through": "2.3.8" + } + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -7413,6 +8386,11 @@ } } }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -7462,24 +8440,6 @@ "os-homedir": "1.0.2" } }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, - "update-notifier": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz", - "integrity": "sha1-d23sjaoT6WKjQeih2YNUMGtnrgg=", - "requires": { - "boxen": "0.3.1", - "chalk": "1.1.3", - "configstore": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "2.0.0", - "semver-diff": "2.1.0" - } - }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -7501,12 +8461,13 @@ } } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "url-parse": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", "requires": { - "prepend-http": "1.0.4" + "querystringify": "1.0.0", + "requires-port": "1.0.0" } }, "use": { @@ -7534,8 +8495,13 @@ "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", - "kind-of": "5.0.2" + "kind-of": "5.1.0" } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -7655,10 +8621,10 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, - "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { "string-width": "1.0.2" } @@ -7739,14 +8705,6 @@ } } }, - "xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", - "requires": { - "os-homedir": "1.0.2" - } - }, "xhr2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", @@ -7856,6 +8814,15 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" } } + }, + "yauzl": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.0.1" + } } } } diff --git a/package.json b/package.json index 35210190a8..d06b3f3c3b 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "react-native-vector-icons": "^4.0.1", "react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#remove-status-go-2", "readable-stream": "1.0.33", - "realm": "^0.14.3", + "realm": "^2.0.1", "stream-browserify": "^1.0.0", "string_decoder": "^0.10.31", "timers-browserify": "^1.4.2", diff --git a/project.clj b/project.clj index 208e6ed360..02b6201015 100644 --- a/project.clj +++ b/project.clj @@ -3,13 +3,14 @@ :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.9.0-alpha17"] - [org.clojure/clojurescript "1.9.908"] + [org.clojure/clojurescript "1.9.946"] [org.clojure/core.async "0.3.443"] [reagent "0.6.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]] [re-frame "0.10.1"] [com.andrewmcveigh/cljs-time "0.5.0"] [com.taoensso/timbre "4.10.0"] - [hickory "0.7.1"]] + [hickory "0.7.1"] + [com.cognitect/transit-cljs "0.8.243"]] :plugins [[lein-cljsbuild "1.1.7"] [lein-figwheel "0.5.13"] [lein-re-frisk "0.5.1"]] diff --git a/src/status_im/chat/events/receive_message.cljs b/src/status_im/chat/events/receive_message.cljs index df433283d4..b378e2c761 100644 --- a/src/status_im/chat/events/receive_message.cljs +++ b/src/status_im/chat/events/receive_message.cljs @@ -17,6 +17,11 @@ (or (not (chat-store/exists? chat-id)) (chat-store/is-active? chat-id)))))) +(re-frame/reg-cofx + :message-exists? + (fn [cofx] + (assoc cofx :message-exists? msg-store/exists?))) + (re-frame/reg-cofx :get-last-clock-value (fn [cofx] @@ -33,7 +38,7 @@ (get-in accounts [current-account-id :public-key])) (defn add-message - [{:keys [db get-stored-message get-last-stored-message pop-up-chat? + [{:keys [db message-exists? get-last-stored-message pop-up-chat? get-last-clock-value current-timestamp random-id]} {:keys [from group-id chat-id content-type message-id timestamp clock-value] @@ -44,7 +49,7 @@ ;; proceed with adding message if message is not already stored in realm, ;; it's not from current user (outgoing message) and it's for relevant chat ;; (either current active chat or new chat not existing yet) - (if (and (not (get-stored-message chat-identifier)) + (if (and (not (message-exists? message-id)) (not= from current-identity) (pop-up-chat? chat-identifier)) (let [group-chat? (not (nil? group-id)) @@ -78,7 +83,7 @@ {:db db}))) (def ^:private receive-interceptors - [(re-frame/inject-cofx :get-stored-message) (re-frame/inject-cofx :get-last-stored-message) + [(re-frame/inject-cofx :message-exists?) (re-frame/inject-cofx :get-last-stored-message) (re-frame/inject-cofx :pop-up-chat?) (re-frame/inject-cofx :get-last-clock-value) (re-frame/inject-cofx :current-timestamp) (re-frame/inject-cofx :random-id) re-frame/trim-v]) diff --git a/src/status_im/data_store/messages.cljs b/src/status_im/data_store/messages.cljs index fb1d0edf69..70848deb17 100644 --- a/src/status_im/data_store/messages.cljs +++ b/src/status_im/data_store/messages.cljs @@ -1,24 +1,16 @@ (ns status-im.data-store.messages - (:require [status-im.data-store.realm.messages :as data-store] - [clojure.string :refer [join split]] - [status-im.utils.random :refer [timestamp]] - [status-im.utils.utils :refer [update-if-present]] - [clojure.walk :refer [stringify-keys keywordize-keys]] - [cljs.reader :refer [read-string]] - [status-im.constants :as c])) - -(defn- user-statuses-to-map - [user-statuses] - (->> (vals user-statuses) - (mapv (fn [{:keys [whisper-identity] :as status}] - [whisper-identity status])) - (into {}))) + (:refer-clojure :exclude [exists?]) + (:require [cljs.reader :as reader] + [status-im.constants :as constants] + [status-im.data-store.realm.messages :as data-store] + [status-im.utils.random :as random] + [status-im.utils.utils :as utils])) (defn- command-type? [type] (contains? - #{c/content-type-command c/content-type-command-request - c/content-type-wallet-request c/content-type-wallet-command} + #{constants/content-type-command constants/content-type-command-request + constants/content-type-wallet-request constants/content-type-wallet-command} type)) (def default-values @@ -28,26 +20,17 @@ :same-direction false :preview nil}) +(defn exists? [message-id] + (data-store/exists? message-id)) + (defn get-by-id [message-id] - (some-> (data-store/get-by-id message-id) - (clojure.core/update :user-statuses user-statuses-to-map))) + (data-store/get-by-id message-id)) (defn get-message-content-by-id [message-id] (when-let [{:keys [content-type content] :as message} (get-by-id message-id)] (when (command-type? content-type) - (read-string content)))) - -(defn get-messages - [messages] - (->> messages - (mapv #(clojure.core/update % :user-statuses user-statuses-to-map)) - (into '()) - reverse - (keep (fn [{:keys [content-type] :as message}] - (if (command-type? content-type) - (clojure.core/update message :content read-string) - message))))) + (reader/read-string content)))) (defn get-count-by-chat-id [chat-id] @@ -57,26 +40,24 @@ ([chat-id] (get-by-chat-id chat-id 0)) ([chat-id from] - (->> (data-store/get-by-chat-id chat-id from c/default-number-of-messages) - (mapv #(clojure.core/update % :user-statuses user-statuses-to-map)) - (into '()) + (->> (data-store/get-by-chat-id chat-id from constants/default-number-of-messages) reverse (keep (fn [{:keys [content-type preview] :as message}] (if (command-type? content-type) - (clojure.core/update message :content read-string) + (update message :content reader/read-string) message)))))) (defn get-log-messages [chat-id] (->> (data-store/get-by-chat-id chat-id 0 100) - (filter #(= (:content-type %) c/content-type-log-message)) + (filter #(= (:content-type %) constants/content-type-log-message)) (map #(select-keys % [:content :timestamp])))) (defn get-last-message [chat-id] (if-let [{:keys [content-type] :as message} (data-store/get-last-message chat-id)] (if (command-type? content-type) - (clojure.core/update message :content read-string) + (update message :content reader/read-string) message))) (defn get-last-outgoing @@ -101,7 +82,7 @@ (->> (data-store/get-all-as-list) (filter :preview) (reduce (fn [acc {:keys [message-id preview]}] - (assoc acc message-id (read-string preview))) + (assoc acc message-id (reader/read-string preview))) {}))) (defn- prepare-content [content] @@ -119,13 +100,13 @@ message {:chat-id chat-id :content content' - :timestamp (timestamp)})] + :timestamp (random/timestamp)})] (data-store/save message')))) (defn update-message [{:keys [message-id] :as message}] (when (data-store/exists? message-id) - (let [message (update-if-present message :user-statuses vals)] + (let [message (utils/update-if-present message :user-statuses vals)] (data-store/save message)))) (defn delete-by-chat-id [chat-id] diff --git a/src/status_im/data_store/realm/accounts.cljs b/src/status_im/data_store/realm/accounts.cljs index a88b8ac019..c714bd35cb 100644 --- a/src/status_im/data_store/realm/accounts.cljs +++ b/src/status_im/data_store/realm/accounts.cljs @@ -1,25 +1,19 @@ (ns status-im.data-store.realm.accounts (:require [status-im.data-store.realm.core :as realm])) -(defn- reformat-networks [account] - (update account :networks - (fn [networks] - (into {} - (map (fn [{:keys [id] :as network}] - [id network]) - (vals (js->clj networks :keywordize-keys true))))))) - (defn get-all [] (realm/get-all realm/base-realm :account)) (defn get-all-as-list [] - (map reformat-networks (realm/realm-collection->list (get-all)))) + (->> (get-all) + realm/js-object->clj + (mapv #(realm/fix-map % :networks :id)))) (defn get-by-address [address] - (reformat-networks - (realm/get-one-by-field-clj realm/base-realm :account :address address))) + (realm/fix-map (realm/get-one-by-field-clj realm/base-realm :account :address address) + :networks :id)) (defn save [account update?] (realm/write realm/base-realm - (let [account' (update account :networks (comp vec vals))] - #(realm/create realm/base-realm :account account' update?)))) + (let [account' (realm/fix-map->vec account :networks)] + #(realm/create realm/base-realm :account account' update?)))) diff --git a/src/status_im/data_store/realm/chats.cljs b/src/status_im/data_store/realm/chats.cljs index 822e572ce1..dfe81b4e8a 100644 --- a/src/status_im/data_store/realm/chats.cljs +++ b/src/status_im/data_store/realm/chats.cljs @@ -12,13 +12,13 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn get-all-active [] (-> (realm/get-by-field @realm/account-realm :chat :is-active true) (realm/sorted :timestamp :desc) - realm/realm-collection->list)) + realm/js-object->clj)) (defn- groups [active?] @@ -28,15 +28,14 @@ (defn get-active-group-chats [] - (map - (fn [{:keys [chat-id public-key private-key public?]}] - (let [group {:group-id chat-id - :public? public?}] - (if (and public-key private-key) - (assoc group :keypair {:private private-key - :public public-key}) - group))) - (realm/realm-collection->list (groups true)))) + (map (fn [{:keys [chat-id public-key private-key public?]}] + (let [group {:group-id chat-id + :public? public?}] + (if (and public-key private-key) + (assoc group :keypair {:private private-key + :public public-key}) + group))) + (realm/js-object->clj (groups true)))) (defn- get-by-id-obj [chat-id] @@ -46,7 +45,7 @@ [chat-id] (-> @realm/account-realm (realm/get-one-by-field-clj :chat :chat-id chat-id) - (realm/list->array :contacts))) + (realm/fix-map->vec :contacts))) (defn save [chat update?] diff --git a/src/status_im/data_store/realm/contact_groups.cljs b/src/status_im/data_store/realm/contact_groups.cljs index f063cc9ef6..ed473dd863 100644 --- a/src/status_im/data_store/realm/contact_groups.cljs +++ b/src/status_im/data_store/realm/contact_groups.cljs @@ -10,7 +10,7 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn save [group update?] @@ -50,4 +50,4 @@ [group-id identities] (let [contacts (get-contacts group-id)] (realm/write @realm/account-realm - #(save-contacts identities contacts)))) \ No newline at end of file + #(save-contacts identities contacts)))) diff --git a/src/status_im/data_store/realm/contacts.cljs b/src/status_im/data_store/realm/contacts.cljs index ed51c675ed..6f543df2e4 100644 --- a/src/status_im/data_store/realm/contacts.cljs +++ b/src/status_im/data_store/realm/contacts.cljs @@ -10,7 +10,7 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn get-by-id [whisper-identity] @@ -18,8 +18,7 @@ (defn get-by-id-cljs [whisper-identity] - (some-> (get-by-id whisper-identity) - (js->clj :keywordize-keys true))) + (realm/get-one-by-field-clj @realm/account-realm :contact :whisper-identity whisper-identity)) (defn save [contact update?] diff --git a/src/status_im/data_store/realm/core.cljs b/src/status_im/data_store/realm/core.cljs index 959a0ea019..39ec8fd5c1 100644 --- a/src/status_im/data_store/realm/core.cljs +++ b/src/status_im/data_store/realm/core.cljs @@ -6,6 +6,8 @@ [status-im.utils.fs :as fs] [clojure.string :as str] [goog.string :as gstr] + [cognitect.transit :as transit] + [clojure.walk :as walk] [status-im.react-native.js-dependencies :as rn-dependencies]) (:refer-clojure :exclude [exists?])) @@ -121,81 +123,46 @@ (defn filtered [results filter-query] (.filtered results filter-query)) -(defn add-js->clj-array - "Extends type with IEncodeClojure and treats it as js array." - [t] - (extend-type t - IEncodeClojure - (-js->clj - ([x options] - (vec (map #(apply clj->js % options) x)))))) +(def map->vec + (comp vec vals)) -(defn add-js->clj-object [t] - "Extends type with IEncodeClojure and treats it as js object." - (extend-type t - IEncodeClojure - (-js->clj - ([x options] - (let [{:keys [keywordize-keys]} options - keyfn (if keywordize-keys keyword str)] - (dissoc - (into - {} - (for [k (js-keys x)] - ;; ignore properties that are added with IEncodeClojure - (if (#{"cljs$core$IEncodeClojure$" - "cljs$core$IEncodeClojure$_js__GT_clj$arity$2"} - k) - [nil nil] - (let [v (aget x k)] - ;; check if property is of List type and wasn't succesfully - ;; transformed to ClojureScript data structure - (when (and v - (not (string? v)) - (not (boolean? v)) - (not (number? v)) - (not (coll? v)) - (not (satisfies? IEncodeClojure v)) - (str/includes? (type->str (type v)) "List")) - (add-js->clj-object (type v))) - [(keyfn k) (js->clj v :keywordize-keys keywordize-keys)])))) - nil)))))) +(def reader (transit/reader :json)) -(defn check-collection - "Checks if collection was succesfully transformed to ClojureScript, - extends it with IEncodeClojure if necessary" - [coll] - (cond - (not (coll? coll)) - (do (add-js->clj-array (type coll)) - (check-collection (js->clj coll :keywordize-keys true))) +(defn js-object->clj + "Converts any js type/object into a map recursively + Performs 5 times better than iterating over the object keys + and that would require special care for collections" + [js-object] + (let [o (->> js-object + (.stringify js/JSON) + (transit/read reader))] + (walk/keywordize-keys (if (map? o) + (map->vec o) + o)))) - (let [f (first coll)] - (and f (not (map? f)))) - (do (add-js->clj-object (type (first coll))) - (js->clj coll :keywordize-keys true)) +(defn fix-map->vec + "Takes a map m and a keyword k + Updates the value in k, a map representing a list, into a vector + example: {:0 0 :1 1} -> [0 1]" + [m k] + (update m k map->vec)) - :else coll)) - -(defn realm-collection->list [collection] - (-> collection - (.map (fn [object _ _] object)) - (js->clj :keywordize-keys true) - check-collection)) - -(defn list->array [record list-field] - (update-in record [list-field] (comp vec vals))) +(defn fix-map + "Takes a map m, a keyword k and an id id + Updates the value in k, a map representing a list, into a map using + the id extracted from the value as a key + example: {:0 {:id 1 :a 2} :1 {:id 2 :a 2}} -> {1 {:id 1 :a 2} 2 {:id 2 :a 2}}" + [m k id] + (update m k #(reduce (fn [acc [_ v]] + (assoc acc (get v id) v)) + {} + %))) (defn single [result] - (-> (aget result 0))) + (aget result 0)) -(defn single-cljs [result] - (let [res (some-> (aget result 0) - (js->clj :keywordize-keys true))] - (if (and res (not (map? res))) - (do (add-js->clj-object (type res)) - (js->clj res :keywordize-keys true)) - res))) +(def single-clj + (comp first js-object->clj)) (defn- get-schema-by-name [opts] (->> opts @@ -229,7 +196,7 @@ (single (get-by-field realm schema-name field value))) (defn get-one-by-field-clj [realm schema-name field value] - (single-cljs (get-by-field realm schema-name field value))) + (single-clj (get-by-field realm schema-name field value))) (defn get-by-fields [realm schema-name op fields] (let [queries (map (fn [[k v]] diff --git a/src/status_im/data_store/realm/discover.cljs b/src/status_im/data_store/realm/discover.cljs index 14eab22977..52ad77a364 100644 --- a/src/status_im/data_store/realm/discover.cljs +++ b/src/status_im/data_store/realm/discover.cljs @@ -11,7 +11,7 @@ (defn get-all-as-list [ordering] - (realm/realm-collection->list (get-all ordering))) + (realm/js-object->clj (get-all ordering))) (defn get-tag-by-name [tag] (log/debug "Getting tag: " tag) @@ -33,8 +33,8 @@ (defn- get-tags [message-id] (-> (realm/get-one-by-field-clj @realm/account-realm :discover :message-id message-id) - (:tags) - (vals))) + :tags + vals)) (defn- upsert-discover [{:keys [message-id tags] :as discover}] (log/debug "Creating/updating discover with tags: " tags) @@ -76,4 +76,4 @@ (defn get-all-tags [] (-> (realm/get-all @realm/account-realm :tag) (realm/sorted :count :desc) - realm/realm-collection->list)) + realm/js-object->clj)) diff --git a/src/status_im/data_store/realm/handler_data.cljs b/src/status_im/data_store/realm/handler_data.cljs index 16256f8afe..218f085707 100644 --- a/src/status_im/data_store/realm/handler_data.cljs +++ b/src/status_im/data_store/realm/handler_data.cljs @@ -5,7 +5,7 @@ (realm/get-all @realm/account-realm :handler-data)) (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn get-by-message-id [message-id] diff --git a/src/status_im/data_store/realm/messages.cljs b/src/status_im/data_store/realm/messages.cljs index dc08d1bf84..cec80388e5 100644 --- a/src/status_im/data_store/realm/messages.cljs +++ b/src/status_im/data_store/realm/messages.cljs @@ -9,22 +9,25 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn get-by-id [message-id] - (realm/get-one-by-field-clj @realm/account-realm :message :message-id message-id)) + (when-let [message (realm/get-one-by-field-clj @realm/account-realm :message :message-id message-id)] + (realm/fix-map message :user-statuses :whisper-identity))) (defn get-by-chat-id + "arity-1 returns realm object for queries" ([chat-id] (realm/get-by-field @realm/account-realm :message :chat-id chat-id)) ([chat-id number-of-messages] (get-by-chat-id chat-id 0 number-of-messages)) ([chat-id from number-of-messages] - (-> (realm/get-by-field @realm/account-realm :message :chat-id chat-id) - (realm/sorted :timestamp :desc) - (realm/page from (+ from number-of-messages)) - (realm/realm-collection->list)))) + (let [messages (-> (realm/get-by-field @realm/account-realm :message :chat-id chat-id) + (realm/sorted :timestamp :desc) + (realm/page from (+ from number-of-messages)) + realm/js-object->clj)] + (mapv #(realm/fix-map % :user-statuses :whisper-identity) messages)))) (defn get-count-by-chat-id [chat-id] @@ -35,20 +38,20 @@ (-> (realm/get-by-fields @realm/account-realm :message :and fields) (realm/sorted :timestamp :desc) (realm/page from (+ from number-of-messages)) - (realm/realm-collection->list))) + realm/js-object->clj)) (defn get-last-message [chat-id] (-> (realm/get-by-field @realm/account-realm :message :chat-id chat-id) (realm/sorted :clock-value :desc) - (realm/single-cljs))) + (realm/single-clj))) (defn get-unviewed [] (-> @realm/account-realm (realm/get-by-fields :message :and {:outgoing false :message-status nil}) - (realm/realm-collection->list))) + realm/js-object->clj)) (defn exists? [message-id] @@ -56,7 +59,8 @@ (defn save [message] - (realm/save @realm/account-realm :message message true)) + (let [message (update message :user-statuses #(if % % []))] + (realm/save @realm/account-realm :message message true))) (defn delete-by-chat-id [chat-id] diff --git a/src/status_im/data_store/realm/networks.cljs b/src/status_im/data_store/realm/networks.cljs index 55d4ecb650..c8a4716443 100644 --- a/src/status_im/data_store/realm/networks.cljs +++ b/src/status_im/data_store/realm/networks.cljs @@ -9,7 +9,7 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn save [network update?] diff --git a/src/status_im/data_store/realm/pending_messages.cljs b/src/status_im/data_store/realm/pending_messages.cljs index 3bc583ab86..124c974473 100644 --- a/src/status_im/data_store/realm/pending_messages.cljs +++ b/src/status_im/data_store/realm/pending_messages.cljs @@ -8,8 +8,7 @@ (defn get-all-as-list [] - (->> (get-all) - realm/realm-collection->list)) + (realm/js-object->clj (get-all))) (defn get-by-message-id [message-id] diff --git a/src/status_im/data_store/realm/processed_messages.cljs b/src/status_im/data_store/realm/processed_messages.cljs index d1245b381c..52dbb85714 100644 --- a/src/status_im/data_store/realm/processed_messages.cljs +++ b/src/status_im/data_store/realm/processed_messages.cljs @@ -14,7 +14,7 @@ (defn get-filtered-as-list [condition] - (realm/realm-collection->list (get-filtered condition))) + (realm/js-object->clj (get-filtered condition))) (defn save [processed-message] diff --git a/src/status_im/data_store/realm/requests.cljs b/src/status_im/data_store/realm/requests.cljs index d7adffb08e..b014a388fb 100644 --- a/src/status_im/data_store/realm/requests.cljs +++ b/src/status_im/data_store/realm/requests.cljs @@ -7,14 +7,14 @@ (defn get-all-as-list [] - (realm/realm-collection->list (get-all))) + (realm/js-object->clj (get-all))) (defn get-open-by-chat-id [chat-id] (-> (realm/get-by-fields @realm/account-realm :request :and [[:chat-id chat-id] [:status "open"]]) (realm/sorted :added :desc) - (realm/realm-collection->list))) + realm/js-object->clj)) ;; NOTE(oskarth): phone command in Console can be answered again, so we want to list this ;; TODO(oskarth): Refactor this, either by extending and/or query or changing status of message @@ -24,7 +24,7 @@ [:type "phone"] [:status "answered"]]) (realm/sorted :added :desc) - (realm/realm-collection->list))) + realm/js-object->clj)) (defn get-available-by-chat-id [chat-id] @@ -45,7 +45,7 @@ (-> @realm/account-realm (realm/get-by-fields :request :and [[:chat-id chat-id] [:message-id message-id]]) - (realm/single))) + realm/single)) (defn mark-as-answered [chat-id message-id]