diff --git a/ios/Podfile.lock b/ios/Podfile.lock index ff7f9f40b..7a84cd52b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,16 +1,16 @@ PODS: - - appcenter (2.6.0): + - appcenter (2.6.1): - AppCenterReactNativeShared - React - - appcenter-analytics (2.6.0): + - appcenter-analytics (2.6.1): - AppCenter/Analytics - AppCenterReactNativeShared - React - - appcenter-crashes (2.6.0): + - appcenter-crashes (2.6.1): - AppCenter/Crashes - AppCenterReactNativeShared - React - - appcenter-push (2.6.0): + - appcenter-push (2.6.1): - AppCenter/Push - AppCenterReactNativeShared - React @@ -66,7 +66,7 @@ PODS: - glog - glog (0.3.5) - lottie-ios (3.1.3) - - lottie-react-native (3.2.1): + - lottie-react-native (3.3.2): - lottie-ios (~> 3.1.3) - React - QBImagePickerController (3.4.0) @@ -235,18 +235,18 @@ PODS: - React-jsinspector (0.61.2) - react-native-cameraroll (1.3.0): - React - - react-native-config (0.11.7): + - react-native-config (0.12.0): - React - react-native-fast-image (4.0.14): - FLAnimatedImage - React - SDWebImage/Core - SDWebImage/GIF - - react-native-netinfo (4.4.0): + - react-native-netinfo (4.7.0): - React - react-native-version-number (0.3.6): - React - - react-native-webview (7.5.2): + - react-native-webview (7.6.0): - React - React-RCTActionSheet (0.61.2): - React-Core/RCTActionSheetHeaders (= 0.61.2) @@ -283,11 +283,11 @@ PODS: - React-cxxreact (= 0.61.2) - React-jsi (= 0.61.2) - ReactCommon/jscallinvoker (= 0.61.2) - - ReactNativeDarkMode (0.1.2): + - ReactNativeDarkMode (0.1.3): - React - rn-fetch-blob (0.11.2): - React-Core - - RNGestureHandler (1.4.1): + - RNGestureHandler (1.5.2): - React - RNIap (3.4.15): - React @@ -296,9 +296,9 @@ PODS: - React-Core - React-RCTImage - RSKImageCropper - - RNReanimated (1.3.0): + - RNReanimated (1.4.0): - React - - RNSVG (9.11.1): + - RNSVG (9.13.6): - React - RNVectorIcons (6.6.0): - React @@ -472,10 +472,10 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AppCenter: fddcbac6e4baae3d93a196ceb0bfe0e4ce407dec - appcenter: dc687dcf81280ccab1dc938b0b974d265144a802 - appcenter-analytics: fa8dba207d07733dcbda749d262fde3e7161258d - appcenter-crashes: fa97ffec69882486d7183193cc9394473757d1ad - appcenter-push: d5a64c593578762f773ac40b76a2e6965911e45c + appcenter: f2e241f931e0865a74b3af3928066a1190814be0 + appcenter-analytics: 42e368870a904af67fd93f043f3efa75ffa772a2 + appcenter-crashes: bfc5c03a6ddcfa158fcf4217d1724fd52f45d12c + appcenter-push: 364163b8df17ec57588f8f14a29184405acb5de8 AppCenterReactNativeShared: d5e360f8a4cb5126d29e31ab98051d2f070ba631 boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c BugsnagReactNative: 34f9500e304c2667ce7a3e76037d91e41eca2ffe @@ -488,7 +488,7 @@ SPEC CHECKSUMS: Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 glog: 1f3da668190260b06b429bb211bfbee5cd790c28 lottie-ios: 496ac5cea1bbf1a7bd1f1f472f3232eb1b8d744b - lottie-react-native: b123a79529cc732201091f585c62c89bb4747252 + lottie-react-native: 2a1a82bb326ae51331a5520de0cf706733c6db69 QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022 RCTRequired: c639d59ed389cfb1f1203f65c2ea946d8ec586e2 RCTTypeSafety: dc23fb655d6c77667c78e327bf661bc11e3b8aec @@ -500,11 +500,11 @@ SPEC CHECKSUMS: React-jsiexecutor: 8909917ff7d8f21a57e443a866fd8d4560e50c65 React-jsinspector: 111d7d342b07a904c400592e02a2b958f1098b60 react-native-cameraroll: 463aff54e37cff27ea76eb792e6f1fa43b876320 - react-native-config: 8f6b2b9e017f6a5e92a97353c768e19e67294bb1 + react-native-config: f2c2ae45625a068c35681a16b9bfb1ca58b0adc7 react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd - react-native-netinfo: 6bb847e64f45a2d69c6173741111cfd95c669301 + react-native-netinfo: ddaca8bbb9e6e914b1a23787ccb879bc642931c9 react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f - react-native-webview: d1b30cc9128256ec1a9c6d10fb572231bd371337 + react-native-webview: db4682f1698ab4b17a5e88f951031d203ff8aea8 React-RCTActionSheet: 89b037c0fb7d2671607cb645760164e7e0c013f6 React-RCTAnimation: e3cefa93c38c004c318f7ec04b883eb14b8b8235 React-RCTBlob: d26ac0e313fbf14e7203473fd593ccaaeee8329e @@ -515,13 +515,13 @@ SPEC CHECKSUMS: React-RCTText: e3ef6191cdb627855ff7fe8fa0c1e14094967fb8 React-RCTVibration: fb54c732fd20405a76598e431aa2f8c2bf527de9 ReactCommon: 5848032ed2f274fcb40f6b9ec24067787c42d479 - ReactNativeDarkMode: 315535c6f7a066bc4e8ba60591a63aafa16d5dca + ReactNativeDarkMode: bac355fdddfc07de71ceef6a324b99481eb3f1f4 rn-fetch-blob: f525a73a78df9ed5d35e67ea65e79d53c15255bc - RNGestureHandler: 4cb47a93019c1a201df2644413a0a1569a51c8aa + RNGestureHandler: 946a7691e41df61e2c4b1884deab41a4cdc3afff RNIap: b4c77c8bc4501203f4b743126a05da23f10f40b4 RNImageCropPicker: e1d8c3381e5b05a1bdcd13ea57a4f1c020a09cef - RNReanimated: 6abbbae2e5e72609d85aabd92a982a94566885f1 - RNSVG: be27aa7c58819f97399388ae53d7fa0572f32c7f + RNReanimated: b2ab0b693dddd2339bd2f300e770f6302d2e960c + RNSVG: 8ba35cbeb385a52fd960fd28db9d7d18b4c2974f RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a SDWebImage: c10d14a8883ebd89664f02a422006f66a85c0c5d @@ -529,4 +529,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: d4edbb9c1c57c5484f4893520a7865260cb898d3 -COCOAPODS: 1.8.3 +COCOAPODS: 1.8.4 diff --git a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate index 0ccae5dd5..cf5420c3b 100644 Binary files a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate and b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/package.json b/package.json index bdfc56ef4..472af1f61 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "lottie-react-native": "^3.2.1", "moment": "^2.22.2", "react": "16.9.0", - "react-intl": "^3.3.1", + "react-intl": "^3.9.2", "react-native": "0.61.2", "react-native-actionsheet": "^2.4.2", "react-native-autoheight-webview": "^1.3.4", diff --git a/src/components/basicUIElements/view/userListItem/userListItem.js b/src/components/basicUIElements/view/userListItem/userListItem.js index a073b4380..5ad0c4582 100644 --- a/src/components/basicUIElements/view/userListItem/userListItem.js +++ b/src/components/basicUIElements/view/userListItem/userListItem.js @@ -1,5 +1,6 @@ import React from 'react'; import { View, Text, TouchableOpacity } from 'react-native'; +import { FormattedRelativeTime } from 'react-intl'; import { UserAvatar } from '../../../userAvatar'; import styles from './userListItemStyles'; @@ -31,7 +32,15 @@ const UserListItem = ({ {text || username} - {description && {description}} + {description && ( + + + + )} {middleText && ( diff --git a/src/components/postCard/view/postCardView.js b/src/components/postCard/view/postCardView.js index 4da30244e..3153416e1 100644 --- a/src/components/postCard/view/postCardView.js +++ b/src/components/postCard/view/postCardView.js @@ -96,7 +96,6 @@ class PostCardView extends Component { )} - {isPromoted ? intl.formatMessage({ id: 'post.sponsored' }) : date} + {isPromoted ? ( + intl.formatMessage({ id: 'post.sponsored' }) + ) : ( + + )} {isShowOwnerIndicator && ( diff --git a/src/components/postListItem/view/postListItemView.js b/src/components/postListItem/view/postListItemView.js index 09450bc62..354af93fc 100644 --- a/src/components/postListItem/view/postListItemView.js +++ b/src/components/postListItem/view/postListItemView.js @@ -45,7 +45,6 @@ class PostListItemView extends Component { handleOnRemoveItem, id, intl, - isFormatedDate, } = this.props; return ( @@ -53,8 +52,7 @@ class PostListItemView extends Component { Posted by {` ${author || post.author} `} - {formatedTime} {/* {isPostEnd && this._getTabBar()} */} diff --git a/src/components/upvote/view/upvoteView.js b/src/components/upvote/view/upvoteView.js index e33595150..087afeb40 100644 --- a/src/components/upvote/view/upvoteView.js +++ b/src/components/upvote/view/upvoteView.js @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import { View, TouchableOpacity, Text, Alert } from 'react-native'; -import { injectIntl } from 'react-intl'; +import { injectIntl, FormattedRelativeTime } from 'react-intl'; import { Popover, PopoverController } from 'react-native-modal-popover'; import Slider from 'react-native-slider'; import get from 'lodash/get'; @@ -331,7 +331,12 @@ class UpvoteView extends Component { {`${intl.formatMessage({ id: 'payout.payout_date', - })} ${payoutDate}`} + })} `} + {warnZeroPayout && ( diff --git a/src/containers/accountListContainer.js b/src/containers/accountListContainer.js index 4ce8d6c38..7c4faeb47 100644 --- a/src/containers/accountListContainer.js +++ b/src/containers/accountListContainer.js @@ -52,7 +52,7 @@ class AccountListContainer extends Component { _data.sort((a, b) => b.percent - a.percent); break; case 2: - _data.sort((a, b) => (isBefore(a.time, b.time) ? 1 : -1)); + _data.sort((a, b) => isBefore(a.time, b.time)); break; default: break; diff --git a/src/containers/profileContainer.js b/src/containers/profileContainer.js index 4a1b0bdb6..864f87203 100644 --- a/src/containers/profileContainer.js +++ b/src/containers/profileContainer.js @@ -194,7 +194,7 @@ class ProfileContainer extends Component { follows = null; } - if (isProfileAction && (isFollowing === _isFollowing && isMuted === _isMuted)) { + if (isProfileAction && isFollowing === _isFollowing && isMuted === _isMuted) { this._fetchProfile(_username, true); } else { this.setState({ diff --git a/src/utils/postUrlParser.js b/src/utils/postUrlParser.js index a0de1c2ed..45abe1a7a 100644 --- a/src/utils/postUrlParser.js +++ b/src/utils/postUrlParser.js @@ -62,9 +62,12 @@ export default url => { } if ( - ['https://estm.to', 'https://esteem.app', 'https://steemit.com', 'https://steempeak.com'].some( - x => url.startsWith(x), - ) + [ + 'https://estm.to', + 'https://esteem.app', + 'https://steemit.com', + 'https://steempeak.com', + ].some(x => url.startsWith(x)) ) { return parseCatAuthorPermlink(url); } diff --git a/src/utils/time.js b/src/utils/time.js index ff0aab270..d1128c3f1 100644 --- a/src/utils/time.js +++ b/src/utils/time.js @@ -1,26 +1,53 @@ -import moment from 'moment'; +const TODAY = new Date(); +const ONE_DAY = new Date(TODAY.getTime() - 24 * 60 * 60 * 1000); +const SEVEN_DAY = new Date(TODAY.getTime() - 7 * 24 * 60 * 60 * 1000); -const TODAY = moment().startOf('day'); -const YESTERDAY = moment() - .subtract(1, 'days') - .startOf('day'); -const THIS_WEEK = moment() - .subtract(7, 'days') - .startOf('day'); -const THIS_MONTH = moment() - .subtract(1, 'M') - .startOf('day'); +const MINUTE = 60; +const HOUR = 60 * 60; +const DAY = 60 * 60 * 24; +const WEEK = 60 * 60 * 24 * 7; +const MONTH = 60 * 60 * 24 * 30; +const YEAR = 60 * 60 * 24 * 365; -export const getTimeFromNow = (value, isWithoutUtc) => { - if (!value) { +export const getTimeFromNow = d => { + if (!d) { return null; } + const dateIn = new Date(`${d}.000Z`); + const dateNow = new Date(); + let future = false; - if (isWithoutUtc) { - return moment(value).fromNow(); + if (dateIn > dateNow) { + future = true; } - return moment.utc(value).fromNow(); + const diff = Math.abs((dateNow - dateIn) / 1000); + + if (diff < MINUTE) { + return { unit: 'second', value: future ? Math.round(diff) : -Math.round(diff) }; + } + if (diff < HOUR) { + return { + unit: 'minute', + value: future ? Math.round(diff / MINUTE) : -Math.round(diff / MINUTE), + }; + } + if (diff < DAY) { + return { unit: 'hour', value: future ? Math.round(diff / HOUR) : -Math.round(diff / HOUR) }; + } + if (diff < WEEK) { + return { unit: 'day', value: future ? Math.round(diff / DAY) : -Math.round(diff / DAY) }; + } + if (diff < MONTH) { + return { unit: 'week', value: future ? Math.round(diff / WEEK) : -Math.round(diff / WEEK) }; + } + if (diff < YEAR) { + return { unit: 'month', value: future ? Math.round(diff / MONTH) : -Math.round(diff / MONTH) }; + } + if (diff > YEAR) { + return { unit: 'year', value: future ? Math.round(diff / YEAR) : -Math.round(diff / YEAR) }; + } + return { unit: 'day', value: future ? Math.round(diff / DAY) : -Math.round(diff / DAY) }; }; export const getFormatedCreatedDate = value => { @@ -28,18 +55,34 @@ export const getFormatedCreatedDate = value => { return null; } - return moment(value).format('DD MMM, YYYY'); + return new Date(value).toLocaleDateString(); }; -export const isBefore = (a, b) => moment(a).isBefore(b); +export const isBefore = (a, b) => new Date(b) - new Date(a); -export const isToday = value => moment(value).isSame(TODAY, 'd'); +export const isToday = value => { + const day = new Date(value); + return TODAY.getDate() === day.getDate() && + TODAY.getMonth() === day.getMonth() && + TODAY.getFullYear() === day.getFullYear() + ? 1 + : 0; +}; -export const isYesterday = value => moment(value).isSame(YESTERDAY, 'd'); +export const isYesterday = value => { + const day = new Date(value).getTime(); + return day < TODAY.getTime() && day > ONE_DAY.getTime(); +}; -export const isThisWeek = value => moment(value).isSameOrAfter(THIS_WEEK); +export const isThisWeek = value => { + const day = new Date(value).getTime(); + return day < TODAY.getTime() && day > SEVEN_DAY.getTime(); +}; -export const isThisMonth = value => moment(value).isSameOrAfter(THIS_MONTH); +export const isThisMonth = value => { + const day = new Date(value); + return TODAY.getMonth() === day.getMonth() && TODAY.getFullYear() === day.getFullYear() ? 1 : 0; +}; export const isEmptyContentDate = value => { if (!value) { diff --git a/yarn.lock b/yarn.lock index 9c77a4d46..500692fcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1902,19 +1902,6 @@ appcenter@2.6.1, appcenter@^2.6.0: dependencies: appcenter-link-scripts "2.6.1" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - argparse@^1.0.10, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2607,11 +2594,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chownr@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -2863,11 +2845,6 @@ connect@^3.6.5: parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" @@ -3097,7 +3074,7 @@ debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@^3.1.0, debug@^3.2.6: +debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -3129,11 +3106,6 @@ deep-diff@^0.3.5: resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3194,11 +3166,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" @@ -3229,11 +3196,6 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -4339,13 +4301,6 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -4377,20 +4332,6 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -4557,11 +4498,6 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -4729,7 +4665,7 @@ husky@^3.1.0: run-node "^1.0.0" slash "^3.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4741,13 +4677,6 @@ ieee754@^1.1.4: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== -ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== - dependencies: - minimatch "^3.0.4" - ignore@^3.3.3: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -4820,7 +4749,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -6546,21 +6475,6 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -6569,7 +6483,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@0.5.1, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -6644,15 +6558,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -6707,23 +6612,7 @@ node-notifier@^5.2.1, node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@*: - version "0.14.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83" - integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - -nopt@^4.0.1, nopt@~4.0.1: +nopt@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= @@ -6748,26 +6637,6 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-packlist@^1.1.6: - version "1.4.7" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848" - integrity sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-path@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" @@ -6791,16 +6660,6 @@ npm-which@^3.0.1: npm-path "^2.0.2" which "^1.2.10" -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -7618,16 +7477,6 @@ raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-addons-shallow-compare@15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" @@ -7649,7 +7498,7 @@ react-devtools-core@^3.6.3: shell-quote "^1.6.1" ws "^3.3.1" -react-intl@^3.3.1: +react-intl@^3.9.2: version "3.9.2" resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-3.9.2.tgz#24d479877e43fb953bc8af494927ae57d6a6421a" integrity sha512-QuiY90qO1mGRJ21Lpe1jL3NxAexmhYBrv/9Rw8dcrytv6M1FfVcGVYsruU8PUFYdFhFvQd2BMcw1uu0nomTIHg== @@ -8097,7 +7946,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@2, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6: +readable-stream@2, readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -8412,7 +8261,7 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -8629,7 +8478,7 @@ serve-static@^1.13.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -9035,7 +8884,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -9217,19 +9066,6 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tar@^4.4.2: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - temp@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" @@ -9696,13 +9532,6 @@ which@^1.2.10, which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -9878,11 +9707,6 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"