diff --git a/src/components/ActionMenu/index.js b/src/components/ActionMenu/index.js index 225f1884c6..ddfbd9eeec 100644 --- a/src/components/ActionMenu/index.js +++ b/src/components/ActionMenu/index.js @@ -11,18 +11,20 @@ import dynamicsFont from '../../assets/DynamicsFont/DynamicsFont.scss'; function ClickToDialButton({ className, - currentLocale, onClickToDial, disableLinks, disableClickToDial, phoneNumber, + title, }) { return ( ); } @@ -32,7 +34,6 @@ ClickToDialButton.propTypes = { disableLinks: PropTypes.bool, disableClickToDial: PropTypes.bool, phoneNumber: PropTypes.string, - currentLocale: PropTypes.string.isRequired, }; ClickToDialButton.defaultProps = { className: undefined, @@ -44,17 +45,19 @@ ClickToDialButton.defaultProps = { function ClickToSmsButton({ className, - currentLocale, onClickToSms, disableLinks, phoneNumber, + title, }) { return ( ); } @@ -63,7 +66,6 @@ ClickToSmsButton.propTypes = { onClickToSms: PropTypes.func, disableLinks: PropTypes.bool, phoneNumber: PropTypes.string, - currentLocale: PropTypes.string.isRequired, }; ClickToSmsButton.defaultProps = { className: undefined, @@ -74,12 +76,13 @@ ClickToSmsButton.defaultProps = { function EntityButton({ className, - currentLocale, onViewEntity, onCreateEntity, hasEntity, isCreating, disableLinks, + viewEntityTitle, + createEntityTitle, }) { // console.debug('isCreating', isCreating); const spinner = isCreating ? @@ -91,14 +94,17 @@ function EntityButton({ null; const icon = hasEntity ? dynamicsFont.record : dynamicsFont.addEntity; const onClick = hasEntity ? onViewEntity : onCreateEntity; - + const title = hasEntity ? viewEntityTitle : createEntityTitle; return ( ); @@ -110,7 +116,6 @@ EntityButton.propTypes = { hasEntity: PropTypes.bool, isCreating: PropTypes.bool, disableLinks: PropTypes.bool, - currentLocale: PropTypes.string.isRequired, }; EntityButton.defaultProps = { className: undefined, @@ -171,6 +176,12 @@ export default class ActionMenu extends Component { disableLinks, disableClickToDial, stopPropagation, + addLogTitle, + editLogTitle, + callTitle, + textTitle, + createEntityTitle, + viewEntityTitle, } = this.props; const logButton = onLog ? @@ -182,6 +193,8 @@ export default class ActionMenu extends Component { isLogged={isLogged} isLogging={isLogging} currentLocale={currentLocale} + addTitle={addLogTitle} + editTitle={editLogTitle} /> ) : null; @@ -193,7 +206,7 @@ export default class ActionMenu extends Component { onViewEntity={onViewEntity} hasEntity={hasEntity} disableLinks={disableLinks} - currentLocale={currentLocale} + viewEntityTitle={viewEntityTitle} />); } else if (!hasEntity && phoneNumber && onCreateEntity) { entityButton = (); } else { entityButton = null; @@ -227,6 +240,7 @@ export default class ActionMenu extends Component { disableLinks={disableLinks} disableClickToDial={disableClickToDial} currentLocale={currentLocale} + title={callTitle} /> ) : null; @@ -238,6 +252,7 @@ export default class ActionMenu extends Component { phoneNumber={phoneNumber} disableLinks={disableLinks} currentLocale={currentLocale} + title={textTitle} /> ) : null; @@ -300,6 +315,12 @@ ActionMenu.propTypes = { disableClickToDial: PropTypes.bool, stopPropagation: PropTypes.bool, captureClick: PropTypes.bool, + addLogTitle: PropTypes.string, + editLogTitle: PropTypes.string, + textTitle: PropTypes.string, + callTitle: PropTypes.string, + createEntityTitle: PropTypes.string, + viewEntityTitle: PropTypes.string, }; ActionMenu.defaultProps = { className: undefined, @@ -317,4 +338,10 @@ ActionMenu.defaultProps = { disableClickToDial: false, stopPropagation: false, captureClick: false, + addLogTitle: undefined, + editLogTitle: undefined, + textTitle: undefined, + callTitle: undefined, + createEntityTitle: undefined, + viewEntityTitle: undefined, }; diff --git a/src/components/CallItem/i18n/en-US.js b/src/components/CallItem/i18n/en-US.js index 524c46ae78..76086d5ddc 100644 --- a/src/components/CallItem/i18n/en-US.js +++ b/src/components/CallItem/i18n/en-US.js @@ -10,4 +10,11 @@ export default { unknownNumber: 'Anonymous', unavailable: 'Unavailable', viewDetails: 'View Details', + addEntity: 'Create New', + addLog: 'Log', + text: 'Text', + call: 'Call', + missedCall: 'Missed', + inboundCall: 'Inbound', + outboundCall: 'Outbound', }; diff --git a/src/components/CallItem/index.js b/src/components/CallItem/index.js index 851f8b8f00..1adcea3add 100644 --- a/src/components/CallItem/index.js +++ b/src/components/CallItem/index.js @@ -32,7 +32,12 @@ function CallIcon({ missed, active, ringing, + inboundTitle, + outboundTitle, + missedTitle, }) { + const title = missed ? missedTitle : + (direction === callDirections.inbound) ? inboundTitle : outboundTitle; return (
+ )} + title={title} + />
); } @@ -336,6 +343,9 @@ export default class CallItem extends Component { ringing={ringing} active={active} missed={missed} + inboundTitle={i18n.getString('inboundCall', currentLocale)} + outboundTitle={i18n.getString('outboundCall', currentLocale)} + missedTitle={i18n.getString('missedCall', currentLocale)} /> 0} isCreating={this.state.isCreating} + addLogTitle={i18n.getString('addLog', currentLocale)} + editLogTitle={i18n.getString('editLog', currentLocale)} + textTitle={i18n.getString('text', currentLocale)} + callTitle={i18n.getString('call', currentLocale)} + createEntityTitle={i18n.getString('addEntity', currentLocale)} + viewEntityTitle={i18n.getString('viewDetails', currentLocale)} /> ); diff --git a/src/components/LogButton/index.js b/src/components/LogButton/index.js index 2c89f6aa1f..3d7b73b65f 100644 --- a/src/components/LogButton/index.js +++ b/src/components/LogButton/index.js @@ -8,11 +8,12 @@ import styles from './styles.scss'; export default function LogButton({ className, - currentLocale, onLog, isLogged, disableLinks, isLogging, + addTitle, + editTitle, }) { const spinner = isLogging ? ( @@ -31,6 +32,10 @@ export default function LogButton({ className={isLogged ? dynamicsFont.edit : dynamicsFont.callLog + } + title={isLogged ? + editTitle : + addTitle } /> {spinner} @@ -42,7 +47,8 @@ LogButton.propTypes = { isLogged: PropTypes.bool, disableLinks: PropTypes.bool, isLogging: PropTypes.bool, - currentLocale: PropTypes.string.isRequired, + viewTitle: PropTypes.string, + editTitle: PropTypes.string, }; LogButton.defaultProps = { className: undefined, @@ -50,4 +56,6 @@ LogButton.defaultProps = { isLogged: false, disableLinks: false, isLogging: false, + addTitle: undefined, + editTitle: undefined, }; diff --git a/src/components/MessageItem/i18n/en-US.js b/src/components/MessageItem/i18n/en-US.js new file mode 100644 index 0000000000..a90f2c8f2a --- /dev/null +++ b/src/components/MessageItem/i18n/en-US.js @@ -0,0 +1,9 @@ +export default { + addLog: 'Log', + editLog: 'Edit Log', + viewDetails: 'View Details', + addEntity: 'Create New', + call: 'Call', + conversation: 'Conversation', + groupConversation: 'Group Conversation', +}; diff --git a/src/components/MessageItem/i18n/index.js b/src/components/MessageItem/i18n/index.js new file mode 100644 index 0000000000..25458f23b1 --- /dev/null +++ b/src/components/MessageItem/i18n/index.js @@ -0,0 +1,4 @@ +import I18n from 'ringcentral-integration/lib/I18n'; +import loadLocale from './loadLocale'; + +export default new I18n(loadLocale); diff --git a/src/components/MessageItem/i18n/loadLocale.js b/src/components/MessageItem/i18n/loadLocale.js new file mode 100644 index 0000000000..12b11cfa2e --- /dev/null +++ b/src/components/MessageItem/i18n/loadLocale.js @@ -0,0 +1 @@ +/* loadLocale */ diff --git a/src/components/MessageItem/index.js b/src/components/MessageItem/index.js index bac7fa3ac0..39a6750285 100644 --- a/src/components/MessageItem/index.js +++ b/src/components/MessageItem/index.js @@ -5,16 +5,21 @@ import ContactDisplay from '../ContactDisplay'; import ActionMenu from '../ActionMenu'; import dynamicsFont from '../../assets/DynamicsFont/DynamicsFont.scss'; import styles from './styles.scss'; +import i18n from './i18n'; function ConversationIcon({ group, + conversationTitle, + groupConversationTitle, }) { + const title = group ? groupConversationTitle : conversationTitle; return (
+ )} + title={title}/>
); } @@ -214,7 +219,11 @@ export default class MessageItem extends Component { )} onClick={this.showConversationDetail} > - 1} /> + 1} + conversationTitle={i18n.getString('conversation', currentLocale)} + groupConversationTitle={i18n.getString('groupConversation', currentLocale)} + /> 0} isCreating={this.state.isCreating} + addLogTitle={i18n.getString('addLog', currentLocale)} + editLogTitle={i18n.getString('editLog', currentLocale)} + callTitle={i18n.getString('call', currentLocale)} + createEntityTitle={i18n.getString('addEntity', currentLocale)} + viewEntityTitle={i18n.getString('viewDetails', currentLocale)} stopPropagation /> diff --git a/yarn.lock b/yarn.lock index 9f1e6b8880..561f664a8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,11 +19,7 @@ normalize-path "^2.0.1" through2 "^2.0.3" -abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" - -abbrev@1.0.x: +abbrev@1, abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" @@ -666,11 +662,7 @@ babel-plugin-syntax-function-bind@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - -babel-plugin-syntax-jsx@~6.13.0: +babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0, babel-plugin-syntax-jsx@~6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.13.0.tgz#e741ff3992c578310be45c571bcd90a2f9c5586e" @@ -2231,20 +2223,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domutils@1.5.1: +domutils@1.5.1, domutils@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" -domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" - dependencies: - dom-serializer "0" - domelementtype "1" - duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -2572,10 +2557,6 @@ esprima@3.x.x: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - esquery@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" @@ -4020,20 +4001,13 @@ js-tokens@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@3.6.1, js-yaml@~3.6.0: +js-yaml@3.6.1, js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@~3.6.0: version "3.6.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" dependencies: argparse "^1.0.7" esprima "^2.6.0" -js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.5.1: - version "3.9.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -4481,9 +4455,9 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" +lru-cache@2, lru-cache@~2.6.5: + version "2.6.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.6.5.tgz#e56d6354148ede8d7707b58d143220fd08df0fd5" lru-cache@^4.0.1: version "4.1.1" @@ -4492,10 +4466,6 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -lru-cache@~2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.6.5.tgz#e56d6354148ede8d7707b58d143220fd08df0fd5" - lru-queue@0.1: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -4657,7 +4627,7 @@ minimatch@~0.2.11: lru-cache "2" sigmund "~1.0.0" -minimist@0.0.8: +minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4665,10 +4635,6 @@ minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - mixin-object@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" @@ -4779,14 +4745,7 @@ next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" -node-fetch@^1.0.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.1.tgz#899cb3d0a3c92f952c47f1b876f4c8aeabd400d5" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-fetch@~1.6.0: +node-fetch@^1.0.1, node-fetch@~1.6.0: version "1.6.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" dependencies: @@ -5760,14 +5719,10 @@ q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.4.0, qs@~6.4.0: +qs@6.4.0, qs@^6.1.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -qs@^6.1.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" - qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" @@ -6166,18 +6121,18 @@ req-from@^1.0.1: dependencies: resolve-from "^2.0.0" -request@2, request@^2.79.0, request@^2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" +request@2, request@2.79.0, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" - caseless "~0.12.0" + caseless "~0.11.0" combined-stream "~1.0.5" extend "~3.0.0" forever-agent "~0.6.1" form-data "~2.1.1" - har-validator "~4.2.1" + har-validator "~2.0.6" hawk "~3.1.3" http-signature "~1.1.0" is-typedarray "~1.0.0" @@ -6185,26 +6140,24 @@ request@2, request@^2.79.0, request@^2.81.0: json-stringify-safe "~5.0.1" mime-types "~2.1.7" oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" + qs "~6.3.0" stringstream "~0.0.4" tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" + tunnel-agent "~0.4.1" uuid "^3.0.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" +request@^2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" - caseless "~0.11.0" + caseless "~0.12.0" combined-stream "~1.0.5" extend "~3.0.0" forever-agent "~0.6.1" form-data "~2.1.1" - har-validator "~2.0.6" + har-validator "~4.2.1" hawk "~3.1.3" http-signature "~1.1.0" is-typedarray "~1.0.0" @@ -6212,10 +6165,12 @@ request@2.79.0: json-stringify-safe "~5.0.1" mime-types "~2.1.7" oauth-sign "~0.8.1" - qs "~6.3.0" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" stringstream "~0.0.4" tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" + tunnel-agent "^0.6.0" uuid "^3.0.0" require-directory@^2.1.1: @@ -6291,16 +6246,16 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: +rimraf@2, rimraf@^2.2.8, rimraf@~2.2.6: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - ringcentral-client@^1.0.0-rc1: version "1.0.0-rc1" resolved "https://registry.yarnpkg.com/ringcentral-client/-/ringcentral-client-1.0.0-rc1.tgz#eb7ac9e7ffac5d4de8971fb84eb9d172118a251c" @@ -6407,9 +6362,9 @@ selfsigned@^1.9.1: dependencies: node-forge "0.6.33" -"semver@2 || 3 || 4 || 5", semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" semver@^4.1.0: version "4.3.6" @@ -6419,10 +6374,6 @@ semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - send@0.15.3: version "0.15.3" resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" @@ -6870,7 +6821,7 @@ superagent@^2.3.0: qs "^6.1.0" readable-stream "^2.0.5" -supports-color@3.1.2, supports-color@3.1.x: +supports-color@3.1.2, supports-color@3.1.x, supports-color@^3.1.0, supports-color@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" dependencies: @@ -6880,7 +6831,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -7412,13 +7363,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@1, which@^1.1.1, which@^1.2.12, which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -which@1.2.x: +which@1, which@1.2.x, which@^1.1.1, which@^1.2.12, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: