]> source.dussan.org Git - sonarqube.git/commitdiff
improve code quality
authorStas Vilchik <vilchiks@gmail.com>
Tue, 8 Dec 2015 11:41:02 +0000 (12:41 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Tue, 8 Dec 2015 11:46:08 +0000 (12:46 +0100)
26 files changed:
server/sonar-server/src/main/java/org/sonar/server/dashboard/widget/MeasureFilterAsTreemapWidget.java
server/sonar-server/src/main/java/org/sonar/server/dashboard/widget/TreemapWidget.java
server/sonar-web/.eslintignore
server/sonar-web/.eslintrc
server/sonar-web/package.json
server/sonar-web/src/main/js/api/metrics.js
server/sonar-web/src/main/js/apps/background-tasks/search.js
server/sonar-web/src/main/js/apps/overview/components/coverage-measures.js
server/sonar-web/src/main/js/apps/overview/components/legend.js
server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js
server/sonar-web/src/main/js/apps/overview/domains/debt-domain.js
server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js
server/sonar-web/src/main/js/apps/overview/domains/size-domain.js
server/sonar-web/src/main/js/apps/overview/main/issues.js
server/sonar-web/src/main/js/apps/overview/main/main.js
server/sonar-web/src/main/js/apps/project-permissions/qualifier-filter.js
server/sonar-web/src/main/js/apps/system/item-log-level.js
server/sonar-web/src/main/js/apps/users/tokens-view.js
server/sonar-web/src/main/js/components/charts/treemap.js
server/sonar-web/src/main/js/components/common/modals.js
server/sonar-web/src/main/js/components/mixins/resize-mixin.js
server/sonar-web/src/main/js/components/mixins/tooltips-mixin.js
server/sonar-web/src/main/js/helpers/path.js
server/sonar-web/src/main/js/main/nav/app.js
server/sonar-web/src/main/js/widgets/old/bubble-chart.js
server/sonar-web/src/main/js/widgets/old/pie-chart.js

index 3eb4c9f58951dbf4844e63b3403fe8df6809679f..6ade71d3c623591ac56d925b6ae89c5d285c43fb 100644 (file)
@@ -40,7 +40,7 @@ import static org.sonar.api.web.WidgetScope.GLOBAL;
     defaultValue = CoreMetrics.COVERAGE_KEY,
     options = {WidgetConstants.FILTER_OUT_NEW_METRICS, "type:PERCENT,RATING,LEVEL"}),
   @WidgetProperty(key = MeasureFilterAsTreemapWidget.HEIGHT_PERCENTS_PROPERTY, type = WidgetPropertyType.INTEGER,
-    optional = true, defaultValue = "55", description = "Height in percents of width"),
+    defaultValue = "55", description = "Height in percents of width", optional = true),
   @WidgetProperty(key = MeasureFilterAsTreemapWidget.MAX_ITEMS_PROPERTY, type = WidgetPropertyType.INTEGER,
     defaultValue = "30")
 })
