diff --git a/flow-typed/react-helmet.js b/flow-typed/react-helmet.js
new file mode 100644
index 000000000..a614e9ad4
--- /dev/null
+++ b/flow-typed/react-helmet.js
@@ -0,0 +1,3 @@
+declare module 'react-helmet' {
+ declare module.exports: any;
+}
diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js
index 75ac9531b..1314d725e 100644
--- a/src/components/Header/Header.js
+++ b/src/components/Header/Header.js
@@ -2,6 +2,7 @@
* Copyright (c) 2013-present, Facebook, Inc.
*
* @emails react-core
+ * @flow
*/
'use strict';
@@ -9,7 +10,9 @@
import React from 'react';
import {colors, fonts} from 'theme';
-const Header = ({children}) => (
+import type {Node} from 'react';
+
+const Header = ({children}: {children: Node}) => (
(
+const MarkdownHeader = ({title}: {title: string}) => (
(
);
-MarkdownHeader.propTypes = {
- title: PropTypes.string.isRequired,
-};
-
export default MarkdownHeader;
diff --git a/src/components/MarkdownPage/MarkdownPage.js b/src/components/MarkdownPage/MarkdownPage.js
index c71a90f4d..b43b8e090 100644
--- a/src/components/MarkdownPage/MarkdownPage.js
+++ b/src/components/MarkdownPage/MarkdownPage.js
@@ -2,6 +2,7 @@
* Copyright (c) 2013-present, Facebook, Inc.
*
* @emails react-core
+ * @flow
*/
'use strict';
@@ -10,7 +11,6 @@ import Container from 'components/Container';
import Flex from 'components/Flex';
import MarkdownHeader from 'components/MarkdownHeader';
import NavigationFooter from 'templates/components/NavigationFooter';
-import PropTypes from 'prop-types';
import React from 'react';
import StickyResponsiveSidebar from 'components/StickyResponsiveSidebar';
import TitleAndMetaTags from 'components/TitleAndMetaTags';
@@ -19,8 +19,22 @@ import toCommaSeparatedList from 'utils/toCommaSeparatedList';
import {sharedStyles} from 'theme';
import createOgUrl from 'utils/createOgUrl';
+import type {Node} from 'types';
+
+type Props = {
+ authors: Array,
+ createLink: Function, // TODO: Add better flow type once we Flow-type createLink
+ date?: string,
+ enableScrollSync?: boolean,
+ ogDescription: string,
+ location: Location,
+ markdownRemark: Node,
+ sectionList: Array