Improve eslint rules (#3147)

* Add semi to ESLint rules

* Add padded-blocks to ESLint rules

* Add comma-dangle to ESLint rules

* add config/webpack and storyboard

* add streaming/

* yarn test:lint -- --fix
This commit is contained in:
Yamagishi Kazutoshi
2017-05-21 00:31:47 +09:00
committed by Eugen Rochko
parent 812fe90eca
commit 2e112e2406
170 changed files with 919 additions and 904 deletions

View File

@ -7,7 +7,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
class AutosuggestAccount extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired
account: ImmutablePropTypes.map.isRequired,
};
render () {

View File

@ -6,7 +6,7 @@ class CharacterCounter extends React.PureComponent {
static propTypes = {
text: PropTypes.string.isRequired,
max: PropTypes.number.isRequired
max: PropTypes.number.isRequired,
};
checkRemainingText (diff) {

View File

@ -53,7 +53,7 @@ class ComposeForm extends ImmutablePureComponent {
};
static defaultProps = {
showSearch: false
showSearch: false,
};
handleChange = (e) => {

View File

@ -13,13 +13,13 @@ const messages = defineMessages({
travel: { id: 'emoji_button.travel', defaultMessage: 'Travel & Places' },
objects: { id: 'emoji_button.objects', defaultMessage: 'Objects' },
symbols: { id: 'emoji_button.symbols', defaultMessage: 'Symbols' },
flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' }
flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },
});
const settings = {
imageType: 'png',
sprites: false,
imagePathPNG: '/emoji/'
imagePathPNG: '/emoji/',
};
let EmojiPicker; // load asynchronously
@ -28,12 +28,12 @@ class EmojiPickerDropdown extends React.PureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
onPickEmoji: PropTypes.func.isRequired
onPickEmoji: PropTypes.func.isRequired,
};
state = {
active: false,
loading: false
loading: false,
};
setRef = (c) => {
@ -98,8 +98,8 @@ class EmojiPickerDropdown extends React.PureComponent {
flags: {
title: intl.formatMessage(messages.flags),
emoji: 'flag_gb',
}
}
},
};
const { active, loading } = this.state;

View File

@ -11,7 +11,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
class NavigationBar extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired
account: ImmutablePropTypes.map.isRequired,
};
render () {

View File

@ -12,24 +12,24 @@ const messages = defineMessages({
private_long: { id: 'privacy.private.long', defaultMessage: 'Post to followers only' },
direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },
direct_long: { id: 'privacy.direct.long', defaultMessage: 'Post to mentioned users only' },
change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' }
change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },
});
const iconStyle = {
height: null,
lineHeight: '27px'
}
lineHeight: '27px',
};
class PrivacyDropdown extends React.PureComponent {
static propTypes = {
value: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
state = {
open: false
open: false,
};
handleToggle = () => {
@ -71,7 +71,7 @@ class PrivacyDropdown extends React.PureComponent {
{ icon: 'globe', value: 'public', shortText: intl.formatMessage(messages.public_short), longText: intl.formatMessage(messages.public_long) },
{ icon: 'unlock-alt', value: 'unlisted', shortText: intl.formatMessage(messages.unlisted_short), longText: intl.formatMessage(messages.unlisted_long) },
{ icon: 'lock', value: 'private', shortText: intl.formatMessage(messages.private_short), longText: intl.formatMessage(messages.private_long) },
{ icon: 'envelope', value: 'direct', shortText: intl.formatMessage(messages.direct_short), longText: intl.formatMessage(messages.direct_long) }
{ icon: 'envelope', value: 'direct', shortText: intl.formatMessage(messages.direct_short), longText: intl.formatMessage(messages.direct_long) },
];
const valueOption = options.find(item => item.value === value);

View File

@ -9,19 +9,19 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
});
class ReplyIndicator extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object
router: PropTypes.object,
};
static propTypes = {
status: ImmutablePropTypes.map,
onCancel: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
handleClick = () => {

View File

@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
const messages = defineMessages({
placeholder: { id: 'search.placeholder', defaultMessage: 'Search' }
placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },
});
class Search extends React.PureComponent {
@ -15,7 +15,7 @@ class Search extends React.PureComponent {
onSubmit: PropTypes.func.isRequired,
onClear: PropTypes.func.isRequired,
onShow: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
handleChange = (e) => {

View File

@ -9,7 +9,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
class SearchResults extends ImmutablePureComponent {
static propTypes = {
results: ImmutablePropTypes.map.isRequired
results: ImmutablePropTypes.map.isRequired,
};
render () {

View File

@ -8,7 +8,7 @@ class TextIconButton extends React.PureComponent {
title: PropTypes.string,
active: PropTypes.bool,
onClick: PropTypes.func.isRequired,
ariaControls: PropTypes.string
ariaControls: PropTypes.string,
};
handleClick = (e) => {

View File

@ -5,7 +5,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
const messages = defineMessages({
upload: { id: 'upload_button.label', defaultMessage: 'Add media' }
upload: { id: 'upload_button.label', defaultMessage: 'Add media' },
});
const makeMapStateToProps = () => {
@ -14,12 +14,12 @@ const makeMapStateToProps = () => {
});
return mapStateToProps;
}
};
const iconStyle = {
height: null,
lineHeight: '27px'
}
lineHeight: '27px',
};
class UploadButton extends React.PureComponent {
@ -29,7 +29,7 @@ class UploadButton extends React.PureComponent {
style: PropTypes.object,
resetFileKey: PropTypes.number,
acceptContentTypes: PropTypes.arrayOf(PropTypes.string).isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
handleChange = (e) => {

View File

@ -8,7 +8,7 @@ import Motion from 'react-motion/lib/Motion';
import spring from 'react-motion/lib/spring';
const messages = defineMessages({
undo: { id: 'upload_form.undo', defaultMessage: 'Undo' }
undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },
});
class UploadForm extends React.PureComponent {
@ -16,7 +16,7 @@ class UploadForm extends React.PureComponent {
static propTypes = {
media: ImmutablePropTypes.list.isRequired,
onRemoveFile: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
onRemoveFile = (e) => {

View File

@ -8,7 +8,7 @@ class UploadProgress extends React.PureComponent {
static propTypes = {
active: PropTypes.bool,
progress: PropTypes.number
progress: PropTypes.number,
};
render () {

View File

@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
class Warning extends React.PureComponent {
static propTypes = {
message: PropTypes.node.isRequired
message: PropTypes.node.isRequired,
};
render () {

View File

@ -6,7 +6,7 @@ const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
const mapStateToProps = (state, { id }) => ({
account: getAccount(state, id)
account: getAccount(state, id),
});
return mapStateToProps;

View File

@ -6,7 +6,7 @@ const makeMapStateToProps = () => {
const getStatus = makeGetStatus();
const mapStateToProps = (state, { id }) => ({
status: getStatus(state, id)
status: getStatus(state, id),
});
return mapStateToProps;

View File

@ -8,7 +8,7 @@ import {
fetchComposeSuggestions,
selectComposeSuggestion,
changeComposeSpoilerText,
insertEmojiCompose
insertEmojiCompose,
} from '../../../actions/compose';
const mapStateToProps = state => ({
@ -23,7 +23,7 @@ const mapStateToProps = state => ({
is_submitting: state.getIn(['compose', 'is_submitting']),
is_uploading: state.getIn(['compose', 'is_uploading']),
me: state.getIn(['compose', 'me']),
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
});
const mapDispatchToProps = (dispatch) => ({

View File

@ -3,7 +3,7 @@ import NavigationBar from '../components/navigation_bar';
const mapStateToProps = (state, props) => {
return {
account: state.getIn(['accounts', state.getIn(['meta', 'me'])])
account: state.getIn(['accounts', state.getIn(['meta', 'me'])]),
};
};

View File

@ -3,14 +3,14 @@ import PrivacyDropdown from '../components/privacy_dropdown';
import { changeComposeVisibility } from '../../../actions/compose';
const mapStateToProps = state => ({
value: state.getIn(['compose', 'privacy'])
value: state.getIn(['compose', 'privacy']),
});
const mapDispatchToProps = dispatch => ({
onChange (value) {
dispatch(changeComposeVisibility(value));
}
},
});

View File

@ -17,7 +17,7 @@ const mapDispatchToProps = dispatch => ({
onCancel () {
dispatch(cancelReplyCompose());
}
},
});

View File

@ -3,13 +3,13 @@ import {
changeSearch,
clearSearch,
submitSearch,
showSearch
showSearch,
} from '../../../actions/search';
import Search from '../components/search';
const mapStateToProps = state => ({
value: state.getIn(['search', 'value']),
submitted: state.getIn(['search', 'submitted'])
submitted: state.getIn(['search', 'submitted']),
});
const mapDispatchToProps = dispatch => ({
@ -28,7 +28,7 @@ const mapDispatchToProps = dispatch => ({
onShow () {
dispatch(showSearch());
}
},
});

View File

@ -2,7 +2,7 @@ import { connect } from 'react-redux';
import SearchResults from '../components/search_results';
const mapStateToProps = state => ({
results: state.getIn(['search', 'results'])
results: state.getIn(['search', 'results']),
});
export default connect(mapStateToProps)(SearchResults);

View File

@ -8,19 +8,19 @@ import spring from 'react-motion/lib/spring';
import { injectIntl, defineMessages } from 'react-intl';
const messages = defineMessages({
title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media as sensitive' }
title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media as sensitive' },
});
const mapStateToProps = state => ({
visible: state.getIn(['compose', 'media_attachments']).size > 0,
active: state.getIn(['compose', 'sensitive'])
active: state.getIn(['compose', 'sensitive']),
});
const mapDispatchToProps = dispatch => ({
onClick () {
dispatch(changeComposeSensitivity());
}
},
});
@ -30,7 +30,7 @@ class SensitiveButton extends React.PureComponent {
visible: PropTypes.bool,
active: PropTypes.bool,
onClick: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
render () {

View File

@ -4,21 +4,21 @@ import { changeComposeSpoilerness } from '../../../actions/compose';
import { injectIntl, defineMessages } from 'react-intl';
const messages = defineMessages({
title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' }
title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' },
});
const mapStateToProps = (state, { intl }) => ({
label: 'CW',
title: intl.formatMessage(messages.title),
active: state.getIn(['compose', 'spoiler']),
ariaControls: 'cw-spoiler-input'
ariaControls: 'cw-spoiler-input',
});
const mapDispatchToProps = dispatch => ({
onClick () {
dispatch(changeComposeSpoilerness());
}
},
});

View File

@ -4,14 +4,14 @@ import { uploadCompose } from '../../../actions/compose';
const mapStateToProps = state => ({
disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),
resetFileKey: state.getIn(['compose', 'resetFileKey'])
resetFileKey: state.getIn(['compose', 'resetFileKey']),
});
const mapDispatchToProps = dispatch => ({
onSelectFile (files) {
dispatch(uploadCompose(files));
}
},
});

View File

@ -10,7 +10,7 @@ const mapDispatchToProps = dispatch => ({
onRemoveFile (media_id) {
dispatch(undoUploadCompose(media_id));
}
},
});

View File

@ -3,7 +3,7 @@ import UploadProgress from '../components/upload_progress';
const mapStateToProps = (state, props) => ({
active: state.getIn(['compose', 'is_uploading']),
progress: state.getIn(['compose', 'progress'])
progress: state.getIn(['compose', 'progress']),
});
export default connect(mapStateToProps)(UploadProgress);

View File

@ -20,7 +20,7 @@ const mapStateToProps = state => {
return {
needsLeakWarning: (state.getIn(['compose', 'privacy']) === 'private' || state.getIn(['compose', 'privacy']) === 'direct') && mentionedUsernames !== null,
mentionedDomains: mentionedUsernamesWithDomains,
needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', state.getIn(['meta', 'me']), 'locked'])
needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', state.getIn(['meta', 'me']), 'locked']),
};
};

View File

@ -17,11 +17,11 @@ const messages = defineMessages({
public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },
community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' }
logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
});
const mapStateToProps = state => ({
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
});
class Compose extends React.PureComponent {
@ -30,7 +30,7 @@ class Compose extends React.PureComponent {
dispatch: PropTypes.func.isRequired,
withHeader: PropTypes.bool,
showSearch: PropTypes.bool,
intl: PropTypes.object.isRequired
intl: PropTypes.object.isRequired,
};
componentDidMount () {