index e70a341b4314b07f49317072fbb80ca8771e8046..3033e013c3e810dd6273b7f95d7ae3c3ac3ad2fb 100644 (file)
@@ -27,10 +27,11 @@ import org.sonar.api.web.WidgetPropertyType;
 
 @WidgetProperties({
   @WidgetProperty(key = "chartTitle", type = WidgetPropertyType.STRING),
-  @WidgetProperty(key = "sizeMetric", type = WidgetPropertyType.METRIC, defaultValue = CoreMetrics.NCLOC_KEY, options = {WidgetConstants.FILTER_OUT_NEW_METRICS}),
+  @WidgetProperty(key = "sizeMetric", type = WidgetPropertyType.METRIC, defaultValue = CoreMetrics.NCLOC_KEY,
+    options = {WidgetConstants.FILTER_OUT_NEW_METRICS}),
   @WidgetProperty(key = "colorMetric", type = WidgetPropertyType.METRIC, defaultValue = CoreMetrics.COVERAGE_KEY,
     options = {WidgetConstants.FILTER_OUT_NEW_METRICS, "type:PERCENT,RATING,LEVEL"}),
-  @WidgetProperty(key = "heightInPercents", type = WidgetPropertyType.INTEGER, optional = true, defaultValue = "55"),
+  @WidgetProperty(key = "heightInPercents", type = WidgetPropertyType.INTEGER, defaultValue = "55", optional = true),
   @WidgetProperty(key = "maxItems", type = WidgetPropertyType.INTEGER, defaultValue = "100")
 })
 public class TreemapWidget extends CoreWidget {
index d2424ba88a4d151dca936b1d9ceebfdfef48794f..1e86f01a222de66181f6b8a5ecac8f54a8339f0d 100644 (file)
@@ -1,2 +1,2 @@
-src/main/js/libs/third-party
+src/main/js/libs
 tests
index d37d4bd008286fc3c94597c413a4590a7a3d6168..6a403ba8a2f149c12d8a9b9eb1e896321856473d 100644 (file)
 {
+  "extends": "eslint:recommended",
+
+  "ecmaFeatures": {
+    "jsx": true,
+    "modules": true
+  },
+
   "env": {
     "browser": true,
     "es6": true,
     "mocha": true,
     "node": true
   },
-  "ecmaFeatures": {
-    "modules": true,
-    "jsx": true
-  },
-
-  "rules": {
-    ////////// Possible Errors //////////
-
-    "comma-dangle": 0,            // disallow trailing commas in object literals
-    "no-cond-assign": 2,          // disallow assignment in conditional expressions
-    "no-console": 2,              // disallow use of console (off by default in the node environment)
-    "no-constant-condition": 2,   // disallow use of constant expressions in conditions
-    "no-control-regex": 0,        // disallow control characters in regular expressions
-    "no-debugger": 2,             // disallow use of debugger
-    "no-dupe-keys": 2,            // disallow duplicate keys when creating object literals
-    "no-empty": 2,                // disallow empty statements
-    "no-empty-character-class": 2, // disallow the use of empty character classes in regular expressions
-    "no-ex-assign": 2,            // disallow assigning to the exception in a catch block
-    "no-extra-boolean-cast": 0,   // disallow double-negation boolean casts in a boolean context
-    "no-extra-parens": 0,         // disallow unnecessary parentheses (off by default)
-    "no-extra-semi": 2,           // disallow unnecessary semicolons
-    "no-func-assign": 2,          // disallow overwriting functions written as function declarations
-    "no-inner-declarations": 2,   // disallow function or variable declarations in nested blocks
-    "no-invalid-regexp": 2,       // disallow invalid regular expression strings in the RegExp constructor
-    "no-irregular-whitespace": 2, // disallow irregular whitespace outside of strings and comments
-    "no-negated-in-lhs": 2,       // disallow negation of the left operand of an in expression
-    "no-obj-calls": 2,            // disallow the use of object properties of the global object (Math and JSON) as functions
-    "no-regex-spaces": 2,         // disallow multiple spaces in a regular expression literal
-    "quote-props": 2,             // disallow reserved words being used as object literal keys (off by default)
-    "no-sparse-arrays": 2,        // disallow sparse arrays
-    "no-unreachable": 2,          // disallow unreachable statements after a return, throw, continue, or break statement
-    "use-isnan": 2,               // disallow comparisons with the value NaN
-    "valid-jsdoc": 0,             // Ensure JSDoc comments are valid (off by default)
-    "valid-typeof": 2,            // Ensure that the results of typeof are compared against a valid string
-
-
-    ////////// Best Practices //////////
-
-    "block-scoped-var": 0,      // treat var statements as if they were block scoped (off by default)
-    "complexity": 0,            // specify the maximum cyclomatic complexity allowed in a program (off by default)
-    "consistent-return": 0,     // require return statements to either always or never specify values
-    "curly": 2,                 // specify curly brace conventions for all control statements
-    "default-case": 1,          // require default case in switch statements (off by default)
-    "dot-notation": 0,          // encourages use of dot notation whenever possible
-    "eqeqeq": [2, "allow-null"],// require the use of === and !==
-    "guard-for-in": 2,          // make sure for-in loops have an if statement (off by default)
-    "no-alert": 1,              // disallow the use of alert, confirm, and prompt
-    "no-caller": 2,             // disallow use of arguments.caller or arguments.callee
-    "no-div-regex": 2,          // disallow division operators explicitly at beginning of regular expression (off by default)
-    "no-else-return": 0,        // disallow else after a return in an if (off by default)
-    "no-empty-label": 2,        // disallow use of labels for anything other then loops and switches
-    "no-eq-null": 0,            // disallow comparisons to null without a type-checking operator (off by default)
-    "no-eval": 2,               // disallow use of eval()
-    "no-extend-native": 2,      // disallow adding to native types
-    "no-extra-bind": 0,         // disallow unnecessary function binding
-    "no-fallthrough": 2,        // disallow fallthrough of case statements
-    "no-floating-decimal": 0,   // disallow the use of leading or trailing decimal points in numeric literals (off by default)
-    "no-implied-eval": 2,       // disallow use of eval()-like methods
-    "no-iterator": 2,           // disallow usage of __iterator__ property
-    "no-labels": 2,             // disallow use of labeled statements
-    "no-lone-blocks": 0,        // disallow unnecessary nested blocks
-    "no-loop-func": 0,          // disallow creation of functions within loops
-    "no-multi-spaces": 2,       // disallow use of multiple spaces
-    "no-multi-str": 0,          // disallow use of multiline strings
-    "no-native-reassign": 0,    // disallow reassignments of native objects
-    "no-new": 0,                // disallow use of new operator when not part of the assignment or comparison
-    "no-new-func": 2,           // disallow use of new operator for Function object
-    "no-new-wrappers": 2,       // disallows creating new instances of String, Number, and Boolean
-    "no-octal": 2,              // disallow use of octal literals
-    "no-octal-escape": 2,       // disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251";
-    "no-process-env": 2,        // disallow use of process.env (off by default)
-    "no-proto": 2,              // disallow usage of __proto__ property
-    "no-redeclare": 2,          // disallow declaring the same variable more then once
-    "no-return-assign": 2,      // disallow use of assignment in return statement
-    "no-script-url": 2,         // disallow use of javascript: urls.
-    "no-self-compare": 2,       // disallow comparisons where both sides are exactly the same (off by default)
-    "no-sequences": 2,          // disallow use of comma operator
-    "no-unused-expressions": 2, // disallow usage of expressions in statement position
-    "no-void": 1,               // disallow use of void operator (off by default)
-    "no-warning-comments": 0,   // disallow usage of configurable warning terms in comments, e.g. TODO or FIXME (off by default)
-    "no-with": 2,               // disallow use of the with statement
-    "radix": 2,                 // require use of the second argument for parseInt() (off by default)
-    "vars-on-top": 0,           // requires to declare all vars on top of their containing scope (off by default)
-    "wrap-iife": 0,             // require immediate function invocation to be wrapped in parentheses (off by default)
-    "yoda": 0,                  // require or disallow Yoda conditions
-
-
-    ////////// Strict Mode //////////
-
-    "global-strict": 0,   // (deprecated) require or disallow the "use strict" pragma in the global scope (off by default in the node environment)
-    "no-extra-strict": 0, // (deprecated) disallow unnecessary use of "use strict"; when already in strict mode
-    "strict": 0,          // controls location of Use Strict Directives
-
-
-    ////////// Variables //////////
-
-    "no-catch-shadow": 2,             // disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment)
-    "no-delete-var": 0,               // disallow deletion of variables
-    "no-label-var": 2,                // disallow labels that share a name with a variable
-    "no-shadow": 1,                   // disallow declaration of variables already declared in the outer scope
-    "no-shadow-restricted-names": 1,  // disallow shadowing of names such as arguments
-    "no-undef": 2,                    // disallow use of undeclared variables unless mentioned in a /*global */ block
-    "no-undef-init": 2,               // disallow use of undefined when initializing variables
-    "no-undefined": 0,                // disallow use of undefined variable (off by default)
-    "no-unused-vars": 2,              // disallow declaration of variables that are not used in the code
-    "no-use-before-define": 0,        // disallow use of variables before they are defined
-
-
-    ////////// Node.js //////////
-
-    "handle-callback-err": 0,   // enforces error handling in callbacks (off by default) (on by default in the node environment)
-    "no-mixed-requires": 0,     // disallow mixing regular variable and require declarations (off by default) (on by default in the node environment)
-    "no-new-require": 0,        // disallow use of new operator with the require function (off by default) (on by default in the node environment)
-    "no-path-concat": 0,        // disallow string concatenation with __dirname and __filename (off by default) (on by default in the node environment)
-    "no-process-exit": 0,       // disallow process.exit() (on by default in the node environment)
-    "no-restricted-modules": 0, // restrict usage of specified node modules (off by default)
-    "no-sync": 0,               // disallow use of synchronous methods (off by default)
-
-
-    ////////// Stylistic Issues //////////
-
-    "brace-style": 0,               // enforce one true brace style (off by default)
-    "camelcase": 0,                 // require camel case names
-    "comma-spacing": 0,             // enforce spacing before and after comma
-    "comma-style": 0,               // enforce one true comma style (off by default)
-    "consistent-this": 0,           // enforces consistent naming when capturing the current execution context (off by default)
-    "eol-last": 0,                  // enforce newline at the end of file, with no multiple empty lines
-    "func-names": 0,                // require function expressions to have a name (off by default)
-    "func-style": 0,                // enforces use of function declarations or expressions (off by default)
-    "key-spacing": 0,               // enforces spacing between keys and values in object literal properties
-    "max-nested-callbacks": 0,      // specify the maximum depth callbacks can be nested (off by default)
-    "new-cap": 0,                   // require a capital letter for constructors
-    "new-parens": 0,                // disallow the omission of parentheses when invoking a constructor with no arguments
-    "no-array-constructor": 2,      // disallow use of the Array constructor
-    "no-inline-comments": 0,        // disallow comments inline after code (off by default)
-    "no-lonely-if": 0,              // disallow if as the only statement in an else block (off by default)
-    "no-mixed-spaces-and-tabs": 2,  // disallow mixed spaces and tabs for indentation
-    "no-multiple-empty-lines": 0,   // disallow multiple empty lines (off by default)
-    "no-nested-ternary": 1,         // disallow nested ternary expressions (off by default)
-    "no-new-object": 0,             // disallow use of the Object constructor
-    "semi-spacing": [2, { "before": false, "after": true }],
-    "no-spaced-func": 0,            // disallow space between function identifier and application
-    "no-ternary": 0,                // disallow the use of ternary operators (off by default)
-    "no-trailing-spaces": 2,        // disallow trailing whitespace at the end of lines
-    "no-underscore-dangle": 0,      // disallow dangling underscores in identifiers
-    "no-wrap-func": 0,              // disallow wrapping of non-IIFE statements in parens
-    "one-var": 0,                   // allow just one var statement per function (off by default)
-    "operator-assignment": 0,       // require assignment operator shorthand where possible or prohibit it entirely (off by default)
-    "padded-blocks": 0,             // enforce padding within blocks (off by default)
-    "quote-props": 0,               // require quotes around object literal property names (off by default)
-    "quotes": [2, "single"],        // specify whether double or single quotes should be used
-    "semi": 2,                      // require or disallow use of semicolons instead of ASI
-    "sort-vars": 0,                 // sort variables within the same declaration block (off by default)
-    "space-after-function-name": 0, // require a space after function names (off by default)
-    "space-after-keywords": 0,      // require a space after certain keywords (off by default)
-    "space-before-blocks": 0,       // require or disallow space before blocks (off by default)
-    "space-in-brackets": 0,         // require or disallow spaces inside brackets (off by default)
-    "space-in-parens": 0,           // require or disallow spaces inside parentheses (off by default)
-    "space-infix-ops": 0,           // require spaces around operators
-    "space-return-throw-case": 2,   // require a space after return, throw, and case
-    "space-unary-ops": 0,           // Require or disallow spaces before/after unary operators (words on by default, nonwords off by default)
-    "spaced-line-comment": 0,       // require or disallow a space immediately following the // in a line comment (off by default)
-    "wrap-regex": 0,                // require regex literals to be wrapped in parentheses (off by default)
-
-
-    ////////// ECMAScript 6 //////////
-
-    "no-var": 0,          // require let or const instead of var (off by default)
-    "generator-star": 0,  // enforce the position of the * in generator functions (off by default)
-
-
-    ////////// Legacy //////////
-
-    "max-depth": 0,       // specify the maximum depth that blocks can be nested (off by default)
-    "max-len": 0,         // specify the maximum length of a line in your program (off by default)
-    "max-params": 0,      // limits the number of parameters that can be used in the function declaration. (off by default)
-    "max-statements": 0,  // specify the maximum number of statement allowed in a function (off by default)
-    "no-bitwise": 0,      // disallow use of bitwise operators (off by default)
-    "no-plusplus": 0      // disallow use of unary operators, ++ and -- (off by default)
-  },
 
   "globals": {
     "define": true,
     "t": true,
     "tp": true
   },
+
+  "parser": "babel-eslint",
+
   "plugins": [
     "react",
     "mocha"
-  ]
+  ],
+
+  "rules": {
+    "quotes": [ 2, "single", "avoid-escape" ],
+    "react/jsx-uses-react": 1
+  }
 }
