diff --git a/frontend/components/Avatar/Avatar.jsx b/frontend/components/Avatar/Avatar.jsx
deleted file mode 100644
index cb71f56271..0000000000
--- a/frontend/components/Avatar/Avatar.jsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import React, { PropTypes } from 'react';
-import classnames from 'classnames';
-
-import userInterface from '../../interfaces/user';
-
-const Avatar = ({ size, className, style, user }) => {
- const { gravatarURL } = user;
- const isSmall = size && size.toLowerCase() === 'small';
- const avatarClasses = classnames(
- 'avatar',
- { 'avatar--small': isSmall },
- className
- );
-
- return (
-
- );
-};
-
-Avatar.propTypes = {
- size: PropTypes.string,
- className: PropTypes.string,
- style: PropTypes.object, // eslint-disable-line react/forbid-prop-types
- user: userInterface.isRequired,
-};
-
-export default Avatar;
diff --git a/frontend/components/Avatar/Avatar.tsx b/frontend/components/Avatar/Avatar.tsx
new file mode 100644
index 0000000000..60aaf83fb6
--- /dev/null
+++ b/frontend/components/Avatar/Avatar.tsx
@@ -0,0 +1,38 @@
+import * as React from 'react';
+const classnames = require('classnames');
+
+interface IAvatarUserInterface {
+ gravatarURL: string;
+}
+
+interface IAvatarInterface {
+ className?: string;
+ size?: string;
+ user: IAvatarUserInterface;
+}
+
+interface IAvatarState {}
+
+const baseClass = 'avatar';
+
+class Avatar extends React.Component {
+ render (): JSX.Element {
+ const { className, size, user } = this.props;
+ const isSmall = size && size.toLowerCase() === 'small';
+ const avatarClasses = classnames(baseClass, {
+ [`${baseClass}--${size}`]: isSmall,
+ className,
+ });
+ const { gravatarURL } = user;
+
+ return (
+
+ );
+ }
+}
+
+export default Avatar;
diff --git a/frontend/components/Avatar/index.js b/frontend/components/Avatar/index.js
index 051cfa2ddb..722b8c348f 100644
--- a/frontend/components/Avatar/index.js
+++ b/frontend/components/Avatar/index.js
@@ -1 +1 @@
-export default from './Avatar';
+export default from './Avatar.tsx';
diff --git a/frontend/components/forms/validators/valid_email/index.js b/frontend/components/forms/validators/valid_email/index.js
index 06769f390f..b078ab24e4 100644
--- a/frontend/components/forms/validators/valid_email/index.js
+++ b/frontend/components/forms/validators/valid_email/index.js
@@ -1,9 +1 @@
-const EMAIL_REGEX = /\S+@\S+\.\S+/;
-
-export default (email) => {
- if (EMAIL_REGEX.test(email)) {
- return true;
- }
-
- return false;
-};
+export default from './valid_email.ts';
diff --git a/frontend/components/forms/validators/valid_email/valid_email.ts b/frontend/components/forms/validators/valid_email/valid_email.ts
new file mode 100644
index 0000000000..33a9721561
--- /dev/null
+++ b/frontend/components/forms/validators/valid_email/valid_email.ts
@@ -0,0 +1,9 @@
+const EMAIL_REGEX = /\S+@\S+\.\S+/;
+
+export default (email: string): boolean => {
+ if (EMAIL_REGEX.test(email)) {
+ return true;
+ }
+
+ return false;
+};
diff --git a/frontend/components/forms/validators/validate_equality/validate_equality.ts b/frontend/components/forms/validators/validate_equality/validate_equality.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/package.json b/package.json
index 9958111d37..9db0a53735 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
"moment": "^2.15.1",
"nock": "^8.0.0",
"node-bourbon": "^4.2.8",
- "node-sass": "^3.10.0",
+ "node-sass": "^3.10.1",
"normalizr": "^2.2.1",
"postcss-functions": "^2.1.0",
"postcss-loader": "^0.8.0",