Skip to content

Commit c3ac44c

Browse files
committed
More linting fixes
1 parent 7c6182f commit c3ac44c

File tree

22 files changed

+64
-70
lines changed

22 files changed

+64
-70
lines changed

.eslintignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
**/dist/**/*
2+
**/vendor/**/*

.eslintrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
*/
116116
"react/display-name": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md
117117
"react/jsx-quotes": [2, "double"], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-quotes.md
118-
"react/no-multi-comp": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md
118+
"react/no-multi-comp": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md
119119
"react/jsx-no-undef": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md
120120
"react/jsx-no-duplicate-props": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md
121121
"react/jsx-uses-react": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"proxyURL": "http://localhost:8000",
4444
"scripts": {
4545
"test": "node_modules/karma/bin/karma start tests/karma.conf.js --single-run",
46-
"lint": "node_modules/.bin/eslint tests/js src/sentry/static/sentry/app/**/*.js*"
46+
"lint": "node_modules/.bin/eslint tests/js src/sentry/static/sentry/app --ext .jsx"
4747
},
4848
"devDependencies": {
4949
"babel-core": "^5.6.15",

src/sentry/static/sentry/app/api.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Client {
3434
}
3535

3636
wrapCallback(id, func, cleanup) {
37+
/*eslint consistent-return:0*/
3738
if (typeof func === "undefined") {
3839
return;
3940
}
@@ -223,4 +224,3 @@ class Client {
223224
}
224225

225226
export default new Client();
226-

src/sentry/static/sentry/app/components/events/interfaces/exception.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ var ExceptionInterface = React.createClass({
9191
newestFirst = false;
9292
break;
9393
case "default":
94+
default:
9495
newestFirst = (platform !== "python");
9596
}
9697

src/sentry/static/sentry/app/components/events/interfaces/frame.jsx

+9-5
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ var Frame = React.createClass({
117117
key="errors">{data.errors.join(", ")}</li>
118118
}
119119
{data.context.map((line) => {
120-
var className = "expandable";
120+
var liClassName = "expandable";
121121
if (line[0] === data.lineNo) {
122-
className += " active";
122+
liClassName += " active";
123123
}
124124

125125
var lineWs;
@@ -130,9 +130,13 @@ var Frame = React.createClass({
130130
lineWs = '';
131131
lineCode = '';
132132
}
133-
return <li className={className} key={line[0]}><span className="ws">{
134-
lineWs}</span><span className="contextline">{lineCode
135-
}</span> <span className="icon-plus"></span></li>;
133+
return (
134+
<li className={liClassName} key={line[0]}>
135+
<span className="ws">{
136+
lineWs}</span><span className="contextline">{lineCode
137+
}</span> <span className="icon-plus"></span>
138+
</li>
139+
);
136140
})}
137141
{!objectIsEmpty(data.vars) &&
138142
<FrameVariables data={data.vars} key="vars" />

src/sentry/static/sentry/app/components/events/interfaces/stacktrace.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ var StacktraceInterface = React.createClass({
2626
case "newestLast":
2727
newestFirst = false;
2828
break;
29-
case "default":
29+
case "default": // is "default" a valid value? or bad case statement
30+
default:
3031
newestFirst = (platform === "python");
3132
}
3233

src/sentry/static/sentry/app/routes.jsx

-3
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@ import ProjectDashboard from "./views/projectDashboard";
1919
import ProjectEvents from "./views/projectEvents";
2020
import ProjectDetails from "./views/projectDetails";
2121
import ProjectReleases from "./views/projectReleases";
22-
import PropTypes from "./proptypes";
2322
import ReleaseAllEvents from "./views/releaseAllEvents";
2423
import ReleaseArtifacts from "./views/releaseArtifacts";
2524
import ReleaseDetails from "./views/releaseDetails";
2625
import ReleaseNewEvents from "./views/releaseNewEvents";
2726
import RouteNotFound from "./views/routeNotFound";
2827
import SharedGroupDetails from "./views/sharedGroupDetails";
2928
import Stream from "./views/stream";
30-
import TeamDetails from "./views/teamDetails";
3129

3230
var routes = (
3331
<Route name="app" path="/" handler={App}>
@@ -64,4 +62,3 @@ var routes = (
6462
);
6563

6664
export default routes;
67-

src/sentry/static/sentry/app/utils.jsx

+42-42
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*eslint no-use-before-define:0*/
12
var modelsEqual = function(obj1, obj2) {
23
if (!obj1 && !obj2)
34
return true;
@@ -8,33 +9,39 @@ var modelsEqual = function(obj1, obj2) {
89
return obj1.id === obj2.id;
910
};
1011

11-
var compareArrays = function(arr1, arr2, compFunc) {
12-
if (arr1 === arr2) {
12+
var arrayIsEqual = function(arr, other, deep) {
13+
// if the other array is a falsy value, return
14+
if (!arr && !other) {
1315
return true;
1416
}
15-
if (!arr1) {
16-
arr1 = [];
17-
}
18-
if (!arr2) {
19-
arr2 = [];
17+
18+
if (!arr || !other) {
19+
return false;
2020
}
2121

22-
if (arr1.length != arr2.length) {
22+
// compare lengths - can save a lot of time
23+
if (arr.length != other.length) {
2324
return false;
2425
}
2526

26-
for (var i = 0; i < Math.max(arr1.length, arr2.length); i++) {
27-
if (!arr1[i]) {
28-
return false;
29-
}
30-
if (!arr2[i]) {
31-
return false;
27+
for (var i = 0, l = Math.max(arr.length, other.length); i < l; i++) {
28+
return valueIsEqual(arr[i], other[i], deep);
29+
}
30+
};
31+
32+
var valueIsEqual = function(value, other, deep) {
33+
if (value === other) {
34+
return true;
35+
} else if (value instanceof Array || other instanceof Array) {
36+
if (arrayIsEqual(value, other, deep)) {
37+
return true;
3238
}
33-
if (!compFunc(arr1[i], arr2[i])) {
34-
return false;
39+
} else if (value instanceof Object || other instanceof Object) {
40+
if (objectMatchesSubset(value, other, deep)) {
41+
return true;
3542
}
3643
}
37-
return true;
44+
return false;
3845
};
3946

4047
var objectMatchesSubset = function(obj, other, deep){
@@ -57,39 +64,33 @@ var objectMatchesSubset = function(obj, other, deep){
5764
return true;
5865
};
5966

60-
var valueIsEqual = function(value, other, deep) {
61-
if (value === other) {
67+
var compareArrays = function(arr1, arr2, compFunc) {
68+
if (arr1 === arr2) {
6269
return true;
63-
} else if (value instanceof Array || other instanceof Array) {
64-
if (arrayIsEqual(value, other, deep)) {
65-
return true;
66-
}
67-
} else if (value instanceof Object || other instanceof Object) {
68-
if (objectMatchesSubset(value, other, deep)) {
69-
return true;
70-
}
7170
}
72-
return false;
73-
};
74-
75-
var arrayIsEqual = function(arr, other, deep) {
76-
// if the other array is a falsy value, return
77-
if (!arr && !other) {
78-
return true;
71+
if (!arr1) {
72+
arr1 = [];
7973
}
80-
81-
if (!arr || !other) {
82-
return false;
74+
if (!arr2) {
75+
arr2 = [];
8376
}
8477

85-
// compare lengths - can save a lot of time
86-
if (arr.length != other.length) {
78+
if (arr1.length != arr2.length) {
8779
return false;
8880
}
8981

90-
for (var i = 0, l = Math.max(arr.length, other.length); i < l; i++) {
91-
return valueIsEqual(arr[i], other[i], deep);
82+
for (var i = 0; i < Math.max(arr1.length, arr2.length); i++) {
83+
if (!arr1[i]) {
84+
return false;
85+
}
86+
if (!arr2[i]) {
87+
return false;
88+
}
89+
if (!compFunc(arr1[i], arr2[i])) {
90+
return false;
91+
}
9292
}
93+
return true;
9394
};
9495

9596
export default {
@@ -190,4 +191,3 @@ export default {
190191
StreamManager: require('./utils/streamManager'),
191192
CursorPoller: require('./utils/cursorPoller')
192193
};
193-

src/sentry/static/sentry/app/views/groupDetails/actions.jsx

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from "react";
2-
import Router from "react-router";
32
import api from "../../api";
43
import DropdownLink from "../../components/dropdownLink";
54
import GroupState from "../../mixins/groupState";
@@ -133,4 +132,3 @@ var GroupActions = React.createClass({
133132
});
134133

135134
export default GroupActions;
136-

src/sentry/static/sentry/app/views/groupDetails/eventToolbar.jsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import Router from "react-router";
12
import React from "react";
2-
import Sticky from 'react-sticky';
33
import PropTypes from "../../proptypes";
44
import utils from "../../utils";
55

@@ -81,4 +81,3 @@ var GroupEventToolbar = React.createClass({
8181
});
8282

8383
export default GroupEventToolbar ;
84-

src/sentry/static/sentry/app/views/groupDetails/header.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import GroupSeenBy from "./seenBy";
88
import IndicatorStore from "../../stores/indicatorStore";
99
import ListLink from "../../components/listLink";
1010
import ProjectState from "../../mixins/projectState";
11-
import PropTypes from "../../proptypes";
1211

1312
var GroupHeader = React.createClass({
1413
mixins: [ProjectState],

src/sentry/static/sentry/app/views/organizationTeams/expandedTeamList.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import api from "../../api";
55
import BarChart from "../../components/barChart";
66
import ConfigStore from "../../stores/configStore";
77
import PropTypes from "../../proptypes";
8+
import {sortArray} from "../../utils";
89

910
var ExpandedTeamList = React.createClass({
1011
propTypes: {

src/sentry/static/sentry/app/views/projectDashboard/chart.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from "react";
2-
import Router from "react-router";
32
import moment from "moment";
43
import api from "../../api";
54
import BarChart from "../../components/barChart";

src/sentry/static/sentry/app/views/projectDashboard/eventList.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ var EventList = React.createClass({
125125
minutes = "60";
126126
break;
127127
case "24h":
128+
default:
128129
minutes = "1440";
129130
break;
130131
}

src/sentry/static/sentry/app/views/projectEvents/actions.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from "react";
2-
import Reflux from "reflux";
32

43
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
54

src/sentry/static/sentry/app/views/stream/actions.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import React from "react";
22
import Reflux from "reflux";
33
import api from "../../api";
44
import ActionLink from "./actionLink";
5-
import GroupStore from "../../stores/groupStore";
65
import DropdownLink from "../../components/dropdownLink";
76
import IndicatorStore from "../../stores/indicatorStore";
87
import MenuItem from "../../components/menuItem";

src/sentry/static/sentry/app/views/stream/dateSelector.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
22
import React from "react";
3-
import moment from "moment";
43
import DateTimeInput from "../../components/dateTimeInput";
54
import DropdownLink from "../../components/dropdownLink";
65
import MenuItem from "../../components/menuItem";

src/sentry/static/sentry/app/views/stream/filters.jsx

-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
import React from "react";
2-
import $ from "jquery";
3-
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
42

5-
import DateSelector from "./dateSelector";
63
import FilterSelectLink from "./filterSelectLink";
74
import SearchBar from "./searchBar";
85
import SearchDropdown from "./searchDropdown";
9-
import utils from "../../utils";
106
import SortOptions from "./sortOptions";
117

128
var StreamFilters = React.createClass({

src/sentry/static/sentry/app/views/stream/searchBar.jsx

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import React from "react";
22
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
33

4-
import SearchDropdown from "./searchDropdown";
5-
64
var SearchBar = React.createClass({
75
contextTypes: {
86
router: React.PropTypes.func

src/sentry/static/sentry/app/views/stream/sortOptions.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var SortOptions = React.createClass({
3636
case 'freq':
3737
return 'Frequency';
3838
case 'date':
39+
default:
3940
return 'Last Seen';
4041
}
4142
},

tests/js/helpers/stubContext.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ function stubContext(BaseComponent, context) {
5050
return StubbedContextHandler;
5151
}
5252

53-
module.exports = stubContext;
53+
export default stubContext;

0 commit comments

Comments
 (0)