"consistent-this": ["warn", "that"],
"func-name-matching": "error",
"func-style": ["warn", "declaration", { "allowArrowFunctions": true }],
+ "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],
"max-depth": "warn",
"max-lines": ["warn", 1000],
"max-params": ["warn", 4],
"no-unneeded-ternary": "warn",
"one-var": ["warn", "never"],
"operator-assignment": "warn",
+ "padding-line-between-statements": [
+ "error",
+ { "blankLine": "always", "prev": "*", "next": ["class", "function"] },
+ { "blankLine": "always", "prev": ["class", "function"], "next": "*" }
+ ],
// es2015
"no-duplicate-imports": "error",
export function getAllMetrics(data?: { p?: number; ps?: number }): Promise<Metric[]> {
return inner(data);
+
function inner(
data: { p?: number; ps?: number } = { ps: 500 },
prev?: MetricsResponse
it('should work for all qualifiers', () => {
['TRK', 'BRC', 'VW', 'SVW', 'APP'].forEach(checkWithQualifier);
expect.assertions(5);
+
function checkWithQualifier(qualifier: string) {
const component = { ...baseComponent, configuration: { showSettings: true }, qualifier };
expect(
</div>
);
}
+
render() {
const { component } = this.props;
const { openIssue, paging } = this.state;
);
}
}
+
export default enhance(Coverage);
);
}
}
+
export default enhance(Duplications);
handleConfirmPasswordChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ confirmPassword: event.currentTarget.value });
+
handleNewPasswordChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ newPassword: event.currentTarget.value });
+
handleOldPasswordChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ oldPassword: event.currentTarget.value });
handleEmailChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ email: event.currentTarget.value });
+
handleLoginChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ login: event.currentTarget.value });
+
handleNameChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ name: event.currentTarget.value });
+
handlePasswordChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.setState({ password: event.currentTarget.value });
export default class UserScmAccountInput extends React.PureComponent<Props> {
handleChange = (event: React.SyntheticEvent<HTMLInputElement>) =>
this.props.onChange(this.props.idx, event.currentTarget.value);
+
handleRemove = () => this.props.onRemove(this.props.idx);
render() {
this.handleSearch = debounce(this.handleSearch, 250);
this.state = { searchResult: [], isLoading: false, search: '' };
}
+
componentDidMount() {
this.mounted = true;
this.handleSearch(this.state.search);
get minimumQueryLength() {
return this.props.minimumQueryLength !== undefined ? this.props.minimumQueryLength : 2;
}
+
get resetOnBlur() {
return this.props.resetOnBlur !== undefined ? this.props.resetOnBlur : true;
}
}
let maintainabilityRatingGrid: number[];
+
function getMaintainabilityRatingGrid(): number[] {
if (maintainabilityRatingGrid) {
return maintainabilityRatingGrid;
function isNotificationsEqual(a /*: Notification */, b /*: Notification */) {
return a.channel === b.channel && a.type === b.type && a.project === b.project;
}
+
return uniqWith([...state, notification], isNotificationsEqual);
}