diff --git a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx index 1ab171bcf1..6f5a1b24cc 100644 --- a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx +++ b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx @@ -20,7 +20,7 @@ import ContentHeader from './ContentHeader'; import { wrapInThemedTestApp } from '@backstage/test-utils'; jest.mock('react-helmet', () => { - return ({ defaultTitle }) =>
defaultTitle: {defaultTitle}
; + return ({ defaultTitle }: any) =>
defaultTitle: {defaultTitle}
; }); describe('', () => { diff --git a/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx b/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx index 9e9d639548..88ae99c3c9 100644 --- a/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx +++ b/packages/core/src/layout/ErrorBoundary/ErrorBoundary.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, { ComponentClass, Component, SFC } from 'react'; +import React, { ComponentClass, Component, SFC, ErrorInfo } from 'react'; type Props = { slackChannel?: string; @@ -23,14 +23,14 @@ type Props = { type State = { error?: Error; - errorInfo?: string; + errorInfo?: ErrorInfo; }; const ErrorBoundary: ComponentClass< Props, State > = class ErrorBoundary extends Component { - constructor(props) { + constructor(props: Props) { super(props); this.state = { @@ -39,15 +39,10 @@ const ErrorBoundary: ComponentClass< }; } - componentDidCatch(error, errorInfo) { + componentDidCatch(error: Error, errorInfo: ErrorInfo) { // eslint-disable-next-line no-console console.error(`ErrorBoundary, error: ${error}, info: ${errorInfo}`); this.setState({ error, errorInfo }); - - // Exposed for testing - if (this.props.onError) { - this.props.onError(error, errorInfo); - } } render() { @@ -58,9 +53,7 @@ const ErrorBoundary: ComponentClass< return this.props.children; } - return ( - - ); + return ; } }; @@ -68,7 +61,6 @@ export default ErrorBoundary; type EProps = { error?: Error; - errorInfo?: string; slackChannel?: string; }; diff --git a/packages/core/src/layout/Header/Header.test.tsx b/packages/core/src/layout/Header/Header.test.tsx index 79d74791c8..85b15e33aa 100644 --- a/packages/core/src/layout/Header/Header.test.tsx +++ b/packages/core/src/layout/Header/Header.test.tsx @@ -20,7 +20,7 @@ import { wrapInThemedTestApp } from '@backstage/test-utils'; import Header from './Header'; jest.mock('react-helmet', () => { - return ({ defaultTitle }) =>
defaultTitle: {defaultTitle}
; + return ({ defaultTitle }: any) =>
defaultTitle: {defaultTitle}
; }); describe('
', () => { diff --git a/packages/core/src/layout/InfoCard/InfoCard.stories.tsx b/packages/core/src/layout/InfoCard/InfoCard.stories.tsx index 611facd29c..e9fa831b40 100644 --- a/packages/core/src/layout/InfoCard/InfoCard.stories.tsx +++ b/packages/core/src/layout/InfoCard/InfoCard.stories.tsx @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import React from 'react'; +import React, { FC } from 'react'; import InfoCard from '.'; import { Grid } from '@material-ui/core'; @@ -25,7 +25,7 @@ export default { component: InfoCard, }; -const Wrapper = ({ children }) => ( +const Wrapper: FC<{}> = ({ children }) => ( {children} diff --git a/packages/core/src/layout/InfoCard/InfoCard.tsx b/packages/core/src/layout/InfoCard/InfoCard.tsx index f3d03d29c8..d645b25aaa 100644 --- a/packages/core/src/layout/InfoCard/InfoCard.tsx +++ b/packages/core/src/layout/InfoCard/InfoCard.tsx @@ -163,10 +163,15 @@ const InfoCard: FC = ({ if (variant) { const variants = variant.split(/[\s]+/g); variants.forEach(name => { - calculatedStyle = { ...calculatedStyle, ...VARIANT_STYLES.card[name] }; + calculatedStyle = { + ...calculatedStyle, + ...VARIANT_STYLES.card[name as keyof typeof VARIANT_STYLES['card']], + }; calculatedCardStyle = { ...calculatedCardStyle, - ...VARIANT_STYLES.cardContent[name], + ...VARIANT_STYLES.cardContent[ + name as keyof typeof VARIANT_STYLES['cardContent'] + ], }; }); } diff --git a/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx b/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx index cf9fa6e6c6..23c2ab5b49 100644 --- a/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx +++ b/packages/core/src/layout/TabbedCard/TabbedCard.stories.tsx @@ -23,7 +23,7 @@ export default { title: 'Tabbed Card', component: TabbedCard, decorators: [ - storyFn => ( + (storyFn: () => JSX.Element) => ( {storyFn()} @@ -72,9 +72,10 @@ export const WithFooterLink = () => { }; export const WithControlledTabValue = () => { - const [selectedTab, setSelectedTab] = useState('one'); + const [selectedTab, setSelectedTab] = useState('one'); - const handleChange = (_ev, newSelectedTab) => setSelectedTab(newSelectedTab); + const handleChange = (_ev: any, newSelectedTab: string | number) => + setSelectedTab(newSelectedTab); return ( <>