diff --git a/.eslintrc.yaml b/.eslintrc.yaml index f8233be..476d45b 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -37,6 +37,10 @@ rules: '@typescript-eslint/explicit-function-return-type': off '@typescript-eslint/no-non-null-assertion': off '@typescript-eslint/no-use-before-define': off + '@typescript-eslint/no-empty-interface': off + '@typescript-eslint/no-explicit-any': + - warn + - ignoreRestArgs: true overrides: - files: - '*.test.ts' diff --git a/packages/client/src/components/Input.tsx b/packages/client/src/components/Input.tsx index 1a6d50f..83273b7 100644 --- a/packages/client/src/components/Input.tsx +++ b/packages/client/src/components/Input.tsx @@ -2,7 +2,7 @@ import React from 'react' import {Control, Field, Input as I, Heading} from 'bloomer' import {IconType} from 'react-icons' -export interface IInputProps { +export interface InputProps { name: string type: 'text' | 'password' | 'hidden' | 'submit' | 'email' value?: string @@ -14,7 +14,7 @@ export interface IInputProps { required?: boolean } -export class Input extends React.PureComponent { +export class Input extends React.PureComponent { handleChange = (e: React.ChangeEvent) => { if (this.props.onChange) { this.props.onChange(this.props.name, e.target.value) diff --git a/packages/client/src/components/Link.tsx b/packages/client/src/components/Link.tsx index d8cfaa2..f443e6c 100644 --- a/packages/client/src/components/Link.tsx +++ b/packages/client/src/components/Link.tsx @@ -1,24 +1,21 @@ +import { URLFormatter } from '@rondo.dev/http-client' import React from 'react' -import {History, Location} from 'history' -import {IWithRouterProps} from './IWithRouterProps' -import {Link as RouterLink, LinkProps} from 'react-router-dom' -import {URLFormatter} from '@rondo.dev/http-client' -import {withRouter} from 'react-router' +import { withRouter } from 'react-router' +import { Link as RouterLink } from 'react-router-dom' +import { WithRouterProps } from './WithRouterProps' -export interface ILinkProps -extends IWithRouterProps> { +export interface LinkProps +extends WithRouterProps> { readonly className?: string readonly to: string } -class ContextLink extends React.PureComponent { +class ContextLink extends React.PureComponent { protected readonly urlFormatter = new URLFormatter() render() { const { className, - history, - location, match, to, children, diff --git a/packages/client/src/components/Redirect.tsx b/packages/client/src/components/Redirect.tsx index 28556eb..6021eaf 100644 --- a/packages/client/src/components/Redirect.tsx +++ b/packages/client/src/components/Redirect.tsx @@ -15,7 +15,7 @@ export class Redirect extends React.PureComponent { return ( You are being redirected. - Click here to 'continue' + Click here to {'continue'} ) } diff --git a/packages/client/src/components/ReturnHere.tsx b/packages/client/src/components/ReturnHere.tsx index 978f2c3..2bcdf38 100644 --- a/packages/client/src/components/ReturnHere.tsx +++ b/packages/client/src/components/ReturnHere.tsx @@ -1,22 +1,18 @@ -import React, {useEffect} from 'react' +import {useEffect} from 'react' import {Dispatch, bindActionCreators} from 'redux' -import {IWithRouterProps} from './IWithRouterProps' +import {WithRouterProps} from './WithRouterProps' import {connect} from 'react-redux' import {setRedirectTo} from '../login/LoginActions' import {withRouter} from 'react-router' -export interface IReturnToProps extends IWithRouterProps { +export interface ReturnToProps extends WithRouterProps { setRedirectTo: typeof setRedirectTo } -function FReturnHere(props: IReturnToProps) { +function FReturnHere(props: ReturnToProps) { const { - // tslint:disable-next-line setRedirectTo, - history, - location, match, - ...otherProps } = props useEffect(() => { diff --git a/packages/client/src/components/TimeAgo.tsx b/packages/client/src/components/TimeAgo.tsx index dfda08d..71e7f56 100644 --- a/packages/client/src/components/TimeAgo.tsx +++ b/packages/client/src/components/TimeAgo.tsx @@ -1,12 +1,12 @@ import {format} from 'timeago.js' import React from 'react' -export interface ITimeAgoProps { +export interface TimeAgoProps { className?: string date: Date | string } -export class TimeAgo extends React.PureComponent { +export class TimeAgo extends React.PureComponent { render() { return (