Fixed eslint errors and re-enabled build.sh check (#150)

* Fixed eslint errors and re-enabled build.sh check

* Corrected typo

* Corrected typo

* Disabled max-params on files with warnings

* Fixes for PR comments

* Fixes for PR comments

* Fixes for PR comments

* Fixes for PR comments

* Fixes for PR comments

* Fixes for PR comments
pull/152/head
Tynan CR 6 years ago committed by Qstick
parent 8116e66d52
commit 9d00a17ade

@ -87,7 +87,7 @@ ProgressEnd()
LintUI()
{
ProgressStart 'ESLint'
# CheckExitCode yarn eslint
CheckExitCode yarn eslint
ProgressEnd 'ESLint'
ProgressStart 'Stylelint'

@ -177,7 +177,7 @@
"no-undef": "error",
"no-undef-init": "off",
"no-undefined": "off",
"no-unused-vars": ["error", { "args": "none" }],
"no-unused-vars": ["warn", { "args": "none" }],
"no-use-before-define": "error",
# Node.js and CommonJS
@ -209,7 +209,7 @@
"lines-around-comment": ["error", { "beforeBlockComment": true, "afterBlockComment": false }],
"max-depth": ["error", {"maximum": 5}],
"max-nested-callbacks": ["error", 4],
"max-params": ["error", 4],
"max-params": ["warn", 4],
"max-statements": "off",
"max-statements-per-line": ["error", { "max": 1 }],
"new-cap": ["error", {"capIsNewExceptions": ["$.Deferred"]}],

@ -36,7 +36,7 @@ class BlacklistConnector extends Component {
// Lifecycle
componentDidMount() {
registerPagePopulator(this.repopulate);
registerPagePopulator(this.repopulate);
this.props.gotoBlacklistFirstPage();
}

@ -137,7 +137,7 @@ class Queue extends Component {
isPendingSelected
} = this.state;
const isRefreshing = isFetching || isAlbumsFetching || isCheckForFinishedDownloadExecuting;
const isRefreshing = isFetching || isAlbumsFetching || isCheckForFinishedDownloadExecuting;
const isAllPopulated = isPopulated && (isAlbumsPopulated || !items.length);
const hasError = error || episodesError;
const selectedCount = this.getSelectedIds().length;

@ -10,7 +10,6 @@ import TableSelectCell from 'Components/Table/Cells/TableSelectCell';
import ProtocolLabel from 'Activity/Queue/ProtocolLabel';
import EpisodeTitleLink from 'Album/EpisodeTitleLink';
import EpisodeQuality from 'Album/EpisodeQuality';
import SeasonEpisodeNumber from 'Album/SeasonEpisodeNumber';
import InteractiveImportModal from 'InteractiveImport/InteractiveImportModal';
import ArtistNameLink from 'Artist/ArtistNameLink';
import QueueStatusCell from './QueueStatusCell';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';

@ -1,7 +1,6 @@
import moment from 'moment';
import PropTypes from 'prop-types';
import React from 'react';
import formatTime from 'Utilities/Date/formatTime';
import isInNextWeek from 'Utilities/Date/isInNextWeek';
import isToday from 'Utilities/Date/isToday';
import isTomorrow from 'Utilities/Date/isTomorrow';
@ -13,8 +12,7 @@ function EpisodeAiring(props) {
releaseDate,
albumLabel,
shortDateFormat,
showRelativeDates,
timeFormat
showRelativeDates
} = props;
const networkLabel = (
@ -77,8 +75,7 @@ EpisodeAiring.propTypes = {
releaseDate: PropTypes.string.isRequired,
albumLabel: PropTypes.arrayOf(PropTypes.string).isRequired,
shortDateFormat: PropTypes.string.isRequired,
showRelativeDates: PropTypes.bool.isRequired,
timeFormat: PropTypes.string.isRequired
showRelativeDates: PropTypes.bool.isRequired
};
export default EpisodeAiring;

@ -10,8 +10,7 @@ function createMapStateToProps() {
(uiSettings) => {
return _.pick(uiSettings, [
'shortDateFormat',
'showRelativeDates',
'timeFormat'
'showRelativeDates'
]);
}
);

@ -1,12 +1,9 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import formatBytes from 'Utilities/Number/formatBytes';
import { icons, kinds, sizes } from 'Helpers/Props';
import IconButton from 'Components/Link/IconButton';
import { kinds, sizes } from 'Helpers/Props';
import ConfirmModal from 'Components/Modal/ConfirmModal';
import Label from 'Components/Label';
import QualityProfileNameConnector from 'Settings/Profiles/Quality/QualityProfileNameConnector';
import EpisodeQuality from 'Album/EpisodeQuality';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import EpisodeAiringConnector from './EpisodeAiringConnector';

@ -14,14 +14,15 @@ function createMapStateToProps() {
createEpisodeSelector(),
createCommandsSelector(),
createDimensionsSelector(),
(tracks, episode, commands, dimensions) => {
createArtistSelector(),
(tracks, episode, commands, dimensions, artist) => {
const filteredItems = _.filter(tracks.items, { albumId: episode.id });
const mediumSortedItems = _.orderBy(filteredItems, 'absoluteTrackNumber');
const items = _.orderBy(mediumSortedItems, 'mediumNumber');
return {
network: episode.label,
qualityProfileId: episode.profileId,
qualityProfileId: artist.qualityProfileId,
releaseDate: episode.releaseDate,
overview: episode.overview,
items,

@ -1,7 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import classNames from 'classnames';
import padNumber from 'Utilities/Number/padNumber';
import MonitorToggleButton from 'Components/MonitorToggleButton';
import styles from './AlbumStudioAlbum.css';

@ -211,7 +211,6 @@ AlbumRow.propTypes = {
artistMonitored: PropTypes.bool.isRequired,
statistics: PropTypes.object.isRequired,
mediaInfo: PropTypes.object,
alternateTitles: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
onMonitorAlbumPress: PropTypes.func.isRequired
};

@ -14,13 +14,10 @@ function createMapStateToProps() {
createTrackFileSelector(),
createCommandsSelector(),
(id, sceneSeasonNumber, artist, trackFile, commands) => {
const alternateTitles = sceneSeasonNumber ? _.filter(artist.alternateTitles, { sceneSeasonNumber }) : [];
return {
artistMonitored: artist.monitored,
trackFilePath: trackFile ? trackFile.path : null,
trackFileRelativePath: trackFile ? trackFile.relativePath : null,
alternateTitles
trackFileRelativePath: trackFile ? trackFile.relativePath : null
};
}
);

@ -187,7 +187,6 @@ class ArtistDetails extends Component {
overview,
links,
images,
albums,
alternateTitles,
tags,
isRefreshing,
@ -595,7 +594,6 @@ ArtistDetails.propTypes = {
overview: PropTypes.string.isRequired,
links: PropTypes.arrayOf(PropTypes.object).isRequired,
images: PropTypes.arrayOf(PropTypes.object).isRequired,
albums: PropTypes.arrayOf(PropTypes.object).isRequired,
alternateTitles: PropTypes.arrayOf(PropTypes.string).isRequired,
tags: PropTypes.arrayOf(PropTypes.number).isRequired,
isRefreshing: PropTypes.bool.isRequired,

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';

@ -43,7 +43,7 @@ function ArtistDetailsLinks(props) {
</Label>
</Link>
{(index > 0 && index % 5 === 0) &&
<br></br>
<br />
}
</span>

@ -2,18 +2,11 @@ import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import isAfter from 'Utilities/Date/isAfter';
import isBefore from 'Utilities/Date/isBefore';
import getToggledRange from 'Utilities/Table/getToggledRange';
import { align, icons, kinds, sizes } from 'Helpers/Props';
import { icons } from 'Helpers/Props';
import Icon from 'Components/Icon';
import IconButton from 'Components/Link/IconButton';
import Link from 'Components/Link/Link';
import SpinnerIcon from 'Components/SpinnerIcon';
import SpinnerIconButton from 'Components/Link/SpinnerIconButton';
import Menu from 'Components/Menu/Menu';
import MenuButton from 'Components/Menu/MenuButton';
import MenuContent from 'Components/Menu/MenuContent';
import MenuItem from 'Components/Menu/MenuItem';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import TrackFileEditorModal from 'TrackFile/Editor/TrackFileEditorModal';
@ -119,13 +112,10 @@ class ArtistDetailsSeason extends Component {
label,
items,
columns,
isSaving,
isExpanded,
isSearching,
artistMonitored,
isSmallScreen,
onTableOptionChange,
onSearchPress
onTableOptionChange
} = this.props;
const {
@ -237,15 +227,12 @@ ArtistDetailsSeason.propTypes = {
label: PropTypes.string.isRequired,
items: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
isSaving: PropTypes.bool,
isExpanded: PropTypes.bool,
isSearching: PropTypes.bool.isRequired,
artistMonitored: PropTypes.bool.isRequired,
isSmallScreen: PropTypes.bool.isRequired,
onTableOptionChange: PropTypes.func.isRequired,
onExpandPress: PropTypes.func.isRequired,
onMonitorAlbumPress: PropTypes.func.isRequired,
onSearchPress: PropTypes.func.isRequired
onMonitorAlbumPress: PropTypes.func.isRequired
};
export default ArtistDetailsSeason;

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
@ -20,11 +21,6 @@ function createMapStateToProps() {
createCommandsSelector(),
createDimensionsSelector(),
(label, episodes, artist, commands, dimensions) => {
const isSearching = !!findCommand(commands, {
name: commandNames.SEASON_SEARCH,
artistId: artist.id,
label
});
const episodesInSeason = _.filter(episodes.items, { albumType: label });
const sortedEpisodes = _.orderBy(episodesInSeason, 'releaseDate', 'desc');
@ -32,7 +28,6 @@ function createMapStateToProps() {
return {
items: sortedEpisodes,
columns: episodes.columns,
isSearching,
artistMonitored: artist.monitored,
isSmallScreen: dimensions.isSmallScreen
};
@ -55,17 +50,6 @@ class ArtistDetailsSeasonConnector extends Component {
this.props.setEpisodesTableOption(payload);
}
onSearchPress = () => {
const {
artistId
} = this.props;
this.props.executeCommand({
name: commandNames.SEASON_SEARCH,
artistId
});
}
onMonitorAlbumPress = (albumIds, monitored) => {
this.props.toggleEpisodesMonitored({
albumIds,
@ -81,8 +65,6 @@ class ArtistDetailsSeasonConnector extends Component {
<ArtistDetailsSeason
{...this.props}
onTableOptionChange={this.onTableOptionChange}
onMonitorSeasonPress={this.onMonitorSeasonPress}
onSearchPress={this.onSearchPress}
onMonitorAlbumPress={this.onMonitorAlbumPress}
/>
);

@ -1,7 +1,6 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import titleCase from 'Utilities/String/titleCase';
import TagListConnector from 'Components/TagListConnector';
import CheckInput from 'Components/Form/CheckInput';
import TableRow from 'Components/Table/TableRow';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import PropTypes from 'prop-types';
import React from 'react';
import getRelativeDate from 'Utilities/Date/getRelativeDate';

@ -300,7 +300,7 @@ class ArtistIndexPosters extends Component {
/>
);
}
}
}
</WindowScroller>
</Measure>
);

@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import classNames from 'classnames';
import formatTime from 'Utilities/Date/formatTime';
import padNumber from 'Utilities/Number/padNumber';
import { icons } from 'Helpers/Props';
import getStatusStyle from 'Calendar/getStatusStyle';
import Icon from 'Components/Icon';

@ -28,7 +28,8 @@ function CalendarDay(props) {
styles.dayOfMonth,
isTodaysDate && styles.isToday,
!moment(date).isSame(moment(time), 'month') && styles.isDifferentMonth
)}>
)}
>
{moment(date).date()}
</div>
}

@ -3,8 +3,6 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import classNames from 'classnames';
import { icons } from 'Helpers/Props';
import formatTime from 'Utilities/Date/formatTime';
import padNumber from 'Utilities/Number/padNumber';
import getStatusStyle from 'Calendar/getStatusStyle';
import episodeEntities from 'Album/episodeEntities';
import Icon from 'Components/Icon';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import moment from 'moment';
import PropTypes from 'prop-types';
import React, { Component } from 'react';

@ -59,7 +59,6 @@ class PageHeader extends Component {
</Link>
</div>
<div className={styles.sidebarToggleContainer}>
<IconButton
id="sidebar-toggle-button"

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import CheckInput from 'Components/Form/CheckInput';

@ -75,4 +75,6 @@ TableOptionsColumnDragPreview.propTypes = {
})
};
/* eslint-disable new-cap */
export default DragLayer(collectDragLayer)(TableOptionsColumnDragPreview);
/* eslint-enable new-cap */

@ -153,6 +153,7 @@ TableOptionsColumnDragSource.propTypes = {
onColumnDragEnd: PropTypes.func.isRequired
};
/* eslint-disable new-cap */
export default DropTarget(
TABLE_COLUMN,
columnDropTarget,
@ -162,3 +163,4 @@ export default DropTarget(
columnDragSource,
collectDragSource
)(TableOptionsColumnDragSource));
/* eslint-enable new-cap */

@ -239,4 +239,6 @@ TableOptionsModal.defaultProps = {
canModifyColumns: true
};
/* eslint-disable new-cap */
export default DragDropContext(HTML5Backend)(TableOptionsModal);
/* eslint-enable new-cap */

@ -145,7 +145,7 @@ class Tooltip extends Component {
}
Tooltip.propTypes = {
className: PropTypes.string,
className: PropTypes.string,
anchor: PropTypes.node.isRequired,
tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
kind: PropTypes.oneOf([kinds.DEFAULT, kinds.INVERSE]),

@ -95,9 +95,9 @@ SelectTrackModalContentConnector.propTypes = {
};
export default connectSection(
createMapStateToProps,
mapDispatchToProps,
undefined,
undefined,
{ section: 'tracks' }
)(SelectTrackModalContentConnector);
createMapStateToProps,
mapDispatchToProps,
undefined,
undefined,
{ section: 'tracks' }
)(SelectTrackModalContentConnector);

@ -20,7 +20,7 @@ function createMapStateToProps() {
props.isPopulated = organizePreview.isPopulated && naming.isPopulated;
props.error = organizePreview.error || naming.error;
props.renameTracks = naming.item.renameTracks;
props.trackFormat = naming.item['standardTrackFormat'];
props.trackFormat = naming.item.standardTrackFormat;
props.path = artist.path;
return props;

@ -1,6 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
import { inputTypes, sizes } from 'Helpers/Props';
import { inputTypes } from 'Helpers/Props';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
@ -35,26 +35,26 @@ function MetadataProvider(props) {
hasSettings && !isFetching && !error &&
<Form>
{
advancedSettings &&
<FieldSet
legend="Metadata Provider Source"
>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
<FormLabel>Metadata Source</FormLabel>
advancedSettings &&
<FieldSet
legend="Metadata Provider Source"
>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
<FormLabel>Metadata Source</FormLabel>
<FormInputGroup
type={inputTypes.TEXT}
name="metadataSource"
helpText="Alternative Metadata Source (Leave blank for default)"
helpLink="https://github.com/Lidarr/Lidarr/wiki/Metadata-Source"
onChange={onInputChange}
{...settings.metadataSource}
/>
</FormGroup>
</FieldSet>
<FormInputGroup
type={inputTypes.TEXT}
name="metadataSource"
helpText="Alternative Metadata Source (Leave blank for default)"
helpLink="https://github.com/Lidarr/Lidarr/wiki/Metadata-Source"
onChange={onInputChange}
{...settings.metadataSource}
/>
</FormGroup>
</FieldSet>
}
</Form>
}

@ -75,4 +75,7 @@ DelayProfileDragPreview.propTypes = {
})
};
/* eslint-disable new-cap */
export default DragLayer(collectDragLayer)(DelayProfileDragPreview);
/* eslint-enable new-cap */

@ -137,6 +137,7 @@ DelayProfileDragSource.propTypes = {
onDelayProfileDragEnd: PropTypes.func.isRequired
};
/* eslint-disable new-cap */
export default DropTarget(
DELAY_PROFILE,
delayProfileDropTarget,
@ -146,3 +147,4 @@ export default DropTarget(
delayProfileDragSource,
collectDragSource
)(DelayProfileDragSource));
/* eslint-enable new-cap */

@ -85,4 +85,6 @@ LanguageProfileItemDragPreview.propTypes = {
})
};
/* eslint-disable new-cap */
export default DragLayer(collectDragLayer)(LanguageProfileItemDragPreview);
/* eslint-enable new-cap */

@ -146,6 +146,7 @@ LanguageProfileItemDragSource.propTypes = {
onLanguageProfileItemDragEnd: PropTypes.func.isRequired
};
/* eslint-disable new-cap */
export default DropTarget(
QUALITY_PROFILE_ITEM,
languageProfileItemDropTarget,
@ -155,3 +156,4 @@ export default DropTarget(
languageProfileItemDragSource,
collectDragSource
)(LanguageProfileItemDragSource));
/* eslint-enable new-cap */

@ -34,5 +34,6 @@ class Profiles extends Component {
// Only a single DragDropContext can exist so it's done here to allow editing
// quality profiles and reordering delay profiles to work.
/* eslint-disable new-cap */
export default DragDropContext(HTML5Backend)(Profiles);
/* eslint-enable new-cap */

@ -89,4 +89,6 @@ QualityProfileItemDragPreview.propTypes = {
})
};
/* eslint-disable new-cap */
export default DragLayer(collectDragLayer)(QualityProfileItemDragPreview);
/* eslint-enable new-cap */

@ -230,6 +230,7 @@ QualityProfileItemDragSource.propTypes = {
onQualityProfileItemDragEnd: PropTypes.func.isRequired
};
/* eslint-disable new-cap */
export default DropTarget(
QUALITY_PROFILE_ITEM,
qualityProfileItemDropTarget,
@ -239,3 +240,5 @@ export default DropTarget(
qualityProfileItemDragSource,
collectDragSource
)(QualityProfileItemDragSource));
/* eslint-enable new-cap */

@ -11,7 +11,7 @@ function createToggleAlbumMonitoredHandler(section) {
} = payload;
const state = getSectionState(getState(), section, true);
updateAlbums(dispatch, section, state.items, [albumId], {
isSaving: true
});

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import React, { Component } from 'react';
import { connect } from 'react-redux';
import getDisplayName from 'Helpers/getDisplayName';

@ -54,7 +54,7 @@ function createMapStateToProps() {
const languages = _.map(languageProfilesSchema.languages, 'language');
const qualities = getQualities(qualityProfileSchema.items);
return {
items,
artistType: artist.artistType,

@ -2,7 +2,6 @@ import PropTypes from 'prop-types';
import React from 'react';
import padNumber from 'Utilities/Number/padNumber';
import Label from 'Components/Label';
import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellConnector';
import TableRow from 'Components/Table/TableRow';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableSelectCell from 'Components/Table/Cells/TableSelectCell';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import _ from 'lodash';
import { update } from 'Store/Actions/baseActions';

@ -1,3 +1,4 @@
/* eslint max-params: 0 */
import areAllSelected from './areAllSelected';
import getToggledRange from './getToggledRange';

@ -3,7 +3,6 @@ import React from 'react';
import episodeEntities from 'Album/episodeEntities';
import EpisodeTitleLink from 'Album/EpisodeTitleLink';
import EpisodeStatusConnector from 'Album/EpisodeStatusConnector';
import SeasonEpisodeNumber from 'Album/SeasonEpisodeNumber';
import EpisodeSearchCellConnector from 'Album/EpisodeSearchCellConnector';
import ArtistNameLink from 'Artist/ArtistNameLink';
import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellConnector';

Loading…
Cancel
Save