index 46d8eedc290f0c005acf6816493215f81c25f3c8..38d0e42048614d5efca51e37c3e1b09bde209c50 100644 (file)
@@ -6,6 +6,7 @@
   "license": "LGPL-3.0",
   "devDependencies": {
     "babel": "5.8.23",
+    "babel-eslint": "^4.1.6",
     "babelify": "6.3.0",
     "backbone": "1.2.3",
     "backbone.marionette": "2.4.3",
@@ -17,6 +18,9 @@
     "clipboard": "1.5.5",
     "d3": "3.5.6",
     "del": "2.0.2",
+    "eslint": "^1.10.3",
+    "eslint-plugin-mocha": "^1.1.0",
+    "eslint-plugin-react": "^3.11.3",
     "event-stream": "3.3.1",
     "glob": "5.0.15",
     "gulp": "3.9.0",
@@ -56,7 +60,8 @@
     "build-fast": "gulp --fast",
     "build": "gulp",
     "test": "./node_modules/.bin/mocha --opts tests/mocha.opts tests",
-    "coverage": "./node_modules/.bin/babel-node ./node_modules/.bin/isparta cover --dir './target/coverage' ./node_modules/.bin/_mocha -- --opts tests/mocha.opts tests"
+    "coverage": "./node_modules/.bin/babel-node ./node_modules/.bin/isparta cover --dir './target/coverage' ./node_modules/.bin/_mocha -- --opts tests/mocha.opts tests",
+    "lint": "eslint src/main/js"
   },
   "browserify-shim": {
     "jquery": "global:jQuery",
index 66bf7482c00ad107668f55e43e1304a5a7f9b44f..9bb7cfb67ca93246f80777146313cca9d54cf44b 100644 (file)
@@ -1,4 +1,3 @@
-import _ from 'underscore';
 import { getJSON } from '../helpers/request.js';
 
 export function getMetrics () {
index 5d122b614ab2859a2cd0dbe78e1c63180afbd74e..a1624f02aaea70d7a0fb95a4b7d3ee81f92b4be5 100644 (file)
@@ -1,9 +1,8 @@
 import $ from 'jquery';
-import _ from 'underscore';
 import moment from 'moment';
 import React from 'react';
 import RadioToggle from '../../components/shared/radio-toggle';
-import {STATUSES, CURRENTS, DATE, DATE_FORMAT, DEBOUNCE_DELAY} from './constants';
+import { STATUSES, CURRENTS, DATE, DATE_FORMAT } from './constants';
 
 export default React.createClass({
   componentDidUpdate() {
index 48bab238633d34b5be090ad77838a98b74f85fef..3fdf521a872ad4d86ee5ef6b5d1d947a1ea3fa02 100644 (file)
@@ -3,7 +3,7 @@ import React from 'react';
 import { DetailedMeasure } from './detailed-measure';
 import { DonutChart } from '../../../components/charts/donut-chart';
 import { DrilldownLink } from '../../../components/shared/drilldown-link';
-import { formatMeasure, formatMeasureVariation, localizeMetric } from '../../../helpers/measures';
+import { formatMeasure, formatMeasureVariation } from '../../../helpers/measures';
 
 
 export const CoverageMeasures = React.createClass({
index 4e4de8f5882d0c3e1c7b772dc579751e5bfd0505..d738f6df3b425fefa14a9c28ef2490d4c0d304d6 100644 (file)
@@ -1,5 +1,4 @@
 import React from 'react';
-import moment from 'moment';
 
 import { DomainLeakTitle } from '../main/components';
 
index f9aabc06ec6033794916ff05752ba072cfd09098..5edafc83856f3aa20745538512c95550d3575b74 100644 (file)
@@ -82,7 +82,7 @@ export const CoverageMain = React.createClass({
   },
 
   renderLegend () {
-    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>
+    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>;
   },
 
   render () {
index cb539bc9cb448726c747e088b02ddc9d10d6915f..179520a106fcfcc0ee44902112a4160b66a8662a 100644 (file)
@@ -15,7 +15,6 @@ import { AddedRemovedMeasure, AddedRemovedDebt, OnNewCodeMeasure, SeverityMeasur
 import { IssuesTags } from './../components/issues-tags';
 import Assignees from './../components/issues-assignees';
 import { getFacet, extractAssignees } from '../../../api/issues';
-import StatusHelper from '../../../components/shared/status-helper';
 import { Rating } from '../../../components/shared/rating';
 import { DrilldownLink } from '../../../components/shared/drilldown-link';
 import { DomainLeakTitle } from '../main/components';
@@ -102,7 +101,7 @@ export const IssuesMain = React.createClass({
   },
 
   renderLegend () {
-    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>
+    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>;
   },
 
   renderOtherMeasures() {
index 709fa1b8f8620b47f9cc98a0c7656947c4cb83d7..321595b779d32fbbd8ce39deacf35ed74b88bb21 100644 (file)
@@ -11,7 +11,7 @@ import { TooltipsMixin } from '../../../components/mixins/tooltips-mixin';
 import { filterMetrics, filterMetricsForDomains } from '../helpers/metrics';
 import { DomainLeakTitle } from '../main/components';
 import { CHART_COLORS_RANGE_PERCENT } from '../../../helpers/constants';
-import { formatMeasure, formatMeasureVariation, localizeMetric } from '../../../helpers/measures';
+import { formatMeasure, formatMeasureVariation } from '../../../helpers/measures';
 import { DonutChart } from '../../../components/charts/donut-chart';
 import { DrilldownLink } from '../../../components/shared/drilldown-link';
 import { getMetricName } from '../helpers/metrics';
@@ -77,7 +77,7 @@ export const DuplicationsMain = React.createClass({
   },
 
   renderLegend () {
-    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>
+    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>;
   },
 
   renderMeasures() {
index 18f0f4caddf3a7f0a36e78814c15d4ec9f6ba3b9..26f4af61cb1edc5db407dc12bab409fcd7f00854 100644 (file)
@@ -64,7 +64,7 @@ export const SizeMain = React.createClass({
   },
 
   renderLegend () {
-    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>
+    return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/>;
   },
 
   renderOtherMeasures(domain, hiddenMetrics) {
@@ -102,7 +102,7 @@ export const SizeMain = React.createClass({
     if (distribution == null) {
       return null;
     }
-    return <ComplexityDistribution distribution={distribution} {...props}/>
+    return <ComplexityDistribution distribution={distribution} {...props}/>;
   },
 
   renderComplexityCard() {
index 67b37bd6049cae0ff8d005052f10e6a4c9648258..f92e7ce12a99a1bff9ae4700b353edd6dd8da32e 100644 (file)
@@ -5,7 +5,6 @@ import { Domain, DomainHeader, DomainPanel, DomainNutshell, DomainLeak, Measures
 import { Rating } from './../../../components/shared/rating';
 import { IssuesLink } from '../../../components/shared/issues-link';
 import { DrilldownLink } from '../../../components/shared/drilldown-link';
-import SeverityIcon from '../../../components/shared/severity-icon';
 import { TooltipsMixin } from '../../../components/mixins/tooltips-mixin';
 import { Legend } from '../components/legend';
 import { getMetricName } from '../helpers/metrics';
index 71c4542805275e83bb339e879028ea4f0d83f4f3..3d458a74c55c2e8c45e9508e4191e2c226e7b51a 100644 (file)
@@ -9,9 +9,8 @@ import { GeneralSize } from './size';
 import { CoverageSelectionMixin } from '../components/coverage-selection-mixin';
 import { getPeriodLabel, getPeriodDate } from './../helpers/periods';
 import { getMeasuresAndVariations } from '../../../api/measures';
-import { getFacet, getIssuesCount } from '../../../api/issues';
+import { getIssuesCount } from '../../../api/issues';
 import { getTimeMachineData } from '../../../api/time-machine';
-import { SEVERITIES } from '../../../helpers/constants';
 
 
 const METRICS_LIST = [
@@ -36,11 +35,6 @@ const HISTORY_METRICS_LIST = [
 ];
 
 
-function getFacetValue (facet, key) {
-  return _.findWhere(facet, { val: key }).count;
-}
-
-
 export default React.createClass({
   mixins: [CoverageSelectionMixin],
 
index 3d121fe50e39a0c10dbdfbf20f2eb809c8fa0667..ef1fd1a9fca9acb70a1f824b8c8beefa371b1795 100644 (file)
@@ -8,7 +8,7 @@ const rootQualifiersToOptions = (qualifiers) => {
     return {
       value: q,
       label: window.t('qualifiers', q)
-    }
+    };
   });
 };
 
index 2ca73615e1baa3e52b710560b06265ac663e38e3..641a6a870c5ba88dec1722d86d0d309679d48d2e 100644 (file)
@@ -29,6 +29,6 @@ export default React.createClass({
               onChange={this.onChange}
               value={this.state.level}>{options}</select>
       {warning}
-    </div>
+    </div>;
   }
 });
index fccd64a2876d6881cf1ed41664dbe6b9e34b0d32..f3277b1fea0a40ddea38beae6752b1c0d9e08b38 100644 (file)
@@ -29,7 +29,7 @@ export default Modal.extend({
     return getTokens(this.model.id).then(tokens => {
       this.tokens = tokens;
       this.render();
-    })
+    });
   },
 
   onGenerateTokenFormSubmit (e) {
@@ -86,5 +86,3 @@ export default Modal.extend({
   }
 
 });
-
-
index fe036d3fb9dfd0e2a5bb1393b5daa86d7d8a2fbc..f06eda570d0b292fd8d8464235c10a7249aad130 100644 (file)
@@ -98,7 +98,7 @@ export const Treemap = React.createClass({
         {window.t('no_data')}
       </div>
       <TreemapBreadcrumbs {...this.props}/>
-    </div>
+    </div>;
   },
 
   render () {
index 931ca8e4604a5293aa60e7291ea36d883a8c6c52..8117b0969372117c4ffc5539a3c5efc1532a9f69 100644 (file)
@@ -26,7 +26,7 @@ export default Marionette.ItemView.extend({
       return false;
     });
     this.show();
-    if (!!this.options.large) {
+    if (this.options.large) {
       this.$el.addClass('modal-large');
     }
   },
@@ -70,5 +70,3 @@ export default Marionette.ItemView.extend({
     });
   }
 });
-
-
index ebd7360fe0776a3828fe9625341e59e222a2fc72..da3db656361260ade411433466f98ce6ef9f8e8f 100644 (file)
@@ -1,4 +1,3 @@
-import React from 'react';
 import ReactDOM from 'react-dom';
 
 export const ResizeMixin = {
index 03e9168c2dab6f9473bdb447096637b84ec2125d..3f16dded6397bfee6f64ef68217a1dec14c5884d 100644 (file)
@@ -1,5 +1,4 @@
 import $ from 'jquery';
-import React from 'react';
 import ReactDOM from 'react-dom';
 
 export const TooltipsMixin = {
index ea389d48cb8fd4e0d8bf21a0b3e9b4a8dc2df7fd..1468b8a885c2f4842f25cc1db61544823ab5f708 100644 (file)
@@ -1,3 +1,6 @@
+import _ from 'underscore';
+
+
 export function collapsePath (path, limit = 30) {
   if (typeof path !== 'string') {
     return '';
index 424294553bf6bbeaad1c3cd357b504685227f863..16d2a04c7802b6c979d5dc54ca1d55522d05cc9b 100644 (file)
@@ -1,3 +1,4 @@
+import _ from 'underscore';
 import React from 'react';
 import ReactDOM from 'react-dom';
 
@@ -8,6 +9,7 @@ import { getGlobalNavigation, getComponentNavigation, getSettingsNavigation } fr
 import '../../components/workspace/main';
 import '../../helpers/handlebars-helpers';
 
+
 export default class App {
   start () {
     let options = window.sonarqube;
index c3d0e2eef73c87e36d07fde40a7e68451a1ad35b..21890bc3980541ee590dec24cc1af9a55851189c 100644 (file)
@@ -122,7 +122,7 @@ window.SonarWidgets = window.SonarWidgets == null ? {} : window.SonarWidgets;
 
     this.sizeMetric = this.metricsPriority()[2];
     this.getSizeMetric = function(d) {
-      return !!d.measures[widget.sizeMetric] ? d.measures[widget.sizeMetric].val : 0;
+      return d.measures[widget.sizeMetric] ? d.measures[widget.sizeMetric].val : 0;
     };
   };
 
index f3d81e7f639f6a73145a35d40ff09e0d030d2488..929eb6a08baea183cbe7d502177048877f75c664 100644 (file)
@@ -231,7 +231,7 @@ window.SonarWidgets = window.SonarWidgets == null ? {} : window.SonarWidgets;
             var metrics = widget.metricsPriority().map(function(m) {
               return {
                 name: widget.metrics()[m].name,
-                value: (!!d.measures[m] ? d.measures[m].fval : '–')
+                value: (d.measures[m] ? d.measures[m].fval : '–')
               };
             });
             metrics.unshift({