diff --git a/.eslintrc.json b/.eslintrc.json
index 40559f14..449b3338 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -6,12 +6,12 @@
"rules": {
"indent": [2, 2, {"SwitchCase": 0}],
"no-console": 0,
- "no-eval": 1,
"no-process-env": 0,
"no-underscore-dangle": 1,
"react/jsx-indent": [2, 2],
"react/jsx-indent-props": [2, 2],
+ "react/no-set-state": 1,
"react/prefer-es6-class": 1,
- "react/no-set-state": 1
+ "react/require-optimization": 0
}
}
diff --git a/scripts/extract_dict.js b/scripts/extract_dict.js
index 8c8cae54..412c3dcc 100644
--- a/scripts/extract_dict.js
+++ b/scripts/extract_dict.js
@@ -1,6 +1,7 @@
/* eslint-disable no-process-exit */
const {spawn} = require('child_process');
+
const {path7za} = require('7zip-bin');
const cwd = process.argv[2];
diff --git a/scripts/manipulate_windows_zip.js b/scripts/manipulate_windows_zip.js
index fb1e4acc..f8120541 100644
--- a/scripts/manipulate_windows_zip.js
+++ b/scripts/manipulate_windows_zip.js
@@ -1,7 +1,9 @@
'use strict';
const spawnSync = require('child_process').spawnSync;
+
const path7za = require('7zip-bin').path7za;
+
const pkg = require('../src/package.json');
const appVersion = pkg.version;
const productName = pkg.productName;
diff --git a/scripts/watch_main_and_preload.js b/scripts/watch_main_and_preload.js
index a5a3c1a4..f9f4bd51 100644
--- a/scripts/watch_main_and_preload.js
+++ b/scripts/watch_main_and_preload.js
@@ -1,7 +1,8 @@
const webpack = require('webpack');
+const electron = require('electron-connect').server.create({path: 'src'});
+
const mainConfig = require('../webpack.config.main.js');
const rendererConfig = require('../webpack.config.renderer.js');
-const electron = require('electron-connect').server.create({path: 'src'});
let started = false;
diff --git a/src/browser/components/MainPage.jsx b/src/browser/components/MainPage.jsx
index bccd6161..16005dea 100644
--- a/src/browser/components/MainPage.jsx
+++ b/src/browser/components/MainPage.jsx
@@ -1,3 +1,5 @@
+const url = require('url');
+
const React = require('react');
const PropTypes = require('prop-types');
const createReactClass = require('create-react-class');
@@ -5,7 +7,8 @@ const ReactCSSTransitionGroup = require('react-transition-group/CSSTransitionGro
const {Grid, Row} = require('react-bootstrap');
const {ipcRenderer, remote} = require('electron');
-const url = require('url');
+
+const Utils = require('../../utils/util.js');
const LoginModal = require('./LoginModal.jsx');
const MattermostView = require('./MattermostView.jsx');
@@ -15,8 +18,6 @@ const PermissionRequestDialog = require('./PermissionRequestDialog.jsx');
const NewTeamModal = require('./NewTeamModal.jsx');
-const Utils = require('../../utils/util.js');
-
const MainPage = createReactClass({
propTypes: {
onUnreadCountChange: PropTypes.func.isRequired,
diff --git a/src/browser/components/MattermostView.jsx b/src/browser/components/MattermostView.jsx
index c01ca9ac..3027c905 100644
--- a/src/browser/components/MattermostView.jsx
+++ b/src/browser/components/MattermostView.jsx
@@ -1,12 +1,13 @@
-// eslint-disable react/no-set-state
+/* eslint-disable react/no-set-state */
// setState() is necessary for this component
+const url = require('url');
const React = require('react');
const PropTypes = require('prop-types');
const createReactClass = require('create-react-class');
const {findDOMNode} = require('react-dom');
const {ipcRenderer, remote, shell} = require('electron');
-const url = require('url');
+
const contextMenu = require('../js/contextMenu');
const {protocols} = require('../../../electron-builder.json');
const scheme = protocols[0].schemes[0];
diff --git a/src/browser/components/RemoveServerModal.jsx b/src/browser/components/RemoveServerModal.jsx
index 49c8fb04..c8045067 100644
--- a/src/browser/components/RemoveServerModal.jsx
+++ b/src/browser/components/RemoveServerModal.jsx
@@ -1,6 +1,7 @@
const React = require('react');
const PropTypes = require('prop-types');
const {Modal} = require('react-bootstrap');
+
const DestructiveConfirmationModal = require('./DestructiveConfirmModal.jsx');
function RemoveServerModal(props) {
diff --git a/src/browser/components/SettingsPage.jsx b/src/browser/components/SettingsPage.jsx
index d0ee94d5..bac0278f 100644
--- a/src/browser/components/SettingsPage.jsx
+++ b/src/browser/components/SettingsPage.jsx
@@ -492,8 +492,8 @@ const SettingsPage = createReactClass({
checked={this.state.showTrayIcon}
onChange={this.handleChangeShowTrayIcon}
>{process.platform === 'darwin' ?
- `Show ${remote.app.getName()} icon in the menu bar` :
- 'Show icon in the notification area'}
+ `Show ${remote.app.getName()} icon in the menu bar` :
+ 'Show icon in the notification area'}
{'Setting takes effect after restarting the app.'}
@@ -567,7 +567,7 @@ const SettingsPage = createReactClass({
)) }
- ) : null;
+ ) : null;
return (
diff --git a/src/browser/components/TabBar.jsx b/src/browser/components/TabBar.jsx
index d2f4ee07..10c4d97a 100644
--- a/src/browser/components/TabBar.jsx
+++ b/src/browser/components/TabBar.jsx
@@ -1,7 +1,7 @@
const React = require('react');
-const {findDOMNode} = require('react-dom');
const PropTypes = require('prop-types');
const {Glyphicon, Nav, NavItem, Overlay} = require('react-bootstrap');
+
const PermissionRequestDialog = require('./PermissionRequestDialog.jsx');
class TabBar extends React.Component { // need "this"
@@ -74,7 +74,7 @@ class TabBar extends React.Component { // need "this"
>
- );
+ );
}
return (