From 622f02ebee6c720f58369f4316e051f061b97d8c Mon Sep 17 00:00:00 2001 From: SleepWalker Date: Mon, 12 Jun 2017 22:32:59 +0300 Subject: [PATCH] #337: fix some linting errors --- .eslintrc.json | 5 +++-- src/components/accounts/AccountSwitcher.js | 4 ++-- src/components/auth/AuthTitle.js | 3 ++- src/components/auth/PanelTransition.js | 1 + src/components/auth/finish/Finish.js | 4 +++- src/components/profile/Profile.js | 2 +- src/components/ui/form/Form.js | 6 ++++-- src/components/ui/popup/PopupStack.test.js | 1 + src/containers/PrivateRoute.js | 13 ++++++++++--- src/pages/profile/ProfilePage.js | 4 +++- 10 files changed, 30 insertions(+), 13 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index c7857e1..09533f5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -63,6 +63,7 @@ "dot-notation": "error", "eqeqeq": ["error", "smart"], "no-alert": "error", + "no-console": "off", "no-caller": "error", "no-case-declarations": "error", "no-div-regex": "error", @@ -134,7 +135,7 @@ "consistent-this": ["error", "that"], "camelcase": "warn", "eol-last": "warn", - "id-length": ["error", {"min": 2, "exceptions": ["x", "y", "i", "$"]}], + "id-length": ["error", {"min": 2, "exceptions": ["x", "y", "i", "k", "l", "m", "n", "$", "_"]}], "indent": ["error", 4, {"SwitchCase": 1}], "jsx-quotes": "error", "key-spacing": ["error", {"mode": "minimum"}], @@ -168,7 +169,7 @@ "spaced-comment": "warn", // es6 - "arrow-body-style": "warn", + "arrow-body-style": "off", "arrow-parens": "error", "arrow-spacing": "error", "constructor-super": "error", diff --git a/src/components/accounts/AccountSwitcher.js b/src/components/accounts/AccountSwitcher.js index 3e4d018..a29b0b1 100644 --- a/src/components/accounts/AccountSwitcher.js +++ b/src/components/accounts/AccountSwitcher.js @@ -123,12 +123,12 @@ export class AccountSwitcher extends Component { className={styles.addAccount} label={ - {(message) => + {(message) => (
{message} - } + )} } /> diff --git a/src/components/auth/AuthTitle.js b/src/components/auth/AuthTitle.js index 109b2a1..ebbc665 100644 --- a/src/components/auth/AuthTitle.js +++ b/src/components/auth/AuthTitle.js @@ -1,9 +1,10 @@ +// @flow import React from 'react'; import Helmet from 'react-helmet'; import { FormattedMessage as Message } from 'react-intl'; -export default function AuthTitle({title}) { +export default function AuthTitle({title}: {title: {id: string}}) { return ( {(msg) => {msg}} diff --git a/src/components/auth/PanelTransition.js b/src/components/auth/PanelTransition.js index 316a7d3..eac640f 100644 --- a/src/components/auth/PanelTransition.js +++ b/src/components/auth/PanelTransition.js @@ -36,6 +36,7 @@ const contexts = [ ['chooseAccount', 'permissions'] ]; +// eslint-disable-next-line if (process.env.NODE_ENV !== 'production') { // test panel uniquenes between contexts // TODO: it may be moved to tests in future diff --git a/src/components/auth/finish/Finish.js b/src/components/auth/finish/Finish.js index 87615c0..3bcd9c2 100644 --- a/src/components/auth/finish/Finish.js +++ b/src/components/auth/finish/Finish.js @@ -104,7 +104,9 @@ class Finish extends Component { // TODO: было бы ещё неплохо сделать какую-то анимацию, вроде "Скопировано", // ибо сейчас после клика как-то неубедительно, скопировалось оно или нет console.log('Copying text command was ' + (successful ? 'successful' : 'unsuccessful')); - } catch (err) {} + } catch (err) { + // not critical + } }; setCode = (el) => { diff --git a/src/components/profile/Profile.js b/src/components/profile/Profile.js index ed27509..dc5db82 100644 --- a/src/components/profile/Profile.js +++ b/src/components/profile/Profile.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; -import { FormattedMessage as Message, FormattedRelative as Relative, FormattedHTMLMessage as HTMLMessage } from 'react-intl'; +import { FormattedMessage as Message, FormattedRelative as Relative } from 'react-intl'; import { Link } from 'react-router-dom'; import Helmet from 'react-helmet'; diff --git a/src/components/ui/form/Form.js b/src/components/ui/form/Form.js index fb7d648..2a0da84 100644 --- a/src/components/ui/form/Form.js +++ b/src/components/ui/form/Form.js @@ -2,8 +2,9 @@ import React, { Component, PropTypes } from 'react'; import classNames from 'classnames'; -import FormModel from './FormModel'; +import logger from 'services/logger'; +import FormModel from './FormModel'; import styles from './form.scss'; export default class Form extends Component { @@ -106,7 +107,8 @@ export default class Form extends Component { Array.from(invalidEls).reduce((errors, el) => { if (!el.name) { - console.warn('Found an element without name', el); + logger.warn('Found an element without name', {el}); + return errors; } diff --git a/src/components/ui/popup/PopupStack.test.js b/src/components/ui/popup/PopupStack.test.js index 645bd15..832434f 100644 --- a/src/components/ui/popup/PopupStack.test.js +++ b/src/components/ui/popup/PopupStack.test.js @@ -1,3 +1,4 @@ +import sinon from 'sinon'; import expect from 'unexpected'; import React from 'react'; diff --git a/src/containers/PrivateRoute.js b/src/containers/PrivateRoute.js index d8bc315..690d2da 100644 --- a/src/containers/PrivateRoute.js +++ b/src/containers/PrivateRoute.js @@ -1,9 +1,16 @@ -import authFlow from 'services/authFlow'; +// @flow +import React from 'react'; + import { Route, Redirect } from 'react-router-dom'; import { connect } from 'react-redux'; -const PrivateRoute = ({user, component: Component, ...rest}) => ( - ( +import type {User} from 'components/user'; + +const PrivateRoute = ({user, component: Component, ...rest}: { + component: any, + user: User +}) => ( + ( user.isGuest ? ( { dispatch(createPopup({ - Popup(props) { + Popup(props: { + onClose: Function + }) { const onSubmit = () => { form.beginLoading(); sendData()