From cd63f88e72c6468c594f8c08d1cdac9ed160aab3 Mon Sep 17 00:00:00 2001 From: vjrj Date: Wed, 2 May 2018 17:44:33 +0200 Subject: [PATCH] Improved tweet sizes --- imports/api/ActiveFires/server/countFires.js | 5 +- .../ActiveFires/server/tweetFiresInZone.js | 49 +- package-lock.json | 419 +++++++++++++----- package.json | 3 +- 4 files changed, 355 insertions(+), 121 deletions(-) diff --git a/imports/api/ActiveFires/server/countFires.js b/imports/api/ActiveFires/server/countFires.js index a0d04fb..dc65ab4 100644 --- a/imports/api/ActiveFires/server/countFires.js +++ b/imports/api/ActiveFires/server/countFires.js @@ -5,7 +5,7 @@ import Industries from '/imports/api/Industries/Industries'; import ravenLogger from '/imports/startup/server/ravenLogger'; import ActiveFires from '../ActiveFires'; -const debug = 1; +const debug = 0; const cleanProv = (prov, stringsToRemove) => { let lprov = prov; @@ -35,6 +35,7 @@ const countFires = (regions, stringsToRemove) => { regions.features.forEach((region) => { const regionName = cleanProv(region.properties.name, stringsToRemove); + const regionCode = region.properties.iso_a2; if (debug) console.log(`${regionName} -----`); try { const fires = findFiresInRegion(region); @@ -61,7 +62,7 @@ const countFires = (regions, stringsToRemove) => { if (debug) console.log(`${regionName} initial: ${initialCount}, first calc: ${count} union calc: ${unionCount}`); if (unionCount > 0) { total += unionCount; - fireStats[regionName] = unionCount; + fireStats[regionName] = { count: unionCount, code: regionCode }; } } } catch (e) { diff --git a/imports/api/ActiveFires/server/tweetFiresInZone.js b/imports/api/ActiveFires/server/tweetFiresInZone.js index 7c9bc4d..203afba 100644 --- a/imports/api/ActiveFires/server/tweetFiresInZone.js +++ b/imports/api/ActiveFires/server/tweetFiresInZone.js @@ -2,6 +2,7 @@ import getPrivateFile from '/imports/modules/server/get-private-file'; import { Meteor } from 'meteor/meteor'; import tbuffer from '@turf/buffer'; +import emojiFlags from 'emoji-flags'; import tweet from '/imports/modules/server/twitter'; import countFires from './countFires'; @@ -30,19 +31,20 @@ const stringsToRemoveIberia = [ [' ', ''] ]; -const composeEuropeTweet = (num, stats) => { +const composeEuropeTweet = (num, stats, abrev) => { if (num <= 0) { return ''; } const keys = Object.keys(stats); const numZones = keys.length; - let text = ''; + let text = abrev ? 'Active #wildfires:\n' : ''; keys.map((key, index) => { // , index - const zoneFires = stats[key]; + const zoneFires = stats[key].count; const zoneFiresText = zoneFires > 1 ? index === 0 ? zoneFires : `${zoneFires}` : index === 0 ? 'One' : '1'; const what = index > 0 ? ' ' : zoneFires > 1 ? ' active #wildfires ' : ' active #wildfire '; - const subText = `${zoneFiresText}${what}in #${key}`; - const delimiter = index === numZones - 1 ? ' and' : ','; + const subText = abrev ? `${emojiFlags.countryCode(stats[key].code).emoji} ${zoneFires},` : + `${zoneFiresText}${what}in #{key}`; + const delimiter = abrev ? '' : index === numZones - 1 ? ' and' : ','; const subTexts = index === 0 ? subText : `${delimiter} ${subText}`; text += subTexts; return ''; @@ -58,7 +60,7 @@ const composeIberiaTweet = (num, stats) => { const numZones = keys.length; let text = ''; keys.map((key, index) => { // , index - const zoneFires = stats[key]; + const zoneFires = stats[key].count; const zoneFiresText = zoneFires > 1 ? index === 0 ? zoneFires : `otros ${zoneFires}` : index === 0 ? 'Un' : 'otro'; const what = index > 0 ? ' ' : zoneFires > 1 ? ' #fuegos activos ' : ' #fuego activo '; const subText = `${zoneFiresText}${what}en #${key}`; @@ -73,15 +75,30 @@ const composeIberiaTweet = (num, stats) => { const tweetHeaders = ['🔥']; const tweetFooters = ['Más info en: https://fuegos.comunes.org/fires']; + +const correctTweetSize = (tweetText) => { + const length = tweetText.length; + if (length > 280) { + console.log(`Tweet is too big (${length}): ${tweetText}`); + return false; + } + return true; +}; + const tweetEuropeFires = () => { const resultEu = countFires(europe, [[' ', '']]); if (resultEu.total > 0) { - const tweetText = `${tweetHeaders[0].trim()} ${composeEuropeTweet(resultEu.total, resultEu.fires)}. More info: https://fires.comunes.org/fires`; - if (Meteor.isDevelopment) { - console.log(tweetText); - } else { - tweet(tweetText, 'en'); + let tweetText = `${tweetHeaders[0].trim()} ${composeEuropeTweet(resultEu.total, resultEu.fires, false)}. More info: https://fires.comunes.org/fires`; + if (!correctTweetSize(tweetText)) { + tweetText = `${tweetHeaders[0].trim()} ${composeEuropeTweet(resultEu.total, resultEu.fires, true)}. More info: https://fires.comunes.org/fires`; + } + if (correctTweetSize(tweetText)) { + if (Meteor.isDevelopment) { + console.log(tweetText); + } else { + tweet(tweetText, 'en'); + } } return tweetText; } @@ -97,10 +114,12 @@ const tweetIberiaFires = () => { // console.log(`Total fires ${total}, ${JSON.stringify(fires)}`); if (total > 0) { const tweetText = `${tweetHeaders[0].trim()} ${composeIberiaTweet(total, fires)}. ${tweetFooters[0]}`; - if (Meteor.isDevelopment) { - console.log(tweetText); - } else { - tweet(tweetText, 'es'); + if (correctTweetSize(tweetText)) { + if (Meteor.isDevelopment) { + console.log(tweetText); + } else { + tweet(tweetText, 'es'); + } } return tweetText; } diff --git a/package-lock.json b/package-lock.json index fc257ec..e19deb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3311,6 +3311,11 @@ } } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, "co": { "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" @@ -3553,6 +3558,30 @@ "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", "dev": true }, + "columnify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.1.tgz", + "integrity": "sha1-Ff3agDo4dfh/nTArO8goky1mQAM=", + "requires": { + "strip-ansi": "2.0.1", + "wcwidth": "1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", + "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=" + }, + "strip-ansi": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz", + "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=", + "requires": { + "ansi-regex": "1.1.1" + } + } + } + }, "combined-stream": { "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", @@ -4132,6 +4161,14 @@ "strip-bom": "2.0.0" } }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "1.0.4" + } + }, "define-properties": { "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", @@ -4296,6 +4333,30 @@ "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=", "dev": true }, + "emoji-flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/emoji-flags/-/emoji-flags-1.2.0.tgz", + "integrity": "sha1-VrZGKUwYmoo/jRIjOfqIJqSgDO8=", + "requires": { + "columnify": "1.5.1", + "lodash.find": "3.2.1" + }, + "dependencies": { + "lodash.find": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-3.2.1.tgz", + "integrity": "sha1-BG4xnzrOkSrGySRsf2g8XsB7Nq0=", + "requires": { + "lodash._basecallback": "3.3.1", + "lodash._baseeach": "3.0.4", + "lodash._basefind": "3.0.0", + "lodash._basefindindex": "3.6.0", + "lodash.isarray": "3.0.4", + "lodash.keys": "3.1.2" + } + } + } + }, "emoji-regex": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", @@ -5820,7 +5881,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, "optional": true, "requires": { "nan": "2.6.2", @@ -5830,13 +5890,11 @@ "abbrev": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "ajv": { "version": "4.11.8", "bundled": true, - "dev": true, "optional": true, "requires": { "co": "4.6.0", @@ -5845,19 +5903,16 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "dev": true + "bundled": true }, "aproba": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { "delegates": "1.0.0", @@ -5867,42 +5922,35 @@ "asn1": { "version": "0.2.3", "bundled": true, - "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", "bundled": true, - "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", "bundled": true, - "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true }, "aws4": { "version": "1.6.0", "bundled": true, - "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "bundled": true, - "dev": true + "bundled": true }, "bcrypt-pbkdf": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -5911,7 +5959,6 @@ "block-stream": { "version": "0.0.9", "bundled": true, - "dev": true, "requires": { "inherits": "2.0.3" } @@ -5919,7 +5966,6 @@ "boom": { "version": "2.10.1", "bundled": true, - "dev": true, "requires": { "hoek": "2.16.3" } @@ -5927,7 +5973,6 @@ "brace-expansion": { "version": "1.1.7", "bundled": true, - "dev": true, "requires": { "balanced-match": "0.4.2", "concat-map": "0.0.1" @@ -5935,53 +5980,44 @@ }, "buffer-shims": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "caseless": { "version": "0.12.0", "bundled": true, - "dev": true, "optional": true }, "co": { "version": "4.6.0", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "combined-stream": { "version": "1.0.5", "bundled": true, - "dev": true, "requires": { "delayed-stream": "1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true, - "dev": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "cryptiles": { "version": "2.0.5", "bundled": true, - "dev": true, "requires": { "boom": "2.10.1" } @@ -5989,7 +6025,6 @@ "dashdash": { "version": "1.14.1", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -5998,7 +6033,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -6015,30 +6049,25 @@ "deep-extend": { "version": "0.4.2", "bundled": true, - "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -6047,18 +6076,15 @@ "extend": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "forever-agent": { "version": "0.6.1", "bundled": true, - "dev": true, "optional": true }, "form-data": { @@ -6074,13 +6100,11 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "fstream": { "version": "1.0.11", "bundled": true, - "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -6091,7 +6115,6 @@ "fstream-ignore": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true, "requires": { "fstream": "1.0.11", @@ -6102,7 +6125,6 @@ "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { "aproba": "1.1.1", @@ -6118,7 +6140,6 @@ "getpass": { "version": "0.1.7", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -6127,7 +6148,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -6135,7 +6155,6 @@ "glob": { "version": "7.1.2", "bundled": true, - "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -6147,13 +6166,11 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, - "dev": true + "bundled": true }, "har-schema": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true }, "har-validator": { @@ -6169,7 +6186,6 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "hawk": { @@ -6185,13 +6201,11 @@ }, "hoek": { "version": "2.16.3", - "bundled": true, - "dev": true + "bundled": true }, "http-signature": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "0.2.0", @@ -6202,7 +6216,6 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -6210,13 +6223,11 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "dev": true + "bundled": true }, "ini": { "version": "1.3.4", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { @@ -6230,24 +6241,20 @@ "is-typedarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "isstream": { "version": "0.1.2", "bundled": true, - "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -6256,19 +6263,16 @@ "jsbn": { "version": "0.1.1", "bundled": true, - "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", "bundled": true, - "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "jsonify": "0.0.0" @@ -6277,19 +6281,16 @@ "json-stringify-safe": { "version": "5.0.1", "bundled": true, - "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", "bundled": true, - "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -6349,7 +6350,6 @@ "node-pre-gyp": { "version": "0.6.39", "bundled": true, - "dev": true, "optional": true, "requires": { "detect-libc": "1.0.2", @@ -6378,7 +6378,6 @@ "npmlog": { "version": "4.1.0", "bundled": true, - "dev": true, "optional": true, "requires": { "are-we-there-yet": "1.1.4", @@ -6407,7 +6406,6 @@ "once": { "version": "1.4.0", "bundled": true, - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -6465,7 +6463,6 @@ "rc": { "version": "1.2.1", "bundled": true, - "dev": true, "optional": true, "requires": { "deep-extend": "0.4.2", @@ -6485,7 +6482,6 @@ "readable-stream": { "version": "2.2.9", "bundled": true, - "dev": true, "requires": { "buffer-shims": "1.0.0", "core-util-is": "1.0.2", @@ -6499,7 +6495,6 @@ "request": { "version": "2.81.0", "bundled": true, - "dev": true, "optional": true, "requires": { "aws-sign2": "0.6.0", @@ -6529,7 +6524,6 @@ "rimraf": { "version": "2.6.1", "bundled": true, - "dev": true, "requires": { "glob": "7.1.2" } @@ -6568,7 +6562,6 @@ "sshpk": { "version": "1.13.0", "bundled": true, - "dev": true, "optional": true, "requires": { "asn1": "0.2.3", @@ -6585,7 +6578,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -6593,7 +6585,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -6603,7 +6594,6 @@ "string_decoder": { "version": "1.0.1", "bundled": true, - "dev": true, "requires": { "safe-buffer": "5.0.1" } @@ -6611,13 +6601,11 @@ "stringstream": { "version": "0.0.5", "bundled": true, - "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -6625,13 +6613,11 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "2.2.1", "bundled": true, - "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -6641,7 +6627,6 @@ "tar-pack": { "version": "3.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "debug": "2.6.8", @@ -6657,7 +6642,6 @@ "tough-cookie": { "version": "2.3.2", "bundled": true, - "dev": true, "optional": true, "requires": { "punycode": "1.4.1" @@ -6666,7 +6650,6 @@ "tunnel-agent": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "5.0.1" @@ -6675,30 +6658,25 @@ "tweetnacl": { "version": "0.14.5", "bundled": true, - "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", "bundled": true, - "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "uuid": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true }, "verror": { "version": "1.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { "extsprintf": "1.0.2" @@ -6707,7 +6685,6 @@ "wide-align": { "version": "1.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "string-width": "1.0.2" @@ -6715,8 +6692,7 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true } } }, @@ -10422,11 +10398,77 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.5.tgz", "integrity": "sha512-Ez3ONp3TK9gX1HYKp6IhetcVybD+2F+Yp6GS9dfH8ue6EOCEzQtQEh4K0FYWBP9qLv+lzeQAYXw+3ySfxyZqkw==" }, + "lodash._basecallback": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz", + "integrity": "sha1-t7K7Q9whYEJKIczybFfkQ3cqjic=", + "requires": { + "lodash._baseisequal": "3.0.7", + "lodash._bindcallback": "3.0.1", + "lodash.isarray": "3.0.4", + "lodash.pairs": "3.0.1" + } + }, + "lodash._baseeach": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz", + "integrity": "sha1-z4cGVyyhROjZ11InyZDamC+TKvM=", + "requires": { + "lodash.keys": "3.1.2" + } + }, + "lodash._basefind": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basefind/-/lodash._basefind-3.0.0.tgz", + "integrity": "sha1-srugXMZF+XLeLPkl+iv2Og9gyK4=" + }, + "lodash._basefindindex": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/lodash._basefindindex/-/lodash._basefindindex-3.6.0.tgz", + "integrity": "sha1-8IM2ChsCJBjtgbyJm+sxLiHnSk8=" + }, + "lodash._baseisequal": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz", + "integrity": "sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=", + "requires": { + "lodash.isarray": "3.0.4", + "lodash.istypedarray": "3.0.6", + "lodash.keys": "3.1.2" + } + }, + "lodash._baseismatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lodash._baseismatch/-/lodash._baseismatch-3.1.3.tgz", + "integrity": "sha1-Byj8SO+hFpnT1fLXMEnyqxPED9U=", + "requires": { + "lodash._baseisequal": "3.0.7" + } + }, + "lodash._basematches": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._basematches/-/lodash._basematches-3.2.0.tgz", + "integrity": "sha1-9H4D8H7CB4SrCWjQy2y1l+IQEVg=", + "requires": { + "lodash._baseismatch": "3.1.3", + "lodash.pairs": "3.0.1" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + }, "lodash._getnative": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, "lodash.assignin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", @@ -10453,6 +10495,11 @@ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" }, + "lodash.every": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", + "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" + }, "lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", @@ -10461,8 +10508,31 @@ "lodash.find": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", - "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", - "dev": true + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" + }, + "lodash.findwhere": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.findwhere/-/lodash.findwhere-3.1.0.tgz", + "integrity": "sha1-eTfTTz6sgY3sf6lOjKXib9uhz8E=", + "requires": { + "lodash._basematches": "3.2.0", + "lodash.find": "3.2.1" + }, + "dependencies": { + "lodash.find": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-3.2.1.tgz", + "integrity": "sha1-BG4xnzrOkSrGySRsf2g8XsB7Nq0=", + "requires": { + "lodash._basecallback": "3.3.1", + "lodash._baseeach": "3.0.4", + "lodash._basefind": "3.0.0", + "lodash._basefindindex": "3.6.0", + "lodash.isarray": "3.0.4", + "lodash.keys": "3.1.2" + } + } + } }, "lodash.flatten": { "version": "4.4.0", @@ -10475,6 +10545,16 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -10485,6 +10565,11 @@ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", @@ -10499,6 +10584,11 @@ "version": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=" }, + "lodash.istypedarray": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", + "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=" + }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -10520,6 +10610,24 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.pairs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz", + "integrity": "sha1-u+CNV4bu6qCaFckevw3LfSvjJqk=", + "requires": { + "lodash.keys": "3.1.2" + } + }, "lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", @@ -10540,6 +10648,23 @@ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "requires": { + "lodash._reinterpolate": "3.0.0" + } + }, "lodash.tonumber": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", @@ -10550,6 +10675,21 @@ "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "lodash.without": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" + }, "loglevel": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.4.1.tgz", @@ -10624,6 +10764,15 @@ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", "dev": true }, + "message-box": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.0.tgz", + "integrity": "sha512-SPLfVDEM2YcAgV2IB0B5vOGjvqXSSw7ZibEeXcff8HYpxyG1Uj+XjgnGUGyR1C0EQCvPI3MBx3p7opt2CIQ2hw==", + "requires": { + "lodash.merge": "4.6.1", + "lodash.template": "4.4.0" + } + }, "meteor-accounts-t9n": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/meteor-accounts-t9n/-/meteor-accounts-t9n-2.0.3.tgz", @@ -11522,6 +11671,24 @@ "moment": "2.19.3" } }, + "mongo-object": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mongo-object/-/mongo-object-0.1.2.tgz", + "integrity": "sha512-xRrnal5HuCz3we8Bzk17iYfgCMfaaSU+cq0OkQ/PP+CYhhFmw4Joqmcc0R9XUAgxbFAybg7uzxbNGUw13kEUxQ==", + "requires": { + "lodash.foreach": "4.5.0", + "lodash.isempty": "4.4.0", + "lodash.isobject": "3.0.2", + "lodash.without": "4.4.0" + }, + "dependencies": { + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=" + } + } + }, "ms": { "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" @@ -18719,6 +18886,44 @@ "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "simpl-schema": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/simpl-schema/-/simpl-schema-1.5.0.tgz", + "integrity": "sha512-lv9n+1R7Oe3fpm3cWVyrs3mG1C9+DCc8QTCRn6cfLIsPkLfuMhBPLDwpnIsdA8Ch0fRO7BSxKvpVPcYvcYeSxg==", + "requires": { + "clone": "2.1.1", + "extend": "3.0.1", + "lodash.every": "4.6.0", + "lodash.find": "4.6.0", + "lodash.findwhere": "3.1.0", + "lodash.includes": "4.3.0", + "lodash.isempty": "4.4.0", + "lodash.isobject": "3.0.2", + "lodash.omit": "4.5.0", + "lodash.pick": "4.4.0", + "lodash.union": "4.6.0", + "lodash.uniq": "4.5.0", + "message-box": "0.2.0", + "mongo-object": "0.1.2" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=" + } + } + }, "simple-line-icons": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/simple-line-icons/-/simple-line-icons-2.4.1.tgz", @@ -19475,6 +19680,14 @@ "minimist": "1.2.0" } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "1.0.3" + } + }, "wdio-dot-reporter": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", diff --git a/package.json b/package.json index b1091e0..ba24607 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "commonmark": "^0.28.1", "core-js": "^2.5.1", "crypto-random-hex": "^1.0.0", + "emoji-flags": "^1.2.0", "fs": "0.0.1-security", "google-maps": "^3.2.1", "google-maps-image-api-url": "^1.0.3", @@ -80,7 +81,7 @@ "react-share": "^2.0.0", "reactstrap": "^5.0.0-alpha.3", "segfault-handler": "^1.0.0", - "simpl-schema": "^1.4.3", + "simpl-schema": "^1.5.0", "simple-line-icons": "^2.4.1", "store": "^2.0.12", "twit": "^2.2.9"