Enable Flow Strict

This commit is contained in:
Victor Zhou 2019-07-31 22:05:23 -04:00
parent 39dc60b016
commit 0ba0cc9c61
81 changed files with 93 additions and 87 deletions

View File

@ -12,3 +12,8 @@ module.name_mapper.extension='scss' -> '<PROJECT_ROOT>/flow/css-module-stub.js'
server.max_workers=4
[strict]
nonstrict-import
unclear-type
untyped-type-import
unsafe-getters-setters
sketchy-null

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
type CSSModule = {
[key: string]: string,
};

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import CMS from 'netlify-cms-app';
import PagePreview from './preview-templates/page-preview';
import PostPreview from './preview-templates/post-preview';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import type { Entry, WidgetFor } from '../../types';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import type { Entry, WidgetFor } from '../../types';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import moment from 'moment';
import { Link } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Feed from './Feed';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Feed';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import styles from './Icon.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Icon from './Icon';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Icon';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import Helmet from 'react-helmet';
import type { Node as ReactNode } from 'react';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Layout from './Layout';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Page from './Page';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Page';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import classNames from 'classnames/bind';
import { Link } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Pagination from './Pagination';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Pagination';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { getContactHref } from '../../../utils';
import styles from './Author.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Author';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import ReactDisqusComments from 'react-disqus-comments';
import { useSiteMetadata } from '../../../hooks';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Comments';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import styles from './Content.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Content from './Content';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Content';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import moment from 'moment';
import styles from './Meta.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Meta from './Meta';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Meta';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { Link } from 'gatsby';
import Author from './Author';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { Link } from 'gatsby';
import styles from './Tags.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Tags from './Tags';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Tags';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Post';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { withPrefix, Link } from 'gatsby';
import styles from './Author.module.scss';
@ -24,7 +24,7 @@ const Author = ({ author, isIndex }: Props) => (
/>
</Link>
{ isIndex ? (
{ isIndex === true ? (
<h1 className={styles['author__title']}>
<Link className={styles['author__title-link']} to="/">{author.name}</Link>
</h1>

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Author from './Author';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Author';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { getContactHref, getIcon } from '../../../utils';
import Icon from '../../Icon';

View File

@ -1,5 +1,5 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Contacts from './Contacts';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Contacts';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import styles from './Copyright.module.scss';
@ -12,4 +12,4 @@ const Copyright = ({ copyright }: Props) => (
</div>
);
export default Copyright;
export default Copyright;

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Copyright from './Copyright';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Copyright';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { Link } from 'gatsby';
import styles from './Menu.module.scss';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import Menu from './Menu';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Menu';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import Author from './Author';
import Contacts from './Contacts';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,2 +1,2 @@
// @flow
// @flow strict
export { default } from './Sidebar';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
const ICONS = {
TWITTER: {
path: 'M25.312 6.375c-0.688 1-1.547 1.891-2.531 2.609 0.016 0.219 0.016 0.438 0.016 0.656 0 6.672-5.078 14.359-14.359 14.359-2.859 0-5.516-0.828-7.75-2.266 0.406 0.047 0.797 0.063 1.219 0.063 2.359 0 4.531-0.797 6.266-2.156-2.219-0.047-4.078-1.5-4.719-3.5 0.313 0.047 0.625 0.078 0.953 0.078 0.453 0 0.906-0.063 1.328-0.172-2.312-0.469-4.047-2.5-4.047-4.953v-0.063c0.672 0.375 1.453 0.609 2.281 0.641-1.359-0.906-2.25-2.453-2.25-4.203 0-0.938 0.25-1.797 0.688-2.547 2.484 3.062 6.219 5.063 10.406 5.281-0.078-0.375-0.125-0.766-0.125-1.156 0-2.781 2.25-5.047 5.047-5.047 1.453 0 2.766 0.609 3.687 1.594 1.141-0.219 2.234-0.641 3.203-1.219-0.375 1.172-1.172 2.156-2.219 2.781 1.016-0.109 2-0.391 2.906-0.781z',

View File

@ -1,3 +1,3 @@
// @flow
// @flow strict
export { default as ICONS } from './icons';
export { default as PAGINATION } from './pagination';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
const PAGINATION = {
PREV_PAGE: '← PREV',
NEXT_PAGE: '→ NEXT'

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
export { default as useSiteMetadata } from './use-site-metadata';
export { default as useCategoriesList } from './use-categories-list';
export { default as useTagsList } from './use-tags-list';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import { useStaticQuery, graphql } from 'gatsby';
const useCategoriesList = () => {

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import { useStaticQuery, graphql } from 'gatsby';
const useSiteMetadata = () => {

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import { useStaticQuery, graphql } from 'gatsby';
const useTagsList = () => {

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { Link } from 'gatsby';
import kebabCase from 'lodash/kebabCase';
@ -29,4 +29,4 @@ const CategoriesListTemplate = () => {
);
};
export default CategoriesListTemplate;
export default CategoriesListTemplate;

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { graphql } from 'gatsby';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { graphql } from 'gatsby';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { StaticQuery, useStaticQuery } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import Sidebar from '../components/Sidebar';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { graphql } from 'gatsby';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';
@ -27,4 +27,4 @@ describe('PageTemplate', () => {
const tree = renderer.create(<PageTemplate {...props} />).toJSON();
expect(tree).toMatchSnapshot();
});
});
});

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { graphql } from 'gatsby';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';
@ -27,4 +27,4 @@ describe('PostTemplate', () => {
const tree = renderer.create(<PostTemplate {...props} />).toJSON();
expect(tree).toMatchSnapshot();
});
});
});

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { graphql } from 'gatsby';
import Layout from '../components/Layout';

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';
@ -29,4 +29,4 @@ describe('TagTemplate', () => {
const tree = renderer.create(<TagTemplate {...props} />).toJSON();
expect(tree).toMatchSnapshot();
});
});
});

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import { Link } from 'gatsby';
import kebabCase from 'lodash/kebabCase';
@ -29,4 +29,4 @@ const TagsListTemplate = () => {
);
};
export default TagsListTemplate;
export default TagsListTemplate;

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import React from 'react';
import renderer from 'react-test-renderer';
import { useStaticQuery, StaticQuery } from 'gatsby';

View File

@ -1,7 +1,8 @@
// @flow
// @flow strict
import type { Node as ReactNode } from 'react';
export type RenderCallback = {
// $FlowFixMe
render: (data: any) => ReactNode;
}

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
const getContactHref = (name: string, contact: string) => {
let href;

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import getContactHref from './get-contact-href';
test('getContactHref', () => {

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import { ICONS } from '../constants';
const getIcon = (name: string) => {

View File

@ -1,4 +1,4 @@
// @flow
// @flow strict
import getIcon from './get-icon';
import { ICONS } from '../constants';

View File

@ -1,3 +1,3 @@
// @flow
// @flow strict
export { default as getIcon } from './get-icon';
export { default as getContactHref } from './get-contact-href';