use firebase realtime database
Seto Elkahfi committed
Mar 3, 2019 at 15:59 UTC
3bc212204aa1b0673e36716ec9af0857f287d78a
9 files changed
+1084
-231
.firebase/hosting.YnVpbGQ.cache
+12
-15
@@ -1,15 +1,12 @@
1
-asset-manifest.json,1550775623208,42a84d4480c886cbc5cdd5f3328093033720287c32c50365706d29bd8e17ed2b
2
-favicon.ico,499162500000,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955
3
-index.html,1550775623208,55b994e74635f2d068af8f6f94f4d309e69dc867325f1d72ef159f8163795b52
4
-precache-manifest.1f7cd86a927e38fadda9ede832b18379.js,1550775623208,a5ae87ce7af84854921fbc60cf7e83dfc116351a4f5b0fc266aa2b2618ee5e69
5
-service-worker.js,1550775623208,9a889e88c07e144f3d32375d740a5a39ff4387f1d9cf9d4751a60c5a7f8f05ae
6
-static/css/main.47abdc83.chunk.css,1550775623209,1e150b977e937e6a586f318bf45b28297d317a972de6bb9583f3f3a03377c875
7
-static/css/main.47abdc83.chunk.css.map,1550775623212,5ef86a5df29807e5b4d174a6ea7171159f6d4dec4f14321c6fd80042dbec992f
8
-static/js/main.fa159366.chunk.js,1550775623212,9bf986269748867390871d604cd9a8996f540e0a70fb32501ba705b902abe587
9
-static/js/runtime~main.fdfcfda2.js,1550775623212,a98f099106e478773adc01f15f58f2f6ebe0f2e84233f7b37d118f90685dee40
10
-static/js/main.fa159366.chunk.js.map,1550775623212,7bc8bdd30a891e1c23e4ad299fb7fc5011380b9eae77505f967c7ab27eaa397a
11
-static/js/runtime~main.fdfcfda2.js.map,1550775623212,16648a77266513083ee7168e4552050ef50476172bcf27485998ef99f2dc848b
12
-static/media/logo.5d5d9eef.svg,1550775623212,45e3776da5a899185aa64ba11c8a59406f29a2de1d14efd166c59ff758019c9a
13
-manifest.json,499162500000,6aaf3d87dd9bb1e96f9c691c50d0ed378ed98a120a76dea78291281834cd36e9
14
-static/js/2.5bf9b2cd.chunk.js,1550775623212,6f0e09e497d1da7c4617c12b50a60ce4d4a73314b550aa16853ba500c40be5b1
15
-static/js/2.5bf9b2cd.chunk.js.map,1550775623212,fdbe2b3d34b8464ac7253abea9ba232e8194685b77aca6fbafdfa3d7a8a0b96d
1
+asset-manifest.json,1550788740935,17f63c5d58dee863b7de6fde0407091e6cd9300648e255a7822d4658458bab2f
2
+favicon.ico,1550784086149,5804cffc6fb8150c7355a8008821e92b78bf8780975ae3a37680a71dcef46291
3
+precache-manifest.bd4163bb6ce37c2eec37e02f22ac93b5.js,1550788740935,5922c476c04929e4e095abec2cc359565aba5b70ef2b8b52176dbb4709a0cd8b
4
+index.html,1550788740935,e094b5fd2f35042ab7c170136e7c447075dd59f5ee27055a36e46fa46113cd97
5
+service-worker.js,1550788740935,475f3467028c71b7c824a54ee23248a3a8579adeeeaece2008fa5da208f292d8
6
+static/js/main.522788af.chunk.js,1550788740939,b0a20ff71fd0d288bb86c771a550a3284555447cd804c92e6ca560a58db59677
7
+static/js/runtime~main.fdfcfda2.js,1550788740936,a98f099106e478773adc01f15f58f2f6ebe0f2e84233f7b37d118f90685dee40
8
+static/js/main.522788af.chunk.js.map,1550788740939,d0248060ec930a6e5d0255385c276c54f3625cb5b0054faf9d7f7a803b557ffe
9
+static/js/runtime~main.fdfcfda2.js.map,1550788740939,16648a77266513083ee7168e4552050ef50476172bcf27485998ef99f2dc848b
10
+manifest.json,1550784219081,f5cfc525bc87a1aa9d3b82e2d0dce68ff7c0f0cc87b44b84563c3275a0a5c162
11
+static/js/2.5ec8d5d9.chunk.js,1550788740939,fe0c1de23cd038fba02d81cdebdf2e62ca68d5066b148e560e08ce4ada84ef20
12
+static/js/2.5ec8d5d9.chunk.js.map,1550788740939,99298735a48408fbb97744a324d6ce2f919266dc0a022c8a8d6ee7256588d853
package-lock.json
+988
-170
@@ -853,6 +853,204 @@
853
"resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
854
"integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw=="
855
},
856
+ "@firebase/app": {
857
+ "version": "0.3.9",
858
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.3.9.tgz",
859
+ "integrity": "sha512-mjgBSQsjln5vAV4zDIn3gjsRlcvn6KxMVNGdhdJmrHRPfjBYUQJycn2X3xwF0krwB41WS8SQCsHHQssXY+kfVQ==",
860
+ "requires": {
861
+ "@firebase/app-types": "0.3.4",
862
+ "@firebase/util": "0.2.7",
863
+ "dom-storage": "2.1.0",
864
+ "tslib": "1.9.0",
865
+ "xmlhttprequest": "1.8.0"
866
+ },
867
+ "dependencies": {
868
+ "tslib": {
869
+ "version": "1.9.0",
870
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
871
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
872
+ }
873
+ }
874
+ },
875
+ "@firebase/app-types": {
876
+ "version": "0.3.4",
877
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.3.4.tgz",
878
+ "integrity": "sha512-XIc1wu7CJ0469STQPwyuokcBGFpRr7BVKKdajj/wAxzNntatDTXo1jdGfmjA8UYcuvW+QJmMkOE9KIOf5HgSzw=="
879
+ },
880
+ "@firebase/auth": {
881
+ "version": "0.9.3",
882
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.9.3.tgz",
883
+ "integrity": "sha512-6NytqF693I+Y0iKvL+JNOOToBgA7fPRHCoGK4PCBzzGfpRB7Ou5QUdhNA/2HWNxQyA/GyqHhtUH3lQeV4nBJMg==",
884
+ "requires": {
885
+ "@firebase/auth-types": "0.5.2"
886
+ }
887
+ },
888
+ "@firebase/auth-types": {
889
+ "version": "0.5.2",
890
+ "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.5.2.tgz",
891
+ "integrity": "sha512-EU/b3eakCgmOFTti+DOQFgdtA62exlN12VaAZc7Yw8Ld7r7nP4fL9+S9JP1uBOTcpJEoTPE75Wc/+RBClxlf8g=="
892
+ },
893
+ "@firebase/database": {
894
+ "version": "0.3.12",
895
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.3.12.tgz",
896
+ "integrity": "sha512-Gim1kYUXBOX7xYwrBY6sOgQerOkhYGYvwwPCFeuBTXVy6X8b98SCSk7oMrmrG0+tG6gosmq7CT59AOxZEx4/0Q==",
897
+ "requires": {
898
+ "@firebase/database-types": "0.3.5",
899
+ "@firebase/logger": "0.1.6",
900
+ "@firebase/util": "0.2.7",
901
+ "faye-websocket": "0.11.1",
902
+ "tslib": "1.9.0"
903
+ },
904
+ "dependencies": {
905
+ "tslib": {
906
+ "version": "1.9.0",
907
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
908
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
909
+ }
910
+ }
911
+ },
912
+ "@firebase/database-types": {
913
+ "version": "0.3.5",
914
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.3.5.tgz",
915
+ "integrity": "sha512-MB98w9DsZtTN45sf651s5z4f2zdn5gPi2SMaZk32HLihPDgKv5pepzZ+grxioM7z5ZU1EvjjXRL7oM81OH3mZQ=="
916
+ },
917
+ "@firebase/firestore": {
918
+ "version": "1.0.4",
919
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.0.4.tgz",
920
+ "integrity": "sha512-WgeCEeCNcqOHMJmvAoyo18wfuuJR1+O7zbi7Myt/oaIBWQSC5z4+vt6b/xJiqhMkjDJgMddP567kcsiV/nYvsw==",
921
+ "requires": {
922
+ "@firebase/firestore-types": "1.0.2",
923
+ "@firebase/logger": "0.1.6",
924
+ "@firebase/webchannel-wrapper": "0.2.13",
925
+ "grpc": "1.18.0",
926
+ "tslib": "1.9.0"
927
+ },
928
+ "dependencies": {
929
+ "tslib": {
930
+ "version": "1.9.0",
931
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
932
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
933
+ }
934
+ }
935
+ },
936
+ "@firebase/firestore-types": {
937
+ "version": "1.0.2",
938
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.0.2.tgz",
939
+ "integrity": "sha512-VJFxX3gC8hRm+UiKFk4rniQro3hRzeN9jFmmc2qq0qOO2KXrArc49tl7mj2c9pNPT+8la2xnmNXZ3g7ddJyd8Q=="
940
+ },
941
+ "@firebase/functions": {
942
+ "version": "0.3.7",
943
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.3.7.tgz",
944
+ "integrity": "sha512-Z6GZSnM98pu7BpkKw4wzZEQ5z41A/N0PZKp4AmDc/Sc0kD0vveSJLV14ztykaxTU4b38w534LRJ0cZEIeLyicg==",
945
+ "requires": {
946
+ "@firebase/functions-types": "0.2.3",
947
+ "@firebase/messaging-types": "0.2.5",
948
+ "isomorphic-fetch": "2.2.1",
949
+ "tslib": "1.9.0"
950
+ },
951
+ "dependencies": {
952
+ "tslib": {
953
+ "version": "1.9.0",
954
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
955
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
956
+ }
957
+ }
958
+ },
959
+ "@firebase/functions-types": {
960
+ "version": "0.2.3",
961
+ "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.2.3.tgz",
962
+ "integrity": "sha512-/26AIgmwM9CQwWOXqK/A6AojTEYwEU/c6KbRk7ljny3k5aqRr+4fbYgDzCS2lriaExhLkXfYPx9MtjpDLO7YCQ=="
963
+ },
964
+ "@firebase/logger": {
965
+ "version": "0.1.6",
966
+ "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.6.tgz",
967
+ "integrity": "sha512-74COMdYK/CZBgCSzEJGtQYpi1wGg1QlCUTQ/BrqqEIGg7GcnEcUCyjtRLogRQPYj3P7qaJLzHTSErJ8ZUAGotQ=="
968
+ },
969
+ "@firebase/messaging": {
970
+ "version": "0.3.11",
971
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.3.11.tgz",
972
+ "integrity": "sha512-2kcJ7YIcik0qTe/ot33QnGqyRFW+QKGfw/SHcX1Ta7p8fptEPO3T5dCrnPTPBjQJZ5hsIiYg493O1ebgm/BVWg==",
973
+ "requires": {
974
+ "@firebase/messaging-types": "0.2.5",
975
+ "@firebase/util": "0.2.7",
976
+ "tslib": "1.9.0"
977
+ },
978
+ "dependencies": {
979
+ "tslib": {
980
+ "version": "1.9.0",
981
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
982
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
983
+ }
984
+ }
985
+ },
986
+ "@firebase/messaging-types": {
987
+ "version": "0.2.5",
988
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-types/-/messaging-types-0.2.5.tgz",
989
+ "integrity": "sha512-t0wyC8KdT+4ahV7DdaDov8S2zrcNOkxHjg0nP1XwaP5RpBmCQKIQ+acLKp81aR7ihRRabY8krpJ0wYTHv1+cqA=="
990
+ },
991
+ "@firebase/polyfill": {
992
+ "version": "0.3.6",
993
+ "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.6.tgz",
994
+ "integrity": "sha512-C75qCebkyKnR2q65zEMB/bUe8dR+lDk8CiWBM5QedRijVIZBsXRjCjausvk6sgl6QUTBDlRG89+ohT/dg/uRVw==",
995
+ "requires": {
996
+ "core-js": "2.5.5",
997
+ "promise-polyfill": "7.1.2",
998
+ "whatwg-fetch": "2.0.4"
999
+ },
1000
+ "dependencies": {
1001
+ "core-js": {
1002
+ "version": "2.5.5",
1003
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz",
1004
+ "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs="
1005
+ },
1006
+ "whatwg-fetch": {
1007
+ "version": "2.0.4",
1008
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
1009
+ "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
1010
+ }
1011
+ }
1012
+ },
1013
+ "@firebase/storage": {
1014
+ "version": "0.2.8",
1015
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.2.8.tgz",
1016
+ "integrity": "sha512-Tj4nCSAptuMo2gvowP7EZerIuTBXE25HAdUAapBhwsaoKLXEPTzaCh40pfOV8PlQ7DPntqQhGWlpDEmDYdiJ6Q==",
1017
+ "requires": {
1018
+ "@firebase/storage-types": "0.2.5",
1019
+ "tslib": "1.9.0"
1020
+ },
1021
+ "dependencies": {
1022
+ "tslib": {
1023
+ "version": "1.9.0",
1024
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
1025
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
1026
+ }
1027
+ }
1028
+ },
1029
+ "@firebase/storage-types": {
1030
+ "version": "0.2.5",
1031
+ "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.2.5.tgz",
1032
+ "integrity": "sha512-6M7iIPhhyA2Vgn+Hfqtonns5mo+hSPeK3UgaYCTmnmQ+CNcjYuo5srBa/z6YvaLByfhiEhrrR5I8iCk4HyzQDQ=="
1033
+ },
1034
+ "@firebase/util": {
1035
+ "version": "0.2.7",
1036
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.7.tgz",
1037
+ "integrity": "sha512-I6rN6smH1XEXUIDySI2jr4pM8r2tBnE40mANYco2lbzs2D0nk9aiwKp5MTWRAmqRy4WDe7sx9sqs0cFefzsD6A==",
1038
+ "requires": {
1039
+ "tslib": "1.9.0"
1040
+ },
1041
+ "dependencies": {
1042
+ "tslib": {
1043
+ "version": "1.9.0",
1044
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
1045
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
1046
+ }
1047
+ }
1048
+ },
1049
+ "@firebase/webchannel-wrapper": {
1050
+ "version": "0.2.13",
1051
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.13.tgz",
1052
+ "integrity": "sha512-wsw8PBkojAfdz3ROMmO6Kk8BbzVsDO4Mhrh2EHJMxSzzKjd7NyXMKpGh9YOA1BY5gfMGQn/M+IVNR0KMryc5Xg=="
1053
+ },
1054
"@mrmlnc/readdir-enhanced": {
1055
"version": "2.2.1",
1056
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -1675,6 +1873,15 @@
1873
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
1874
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
1875
},
1876
+ "ascli": {
1877
+ "version": "1.0.1",
1878
+ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
1879
+ "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
1880
+ "requires": {
1881
+ "colour": "~0.7.1",
1882
+ "optjs": "~3.2.2"
1883
+ }
1884
+ },
1885
"asn1": {
1886
"version": "0.2.4",
1887
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -2522,6 +2729,14 @@
2729
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
2730
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
2731
},
2732
+ "bytebuffer": {
2733
+ "version": "5.0.1",
2734
+ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
2735
+ "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
2736
+ "requires": {
2737
+ "long": "~3"
2738
+ }
2739
+ },
2740
"bytes": {
2741
"version": "3.0.0",
2742
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -3440,6 +3655,11 @@
3655
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
3656
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
3657
},
3658
+ "colour": {
3659
+ "version": "0.7.1",
3660
+ "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
3661
+ "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
3662
+ },
3663
"combined-stream": {
3664
"version": "1.0.7",
3665
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
@@ -4462,6 +4682,11 @@
4682
"entities": "^1.1.1"
4683
}
4684
},
4685
+ "dom-storage": {
4686
+ "version": "2.1.0",
4687
+ "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
4688
+ "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
4689
+ },
4690
"domain-browser": {
4691
"version": "1.2.0",
4692
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
@@ -4579,6 +4804,14 @@
4804
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
4805
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
4806
},
4807
+ "encoding": {
4808
+ "version": "0.1.12",
4809
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
4810
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
4811
+ "requires": {
4812
+ "iconv-lite": "~0.4.13"
4813
+ }
4814
+ },
4815
"end-of-stream": {
4816
"version": "1.4.1",
4817
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -5697,6 +5930,21 @@
5930
"locate-path": "^2.0.0"
5931
}
5932
},
5933
+ "firebase": {
5934
+ "version": "5.8.4",
5935
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-5.8.4.tgz",
5936
+ "integrity": "sha512-weILpmo3b4PWKMGQMbGu93OytkHt7tGVXL62mtfpBoIR2iPDpZiOv/LIFK/H7Y9Vr4H5EFuIBWXlramxsQlKfA==",
5937
+ "requires": {
5938
+ "@firebase/app": "0.3.9",
5939
+ "@firebase/auth": "0.9.3",
5940
+ "@firebase/database": "0.3.12",
5941
+ "@firebase/firestore": "1.0.4",
5942
+ "@firebase/functions": "0.3.7",
5943
+ "@firebase/messaging": "0.3.11",
5944
+ "@firebase/polyfill": "0.3.6",
5945
+ "@firebase/storage": "0.2.8"
5946
+ }
5947
+ },
5948
"flat-cache": {
5949
"version": "1.3.4",
5950
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
@@ -6447,7 +6695,574 @@
6695
"readable-stream": {
6696
"version": "2.3.6",
6697
"bundled": true,
6450
- "optional": true,
6698
+ "optional": true,
6699
+ "requires": {
6700
+ "core-util-is": "~1.0.0",
6701
+ "inherits": "~2.0.3",
6702
+ "isarray": "~1.0.0",
6703
+ "process-nextick-args": "~2.0.0",
6704
+ "safe-buffer": "~5.1.1",
6705
+ "string_decoder": "~1.1.1",
6706
+ "util-deprecate": "~1.0.1"
6707
+ }
6708
+ },
6709
+ "rimraf": {
6710
+ "version": "2.6.2",
6711
+ "bundled": true,
6712
+ "optional": true,
6713
+ "requires": {
6714
+ "glob": "^7.0.5"
6715
+ }
6716
+ },
6717
+ "safe-buffer": {
6718
+ "version": "5.1.1",
6719
+ "bundled": true
6720
+ },
6721
+ "safer-buffer": {
6722
+ "version": "2.1.2",
6723
+ "bundled": true,
6724
+ "optional": true
6725
+ },
6726
+ "sax": {
6727
+ "version": "1.2.4",
6728
+ "bundled": true,
6729
+ "optional": true
6730
+ },
6731
+ "semver": {
6732
+ "version": "5.5.0",
6733
+ "bundled": true,
6734
+ "optional": true
6735
+ },
6736
+ "set-blocking": {
6737
+ "version": "2.0.0",
6738
+ "bundled": true,
6739
+ "optional": true
6740
+ },
6741
+ "signal-exit": {
6742
+ "version": "3.0.2",
6743
+ "bundled": true,
6744
+ "optional": true
6745
+ },
6746
+ "string-width": {
6747
+ "version": "1.0.2",
6748
+ "bundled": true,
6749
+ "requires": {
6750
+ "code-point-at": "^1.0.0",
6751
+ "is-fullwidth-code-point": "^1.0.0",
6752
+ "strip-ansi": "^3.0.0"
6753
+ }
6754
+ },
6755
+ "string_decoder": {
6756
+ "version": "1.1.1",
6757
+ "bundled": true,
6758
+ "optional": true,
6759
+ "requires": {
6760
+ "safe-buffer": "~5.1.0"
6761
+ }
6762
+ },
6763
+ "strip-ansi": {
6764
+ "version": "3.0.1",
6765
+ "bundled": true,
6766
+ "requires": {
6767
+ "ansi-regex": "^2.0.0"
6768
+ }
6769
+ },
6770
+ "strip-json-comments": {
6771
+ "version": "2.0.1",
6772
+ "bundled": true,
6773
+ "optional": true
6774
+ },
6775
+ "tar": {
6776
+ "version": "4.4.1",
6777
+ "bundled": true,
6778
+ "optional": true,
6779
+ "requires": {
6780
+ "chownr": "^1.0.1",
6781
+ "fs-minipass": "^1.2.5",
6782
+ "minipass": "^2.2.4",
6783
+ "minizlib": "^1.1.0",
6784
+ "mkdirp": "^0.5.0",
6785
+ "safe-buffer": "^5.1.1",
6786
+ "yallist": "^3.0.2"
6787
+ }
6788
+ },
6789
+ "util-deprecate": {
6790
+ "version": "1.0.2",
6791
+ "bundled": true,
6792
+ "optional": true
6793
+ },
6794
+ "wide-align": {
6795
+ "version": "1.1.2",
6796
+ "bundled": true,
6797
+ "optional": true,
6798
+ "requires": {
6799
+ "string-width": "^1.0.2"
6800
+ }
6801
+ },
6802
+ "wrappy": {
6803
+ "version": "1.0.2",
6804
+ "bundled": true
6805
+ },
6806
+ "yallist": {
6807
+ "version": "3.0.2",
6808
+ "bundled": true
6809
+ }
6810
+ }
6811
+ },
6812
+ "function-bind": {
6813
+ "version": "1.1.1",
6814
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
6815
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
6816
+ },
6817
+ "functional-red-black-tree": {
6818
+ "version": "1.0.1",
6819
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
6820
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
6821
+ },
6822
+ "get-caller-file": {
6823
+ "version": "1.0.3",
6824
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
6825
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
6826
+ },
6827
+ "get-own-enumerable-property-symbols": {
6828
+ "version": "3.0.0",
6829
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
6830
+ "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg=="
6831
+ },
6832
+ "get-stream": {
6833
+ "version": "3.0.0",
6834
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
6835
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
6836
+ },
6837
+ "get-value": {
6838
+ "version": "2.0.6",
6839
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
6840
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
6841
+ },
6842
+ "getpass": {
6843
+ "version": "0.1.7",
6844
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
6845
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
6846
+ "requires": {
6847
+ "assert-plus": "^1.0.0"
6848
+ }
6849
+ },
6850
+ "glob": {
6851
+ "version": "7.1.3",
6852
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
6853
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
6854
+ "requires": {
6855
+ "fs.realpath": "^1.0.0",
6856
+ "inflight": "^1.0.4",
6857
+ "inherits": "2",
6858
+ "minimatch": "^3.0.4",
6859
+ "once": "^1.3.0",
6860
+ "path-is-absolute": "^1.0.0"
6861
+ }
6862
+ },
6863
+ "glob-base": {
6864
+ "version": "0.3.0",
6865
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
6866
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
6867
+ "requires": {
6868
+ "glob-parent": "^2.0.0",
6869
+ "is-glob": "^2.0.0"
6870
+ }
6871
+ },
6872
+ "glob-parent": {
6873
+ "version": "2.0.0",
6874
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
6875
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
6876
+ "requires": {
6877
+ "is-glob": "^2.0.0"
6878
+ }
6879
+ },
6880
+ "glob-to-regexp": {
6881
+ "version": "0.3.0",
6882
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
6883
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
6884
+ },
6885
+ "global-modules": {
6886
+ "version": "2.0.0",
6887
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
6888
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
6889
+ "requires": {
6890
+ "global-prefix": "^3.0.0"
6891
+ }
6892
+ },
6893
+ "global-prefix": {
6894
+ "version": "3.0.0",
6895
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
6896
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
6897
+ "requires": {
6898
+ "ini": "^1.3.5",
6899
+ "kind-of": "^6.0.2",
6900
+ "which": "^1.3.1"
6901
+ },
6902
+ "dependencies": {
6903
+ "kind-of": {
6904
+ "version": "6.0.2",
6905
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
6906
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
6907
+ }
6908
+ }
6909
+ },
6910
+ "globals": {
6911
+ "version": "11.11.0",
6912
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
6913
+ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw=="
6914
+ },
6915
+ "globby": {
6916
+ "version": "8.0.2",
6917
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
6918
+ "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==",
6919
+ "requires": {
6920
+ "array-union": "^1.0.1",
6921
+ "dir-glob": "2.0.0",
6922
+ "fast-glob": "^2.0.2",
6923
+ "glob": "^7.1.2",
6924
+ "ignore": "^3.3.5",
6925
+ "pify": "^3.0.0",
6926
+ "slash": "^1.0.0"
6927
+ },
6928
+ "dependencies": {
6929
+ "ignore": {
6930
+ "version": "3.3.10",
6931
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
6932
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="
6933
+ },
6934
+ "pify": {
6935
+ "version": "3.0.0",
6936
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
6937
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
6938
+ }
6939
+ }
6940
+ },
6941
+ "graceful-fs": {
6942
+ "version": "4.1.15",
6943
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
6944
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
6945
+ },
6946
+ "growly": {
6947
+ "version": "1.3.0",
6948
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
6949
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
6950
+ },
6951
+ "grpc": {
6952
+ "version": "1.18.0",
6953
+ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.18.0.tgz",
6954
+ "integrity": "sha512-M0K67Zhv2ZzCjrTbQvjWgYFPB929L+qAVnbNgXepbfO5kJxUYc30dP8m8vb+o8QdahLHAeYfIqRoIzZRcCB98Q==",
6955
+ "requires": {
6956
+ "lodash.camelcase": "^4.3.0",
6957
+ "lodash.clone": "^4.5.0",
6958
+ "nan": "^2.0.0",
6959
+ "node-pre-gyp": "^0.12.0",
6960
+ "protobufjs": "^5.0.3"
6961
+ },
6962
+ "dependencies": {
6963
+ "abbrev": {
6964
+ "version": "1.1.1",
6965
+ "bundled": true
6966
+ },
6967
+ "ansi-regex": {
6968
+ "version": "2.1.1",
6969
+ "bundled": true
6970
+ },
6971
+ "aproba": {
6972
+ "version": "1.2.0",
6973
+ "bundled": true
6974
+ },
6975
+ "are-we-there-yet": {
6976
+ "version": "1.1.5",
6977
+ "bundled": true,
6978
+ "requires": {
6979
+ "delegates": "^1.0.0",
6980
+ "readable-stream": "^2.0.6"
6981
+ }
6982
+ },
6983
+ "balanced-match": {
6984
+ "version": "1.0.0",
6985
+ "bundled": true
6986
+ },
6987
+ "brace-expansion": {
6988
+ "version": "1.1.11",
6989
+ "bundled": true,
6990
+ "requires": {
6991
+ "balanced-match": "^1.0.0",
6992
+ "concat-map": "0.0.1"
6993
+ }
6994
+ },
6995
+ "chownr": {
6996
+ "version": "1.1.1",
6997
+ "bundled": true
6998
+ },
6999
+ "code-point-at": {
7000
+ "version": "1.1.0",
7001
+ "bundled": true
7002
+ },
7003
+ "concat-map": {
7004
+ "version": "0.0.1",
7005
+ "bundled": true
7006
+ },
7007
+ "console-control-strings": {
7008
+ "version": "1.1.0",
7009
+ "bundled": true
7010
+ },
7011
+ "core-util-is": {
7012
+ "version": "1.0.2",
7013
+ "bundled": true
7014
+ },
7015
+ "debug": {
7016
+ "version": "2.6.9",
7017
+ "bundled": true,
7018
+ "requires": {
7019
+ "ms": "2.0.0"
7020
+ }
7021
+ },
7022
+ "deep-extend": {
7023
+ "version": "0.6.0",
7024
+ "bundled": true
7025
+ },
7026
+ "delegates": {
7027
+ "version": "1.0.0",
7028
+ "bundled": true
7029
+ },
7030
+ "detect-libc": {
7031
+ "version": "1.0.3",
7032
+ "bundled": true
7033
+ },
7034
+ "fs-minipass": {
7035
+ "version": "1.2.5",
7036
+ "bundled": true,
7037
+ "requires": {
7038
+ "minipass": "^2.2.1"
7039
+ }
7040
+ },
7041
+ "fs.realpath": {
7042
+ "version": "1.0.0",
7043
+ "bundled": true
7044
+ },
7045
+ "gauge": {
7046
+ "version": "2.7.4",
7047
+ "bundled": true,
7048
+ "requires": {
7049
+ "aproba": "^1.0.3",
7050
+ "console-control-strings": "^1.0.0",
7051
+ "has-unicode": "^2.0.0",
7052
+ "object-assign": "^4.1.0",
7053
+ "signal-exit": "^3.0.0",
7054
+ "string-width": "^1.0.1",
7055
+ "strip-ansi": "^3.0.1",
7056
+ "wide-align": "^1.1.0"
7057
+ }
7058
+ },
7059
+ "glob": {
7060
+ "version": "7.1.2",
7061
+ "bundled": true,
7062
+ "requires": {
7063
+ "fs.realpath": "^1.0.0",
7064
+ "inflight": "^1.0.4",
7065
+ "inherits": "2",
7066
+ "minimatch": "^3.0.4",
7067
+ "once": "^1.3.0",
7068
+ "path-is-absolute": "^1.0.0"
7069
+ }
7070
+ },
7071
+ "has-unicode": {
7072
+ "version": "2.0.1",
7073
+ "bundled": true
7074
+ },
7075
+ "iconv-lite": {
7076
+ "version": "0.4.23",
7077
+ "bundled": true,
7078
+ "requires": {
7079
+ "safer-buffer": ">= 2.1.2 < 3"
7080
+ }
7081
+ },
7082
+ "ignore-walk": {
7083
+ "version": "3.0.1",
7084
+ "bundled": true,
7085
+ "requires": {
7086
+ "minimatch": "^3.0.4"
7087
+ }
7088
+ },
7089
+ "inflight": {
7090
+ "version": "1.0.6",
7091
+ "bundled": true,
7092
+ "requires": {
7093
+ "once": "^1.3.0",
7094
+ "wrappy": "1"
7095
+ }
7096
+ },
7097
+ "inherits": {
7098
+ "version": "2.0.3",
7099
+ "bundled": true
7100
+ },
7101
+ "ini": {
7102
+ "version": "1.3.5",
7103
+ "bundled": true
7104
+ },
7105
+ "is-fullwidth-code-point": {
7106
+ "version": "1.0.0",
7107
+ "bundled": true,
7108
+ "requires": {
7109
+ "number-is-nan": "^1.0.0"
7110
+ }
7111
+ },
7112
+ "isarray": {
7113
+ "version": "1.0.0",
7114
+ "bundled": true
7115
+ },
7116
+ "minimatch": {
7117
+ "version": "3.0.4",
7118
+ "bundled": true,
7119
+ "requires": {
7120
+ "brace-expansion": "^1.1.7"
7121
+ }
7122
+ },
7123
+ "minimist": {
7124
+ "version": "1.2.0",
7125
+ "bundled": true
7126
+ },
7127
+ "minipass": {
7128
+ "version": "2.3.5",
7129
+ "bundled": true,
7130
+ "requires": {
7131
+ "safe-buffer": "^5.1.2",
7132
+ "yallist": "^3.0.0"
7133
+ }
7134
+ },
7135
+ "minizlib": {
7136
+ "version": "1.1.1",
7137
+ "bundled": true,
7138
+ "requires": {
7139
+ "minipass": "^2.2.1"
7140
+ }
7141
+ },
7142
+ "mkdirp": {
7143
+ "version": "0.5.1",
7144
+ "bundled": true,
7145
+ "requires": {
7146
+ "minimist": "0.0.8"
7147
+ },
7148
+ "dependencies": {
7149
+ "minimist": {
7150
+ "version": "0.0.8",
7151
+ "bundled": true
7152
+ }
7153
+ }
7154
+ },
7155
+ "ms": {
7156
+ "version": "2.0.0",
7157
+ "bundled": true
7158
+ },
7159
+ "needle": {
7160
+ "version": "2.2.4",
7161
+ "bundled": true,
7162
+ "requires": {
7163
+ "debug": "^2.1.2",
7164
+ "iconv-lite": "^0.4.4",
7165
+ "sax": "^1.2.4"
7166
+ }
7167
+ },
7168
+ "node-pre-gyp": {
7169
+ "version": "0.12.0",
7170
+ "bundled": true,
7171
+ "requires": {
7172
+ "detect-libc": "^1.0.2",
7173
+ "mkdirp": "^0.5.1",
7174
+ "needle": "^2.2.1",
7175
+ "nopt": "^4.0.1",
7176
+ "npm-packlist": "^1.1.6",
7177
+ "npmlog": "^4.0.2",
7178
+ "rc": "^1.2.7",
7179
+ "rimraf": "^2.6.1",
7180
+ "semver": "^5.3.0",
7181
+ "tar": "^4"
7182
+ }
7183
+ },
7184
+ "nopt": {
7185
+ "version": "4.0.1",
7186
+ "bundled": true,
7187
+ "requires": {
7188
+ "abbrev": "1",
7189
+ "osenv": "^0.1.4"
7190
+ }
7191
+ },
7192
+ "npm-bundled": {
7193
+ "version": "1.0.5",
7194
+ "bundled": true
7195
+ },
7196
+ "npm-packlist": {
7197
+ "version": "1.1.12",
7198
+ "bundled": true,
7199
+ "requires": {
7200
+ "ignore-walk": "^3.0.1",
7201
+ "npm-bundled": "^1.0.1"
7202
+ }
7203
+ },
7204
+ "npmlog": {
7205
+ "version": "4.1.2",
7206
+ "bundled": true,
7207
+ "requires": {
7208
+ "are-we-there-yet": "~1.1.2",
7209
+ "console-control-strings": "~1.1.0",
7210
+ "gauge": "~2.7.3",
7211
+ "set-blocking": "~2.0.0"
7212
+ }
7213
+ },
7214
+ "number-is-nan": {
7215
+ "version": "1.0.1",
7216
+ "bundled": true
7217
+ },
7218
+ "object-assign": {
7219
+ "version": "4.1.1",
7220
+ "bundled": true
7221
+ },
7222
+ "once": {
7223
+ "version": "1.4.0",
7224
+ "bundled": true,
7225
+ "requires": {
7226
+ "wrappy": "1"
7227
+ }
7228
+ },
7229
+ "os-homedir": {
7230
+ "version": "1.0.2",
7231
+ "bundled": true
7232
+ },
7233
+ "os-tmpdir": {
7234
+ "version": "1.0.2",
7235
+ "bundled": true
7236
+ },
7237
+ "osenv": {
7238
+ "version": "0.1.5",
7239
+ "bundled": true,
7240
+ "requires": {
7241
+ "os-homedir": "^1.0.0",
7242
+ "os-tmpdir": "^1.0.0"
7243
+ }
7244
+ },
7245
+ "path-is-absolute": {
7246
+ "version": "1.0.1",
7247
+ "bundled": true
7248
+ },
7249
+ "process-nextick-args": {
7250
+ "version": "2.0.0",
7251
+ "bundled": true
7252
+ },
7253
+ "rc": {
7254
+ "version": "1.2.8",
7255
+ "bundled": true,
7256
+ "requires": {
7257
+ "deep-extend": "^0.6.0",
7258
+ "ini": "~1.3.0",
7259
+ "minimist": "^1.2.0",
7260
+ "strip-json-comments": "~2.0.1"
7261
+ }
7262
+ },
7263
+ "readable-stream": {
7264
+ "version": "2.3.6",
7265
+ "bundled": true,
7266
"requires": {
7267
"core-util-is": "~1.0.0",
7268
"inherits": "~2.0.3",
@@ -6461,39 +7276,33 @@
7276
"rimraf": {
7277
"version": "2.6.2",
7278
"bundled": true,
6464
- "optional": true,
7279
"requires": {
7280
"glob": "^7.0.5"
7281
}
7282
},
7283
"safe-buffer": {
6470
- "version": "5.1.1",
7284
+ "version": "5.1.2",
7285
"bundled": true
7286
},
7287
"safer-buffer": {
7288
"version": "2.1.2",
6475
- "bundled": true,
6476
- "optional": true
7289
+ "bundled": true
7290
},
7291
"sax": {
7292
"version": "1.2.4",
6480
- "bundled": true,
6481
- "optional": true
7293
+ "bundled": true
7294
},
7295
"semver": {
6484
- "version": "5.5.0",
6485
- "bundled": true,
6486
- "optional": true
7296
+ "version": "5.6.0",
7297
+ "bundled": true
7298
},
7299
"set-blocking": {
7300
"version": "2.0.0",
6490
- "bundled": true,
6491
- "optional": true
7301
+ "bundled": true
7302
},
7303
"signal-exit": {
7304
"version": "3.0.2",
6495
- "bundled": true,
6496
- "optional": true
7305
+ "bundled": true
7306
},
7307
"string-width": {
7308
"version": "1.0.2",
@@ -6507,7 +7316,6 @@
7316
"string_decoder": {
7317
"version": "1.1.1",
7318
"bundled": true,
6510
- "optional": true,
7319
"requires": {
7320
"safe-buffer": "~5.1.0"
7321
}
@@ -6521,34 +7329,30 @@
7329
},
7330
"strip-json-comments": {
7331
"version": "2.0.1",
6524
- "bundled": true,
6525
- "optional": true
7332
+ "bundled": true
7333
},
7334
"tar": {
6528
- "version": "4.4.1",
7335
+ "version": "4.4.8",
7336
"bundled": true,
6530
- "optional": true,
7337
"requires": {
6532
- "chownr": "^1.0.1",
7338
+ "chownr": "^1.1.1",
7339
"fs-minipass": "^1.2.5",
6534
- "minipass": "^2.2.4",
6535
- "minizlib": "^1.1.0",
7340
+ "minipass": "^2.3.4",
7341
+ "minizlib": "^1.1.1",
7342
"mkdirp": "^0.5.0",
6537
- "safe-buffer": "^5.1.1",
7343
+ "safe-buffer": "^5.1.2",
7344
"yallist": "^3.0.2"
7345
}
7346
},
7347
"util-deprecate": {
7348
"version": "1.0.2",
6543
- "bundled": true,
6544
- "optional": true
7349
+ "bundled": true
7350
},
7351
"wide-align": {
6547
- "version": "1.1.2",
7352
+ "version": "1.1.3",
7353
"bundled": true,
6549
- "optional": true,
7354
"requires": {
6551
- "string-width": "^1.0.2"
7355
+ "string-width": "^1.0.2 || 2"
7356
}
7357
},
7358
"wrappy": {
@@ -6556,150 +7360,11 @@
7360
"bundled": true
7361
},
7362
"yallist": {
6559
- "version": "3.0.2",
7363
+ "version": "3.0.3",
7364
"bundled": true
7365
}
7366
}
7367
},
6564
- "function-bind": {
6565
- "version": "1.1.1",
6566
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
6567
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
6568
- },
6569
- "functional-red-black-tree": {
6570
- "version": "1.0.1",
6571
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
6572
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
6573
- },
6574
- "get-caller-file": {
6575
- "version": "1.0.3",
6576
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
6577
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
6578
- },
6579
- "get-own-enumerable-property-symbols": {
6580
- "version": "3.0.0",
6581
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
6582
- "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg=="
6583
- },
6584
- "get-stream": {
6585
- "version": "3.0.0",
6586
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
6587
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
6588
- },
6589
- "get-value": {
6590
- "version": "2.0.6",
6591
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
6592
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
6593
- },
6594
- "getpass": {
6595
- "version": "0.1.7",
6596
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
6597
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
6598
- "requires": {
6599
- "assert-plus": "^1.0.0"
6600
- }
6601
- },
6602
- "glob": {
6603
- "version": "7.1.3",
6604
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
6605
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
6606
- "requires": {
6607
- "fs.realpath": "^1.0.0",
6608
- "inflight": "^1.0.4",
6609
- "inherits": "2",
6610
- "minimatch": "^3.0.4",
6611
- "once": "^1.3.0",
6612
- "path-is-absolute": "^1.0.0"
6613
- }
6614
- },
6615
- "glob-base": {
6616
- "version": "0.3.0",
6617
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
6618
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
6619
- "requires": {
6620
- "glob-parent": "^2.0.0",
6621
- "is-glob": "^2.0.0"
6622
- }
6623
- },
6624
- "glob-parent": {
6625
- "version": "2.0.0",
6626
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
6627
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
6628
- "requires": {
6629
- "is-glob": "^2.0.0"
6630
- }
6631
- },
6632
- "glob-to-regexp": {
6633
- "version": "0.3.0",
6634
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
6635
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
6636
- },
6637
- "global-modules": {
6638
- "version": "2.0.0",
6639
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
6640
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
6641
- "requires": {
6642
- "global-prefix": "^3.0.0"
6643
- }
6644
- },
6645
- "global-prefix": {
6646
- "version": "3.0.0",
6647
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
6648
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
6649
- "requires": {
6650
- "ini": "^1.3.5",
6651
- "kind-of": "^6.0.2",
6652
- "which": "^1.3.1"
6653
- },
6654
- "dependencies": {
6655
- "kind-of": {
6656
- "version": "6.0.2",
6657
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
6658
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
6659
- }
6660
- }
6661
- },
6662
- "globals": {
6663
- "version": "11.11.0",
6664
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
6665
- "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw=="
6666
- },
6667
- "globby": {
6668
- "version": "8.0.2",
6669
- "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
6670
- "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==",
6671
- "requires": {
6672
- "array-union": "^1.0.1",
6673
- "dir-glob": "2.0.0",
6674
- "fast-glob": "^2.0.2",
6675
- "glob": "^7.1.2",
6676
- "ignore": "^3.3.5",
6677
- "pify": "^3.0.0",
6678
- "slash": "^1.0.0"
6679
- },
6680
- "dependencies": {
6681
- "ignore": {
6682
- "version": "3.3.10",
6683
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
6684
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="
6685
- },
6686
- "pify": {
6687
- "version": "3.0.0",
6688
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
6689
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
6690
- }
6691
- }
6692
- },
6693
- "graceful-fs": {
6694
- "version": "4.1.15",
6695
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
6696
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
6697
- },
6698
- "growly": {
6699
- "version": "1.3.0",
6700
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
6701
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
6702
- },
7368
"gzip-size": {
7369
"version": "5.0.0",
7370
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz",
@@ -7556,6 +8221,32 @@
8221
"ipaddr.js": "^1.5.2"
8222
}
8223
},
8224
+ "intl-format-cache": {
8225
+ "version": "2.1.0",
8226
+ "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.1.0.tgz",
8227
+ "integrity": "sha1-BKNp/sv61tpgBbrh8UMzMy3PkxY="
8228
+ },
8229
+ "intl-messageformat": {
8230
+ "version": "2.2.0",
8231
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz",
8232
+ "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=",
8233
+ "requires": {
8234
+ "intl-messageformat-parser": "1.4.0"
8235
+ }
8236
+ },
8237
+ "intl-messageformat-parser": {
8238
+ "version": "1.4.0",
8239
+ "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz",
8240
+ "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU="
8241
+ },
8242
+ "intl-relativeformat": {
8243
+ "version": "2.1.0",
8244
+ "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz",
8245
+ "integrity": "sha1-AQ8RBYAiUfQKxH0OPhogE0iiVd8=",
8246
+ "requires": {
8247
+ "intl-messageformat": "^2.0.0"
8248
+ }
8249
+ },
8250
"invariant": {
8251
"version": "2.2.4",
8252
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -7874,6 +8565,15 @@
8565
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
8566
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
8567
},
8568
+ "isomorphic-fetch": {
8569
+ "version": "2.2.1",
8570
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
8571
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
8572
+ "requires": {
8573
+ "node-fetch": "^1.0.1",
8574
+ "whatwg-fetch": ">=0.10.0"
8575
+ }
8576
+ },
8577
"isstream": {
8578
"version": "0.1.2",
8579
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
@@ -8838,6 +9538,11 @@
9538
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
9539
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
9540
},
9541
+ "lodash.clone": {
9542
+ "version": "4.5.0",
9543
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
9544
+ "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y="
9545
+ },
9546
"lodash.get": {
9547
"version": "4.4.2",
9548
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -8885,6 +9590,11 @@
9590
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
9591
"integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po="
9592
},
9593
+ "long": {
9594
+ "version": "3.2.0",
9595
+ "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
9596
+ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
9597
+ },
9598
"loose-envify": {
9599
"version": "1.4.0",
9600
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -9223,8 +9933,7 @@
9933
"nan": {
9934
"version": "2.12.1",
9935
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
9226
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
9227
- "optional": true
9936
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw=="
9937
},
9938
"nanomatch": {
9939
"version": "1.2.13",
@@ -9289,6 +9998,15 @@
9998
"lower-case": "^1.1.1"
9999
}
10000
},
10001
+ "node-fetch": {
10002
+ "version": "1.7.3",
10003
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
10004
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
10005
+ "requires": {
10006
+ "encoding": "^0.1.11",
10007
+ "is-stream": "^1.0.1"
10008
+ }
10009
+ },
10010
"node-forge": {
10011
"version": "0.7.5",
10012
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
@@ -9608,6 +10326,11 @@
10326
"wordwrap": "~1.0.0"
10327
}
10328
},
10329
+ "optjs": {
10330
+ "version": "3.2.2",
10331
+ "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
10332
+ "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
10333
+ },
10334
"original": {
10335
"version": "1.0.2",
10336
"resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
@@ -12260,6 +12983,11 @@
12983
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
12984
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
12985
},
12986
+ "promise-polyfill": {
12987
+ "version": "7.1.2",
12988
+ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-7.1.2.tgz",
12989
+ "integrity": "sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ=="
12990
+ },
12991
"prompts": {
12992
"version": "0.1.14",
12993
"resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz",
@@ -12287,6 +13015,74 @@
13015
"xtend": "^4.0.1"
13016
}
13017
},
13018
+ "protobufjs": {
13019
+ "version": "5.0.3",
13020
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
13021
+ "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==",
13022
+ "requires": {
13023
+ "ascli": "~1",
13024
+ "bytebuffer": "~5",
13025
+ "glob": "^7.0.5",
13026
+ "yargs": "^3.10.0"
13027
+ },
13028
+ "dependencies": {
13029
+ "camelcase": {
13030
+ "version": "2.1.1",
13031
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
13032
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
13033
+ },
13034
+ "cliui": {
13035
+ "version": "3.2.0",
13036
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
13037
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
13038
+ "requires": {
13039
+ "string-width": "^1.0.1",
13040
+ "strip-ansi": "^3.0.1",
13041
+ "wrap-ansi": "^2.0.0"
13042
+ }
13043
+ },
13044
+ "is-fullwidth-code-point": {
13045
+ "version": "1.0.0",
13046
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
13047
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
13048
+ "requires": {
13049
+ "number-is-nan": "^1.0.0"
13050
+ }
13051
+ },
13052
+ "os-locale": {
13053
+ "version": "1.4.0",
13054
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
13055
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
13056
+ "requires": {
13057
+ "lcid": "^1.0.0"
13058
+ }
13059
+ },
13060
+ "string-width": {
13061
+ "version": "1.0.2",
13062
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
13063
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
13064
+ "requires": {
13065
+ "code-point-at": "^1.0.0",
13066
+ "is-fullwidth-code-point": "^1.0.0",
13067
+ "strip-ansi": "^3.0.0"
13068
+ }
13069
+ },
13070
+ "yargs": {
13071
+ "version": "3.32.0",
13072
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
13073
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
13074
+ "requires": {
13075
+ "camelcase": "^2.0.1",
13076
+ "cliui": "^3.0.3",
13077
+ "decamelize": "^1.1.1",
13078
+ "os-locale": "^1.4.0",
13079
+ "string-width": "^1.0.1",
13080
+ "window-size": "^0.1.4",
13081
+ "y18n": "^3.2.0"
13082
+ }
13083
+ }
13084
+ }
13085
+ },
13086
"proxy-addr": {
13087
"version": "2.0.4",
13088
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
@@ -12607,6 +13403,18 @@
13403
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.3.tgz",
13404
"integrity": "sha512-GoqeM3Xadie7XUApXOjkY3Qhs8RkwB/Za4WMedBGrOKH1eTuKGyoAECff7jiVonJchOx6KZ9i8ILO5XIoHB+Tg=="
13405
},
13406
+ "react-intl": {
13407
+ "version": "2.8.0",
13408
+ "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.8.0.tgz",
13409
+ "integrity": "sha512-1cSasNkHxZOXYYhms9Q1tSEWF8AWZQNq3nPLB/j8mYV0ZTSt2DhGQXHfKrKQMu4cgj9J1Crqg7xFPICTBgzqtQ==",
13410
+ "requires": {
13411
+ "hoist-non-react-statics": "^2.5.5",
13412
+ "intl-format-cache": "^2.0.5",
13413
+ "intl-messageformat": "^2.1.0",
13414
+ "intl-relativeformat": "^2.1.0",
13415
+ "invariant": "^2.1.1"
13416
+ }
13417
+ },
13418
"react-is": {
13419
"version": "16.8.3",
13420
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.3.tgz",
@@ -15896,6 +16704,11 @@
16704
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
16705
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
16706
},
16707
+ "window-size": {
16708
+ "version": "0.1.4",
16709
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
16710
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
16711
+ },
16712
"wordwrap": {
16713
"version": "1.0.0",
16714
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -16131,6 +16944,11 @@
16944
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
16945
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
16946
},
16947
+ "xmlhttprequest": {
16948
+ "version": "1.8.0",
16949
+ "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
16950
+ "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw="
16951
+ },
16952
"xregexp": {
16953
"version": "4.0.0",
16954
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
package.json
+2
@@ -3,8 +3,10 @@
3
"version": "0.1.0",
4
"private": true,
5
"dependencies": {
6
+ "firebase": "^5.8.4",
7
"react": "^16.8.3",
8
"react-dom": "^16.8.3",
9
+ "react-intl": "^2.8.0",
10
"react-rotating-text": "^1.2.1",
11
"react-router-dom": "^4.3.1",
12
"react-scripts": "2.1.5"
src/components/Firebase/context.js
new
+5
@@ -0,0 +1,5 @@
1
+import React from 'react';
2
+
3
+const FirebaseContext = React.createContext(null);
4
+
5
+export default FirebaseContext;
\ No newline at end of file
src/components/Firebase/firebase.js
new
+24
@@ -0,0 +1,24 @@
1
+ import app from 'firebase/app';
2
+ import 'firebase/database';
3
+
4
+ // Initialize Firebase
5
+ const config = {
6
+ apiKey: "AIzaSyBDMgSgpCGpPQVs2ziPm5igl2nL8I6jdeQ",
7
+ authDomain: "blazing-fire-5965.firebaseapp.com",
8
+ databaseURL: "https://blazing-fire-5965.firebaseio.com",
9
+ projectId: "blazing-fire-5965",
10
+ storageBucket: "blazing-fire-5965.appspot.com",
11
+ messagingSenderId: "1043865982157"
12
+ };
13
+
14
+ class Firebase {
15
+ constructor() {
16
+ app.initializeApp(config);
17
+ this.db = app.database();
18
+ }
19
+
20
+ rootRef = () => this.db.ref('setoelkahfi-web-id');
21
+ whoAmIRef = () => this.rootRef().child('i am');
22
+ }
23
+
24
+ export default Firebase;
\ No newline at end of file
src/components/Firebase/index.js
new
+6
@@ -0,0 +1,6 @@
1
+import FirebaseContext from './context';
2
+import Firebase from './firebase';
3
+
4
+export default Firebase;
5
+
6
+export { FirebaseContext };
\ No newline at end of file
src/components/Home.js
+37
-44
@@ -17,59 +17,52 @@ const wordStyle = {
17
boxShadow: '0px 1px 1px #000'
18
};
19
20
-function shuffle(array) {
21
- var currentIndex = array.length, temporaryValue, randomIndex;
22
-
23
- // While there remain elements to shuffle...
24
- while (0 !== currentIndex) {
25
-
26
- // Pick a remaining element...
27
- randomIndex = Math.floor(Math.random() * currentIndex);
28
- currentIndex -= 1;
29
-
30
- // And swap it with the current element.
31
- temporaryValue = array[currentIndex];
32
- array[currentIndex] = array[randomIndex];
33
- array[randomIndex] = temporaryValue;
34
- }
35
-
36
- return array;
37
-}
38
-
39
-var alterEgos = [
40
- 'an Android developer',
41
- 'an iOS developer',
42
- 'a vlogger',
43
- 'a guitarist',
44
- 'a public speaker',
45
- 'an LPDP awardee',
46
- 'a Darwinian',
47
- 'funny (sometimes)',
48
- 'a language enthusiast',
49
- 'a Javanese',
50
- 'an Indonesian',
51
- 'in love with you',
52
- 'a bassist',
53
- 'a man with vision',
54
- 'a man with mission',
55
- 'a gamelan player',
56
- 'living in Stockholm'
57
-];
58
-alterEgos = shuffle(alterEgos);
59
-
20
class Home extends Component {
21
22
constructor(props) {
23
super(props);
64
- this.state = {pStyle: pStyle, wordStyle: wordStyle, alterEgos: alterEgos}
24
+ this.whoAmIRef = this.props.firebase.whoAmIRef();
25
+ this.state = {
26
+ pStyle: pStyle,
27
+ wordStyle: wordStyle,
28
+ alterEgos: ["an Android developer", "an iOS developer"]
29
+ }
30
}
31
67
- componentDidMount() {
32
+ componentWillMount() {
33
+ this.whoAmIRef.on('value', (snapshot) => {
34
+ let items = snapshot.val();
35
+ let whoAmI = [];
36
+ for (let item in items) {
37
+ whoAmI.push(items[item].content);
38
+ }
39
+ this.setState({
40
+ alterEgos: this.shuffle(whoAmI)
41
+ });
42
+ });
43
+ }
44
45
+ componentWillUnmount() {
46
+ this.whoAmIRef.off();
47
}
48
71
- componentWillMount() {
72
-
49
+ shuffle(array) {
50
+ var currentIndex = array.length, temporaryValue, randomIndex;
51
+
52
+ // While there remain elements to shuffle...
53
+ while (0 !== currentIndex) {
54
+
55
+ // Pick a remaining element...
56
+ randomIndex = Math.floor(Math.random() * currentIndex);
57
+ currentIndex -= 1;
58
+
59
+ // And swap it with the current element.
60
+ temporaryValue = array[currentIndex];
61
+ array[currentIndex] = array[randomIndex];
62
+ array[randomIndex] = temporaryValue;
63
+ }
64
+
65
+ return array;
66
}
67
68
render() {
src/components/Main.js
+6
-1
@@ -4,6 +4,7 @@ import Home from './Home';
4
import About from './About';
5
import Cv from './Cv';
6
import Contact from './Contact';
7
+import { FirebaseContext } from './Firebase';
8
9
const mainStyle = {
10
minHeight: 500,
@@ -18,7 +19,11 @@ const mainStyle = {
19
const Main = () => (
20
<main style={mainStyle}>
21
<Switch>
21
- <Route exact path='/' component={Home} />
22
+ <Route exact path='/'>
23
+ <FirebaseContext.Consumer>
24
+ {firebase => <Home firebase={firebase} />}
25
+ </FirebaseContext.Consumer>
26
+ </Route>
27
<Route path='/about' component={About} />
28
<Route path='/cv' component={Cv} />
29
<Route path='/contact' component={Contact} />
src/index.js
+4
-1
@@ -3,10 +3,13 @@ import { render } from 'react-dom';
3
import App from './components/App';
4
import * as serviceWorker from './serviceWorker';
5
import { BrowserRouter } from 'react-router-dom';
6
+import Firebase, { FirebaseContext } from './components/Firebase';
7
8
render((
9
<BrowserRouter>
9
- <App />
10
+ <FirebaseContext.Provider value={new Firebase()}>
11
+ <App />
12
+ </FirebaseContext.Provider>
13
</BrowserRouter>
14
), document.getElementById('root'));
15