Upgrade Babel to version 7.0.0 (#5925)
This commit is contained in:
		
					parent
					
						
							
								64a5561b5a
							
						
					
				
			
			
				commit
				
					
						0ddbccf7e6
					
				
			
		
					 78 changed files with 2341 additions and 2276 deletions
				
			
		
							
								
								
									
										66
									
								
								.babelrc
									
										
									
									
									
								
							
							
						
						
									
										66
									
								
								.babelrc
									
										
									
									
									
								
							|  | @ -1,66 +0,0 @@ | ||||||
| { |  | ||||||
|   "presets": [ |  | ||||||
|     "react", |  | ||||||
|     [ |  | ||||||
|       "env", |  | ||||||
|       { |  | ||||||
|         "exclude": ["transform-async-to-generator", "transform-regenerator"], |  | ||||||
|         "loose": true, |  | ||||||
|         "modules": false, |  | ||||||
|         "targets": { |  | ||||||
|           "browsers": ["last 2 versions", "IE >= 11", "iOS >= 9"] |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   ], |  | ||||||
|   "plugins": [ |  | ||||||
|     "syntax-dynamic-import", |  | ||||||
|     ["transform-object-rest-spread", { "useBuiltIns": true }], |  | ||||||
|     "transform-decorators-legacy", |  | ||||||
|     "transform-class-properties", |  | ||||||
|     [ |  | ||||||
|       "react-intl", |  | ||||||
|       { |  | ||||||
|         "messagesDir": "./build/messages" |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "preval" |  | ||||||
|   ], |  | ||||||
|   "env": { |  | ||||||
|     "development": { |  | ||||||
|       "plugins": [ |  | ||||||
|         "transform-react-jsx-source", |  | ||||||
|         "transform-react-jsx-self" |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     "production": { |  | ||||||
|       "plugins": [ |  | ||||||
|         "lodash", |  | ||||||
|         [ |  | ||||||
|           "transform-react-remove-prop-types", |  | ||||||
|           { |  | ||||||
|             "mode": "remove", |  | ||||||
|             "removeImport": true, |  | ||||||
|             "additionalLibraries": [ |  | ||||||
|               "react-immutable-proptypes" |  | ||||||
|             ] |  | ||||||
|           } |  | ||||||
|         ], |  | ||||||
|         "transform-react-inline-elements", |  | ||||||
|         [ |  | ||||||
|           "transform-runtime", |  | ||||||
|           { |  | ||||||
|             "helpers": true, |  | ||||||
|             "polyfill": false, |  | ||||||
|             "regenerator": false |  | ||||||
|           } |  | ||||||
|         ] |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     "test": { |  | ||||||
|       "plugins": [ |  | ||||||
|         "transform-es2015-modules-commonjs" |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
							
								
								
									
										2
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
										
									
									
									
								
							|  | @ -87,7 +87,7 @@ gem 'tty-command', '~> 0.8', require: false | ||||||
| gem 'tty-prompt', '~> 0.16', require: false | gem 'tty-prompt', '~> 0.16', require: false | ||||||
| gem 'twitter-text', '~> 1.14' | gem 'twitter-text', '~> 1.14' | ||||||
| gem 'tzinfo-data', '~> 1.2018' | gem 'tzinfo-data', '~> 1.2018' | ||||||
| gem 'webpacker', '~> 3.4' | gem 'webpacker', '~> 3.5' | ||||||
| gem 'webpush' | gem 'webpush' | ||||||
| 
 | 
 | ||||||
| gem 'json-ld', '~> 2.2' | gem 'json-ld', '~> 2.2' | ||||||
|  |  | ||||||
|  | @ -627,7 +627,7 @@ GEM | ||||||
|       addressable (>= 2.3.6) |       addressable (>= 2.3.6) | ||||||
|       crack (>= 0.3.2) |       crack (>= 0.3.2) | ||||||
|       hashdiff |       hashdiff | ||||||
|     webpacker (3.4.3) |     webpacker (3.5.5) | ||||||
|       activesupport (>= 4.2) |       activesupport (>= 4.2) | ||||||
|       rack-proxy (>= 0.6.1) |       rack-proxy (>= 0.6.1) | ||||||
|       railties (>= 4.2) |       railties (>= 4.2) | ||||||
|  | @ -758,7 +758,7 @@ DEPENDENCIES | ||||||
|   twitter-text (~> 1.14) |   twitter-text (~> 1.14) | ||||||
|   tzinfo-data (~> 1.2018) |   tzinfo-data (~> 1.2018) | ||||||
|   webmock (~> 3.3) |   webmock (~> 3.3) | ||||||
|   webpacker (~> 3.4) |   webpacker (~> 3.5) | ||||||
|   webpush |   webpush | ||||||
| 
 | 
 | ||||||
| RUBY VERSION | RUBY VERSION | ||||||
|  |  | ||||||
|  | @ -3,7 +3,6 @@ | ||||||
| exports[`<Button /> adds class "button-secondary" if props.secondary given 1`] = ` | exports[`<Button /> adds class "button-secondary" if props.secondary given 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button button-secondary" |   className="button button-secondary" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  | @ -18,7 +17,6 @@ exports[`<Button /> adds class "button-secondary" if props.secondary given 1`] = | ||||||
| exports[`<Button /> renders a button element 1`] = ` | exports[`<Button /> renders a button element 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button" |   className="button" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  | @ -48,7 +46,6 @@ exports[`<Button /> renders a disabled attribute if props.disabled given 1`] = ` | ||||||
| exports[`<Button /> renders class="button--block" if props.block given 1`] = ` | exports[`<Button /> renders class="button--block" if props.block given 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button button--block" |   className="button button--block" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  | @ -63,7 +60,6 @@ exports[`<Button /> renders class="button--block" if props.block given 1`] = ` | ||||||
| exports[`<Button /> renders the children 1`] = ` | exports[`<Button /> renders the children 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button" |   className="button" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  | @ -82,7 +78,6 @@ exports[`<Button /> renders the children 1`] = ` | ||||||
| exports[`<Button /> renders the given text 1`] = ` | exports[`<Button /> renders the given text 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button" |   className="button" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  | @ -99,7 +94,6 @@ exports[`<Button /> renders the given text 1`] = ` | ||||||
| exports[`<Button /> renders the props.text instead of children 1`] = ` | exports[`<Button /> renders the props.text instead of children 1`] = ` | ||||||
| <button | <button | ||||||
|   className="button" |   className="button" | ||||||
|   disabled={undefined} |  | ||||||
|   onClick={[Function]} |   onClick={[Function]} | ||||||
|   style={ |   style={ | ||||||
|     Object { |     Object { | ||||||
|  |  | ||||||
|  | @ -19,8 +19,8 @@ const messages = defineMessages({ | ||||||
|   unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'Unmute notifications from @{name}' }, |   unmute_notifications: { id: 'account.unmute_notifications', defaultMessage: 'Unmute notifications from @{name}' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Account extends ImmutablePureComponent { | class Account extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map.isRequired, |     account: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -10,8 +10,8 @@ const messages = defineMessages({ | ||||||
|   moveRight: { id: 'column_header.moveRight_settings', defaultMessage: 'Move column to the right' }, |   moveRight: { id: 'column_header.moveRight_settings', defaultMessage: 'Move column to the right' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ColumnHeader extends React.PureComponent { | class ColumnHeader extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -8,8 +8,8 @@ const messages = defineMessages({ | ||||||
|   unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, |   unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Account extends ImmutablePureComponent { | class Account extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     domain: PropTypes.string, |     domain: PropTypes.string, | ||||||
|  |  | ||||||
|  | @ -6,8 +6,8 @@ const messages = defineMessages({ | ||||||
|   load_more: { id: 'status.load_more', defaultMessage: 'Load more' }, |   load_more: { id: 'status.load_more', defaultMessage: 'Load more' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class LoadGap extends React.PureComponent { | class LoadGap extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     disabled: PropTypes.bool, |     disabled: PropTypes.bool, | ||||||
|  |  | ||||||
|  | @ -179,8 +179,8 @@ class Item extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class MediaGallery extends React.PureComponent { | class MediaGallery extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     sensitive: PropTypes.bool, |     sensitive: PropTypes.bool, | ||||||
|  |  | ||||||
|  | @ -86,8 +86,8 @@ export const timeAgoString = (intl, date, now, year) => { | ||||||
|   return relativeTime; |   return relativeTime; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class RelativeTimestamp extends React.Component { | class RelativeTimestamp extends React.Component { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -35,8 +35,8 @@ export const textForScreenReader = (intl, status, rebloggedByText = false) => { | ||||||
|   return values.join(', '); |   return values.join(', '); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Status extends ImmutablePureComponent { | class Status extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -42,8 +42,8 @@ const obfuscatedCount = count => { | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class StatusActionBar extends ImmutablePureComponent { | class StatusActionBar extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -36,8 +36,8 @@ const messages = defineMessages({ | ||||||
|   unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, |   unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ActionBar extends React.PureComponent { | class ActionBar extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map.isRequired, |     account: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -65,8 +65,8 @@ class Avatar extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Header extends ImmutablePureComponent { | class Header extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map, |     account: ImmutablePropTypes.map, | ||||||
|  |  | ||||||
|  | @ -43,8 +43,8 @@ class LoadMoreMedia extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class AccountGallery extends ImmutablePureComponent { | class AccountGallery extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -23,8 +23,8 @@ const mapStateToProps = (state, { params: { accountId }, withReplies = false }) | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class AccountTimeline extends ImmutablePureComponent { | class AccountTimeline extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -20,9 +20,9 @@ const mapStateToProps = state => ({ | ||||||
|   accountIds: state.getIn(['user_lists', 'blocks', 'items']), |   accountIds: state.getIn(['user_lists', 'blocks', 'items']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Blocks extends ImmutablePureComponent { | class Blocks extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; | ||||||
| import { injectIntl, FormattedMessage } from 'react-intl'; | import { injectIntl, FormattedMessage } from 'react-intl'; | ||||||
| import SettingToggle from '../../notifications/components/setting_toggle'; | import SettingToggle from '../../notifications/components/setting_toggle'; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ColumnSettings extends React.PureComponent { | class ColumnSettings extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     settings: ImmutablePropTypes.map.isRequired, |     settings: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -25,9 +25,9 @@ const mapStateToProps = (state, { onlyMedia, columnId }) => { | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class CommunityTimeline extends React.PureComponent { | class CommunityTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -17,8 +17,8 @@ const messages = defineMessages({ | ||||||
|   filters: { id: 'navigation_bar.filters', defaultMessage: 'Muted words' }, |   filters: { id: 'navigation_bar.filters', defaultMessage: 'Muted words' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ActionBar extends React.PureComponent { | class ActionBar extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map.isRequired, |     account: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -27,8 +27,8 @@ const messages = defineMessages({ | ||||||
|   publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' }, |   publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ComposeForm extends ImmutablePureComponent { | class ComposeForm extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -278,8 +278,8 @@ class EmojiPickerMenu extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class EmojiPickerDropdown extends React.PureComponent { | class EmojiPickerDropdown extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     custom_emojis: ImmutablePropTypes.list, |     custom_emojis: ImmutablePropTypes.list, | ||||||
|  |  | ||||||
|  | @ -149,8 +149,8 @@ class PrivacyDropdownMenu extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class PrivacyDropdown extends React.PureComponent { | class PrivacyDropdown extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     isUserTouching: PropTypes.func, |     isUserTouching: PropTypes.func, | ||||||
|  |  | ||||||
|  | @ -12,8 +12,8 @@ const messages = defineMessages({ | ||||||
|   cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }, |   cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ReplyIndicator extends ImmutablePureComponent { | class ReplyIndicator extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -43,8 +43,8 @@ class SearchPopout extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Search extends React.PureComponent { | class Search extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     value: PropTypes.string.isRequired, |     value: PropTypes.string.isRequired, | ||||||
|  |  | ||||||
|  | @ -11,8 +11,8 @@ const messages = defineMessages({ | ||||||
|   description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' }, |   description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Upload extends ImmutablePureComponent { | class Upload extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     media: ImmutablePropTypes.map.isRequired, |     media: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -23,9 +23,9 @@ const iconStyle = { | ||||||
|   lineHeight: '27px', |   lineHeight: '27px', | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(makeMapStateToProps) | export default @connect(makeMapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class UploadButton extends ImmutablePureComponent { | class UploadButton extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     disabled: PropTypes.bool, |     disabled: PropTypes.bool, | ||||||
|  |  | ||||||
|  | @ -30,9 +30,9 @@ const mapStateToProps = (state, ownProps) => ({ | ||||||
|   showSearch: ownProps.multiColumn ? state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']) : ownProps.isSearchPage, |   showSearch: ownProps.multiColumn ? state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']) : ownProps.isSearchPage, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Compose extends React.PureComponent { | class Compose extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -9,8 +9,8 @@ const messages = defineMessages({ | ||||||
|   settings: { id: 'home.settings', defaultMessage: 'Column settings' }, |   settings: { id: 'home.settings', defaultMessage: 'Column settings' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ColumnSettings extends React.PureComponent { | class ColumnSettings extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     settings: ImmutablePropTypes.map.isRequired, |     settings: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -17,9 +17,9 @@ const mapStateToProps = state => ({ | ||||||
|   hasUnread: state.getIn(['timelines', 'direct', 'unread']) > 0, |   hasUnread: state.getIn(['timelines', 'direct', 'unread']) > 0, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class DirectTimeline extends React.PureComponent { | class DirectTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -21,9 +21,9 @@ const mapStateToProps = state => ({ | ||||||
|   domains: state.getIn(['domain_lists', 'blocks', 'items']), |   domains: state.getIn(['domain_lists', 'blocks', 'items']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Blocks extends ImmutablePureComponent { | class Blocks extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -21,9 +21,9 @@ const mapStateToProps = state => ({ | ||||||
|   hasMore: !!state.getIn(['status_lists', 'favourites', 'next']), |   hasMore: !!state.getIn(['status_lists', 'favourites', 'next']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Favourites extends ImmutablePureComponent { | class Favourites extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -15,8 +15,8 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]), |   accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class Favourites extends ImmutablePureComponent { | class Favourites extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ const messages = defineMessages({ | ||||||
|   reject: { id: 'follow_request.reject', defaultMessage: 'Reject' }, |   reject: { id: 'follow_request.reject', defaultMessage: 'Reject' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class AccountAuthorize extends ImmutablePureComponent { | class AccountAuthorize extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map.isRequired, |     account: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -20,9 +20,9 @@ const mapStateToProps = state => ({ | ||||||
|   accountIds: state.getIn(['user_lists', 'follow_requests', 'items']), |   accountIds: state.getIn(['user_lists', 'follow_requests', 'items']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class FollowRequests extends ImmutablePureComponent { | class FollowRequests extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -22,8 +22,8 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']), |   hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class Followers extends ImmutablePureComponent { | class Followers extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -22,8 +22,8 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next']), |   hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class Following extends ImmutablePureComponent { | class Following extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -53,9 +53,9 @@ const badgeDisplay = (number, limit) => { | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class GettingStarted extends ImmutablePureComponent { | class GettingStarted extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0, |   hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class HashtagTimeline extends React.PureComponent { | class HashtagTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; | ||||||
| import { injectIntl, FormattedMessage } from 'react-intl'; | import { injectIntl, FormattedMessage } from 'react-intl'; | ||||||
| import SettingToggle from '../../notifications/components/setting_toggle'; | import SettingToggle from '../../notifications/components/setting_toggle'; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ColumnSettings extends React.PureComponent { | class ColumnSettings extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     settings: ImmutablePropTypes.map.isRequired, |     settings: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -19,9 +19,9 @@ const mapStateToProps = state => ({ | ||||||
|   isPartial: state.getIn(['timelines', 'home', 'items', 0], null) === null, |   isPartial: state.getIn(['timelines', 'home', 'items', 0], null) === null, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class HomeTimeline extends React.PureComponent { | class HomeTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -9,8 +9,8 @@ const messages = defineMessages({ | ||||||
|   heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' }, |   heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class KeyboardShortcuts extends ImmutablePureComponent { | class KeyboardShortcuts extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -31,9 +31,9 @@ const mapDispatchToProps = (dispatch, { accountId }) => ({ | ||||||
|   onAdd: () => dispatch(addToListEditor(accountId)), |   onAdd: () => dispatch(addToListEditor(accountId)), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(makeMapStateToProps, mapDispatchToProps) | export default @connect(makeMapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Account extends ImmutablePureComponent { | class Account extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     account: ImmutablePropTypes.map.isRequired, |     account: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -19,9 +19,9 @@ const mapDispatchToProps = dispatch => ({ | ||||||
|   onChange: value => dispatch(changeListSuggestions(value)), |   onChange: value => dispatch(changeListSuggestions(value)), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Search extends React.PureComponent { | class Search extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -22,9 +22,9 @@ const mapDispatchToProps = dispatch => ({ | ||||||
|   onReset: () => dispatch(resetListEditor()), |   onReset: () => dispatch(resetListEditor()), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class ListEditor extends ImmutablePureComponent { | class ListEditor extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     listId: PropTypes.string.isRequired, |     listId: PropTypes.string.isRequired, | ||||||
|  |  | ||||||
|  | @ -25,9 +25,9 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0, |   hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class ListTimeline extends React.PureComponent { | class ListTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -20,9 +20,9 @@ const mapDispatchToProps = dispatch => ({ | ||||||
|   onSubmit: () => dispatch(submitListEditor(true)), |   onSubmit: () => dispatch(submitListEditor(true)), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class NewListForm extends React.PureComponent { | class NewListForm extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     value: PropTypes.string.isRequired, |     value: PropTypes.string.isRequired, | ||||||
|  |  | ||||||
|  | @ -31,9 +31,9 @@ const mapStateToProps = state => ({ | ||||||
|   lists: getOrderedLists(state), |   lists: getOrderedLists(state), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Lists extends ImmutablePureComponent { | class Lists extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -20,9 +20,9 @@ const mapStateToProps = state => ({ | ||||||
|   accountIds: state.getIn(['user_lists', 'mutes', 'items']), |   accountIds: state.getIn(['user_lists', 'mutes', 'items']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Mutes extends ImmutablePureComponent { | class Mutes extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -16,8 +16,8 @@ const notificationForScreenReader = (intl, message, timestamp) => { | ||||||
|   return output.join(', '); |   return output.join(', '); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Notification extends ImmutablePureComponent { | class Notification extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -31,9 +31,9 @@ const mapStateToProps = state => ({ | ||||||
|   hasMore: state.getIn(['notifications', 'hasMore']), |   hasMore: state.getIn(['notifications', 'hasMore']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class Notifications extends React.PureComponent { | class Notifications extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     columnId: PropTypes.string, |     columnId: PropTypes.string, | ||||||
|  |  | ||||||
|  | @ -18,9 +18,9 @@ const mapStateToProps = state => ({ | ||||||
|   hasMore: !!state.getIn(['status_lists', 'pins', 'next']), |   hasMore: !!state.getIn(['status_lists', 'pins', 'next']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class PinnedStatuses extends ImmutablePureComponent { | class PinnedStatuses extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -25,9 +25,9 @@ const mapStateToProps = (state, { onlyMedia, columnId }) => { | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class PublicTimeline extends React.PureComponent { | class PublicTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -15,8 +15,8 @@ const mapStateToProps = (state, props) => ({ | ||||||
|   accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]), |   accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| export default class Reblogs extends ImmutablePureComponent { | class Reblogs extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     params: PropTypes.object.isRequired, |     params: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -12,9 +12,9 @@ const messages = defineMessages({ | ||||||
|   title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, |   title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect() | export default @connect() | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class CommunityTimeline extends React.PureComponent { | class CommunityTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -7,8 +7,8 @@ import Column from '../../../components/column'; | ||||||
| import ColumnHeader from '../../../components/column_header'; | import ColumnHeader from '../../../components/column_header'; | ||||||
| import { connectHashtagStream } from '../../../actions/streaming'; | import { connectHashtagStream } from '../../../actions/streaming'; | ||||||
| 
 | 
 | ||||||
| @connect() | export default @connect() | ||||||
| export default class HashtagTimeline extends React.PureComponent { | class HashtagTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -12,9 +12,9 @@ const messages = defineMessages({ | ||||||
|   title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, |   title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect() | export default @connect() | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class PublicTimeline extends React.PureComponent { | class PublicTimeline extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     dispatch: PropTypes.func.isRequired, |     dispatch: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -28,8 +28,8 @@ const messages = defineMessages({ | ||||||
|   embed: { id: 'status.embed', defaultMessage: 'Embed' }, |   embed: { id: 'status.embed', defaultMessage: 'Embed' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ActionBar extends React.PureComponent { | class ActionBar extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -104,9 +104,9 @@ const makeMapStateToProps = () => { | ||||||
|   return mapStateToProps; |   return mapStateToProps; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| @connect(makeMapStateToProps) | @connect(makeMapStateToProps) | ||||||
| export default class Status extends ImmutablePureComponent { | class Status extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ const messages = defineMessages({ | ||||||
|   reblog: { id: 'status.reblog', defaultMessage: 'Boost' }, |   reblog: { id: 'status.reblog', defaultMessage: 'Boost' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class BoostModal extends ImmutablePureComponent { | class BoostModal extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object, |     router: PropTypes.object, | ||||||
|  |  | ||||||
|  | @ -35,8 +35,8 @@ const messages = defineMessages({ | ||||||
| 
 | 
 | ||||||
| const shouldHideFAB = path => path.match(/^\/statuses\//); | const shouldHideFAB = path => path.match(/^\/statuses\//); | ||||||
| 
 | 
 | ||||||
| @component => injectIntl(component, { withRef: true }) | export default @(component => injectIntl(component, { withRef: true })) | ||||||
| export default class ColumnsArea extends ImmutablePureComponent { | class ColumnsArea extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object.isRequired, |     router: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -3,8 +3,8 @@ import PropTypes from 'prop-types'; | ||||||
| import { injectIntl, FormattedMessage } from 'react-intl'; | import { injectIntl, FormattedMessage } from 'react-intl'; | ||||||
| import Button from '../../../components/button'; | import Button from '../../../components/button'; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class ConfirmationModal extends React.PureComponent { | class ConfirmationModal extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     message: PropTypes.node.isRequired, |     message: PropTypes.node.isRequired, | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||||
| import { FormattedMessage, injectIntl } from 'react-intl'; | import { FormattedMessage, injectIntl } from 'react-intl'; | ||||||
| import api from '../../../api'; | import api from '../../../api'; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class EmbedModal extends ImmutablePureComponent { | class EmbedModal extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     url: PropTypes.string.isRequired, |     url: PropTypes.string.isRequired, | ||||||
|  |  | ||||||
|  | @ -19,8 +19,8 @@ const mapDispatchToProps = (dispatch, { id }) => ({ | ||||||
| 
 | 
 | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| export default class FocalPointModal extends ImmutablePureComponent { | class FocalPointModal extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     media: ImmutablePropTypes.map.isRequired, |     media: ImmutablePropTypes.map.isRequired, | ||||||
|  |  | ||||||
|  | @ -18,8 +18,8 @@ const messages = defineMessages({ | ||||||
| 
 | 
 | ||||||
| export const previewState = 'previewMediaModal'; | export const previewState = 'previewMediaModal'; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class MediaModal extends ImmutablePureComponent { | class MediaModal extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     media: ImmutablePropTypes.list.isRequired, |     media: ImmutablePropTypes.list.isRequired, | ||||||
|  |  | ||||||
|  | @ -33,9 +33,9 @@ const mapDispatchToProps = dispatch => { | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps, mapDispatchToProps) | export default @connect(mapStateToProps, mapDispatchToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class MuteModal extends React.PureComponent { | class MuteModal extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     isSubmitting: PropTypes.bool.isRequired, |     isSubmitting: PropTypes.bool.isRequired, | ||||||
|  |  | ||||||
|  | @ -177,9 +177,9 @@ const mapStateToProps = state => ({ | ||||||
|   domain: state.getIn(['meta', 'domain']), |   domain: state.getIn(['meta', 'domain']), | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class OnboardingModal extends React.PureComponent { | class OnboardingModal extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     onClose: PropTypes.func.isRequired, |     onClose: PropTypes.func.isRequired, | ||||||
|  |  | ||||||
|  | @ -37,9 +37,9 @@ const makeMapStateToProps = () => { | ||||||
|   return mapStateToProps; |   return mapStateToProps; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @connect(makeMapStateToProps) | export default @connect(makeMapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| export default class ReportModal extends ImmutablePureComponent { | class ReportModal extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     isSubmitting: PropTypes.bool, |     isSubmitting: PropTypes.bool, | ||||||
|  |  | ||||||
|  | @ -24,9 +24,9 @@ export function getLink (index) { | ||||||
|   return links[index].props.to; |   return links[index].props.to; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| @withRouter | @withRouter | ||||||
| export default class TabsBar extends React.PureComponent { | class TabsBar extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     intl: PropTypes.object.isRequired, |     intl: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -187,10 +187,10 @@ class SwitchingColumnsArea extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @connect(mapStateToProps) | export default @connect(mapStateToProps) | ||||||
| @injectIntl | @injectIntl | ||||||
| @withRouter | @withRouter | ||||||
| export default class UI extends React.PureComponent { | class UI extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static contextTypes = { |   static contextTypes = { | ||||||
|     router: PropTypes.object.isRequired, |     router: PropTypes.object.isRequired, | ||||||
|  |  | ||||||
|  | @ -84,8 +84,8 @@ export const getPointerPosition = (el, event) => { | ||||||
|   return position; |   return position; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @injectIntl | export default @injectIntl | ||||||
| export default class Video extends React.PureComponent { | class Video extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   static propTypes = { |   static propTypes = { | ||||||
|     preview: PropTypes.string, |     preview: PropTypes.string, | ||||||
|  |  | ||||||
							
								
								
									
										65
									
								
								babel.config.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								babel.config.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | ||||||
|  | module.exports = (api) => { | ||||||
|  |   const env = api.env(); | ||||||
|  | 
 | ||||||
|  |   const envOptions = { | ||||||
|  |     debug: false, | ||||||
|  |     loose: true, | ||||||
|  |     modules: false, | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   const config = { | ||||||
|  |     presets: [ | ||||||
|  |       '@babel/react', | ||||||
|  |       ['@babel/env', envOptions], | ||||||
|  |     ], | ||||||
|  |     plugins: [ | ||||||
|  |       '@babel/syntax-dynamic-import', | ||||||
|  |       ['@babel/proposal-object-rest-spread', { useBuiltIns: true }], | ||||||
|  |       ['@babel/proposal-decorators', { legacy: true }], | ||||||
|  |       '@babel/proposal-class-properties', | ||||||
|  |       ['react-intl', { messagesDir: './build/messages' }], | ||||||
|  |       'preval', | ||||||
|  |     ], | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   switch (env) { | ||||||
|  |   case 'production': | ||||||
|  |     envOptions.debug = false; | ||||||
|  |     config.plugins.push(...[ | ||||||
|  |       'lodash', | ||||||
|  |       [ | ||||||
|  |         'transform-react-remove-prop-types', | ||||||
|  |         { | ||||||
|  |           mode: 'remove', | ||||||
|  |           removeImport: true, | ||||||
|  |           additionalLibraries: [ | ||||||
|  |             'react-immutable-proptypes', | ||||||
|  |           ], | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |       '@babel/transform-react-inline-elements', | ||||||
|  |       [ | ||||||
|  |         '@babel/transform-runtime', | ||||||
|  |         { | ||||||
|  |           helpers: true, | ||||||
|  |           regenerator: false, | ||||||
|  |           useESModules: true, | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |     ]); | ||||||
|  |     break; | ||||||
|  |   case 'development': | ||||||
|  |     envOptions.debug = true; | ||||||
|  |     config.plugins.push(...[ | ||||||
|  |       '@babel/transform-react-jsx-source', | ||||||
|  |       '@babel/transform-react-jsx-self', | ||||||
|  |     ]); | ||||||
|  |     break; | ||||||
|  |   case 'test': | ||||||
|  |     envOptions.modules = 'commonjs'; | ||||||
|  |     break; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   return config; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #!/usr/bin/env ruby | #!/usr/bin/env ruby | ||||||
| 
 | 
 | ||||||
| ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" | ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" | ||||||
| ENV["NODE_ENV"]  ||= ENV["NODE_ENV"] || "development" | ENV["NODE_ENV"]  ||= "development" | ||||||
| 
 | 
 | ||||||
| require "pathname" | require "pathname" | ||||||
| ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #!/usr/bin/env ruby | #!/usr/bin/env ruby | ||||||
| 
 | 
 | ||||||
| ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" | ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" | ||||||
| ENV["NODE_ENV"]  ||= ENV["NODE_ENV"] || "development" | ENV["NODE_ENV"]  ||= "development" | ||||||
| 
 | 
 | ||||||
| require "pathname" | require "pathname" | ||||||
| ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ module.exports = { | ||||||
|   exclude: /node_modules/, |   exclude: /node_modules/, | ||||||
|   loader: 'babel-loader', |   loader: 'babel-loader', | ||||||
|   options: { |   options: { | ||||||
|     forceEnv: env, |  | ||||||
|     cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'), |     cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'), | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -69,7 +69,6 @@ module.exports = merge(sharedConfig, { | ||||||
| 
 | 
 | ||||||
|   plugins: [ |   plugins: [ | ||||||
|     new CompressionPlugin({ |     new CompressionPlugin({ | ||||||
|       asset: '[path].gz[query]', |  | ||||||
|       algorithm: compressionAlgorithm, |       algorithm: compressionAlgorithm, | ||||||
|       test: /\.(js|css|html|json|ico|svg|eot|otf|ttf)$/, |       test: /\.(js|css|html|json|ico|svg|eot|otf|ttf)$/, | ||||||
|     }), |     }), | ||||||
|  |  | ||||||
							
								
								
									
										80
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										80
									
								
								package.json
									
										
									
									
									
								
							|  | @ -6,8 +6,8 @@ | ||||||
|   }, |   }, | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "postversion": "git push --tags", |     "postversion": "git push --tags", | ||||||
|     "build:development": "cross-env RAILS_ENV=development ./bin/webpack", |     "build:development": "cross-env RAILS_ENV=development NODE_ENV=development ./bin/webpack", | ||||||
|     "build:production": "cross-env RAILS_ENV=production ./bin/webpack", |     "build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack", | ||||||
|     "manage:translations": "node ./config/webpack/translationRunner.js", |     "manage:translations": "node ./config/webpack/translationRunner.js", | ||||||
|     "start": "node ./streaming/index.js", |     "start": "node ./streaming/index.js", | ||||||
|     "test": "npm-run-all test:lint test:jest", |     "test": "npm-run-all test:lint test:jest", | ||||||
|  | @ -18,32 +18,38 @@ | ||||||
|     "type": "git", |     "type": "git", | ||||||
|     "url": "https://github.com/tootsuite/mastodon.git" |     "url": "https://github.com/tootsuite/mastodon.git" | ||||||
|   }, |   }, | ||||||
|  |   "browserslist": [ | ||||||
|  |     "last 2 versions", | ||||||
|  |     "IE >= 11", | ||||||
|  |     "iOS >= 9" | ||||||
|  |   ], | ||||||
|   "private": true, |   "private": true, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|  |     "@babel/core": "^7.0.1", | ||||||
|  |     "@babel/plugin-proposal-class-properties": "^7.0.0", | ||||||
|  |     "@babel/plugin-proposal-decorators": "^7.0.0", | ||||||
|  |     "@babel/plugin-proposal-object-rest-spread": "^7.0.0", | ||||||
|  |     "@babel/plugin-syntax-dynamic-import": "^7.0.0", | ||||||
|  |     "@babel/plugin-transform-react-inline-elements": "^7.0.0", | ||||||
|  |     "@babel/plugin-transform-react-jsx-self": "^7.0.0", | ||||||
|  |     "@babel/plugin-transform-react-jsx-source": "^7.0.0", | ||||||
|  |     "@babel/plugin-transform-runtime": "^7.0.0", | ||||||
|  |     "@babel/preset-env": "^7.0.0", | ||||||
|  |     "@babel/preset-react": "^7.0.0", | ||||||
|  |     "@babel/runtime": "^7.0.0", | ||||||
|     "array-includes": "^3.0.3", |     "array-includes": "^3.0.3", | ||||||
|     "autoprefixer": "^8.6.5", |     "autoprefixer": "^8.6.5", | ||||||
|     "axios": "~0.16.2", |     "axios": "~0.16.2", | ||||||
|     "babel-core": "^6.26.3", |     "babel-core": "^7.0.0-bridge.0", | ||||||
|     "babel-loader": "^7.1.5", |     "babel-loader": "^8.0.2", | ||||||
|     "babel-plugin-lodash": "^3.3.4", |     "babel-plugin-lodash": "^3.3.4", | ||||||
|     "babel-plugin-preval": "^1.6.1", |     "babel-plugin-preval": "^3.0.1", | ||||||
|     "babel-plugin-react-intl": "^2.4.0", |     "babel-plugin-react-intl": "^3.0.0", | ||||||
|     "babel-plugin-syntax-dynamic-import": "^6.18.0", |     "babel-plugin-transform-react-remove-prop-types": "^0.4.15", | ||||||
|     "babel-plugin-transform-class-properties": "^6.24.1", |  | ||||||
|     "babel-plugin-transform-decorators-legacy": "^1.3.5", |  | ||||||
|     "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", |  | ||||||
|     "babel-plugin-transform-object-rest-spread": "^6.23.0", |  | ||||||
|     "babel-plugin-transform-react-inline-elements": "^6.22.0", |  | ||||||
|     "babel-plugin-transform-react-jsx-self": "^6.22.0", |  | ||||||
|     "babel-plugin-transform-react-jsx-source": "^6.22.0", |  | ||||||
|     "babel-plugin-transform-react-remove-prop-types": "^0.4.13", |  | ||||||
|     "babel-plugin-transform-runtime": "^6.23.0", |  | ||||||
|     "babel-preset-env": "^1.7.0", |  | ||||||
|     "babel-preset-react": "^6.24.1", |  | ||||||
|     "classnames": "^2.2.5", |     "classnames": "^2.2.5", | ||||||
|     "compression-webpack-plugin": "^1.1.11", |     "compression-webpack-plugin": "^2.0.0", | ||||||
|     "cross-env": "^5.1.4", |     "cross-env": "^5.1.4", | ||||||
|     "css-loader": "^0.28.11", |     "css-loader": "^1.0.0", | ||||||
|     "detect-passive-events": "^1.0.2", |     "detect-passive-events": "^1.0.2", | ||||||
|     "dotenv": "^4.0.0", |     "dotenv": "^4.0.0", | ||||||
|     "emoji-mart": "Gargron/emoji-mart#build", |     "emoji-mart": "Gargron/emoji-mart#build", | ||||||
|  | @ -51,9 +57,10 @@ | ||||||
|     "escape-html": "^1.0.3", |     "escape-html": "^1.0.3", | ||||||
|     "exif-js": "^2.3.0", |     "exif-js": "^2.3.0", | ||||||
|     "express": "^4.16.2", |     "express": "^4.16.2", | ||||||
|     "file-loader": "^1.1.11", |     "file-loader": "^2.0.0", | ||||||
|     "font-awesome": "^4.7.0", |     "font-awesome": "^4.7.0", | ||||||
|     "glob": "^7.1.1", |     "glob": "^7.1.1", | ||||||
|  |     "history": "^4.7.2", | ||||||
|     "http-link-header": "^0.8.0", |     "http-link-header": "^0.8.0", | ||||||
|     "immutable": "^3.8.2", |     "immutable": "^3.8.2", | ||||||
|     "imports-loader": "^0.8.0", |     "imports-loader": "^0.8.0", | ||||||
|  | @ -66,7 +73,7 @@ | ||||||
|     "lodash": "^4.17.5", |     "lodash": "^4.17.5", | ||||||
|     "mark-loader": "^0.1.6", |     "mark-loader": "^0.1.6", | ||||||
|     "marky": "^1.2.0", |     "marky": "^1.2.0", | ||||||
|     "mini-css-extract-plugin": "^0.4.1", |     "mini-css-extract-plugin": "^0.4.2", | ||||||
|     "mkdirp": "^0.5.1", |     "mkdirp": "^0.5.1", | ||||||
|     "node-sass": "^4.9.2", |     "node-sass": "^4.9.2", | ||||||
|     "npm-run-all": "^4.1.2", |     "npm-run-all": "^4.1.2", | ||||||
|  | @ -77,28 +84,28 @@ | ||||||
|     "offline-plugin": "^5.0.5", |     "offline-plugin": "^5.0.5", | ||||||
|     "path-complete-extname": "^1.0.0", |     "path-complete-extname": "^1.0.0", | ||||||
|     "pg": "^6.4.0", |     "pg": "^6.4.0", | ||||||
|     "postcss-loader": "^2.1.6", |     "postcss-loader": "^3.0.0", | ||||||
|     "postcss-object-fit-images": "^1.1.2", |     "postcss-object-fit-images": "^1.1.2", | ||||||
|     "postcss-smart-import": "^0.7.6", |     "postcss-smart-import": "^0.7.6", | ||||||
|     "precss": "^3.1.2", |     "precss": "^3.1.2", | ||||||
|     "prop-types": "^15.5.10", |     "prop-types": "^15.5.10", | ||||||
|     "punycode": "^2.1.0", |     "punycode": "^2.1.0", | ||||||
|     "rails-ujs": "^5.2.0", |     "rails-ujs": "^5.2.0", | ||||||
|     "react": "^16.3.0", |     "react": "^16.5.0", | ||||||
|     "react-dom": "^16.3.0", |     "react-dom": "^16.5.0", | ||||||
|     "react-hotkeys": "^0.10.0", |     "react-hotkeys": "^0.10.0", | ||||||
|     "react-immutable-proptypes": "^2.1.0", |     "react-immutable-proptypes": "^2.1.0", | ||||||
|     "react-immutable-pure-component": "^1.1.1", |     "react-immutable-pure-component": "^1.1.1", | ||||||
|     "react-intl": "^2.4.0", |     "react-intl": "^2.4.0", | ||||||
|     "react-motion": "^0.5.2", |     "react-motion": "^0.5.2", | ||||||
|     "react-notification": "^6.8.2", |     "react-notification": "^6.8.4", | ||||||
|     "react-overlays": "^0.8.3", |     "react-overlays": "^0.8.3", | ||||||
|     "react-redux": "^5.0.4", |     "react-redux": "^5.0.4", | ||||||
|     "react-redux-loading-bar": "^2.9.3", |     "react-redux-loading-bar": "^2.9.3", | ||||||
|     "react-router-dom": "^4.1.1", |     "react-router-dom": "^4.1.1", | ||||||
|     "react-router-scroll-4": "^1.0.0-beta.1", |     "react-router-scroll-4": "^1.0.0-beta.1", | ||||||
|     "react-sparklines": "^1.7.0", |     "react-sparklines": "^1.7.0", | ||||||
|     "react-swipeable-views": "0.12.13", |     "react-swipeable-views": "^0.12.17", | ||||||
|     "react-textarea-autosize": "^5.2.1", |     "react-textarea-autosize": "^5.2.1", | ||||||
|     "react-toggle": "^4.0.1", |     "react-toggle": "^4.0.1", | ||||||
|     "redis": "^2.7.1", |     "redis": "^2.7.1", | ||||||
|  | @ -111,34 +118,35 @@ | ||||||
|     "rimraf": "^2.6.1", |     "rimraf": "^2.6.1", | ||||||
|     "sass-loader": "^7.0.3", |     "sass-loader": "^7.0.3", | ||||||
|     "stringz": "^0.3.0", |     "stringz": "^0.3.0", | ||||||
|     "style-loader": "^0.21.0", |     "style-loader": "^0.23.0", | ||||||
|     "substring-trie": "^1.0.2", |     "substring-trie": "^1.0.2", | ||||||
|     "throng": "^4.0.0", |     "throng": "^4.0.0", | ||||||
|     "tiny-queue": "^0.2.1", |     "tiny-queue": "^0.2.1", | ||||||
|     "uglifyjs-webpack-plugin": "^1.2.7", |     "uglifyjs-webpack-plugin": "^1.2.7", | ||||||
|     "uuid": "^3.1.0", |     "uuid": "^3.1.0", | ||||||
|     "uws": "10.148.0", |     "uws": "10.148.0", | ||||||
|     "webpack": "^4.16.0", |     "webpack": "^4.18.0", | ||||||
|     "webpack-bundle-analyzer": "^2.13.1", |     "webpack-bundle-analyzer": "^2.13.1", | ||||||
|     "webpack-cli": "^3.0.8", |     "webpack-cli": "^3.0.8", | ||||||
|     "webpack-manifest-plugin": "^2.0.3", |     "webpack-manifest-plugin": "^2.0.4", | ||||||
|     "webpack-merge": "^4.1.3", |     "webpack-merge": "^4.1.3", | ||||||
|     "websocket.js": "^0.1.12" |     "websocket.js": "^0.1.12" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "babel-eslint": "^8.2.6", |     "babel-eslint": "^9.0.0", | ||||||
|     "enzyme": "^3.2.0", |     "babel-jest": "^23.6.0", | ||||||
|     "enzyme-adapter-react-16": "^1.1.0", |     "enzyme": "^3.6.0", | ||||||
|  |     "enzyme-adapter-react-16": "^1.5.0", | ||||||
|     "eslint": "^4.19.1", |     "eslint": "^4.19.1", | ||||||
|     "eslint-plugin-import": "^2.8.0", |     "eslint-plugin-import": "^2.8.0", | ||||||
|     "eslint-plugin-jsx-a11y": "^6.0.3", |     "eslint-plugin-jsx-a11y": "^6.0.3", | ||||||
|     "eslint-plugin-promise": "^3.8.0", |     "eslint-plugin-promise": "^3.8.0", | ||||||
|     "eslint-plugin-react": "^7.8.2", |     "eslint-plugin-react": "^7.8.2", | ||||||
|     "jest": "^21.2.1", |     "jest": "^23.6.0", | ||||||
|     "raf": "^3.4.0", |     "raf": "^3.4.0", | ||||||
|     "react-intl-translations-manager": "^5.0.3", |     "react-intl-translations-manager": "^5.0.3", | ||||||
|     "react-test-renderer": "^16.2.0", |     "react-test-renderer": "^16.5.0", | ||||||
|     "webpack-dev-server": "^3.1.4", |     "webpack-dev-server": "^3.1.8", | ||||||
|     "yargs": "^8.0.2" |     "yargs": "^8.0.2" | ||||||
|   }, |   }, | ||||||
|   "optionalDependencies": { |   "optionalDependencies": { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue