]> source.dussan.org Git - sonarqube.git/commitdiff
re-format js code (#1877)
authorStas Vilchik <stas-vilchik@users.noreply.github.com>
Fri, 31 Mar 2017 11:54:46 +0000 (13:54 +0200)
committerGitHub <noreply@github.com>
Fri, 31 Mar 2017 11:54:46 +0000 (13:54 +0200)
135 files changed:
server/sonar-web/.eslintrc
server/sonar-web/package.json
server/sonar-web/src/main/js/app/components/GlobalFooter.js
server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js
server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js
server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js
server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.js
server/sonar-web/src/main/js/apps/about/components/AboutAppForSonarQubeDotCom.js
server/sonar-web/src/main/js/apps/about/components/AboutStandards.js
server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.js
server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesForSonarQubeDotCom.js
server/sonar-web/src/main/js/apps/account/notifications/Projects.js
server/sonar-web/src/main/js/apps/account/organizations/CreateOrganizationForm.js
server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.js
server/sonar-web/src/main/js/apps/account/projects/ProjectCard.js
server/sonar-web/src/main/js/apps/background-tasks/components/CurrentsFilter.js
server/sonar-web/src/main/js/apps/background-tasks/components/Stats.js
server/sonar-web/src/main/js/apps/background-tasks/components/TaskActions.js
server/sonar-web/src/main/js/apps/code/components/ComponentName.js
server/sonar-web/src/main/js/apps/code/components/ComponentPin.js
server/sonar-web/src/main/js/apps/component-measures/components/IconBubbles.js
server/sonar-web/src/main/js/apps/component-measures/components/IconHistory.js
server/sonar-web/src/main/js/apps/component-measures/components/IconList.js
server/sonar-web/src/main/js/apps/component-measures/components/IconTree.js
server/sonar-web/src/main/js/apps/component-measures/components/IconTreemap.js
server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/BubbleChart.js
server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetails.js
server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentCell.js
server/sonar-web/src/main/js/apps/component-measures/details/drilldown/MeasureDrilldown.js
server/sonar-web/src/main/js/apps/component-measures/home/Home.js
server/sonar-web/src/main/js/apps/component-measures/home/MeasureListValue.js
server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js
server/sonar-web/src/main/js/apps/organizations/actions.js
server/sonar-web/src/main/js/apps/organizations/components/MembersListItem.js
server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.js
server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.js
server/sonar-web/src/main/js/apps/organizations/components/__tests__/MembersList-test.js
server/sonar-web/src/main/js/apps/organizations/components/__tests__/MembersListHeader-test.js
server/sonar-web/src/main/js/apps/organizations/components/__tests__/MembersListItem-test.js
server/sonar-web/src/main/js/apps/organizations/components/__tests__/MembersPageHeader-test.js
server/sonar-web/src/main/js/apps/organizations/components/forms/AddMemberForm.js
server/sonar-web/src/main/js/apps/organizations/components/forms/ManageMemberGroupsForm.js
server/sonar-web/src/main/js/apps/organizations/components/forms/RemoveMemberForm.js
server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js
server/sonar-web/src/main/js/apps/overview/components/OverviewApp.js
server/sonar-web/src/main/js/apps/overview/main/Coverage.js
server/sonar-web/src/main/js/apps/overview/main/Duplications.js
server/sonar-web/src/main/js/apps/overview/meta/MetaLink.js
server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js
server/sonar-web/src/main/js/apps/overview/meta/MetaTags.js
server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js
server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.js
server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.js
server/sonar-web/src/main/js/apps/permission-templates/components/Template.js
server/sonar-web/src/main/js/apps/permission-templates/views/GroupsView.js
server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js
server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js
server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.js
server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.js
server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.js
server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.js
server/sonar-web/src/main/js/apps/project-admin/key/Key.js
server/sonar-web/src/main/js/apps/project-admin/key/UpdateForm.js
server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.js
server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.js
server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.js
server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.js
server/sonar-web/src/main/js/apps/projects-admin/header.js
server/sonar-web/src/main/js/apps/projects-admin/projects.js
server/sonar-web/src/main/js/apps/projects-admin/search.js
server/sonar-web/src/main/js/apps/projects/components/FavoriteFilter.js
server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.js
server/sonar-web/src/main/js/apps/projects/filters/SortingFilter.js
server/sonar-web/src/main/js/apps/projects/filters/TagsFilter.js
server/sonar-web/src/main/js/apps/projects/filters/__tests__/LanguagesFilter-test.js
server/sonar-web/src/main/js/apps/projects/filters/__tests__/TagsFilter-test.js
server/sonar-web/src/main/js/apps/projects/visualizations/QualityModel.js
server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.js
server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js
server/sonar-web/src/main/js/apps/quality-gates/components/List.js
server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.js
server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileLink.js
server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ProfileContainer-test.js
server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.js
server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.js
server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.js
server/sonar-web/src/main/js/apps/quality-profiles/home/PageHeader.js
server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.js
server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.js
server/sonar-web/src/main/js/apps/sessions/components/LoginForm.js
server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.js
server/sonar-web/src/main/js/apps/settings/components/DefinitionChanges.js
server/sonar-web/src/main/js/apps/settings/components/inputs/MultiValueInput.js
server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.js
server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.js
server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.js
server/sonar-web/src/main/js/apps/system/main.js
server/sonar-web/src/main/js/apps/users/components/UsersSearch.js
server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchOption.js
server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchValue.js
server/sonar-web/src/main/js/apps/web-api/components/Action.js
server/sonar-web/src/main/js/apps/web-api/components/DeprecatedBadge.js
server/sonar-web/src/main/js/apps/web-api/components/InternalBadge.js
server/sonar-web/src/main/js/apps/web-api/components/Menu.js
server/sonar-web/src/main/js/apps/web-api/components/Search.js
server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.js
server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.js
server/sonar-web/src/main/js/components/SourceViewer/SourceViewerIssueLocations.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineCode.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineCoverage.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplicationBlock.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplications.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.js
server/sonar-web/src/main/js/components/SourceViewer/components/LineSCM.js
server/sonar-web/src/main/js/components/SourceViewer/popups/line-actions-popup.js
server/sonar-web/src/main/js/components/charts/Timeline.js
server/sonar-web/src/main/js/components/common/MultiSelectOption.js
server/sonar-web/src/main/js/components/controls/DateInput.js
server/sonar-web/src/main/js/components/controls/FavoriteBase.js
server/sonar-web/src/main/js/components/controls/FavoriteBaseStateless.js
server/sonar-web/src/main/js/components/controls/GlobalMessages.js
server/sonar-web/src/main/js/components/controls/Toggle.js
server/sonar-web/src/main/js/components/shared/complexity-distribution.js
server/sonar-web/src/main/js/components/shared/pending-icon.js
server/sonar-web/src/main/js/components/tags/TagsSelector.js
server/sonar-web/src/main/js/helpers/handlebars/severityChangelog.js
server/sonar-web/src/main/js/helpers/handlebars/severityHelper.js
server/sonar-web/src/main/js/helpers/handlebars/statusHelper.js
server/sonar-web/src/main/js/helpers/request.js
server/sonar-web/src/main/js/store/globalMessages/duck.js
server/sonar-web/src/main/js/store/organizations/duck.js
server/sonar-web/src/main/js/store/organizationsMembers/actions.js
server/sonar-web/src/main/js/store/organizationsMembers/reducer.js
server/sonar-web/src/main/js/store/rootReducer.js
server/sonar-web/yarn.lock

index 70b2aac1fa04333945d051a0ee98a9c8384b550e..a03e1f19e92f5315a15d7f95c85884eeb5a6a53d 100644 (file)
@@ -33,7 +33,7 @@
     "block-scoped-var": 2,
     "block-spacing": 2,
     "brace-style": 2,
-    "comma-dangle": 2,
+    "comma-dangle": [2, "never"],
     "comma-spacing": 2,
     "comma-style": 2,
     "computed-property-spacing": 2,
@@ -49,7 +49,7 @@
     "jsx-quotes": 2,
     "key-spacing": 2,
     "keyword-spacing": 2,
-    "max-len": [2, 120],
+    "max-len": [2, 100],
     "new-parens": 2,
     "no-lonely-if": 2,
     "no-multi-spaces": 2,
     "jsx-a11y/tabindex-no-positive": 2,
 
     "react/jsx-boolean-value": [2, "always"],
+    "react/jsx-closing-bracket-location": [2, {
+      "nonEmpty": "after-props",
+      "selfClosing": "tag-aligned"
+    }],
     "react/jsx-curly-spacing": [2, "never"],
     "react/jsx-equals-spacing": [2, "never"],
     "react/jsx-key": 2,
index 2c92554fba4fdd814295b03f89cbd49614ec85d0..3defe39abc689f2b849437508389a97c2b50953c 100644 (file)
@@ -89,7 +89,7 @@
     "less-loader": "2.2.3",
     "path-exists": "2.1.0",
     "postcss-loader": "0.8.0",
-    "prettier": "^0.22.0",
+    "prettier-eslint-cli": "^3.1.3",
     "react-addons-test-utils": "15.4.2",
     "react-dev-utils": "0.2.1",
     "react-transform-hmr": "1.0.4",
     "build": "node scripts/build.js",
     "test": "node scripts/test.js",
     "coverage": "npm test -- --coverage",
-    "format": "prettier --write --list-different --print-width 100 --single-quote --parser flow \"src/main/js/!(libs)/**/*.js\"",
+    "format": "prettier-eslint --write \"src/main/js/!(libs)/**/*.js\"",
     "lint": "eslint src/main/js",
     "typecheck": "flow src/main/js",
     "validate": "eslint src/main/js && flow check src/main/js && NODE_ENV=test jest --runInBand"
index 886de879bab89e0401ef89968a905c87b2057110..b88d06cc1c8e8a5a9fa8cb195e734d9ab49850c3 100644 (file)
@@ -36,8 +36,11 @@ class GlobalFooter extends React.Component {
               Embedded database should be used for evaluation purpose only
             </p>
             <p>
-              The embedded database will not scale, it will not support upgrading to newer versions of SonarQube,
-              and there is no support for migrating your data out of it into a different database engine.
+              The embedded database will not scale, it will not support upgrading to newer
+              {' '}
+              versions of SonarQube, and there is no support for migrating your data out of it
+              {' '}
+              into a different database engine.
             </p>
           </div>}
 
index 05648e1bec527b662875d7f7d65ed7d3f6321ac9..2f668b0b8b93e47d2ef2e073651b375242d73893 100644 (file)
@@ -50,8 +50,7 @@ class ComponentNavBreadcrumbs extends React.Component {
             </span>}
           <Link
             to={{ pathname: '/dashboard', query: { id: item.key } }}
-            className="link-base-color"
-          >
+            className="link-base-color">
             {index === breadcrumbs.length - 1
               ? <strong>{item.name}</strong>
               : <span>{item.name}</span>}
index 6d3cc006dc361a7a09ddf2c8c9063a83fccb2959..6b5ba3661a8af9665c38c07bbb73609138ba29a0 100644 (file)
@@ -78,8 +78,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/code', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {this.isView() ? translate('view_projects.page') : translate('code.page')}
         </Link>
       </li>
@@ -95,8 +94,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/activity', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('project_activity.page')}
         </Link>
       </li>
@@ -108,8 +106,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/component_issues', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('issues.page')}
         </Link>
       </li>
@@ -121,8 +118,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/component_measures', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('layout.measures')}
         </Link>
       </li>
@@ -141,8 +137,7 @@ export default class ComponentNavMenu extends React.Component {
           className="dropdown-toggle navbar-admin-link"
           id="component-navigation-admin"
           data-toggle="dropdown"
-          href="#"
-        >
+          href="#">
           {translate('layout.settings')}&nbsp;
           <i className="icon-dropdown" />
         </a>
@@ -170,8 +165,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/settings', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('project_settings.page')}
         </Link>
       </li>
@@ -186,8 +180,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/quality_profiles', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('project_quality_profiles.page')}
         </Link>
       </li>
@@ -202,8 +195,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/quality_gate', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('project_quality_gate.page')}
         </Link>
       </li>
@@ -218,8 +210,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/custom_measures', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('custom_measures.page')}
         </Link>
       </li>
@@ -234,8 +225,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/links', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('project_links.page')}
         </Link>
       </li>
@@ -250,8 +240,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project_roles', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('permissions.page')}
         </Link>
       </li>
@@ -266,8 +255,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/background_tasks', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('background_tasks.page')}
         </Link>
       </li>
@@ -282,8 +270,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/key', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('update_key.page')}
         </Link>
       </li>
@@ -305,8 +292,7 @@ export default class ComponentNavMenu extends React.Component {
       <li>
         <Link
           to={{ pathname: '/project/deletion', query: { id: this.props.component.key } }}
-          activeClassName="active"
-        >
+          activeClassName="active">
           {translate('deletion.page')}
         </Link>
       </li>
@@ -342,8 +328,7 @@ export default class ComponentNavMenu extends React.Component {
           className="dropdown-toggle"
           id="component-navigation-more"
           data-toggle="dropdown"
-          href="#"
-        >
+          href="#">
           {translate('more')}&nbsp;
           <i className="icon-dropdown" />
         </a>
index 57fda1a14924282de5ebd4424d52dd2fda3966a8..01db375a81ba20ede32e2829f05179acf276a378 100644 (file)
@@ -38,7 +38,8 @@ class GlobalNavUser extends React.Component {
     const shouldReturnToCurrentPage = window.location.pathname !== `${window.baseUrl}/about`;
     if (shouldReturnToCurrentPage) {
       const returnTo = encodeURIComponent(window.location.pathname + window.location.search);
-      window.location = `${window.baseUrl}/sessions/new?return_to=${returnTo}${window.location.hash}`;
+      window.location = window.baseUrl +
+        `/sessions/new?return_to=${returnTo}${window.location.hash}`;
     } else {
       window.location = `${window.baseUrl}/sessions/new`;
     }
index b82a5e22a606a60ee8630666e447038eb4e4878f..4c183f4e4ab7e18e8a09a9709632f76be59312d8 100644 (file)
@@ -87,8 +87,7 @@ class SettingsNav extends React.Component {
                   className="dropdown-toggle"
                   data-toggle="dropdown"
                   id="settings-navigation-configuration"
-                  href="#"
-                >
+                  href="#">
                   {translate('sidebar.project_settings')} <i className="icon-dropdown" />
                 </a>
                 <ul className="dropdown-menu">
index 36fb27aea435b00f4f7ab9a4c9857c702497cc0c..6d43c38a8f7707518207862dde369b96aba90fa3 100644 (file)
@@ -56,8 +56,7 @@ export default class AboutAppForSonarQubeDotCom extends React.Component {
               <a
                 className="button button-active"
                 href="https://about.sonarqube.com/get-started/"
-                target="_blank"
-              >
+                target="_blank">
                 Get Started
               </a>
               {!this.props.currentUser.isLoggedIn &&
index c1065f5058efd567ce5634a468c5d33d9418c2be..295fabe38df9681dc446bf38863baabde5c18e68 100644 (file)
@@ -25,7 +25,8 @@ import { getRulesUrl } from '../../../helpers/urls';
 
 const link = 'https://redirect.sonarsource.com/doc/rules.html';
 
-const owaspTags = 'owasp-a1,owasp-a2,owasp-a3,owasp-a4,owasp-a5,owasp-a6,owasp-a7,owasp-a8,owasp-a9,owasp-a10';
+const owaspTags = 'owasp-a1,owasp-a2,owasp-a3,owasp-a4,owasp-a5,' +
+  'owasp-a6,owasp-a7,owasp-a8,owasp-a9,owasp-a10';
 
 export default class AboutStandards extends React.Component {
   render() {
@@ -66,8 +67,7 @@ export default class AboutStandards extends React.Component {
                   to={getRulesUrl({
                     tags: 'sans-top25-porous,sans-top25-risky,sans-top25-insecure'
                   })}
-                  className="link-with-icon"
-                >
+                  className="link-with-icon">
                   <i className="icon-tags" />
                   <span className="little-spacer-left">SANS Top 25</span>
                 </Link>
index 712dc25329367852d37ca978e7d0c0315e2b7c1c..3ae7d82992da106fd24fa5fed80db936560559c3 100644 (file)
@@ -44,8 +44,7 @@ export default class EntryIssueTypes extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'BUG' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(bugs, 'SHORT_INT')}
                 </Link>
               </td>
@@ -58,8 +57,7 @@ export default class EntryIssueTypes extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'VULNERABILITY' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(vulnerabilities, 'SHORT_INT')}
                 </Link>
               </td>
@@ -72,8 +70,7 @@ export default class EntryIssueTypes extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'CODE_SMELL' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(codeSmells, 'SHORT_INT')}
                 </Link>
               </td>
index 8ec4c383d7997559f8cf13be88826942e7afa022..3b974ffd7703f4d4ab3eab274e97bbc928f80e4f 100644 (file)
@@ -44,8 +44,7 @@ export default class EntryIssueTypesForSonarQubeDotCom extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'BUG' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(bugs, 'SHORT_INT')}
                 </Link>
               </td>
@@ -58,8 +57,7 @@ export default class EntryIssueTypesForSonarQubeDotCom extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'VULNERABILITY' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(vulnerabilities, 'SHORT_INT')}
                 </Link>
               </td>
@@ -72,8 +70,7 @@ export default class EntryIssueTypesForSonarQubeDotCom extends React.Component {
               <td className="about-page-issue-type-number">
                 <Link
                   to={getIssuesUrl({ resolved: false, types: 'CODE_SMELL' })}
-                  className="about-page-issue-type-link"
-                >
+                  className="about-page-issue-type-link">
                   {formatMeasure(codeSmells, 'SHORT_INT')}
                 </Link>
               </td>
index 41de2832fdb9da7658616087753719807145632a..89c32e17079b15446dd67586963285fd2f29b0ba 100644 (file)
@@ -49,7 +49,8 @@ class Projects extends React.Component {
   };
 
   componentWillReceiveProps(nextProps: Props) {
-    // remove all projects from `this.state.addedProjects` that already exist in `nextProps.projects`
+    // remove all projects from `this.state.addedProjects`
+    // that already exist in `nextProps.projects`
     const nextAddedProjects = differenceBy(
       this.state.addedProjects,
       nextProps.projects,
index 26d0f515e480c6e8118f58fb0a17b9122f8a2012..fc0fca467d982e6aa35be12d5decce4a936aac38 100644 (file)
@@ -122,8 +122,7 @@ class CreateOrganizationForm extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
         <header className="modal-head">
           <h2>{translate('my_account.create_organization')}</h2>
         </header>
index 3bf647a669321a1ac754a894f9e00baa874d8bbd..8cbb30de0693dc0f529a75917ae5ad5a152a6b91 100644 (file)
@@ -78,8 +78,7 @@ export default class UserExternalIdentity extends React.Component {
     return (
       <div
         className="identity-provider"
-        style={{ backgroundColor: identityProvider.backgroundColor }}
-      >
+        style={{ backgroundColor: identityProvider.backgroundColor }}>
         <img
           src={window.baseUrl + identityProvider.iconPath}
           width="14"
index b6130a538c7f2c29b3e8d66353f41089231bd9fa..074fd288f8bbf9beed4be7676fd63426f5bed5cf 100644 (file)
@@ -72,8 +72,7 @@ export default class ProjectCard extends React.Component {
                     href={link.href}
                     title={link.name}
                     target="_blank"
-                    rel="nofollow"
-                  >
+                    rel="nofollow">
                     <i className={`icon-color-link icon-${link.type}`} />
                   </a>
                 </li>
index b91f872b82cf92cec6f6013dc098fb0961535a6e..c20dafc23c60cd938f8e0fb96278ae0a858db9d3 100644 (file)
@@ -46,8 +46,7 @@ const CurrentsFilter = ({ value, onChange }: { value: ?string, onChange: (string
         role="checkbox"
         tabIndex="0"
         aria-checked={checked ? 'true' : 'false'}
-        onClick={handleLabelClick}
-      >
+        onClick={handleLabelClick}>
         Yes
       </label>
     </div>
index 8d9da1719efc9d212f31b0e8033b4f2af6249286..8a8be6ad4f08ea9bfe43b2cef9ff9931359acc3e 100644 (file)
@@ -98,8 +98,7 @@ export default class Stats extends React.Component {
             className="js-failures-count emphasised-measure"
             data-toggle="tooltip"
             title="Count of projects where processing of most recent analysis report failed"
-            href="#"
-          >
+            href="#">
             {this.props.failingCount}
           </a>
           &nbsp;
@@ -112,8 +111,7 @@ export default class Stats extends React.Component {
           <span
             className="js-failures-count emphasised-measure"
             data-toggle="tooltip"
-            title="Count of projects where processing of most recent analysis report failed"
-          >
+            title="Count of projects where processing of most recent analysis report failed">
             {this.props.failingCount}
           </span>
           &nbsp;
index 96daac4cb13efc791b395254f73251c13b8dfe27..e9d9c48c4bb76eb1a34948d76879731ea8071453 100644 (file)
@@ -90,8 +90,7 @@ export default class TaskActions extends React.Component {
                 <a
                   className="js-task-show-scanner-context"
                   href="#"
-                  onClick={this.handleShowScannerContextClick.bind(this)}
-                >
+                  onClick={this.handleShowScannerContextClick.bind(this)}>
                   <i className="spacer-right icon-list icon-gray" />
                   {translate('background_tasks.show_scanner_context')}
                 </a>
@@ -101,8 +100,7 @@ export default class TaskActions extends React.Component {
                 <a
                   className="js-task-show-stacktrace"
                   href="#"
-                  onClick={this.handleShowStacktraceClick.bind(this)}
-                >
+                  onClick={this.handleShowStacktraceClick.bind(this)}>
                   <i className="spacer-right icon-list icon-red" />
                   {translate('background_tasks.show_stacktrace')}
                 </a>
index d3c7efa45782eba1e49a099ce46b484b13320de8..9ad27ba80ecdb46734cc2cf5099eb4685a9edbf1 100644 (file)
@@ -62,8 +62,7 @@ const ComponentName = ({ component, rootComponent, previous, canBrowse }) => {
     inner = (
       <Link
         to={{ pathname: '/dashboard', query: { id: component.refKey } }}
-        className="link-with-icon"
-      >
+        className="link-with-icon">
         <QualifierIcon qualifier={component.qualifier} />
         {' '}
         <span>{name}</span>
index 5ab8c75959a735eacf6e29eeaed0d772f1a67573..7d0f9478c59cd1560013844713fdc4011c706bf3 100644 (file)
@@ -33,8 +33,7 @@ const ComponentPin = ({ component }) => {
       className="link-no-underline"
       onClick={handleClick}
       title={translate('component_viewer.open_in_workspace')}
-      href="#"
-    >
+      href="#">
       <PinIcon />
     </a>
   );
index e2776c7538a2d74846744af2c7e6273e7e021bb9..9ffdf57c2bd21dafab51ea6b29804d48ea8a2614 100644 (file)
@@ -28,9 +28,10 @@ export default function IconBubbles() {
       fillRule="evenodd"
       clipRule="evenodd"
       strokeLinejoin="round"
-      strokeMiterlimit="1.414"
-    >
-      <path d="M352 256c52.984 0 96 43.016 96 96s-43.016 96-96 96-96-43.016-96-96 43.016-96 96-96zM128 96c70.645 0 128 57.355 128 128 0 70.645-57.355 128-128 128C57.355 352 0 294.645 0 224 0 153.355 57.355 96 128 96zM352 0c52.984 0 96 43.016 96 96s-43.016 96-96 96-96-43.016-96-96 43.016-96 96-96z" />
+      strokeMiterlimit="1.414">
+      <path
+        d="M352 256c52.984 0 96 43.016 96 96s-43.016 96-96 96-96-43.016-96-96 43.016-96 96-96zM128 96c70.645 0 128 57.355 128 128 0 70.645-57.355 128-128 128C57.355 352 0 294.645 0 224 0 153.355 57.355 96 128 96zM352 0c52.984 0 96 43.016 96 96s-43.016 96-96 96-96-43.016-96-96 43.016-96 96-96z"
+      />
     </svg>
   );
 }
index ae09eda5adc4928422a58d4b22aebbf99d2a568d..5173bf7c3c429342ff9535e18df9aac8f2b61e50 100644 (file)
@@ -28,9 +28,10 @@ export default function IconHistory() {
       fillRule="evenodd"
       clipRule="evenodd"
       strokeLinejoin="round"
-      strokeMiterlimit="1.414"
-    >
-      <path d="M512 384v32H0V32h32v352h480zM480 72v108.75q0 5.25-4.875 7.375t-8.875-1.875L436 156 277.75 314.25q-2.5 2.5-5.75 2.5t-5.75-2.5L208 256 104 360l-48-48 146.25-146.25q2.5-2.5 5.75-2.5t5.75 2.5L272 224l116-116-30.25-30.25q-4-4-1.875-8.875T363.25 64H472q3.5 0 5.75 2.25T480 72z" />
+      strokeMiterlimit="1.414">
+      <path
+        d="M512 384v32H0V32h32v352h480zM480 72v108.75q0 5.25-4.875 7.375t-8.875-1.875L436 156 277.75 314.25q-2.5 2.5-5.75 2.5t-5.75-2.5L208 256 104 360l-48-48 146.25-146.25q2.5-2.5 5.75-2.5t5.75 2.5L272 224l116-116-30.25-30.25q-4-4-1.875-8.875T363.25 64H472q3.5 0 5.75 2.25T480 72z"
+      />
     </svg>
   );
 }
index 973f0521938d3896afe30299d445fdaecd2fb489..56b40bca427a4ffff38f10b909c5999dfaf2d354 100644 (file)
@@ -28,9 +28,10 @@ export default function ListIcon() {
       fillRule="evenodd"
       clipRule="evenodd"
       strokeLinejoin="round"
-      strokeMiterlimit="1.414"
-    >
-      <path d="M448 48c0-8.83-7.17-16-16-16H16C7.17 32 0 39.17 0 48v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16V48zM448 144c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32zM448 240c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32zM448 336.03c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32z" />
+      strokeMiterlimit="1.414">
+      <path
+        d="M448 48c0-8.83-7.17-16-16-16H16C7.17 32 0 39.17 0 48v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16V48zM448 144c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32zM448 240c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32zM448 336.03c0-8.83-7.17-16-16-16H16c-8.83 0-16 7.17-16 16v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16v-32z"
+      />
     </svg>
   );
 }
index 3a3a1ca95ab88cb2c6d1e626421a235f3952ca12..95342ee9d91c4e0bdb90aad9369383814719bc47 100644 (file)
@@ -28,9 +28,10 @@ export default function IconTree() {
       fillRule="evenodd"
       clipRule="evenodd"
       strokeLinejoin="round"
-      strokeMiterlimit="1.414"
-    >
-      <path d="M448 48c0-8.83-7.17-16-16-16H16C7.17 32 0 39.17 0 48v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16V48zM448 144c0-8.83-6.146-16-13.714-16H77.714C70.144 128 64 135.17 64 144v32c0 8.83 6.145 16 13.714 16h356.572c7.568 0 13.714-7.17 13.714-16v-32zM448 240c0-8.83-5.12-16-11.428-16H139.428C133.12 224 128 231.17 128 240v32c0 8.83 5.12 16 11.428 16h297.144c6.307 0 11.428-7.17 11.428-16v-32zM448 336.03c0-8.83-4.097-16-9.142-16H201.143c-5.046 0-9.143 7.17-9.143 16v32c0 8.83 4.097 16 9.143 16h237.715c5.045 0 9.142-7.17 9.142-16v-32z" />
+      strokeMiterlimit="1.414">
+      <path
+        d="M448 48c0-8.83-7.17-16-16-16H16C7.17 32 0 39.17 0 48v32c0 8.83 7.17 16 16 16h416c8.83 0 16-7.17 16-16V48zM448 144c0-8.83-6.146-16-13.714-16H77.714C70.144 128 64 135.17 64 144v32c0 8.83 6.145 16 13.714 16h356.572c7.568 0 13.714-7.17 13.714-16v-32zM448 240c0-8.83-5.12-16-11.428-16H139.428C133.12 224 128 231.17 128 240v32c0 8.83 5.12 16 11.428 16h297.144c6.307 0 11.428-7.17 11.428-16v-32zM448 336.03c0-8.83-4.097-16-9.142-16H201.143c-5.046 0-9.143 7.17-9.143 16v32c0 8.83 4.097 16 9.143 16h237.715c5.045 0 9.142-7.17 9.142-16v-32z"
+      />
     </svg>
   );
 }
index 9e7ee089dfdea73f80fc07e36a406580545b3968..aef8aabc7ff36e0ffccd44c10ae8aa88b3c24559 100644 (file)
@@ -27,8 +27,7 @@ export default function IconTreemap() {
       fillRule="evenodd"
       clipRule="evenodd"
       strokeLinejoin="round"
-      strokeMiterlimit="1.414"
-    >
+      strokeMiterlimit="1.414">
       <path d="M0 0h224v448H0zM256 0h192v256H256zM256 288h192v160H256z" />
     </svg>
   );
index dee878337fc5c45467676dc5ed9b44719d9c4ff2..00340d6af08f5e99da0dc8127611921491085383 100644 (file)
@@ -106,11 +106,14 @@ export default class BubbleChart extends React.Component {
   }
 
   getTooltip(component) {
+    const x = formatMeasure(getMeasure(component, this.xMetric.key), this.xMetric.type);
+    const y = formatMeasure(getMeasure(component, this.yMetric.key), this.yMetric.type);
+    const size = formatMeasure(getMeasure(component, this.sizeMetric.key), this.sizeMetric.type);
     const inner = [
       component.name,
-      `${this.xMetric.name}: ${formatMeasure(getMeasure(component, this.xMetric.key), this.xMetric.type)}`,
-      `${this.yMetric.name}: ${formatMeasure(getMeasure(component, this.yMetric.key), this.yMetric.type)}`,
-      `${this.sizeMetric.name}: ${formatMeasure(getMeasure(component, this.sizeMetric.key), this.sizeMetric.type)}`
+      `${this.xMetric.name}: ${x}`,
+      `${this.yMetric.name}: ${y}`,
+      `${this.sizeMetric.name}: ${size}`
     ].join('<br>');
 
     return `<div class="text-left">${inner}</div>`;
index 41855bcc6db1ae61ed746b8793498ca93e8cb35e..46571e5077b6ca89c793c6aeb400c7dcbfe1e3ea 100644 (file)
@@ -92,8 +92,7 @@ export default class MeasureDetails extends React.Component {
           <IndexLink
             to={{ pathname: '/component_measures', query: { id: component.key } }}
             id="component-measures-back-to-all-measures"
-            className="text-muted"
-          >
+            className="text-muted">
             {translate('component_measures.all_measures')}
           </IndexLink>
           {!!metric.domain &&
@@ -104,8 +103,7 @@ export default class MeasureDetails extends React.Component {
                   pathname: `/component_measures/domain/${metric.domain}`,
                   query: { id: component.key }
                 }}
-                className="text-muted"
-              >
+                className="text-muted">
                 {translateWithParameters('component_measures.domain_measures', metric.domain)}
               </Link>
             </span>}
@@ -124,8 +122,7 @@ export default class MeasureDetails extends React.Component {
             metric={metric}
             tab={tab}
             leakPeriod={period}
-            leakPeriodDate={periodDate}
-          >
+            leakPeriodDate={periodDate}>
             {children}
           </MeasureDrilldown>}
       </section>
index e3e7969da17b328d05bb7bd1786ab831d89f10ce..1ccdd7eed1b39456a811ab5343d782f0c381a5bf 100644 (file)
@@ -64,22 +64,19 @@ const ComponentCell = ({ component, isSelected, onClick }) => {
           whiteSpace: 'nowrap',
           overflow: 'hidden',
           textOverflow: 'ellipsis'
-        }}
-      >
+        }}>
         {component.refId == null || component.qualifier === 'DEV_PRJ'
           ? <a
               id={'component-measures-component-link-' + component.key}
               className={linkClassName}
               href={getComponentUrl(component.key)}
-              onClick={handleClick}
-            >
+              onClick={handleClick}>
               {inner}
             </a>
           : <a
               id={'component-measures-component-link-' + component.key}
               className={linkClassName}
-              href={getComponentUrl(component.refKey || component.key)}
-            >
+              href={getComponentUrl(component.refKey || component.key)}>
               <span className="big-spacer-right">
                 <i className="icon-detach" />
               </span>
index f934eebd193d45540592011fba2da97c2bfb4328..699bba21e719061fcd5cd54fecf2a572aaa55d8f 100644 (file)
@@ -43,8 +43,7 @@ export default class MeasureDrilldown extends React.Component {
                 to={{
                   pathname: `/component_measures/metric/${metric.key}/list`,
                   query: { id: component.key }
-                }}
-              >
+                }}>
                 <IconList />
                 {translate('component_measures.tab.list')}
               </Link>
@@ -56,8 +55,7 @@ export default class MeasureDrilldown extends React.Component {
               to={{
                 pathname: `/component_measures/metric/${metric.key}/tree`,
                 query: { id: component.key }
-              }}
-            >
+              }}>
               <IconTree />
               {translate('component_measures.tab.tree')}
             </Link>
@@ -70,8 +68,7 @@ export default class MeasureDrilldown extends React.Component {
                 to={{
                   pathname: `/component_measures/metric/${metric.key}/bubbles`,
                   query: { id: component.key }
-                }}
-              >
+                }}>
                 <IconBubbles />
                 {translate('component_measures.tab.bubbles')}
               </Link>
@@ -84,8 +81,7 @@ export default class MeasureDrilldown extends React.Component {
                 to={{
                   pathname: `/component_measures/metric/${metric.key}/treemap`,
                   query: { id: component.key }
-                }}
-              >
+                }}>
                 <IconTreemap />
                 {translate('component_measures.tab.treemap')}
               </Link>
@@ -98,8 +94,7 @@ export default class MeasureDrilldown extends React.Component {
                 to={{
                   pathname: `/component_measures/metric/${metric.key}/history`,
                   query: { id: component.key }
-                }}
-              >
+                }}>
                 <IconHistory />
                 {translate('component_measures.tab.history')}
               </Link>
index 9e895d390e3740a359efa5896357483c21f60136..14de2b1a12b3af52118cf55d07b3b12a440ab962 100644 (file)
@@ -51,8 +51,7 @@ export default class Home extends React.Component {
               <li>
                 <IndexLink
                   to={{ pathname: '/component_measures', query: { id: component.key } }}
-                  activeClassName="active"
-                >
+                  activeClassName="active">
                   {translate('all')}
                 </IndexLink>
               </li>
@@ -63,8 +62,7 @@ export default class Home extends React.Component {
                       pathname: `/component_measures/domain/${domain.name}`,
                       query: { id: component.key }
                     }}
-                    activeClassName="active"
-                  >
+                    activeClassName="active">
                     {getLocalizedMetricDomain(domain.name)}
                   </Link>
                 </li>
index 5b395201657555e47dd5de51e44a700e23abddee..165980283b1a4a6257e697c8ba2cc1c2ae01dfd8 100644 (file)
@@ -28,8 +28,7 @@ const MeasureListValue = ({ measure }) => {
     return (
       <div
         id={`measure-${measure.metric.key}-leak`}
-        className="domain-measures-value domain-measures-leak"
-      >
+        className="domain-measures-value domain-measures-leak">
         <Measure measure={measure} />
       </div>
     );
index c46c27e5d3a6da60450b64f34be9f18cb4af9597..78bf218126958b66c177a3135c3277e0cfe51117 100644 (file)
@@ -32,8 +32,7 @@ const MeasuresList = ({ measures, component, className = 'domain-measures' }) =>
             to={{
               pathname: `/component_measures/metric/${measure.metric.key}`,
               query: { id: component.key }
-            }}
-          >
+            }}>
             <div className="domain-measures-name">
               <IssueTypeIcon query={measure.metric.key} className="little-spacer-right" />
               <span id={`measure-${measure.metric.key}-name`}>
index 1782325a68e2c4cb0c2a32488bd89a47f7b2bba3..3d732bce808fd9381c118d516197108c0f22ba8f 100644 (file)
@@ -175,7 +175,12 @@ export const updateOrganizationMemberGroups = (
       ...add.map(id => addUserToGroup(id, member.login)),
       ...remove.map(id => removeUserFromGroup(id, member.login))
     ];
-    return Promise.all(promises).then(() => {
-      dispatch(receiveUser({ ...member, groupCount: member.groupCount + add.length - remove.length }));
-    }, onFail(dispatch));
+    return Promise.all(promises).then(
+      () => {
+        dispatch(
+          receiveUser({ ...member, groupCount: member.groupCount + add.length - remove.length })
+        );
+      },
+      onFail(dispatch)
+    );
   };
index 2324b9d4c7f0310373295cc4e5d824b4757e203d..a3465c60a524edbd94777499dd4b03978a272b68 100644 (file)
@@ -53,7 +53,10 @@ export default class MembersListItem extends React.PureComponent {
         </td>
         {organization.canAdmin &&
           <td className="text-right text-middle">
-            {translateWithParameters('organization.members.x_groups', formatMeasure(member.groupCount || 0, 'INT'))}
+            {translateWithParameters(
+              'organization.members.x_groups',
+              formatMeasure(member.groupCount || 0, 'INT')
+            )}
           </td>}
         {organization.canAdmin &&
           <td className="nowrap text-middle text-right">
index caf6cd849ef25a1ad04122bd6ef3cce7f3fabfd2..ece826b126bb66e276b94e16a083989850e9dae5 100644 (file)
@@ -67,8 +67,7 @@ class OrganizationDelete extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.handleCloseModal}
-      >
+        onRequestClose={this.handleCloseModal}>
 
         <header className="modal-head">
           <h2>{translate('organization.delete')}</h2>
@@ -112,8 +111,7 @@ class OrganizationDelete extends React.Component {
           <button
             className="button-red"
             disabled={this.state.loading || this.state.deleting}
-            onClick={this.handleOpenModal}
-          >
+            onClick={this.handleOpenModal}>
             {translate('delete')}
           </button>
           {this.state.deleting && this.renderModal()}
index f21f52b009481dbb34c78c449391f8c1c915d98d..ffe6fc463ce68df078468de26fd50cf172757991 100644 (file)
@@ -45,8 +45,7 @@ export default class OrganizationGroupCheckbox extends React.PureComponent {
         className="capitalize list-item-checkable-link"
         onClick={this.toggleCheck}
         tabIndex={0}
-        role="listitem"
-      >
+        role="listitem">
         <Checkbox checked={this.props.checked} onCheck={this.onCheck} />
         {' '}{this.props.group.name}
       </li>
index d96f62874d5c44c4433d64935d6e79b018529519..aeff08b58c7259231d8eae8247c04f9d7205b1a7 100644 (file)
@@ -28,11 +28,6 @@ const members = [
 ];
 
 it('should render a list of members of an organization', () => {
-  const wrapper = shallow(
-    <MembersList
-      organization={organization}
-      members={members}
-    />
-  );
+  const wrapper = shallow(<MembersList organization={organization} members={members} />);
   expect(wrapper).toMatchSnapshot();
 });
index 439f998b4b70b1248c08e7c58acf75ea5d289ce8..4844a99aca11d14d96bf321a7a7eed17a969a9d1 100644 (file)
@@ -22,15 +22,11 @@ import { shallow } from 'enzyme';
 import MembersListHeader from '../MembersListHeader';
 
 it('should render without the total', () => {
-  const wrapper = shallow(
-    <MembersListHeader handleSearch={jest.fn()} />
-  );
+  const wrapper = shallow(<MembersListHeader handleSearch={jest.fn()} />);
   expect(wrapper).toMatchSnapshot();
 });
 
 it('should render with the total', () => {
-  const wrapper = shallow(
-    <MembersListHeader handleSearch={jest.fn()} total={8} />
-  );
+  const wrapper = shallow(<MembersListHeader handleSearch={jest.fn()} total={8} />);
   expect(wrapper).toMatchSnapshot();
 });
index dd97722ea42c407a441ba177b850b5662384e309..1ed64e94cecee397ba8ec9aab51ae9a1e262c6ac 100644 (file)
@@ -26,31 +26,20 @@ const admin = { login: 'admin', name: 'Admin Istrator', avatar: '', groupCount:
 const john = { login: 'john', name: 'John Doe', avatar: '7daf6c79d4802916d83f6266e24850af' };
 
 it('should not render actions and groups for non admin', () => {
-  const wrapper = shallow(
-    <MembersListItem
-      organization={organization}
-      member={admin}
-    />
-  );
+  const wrapper = shallow(<MembersListItem organization={organization} member={admin} />);
   expect(wrapper).toMatchSnapshot();
 });
 
 it('should render actions and groups for admin', () => {
   const wrapper = shallow(
-    <MembersListItem
-      organization={{ ...organization, canAdmin: true }}
-      member={admin}
-    />
+    <MembersListItem organization={{ ...organization, canAdmin: true }} member={admin} />
   );
   expect(wrapper).toMatchSnapshot();
 });
 
 it('should groups at 0 if the groupCount field is not defined (just added user)', () => {
   const wrapper = shallow(
-    <MembersListItem
-      organization={{ ...organization, canAdmin: true }}
-      member={john}
-    />
+    <MembersListItem organization={{ ...organization, canAdmin: true }} member={john} />
   );
   expect(wrapper).toMatchSnapshot();
 });
index 4e8fd9a2760ad29a106bad460e8539421da3ac14..1c431fbaf6f072ab48c8b48f0626e0d53c322086 100644 (file)
@@ -22,9 +22,7 @@ import { shallow } from 'enzyme';
 import MembersPageHeader from '../MembersPageHeader';
 
 it('should render the members page header', () => {
-  const wrapper = shallow(
-    <MembersPageHeader />
-  );
+  const wrapper = shallow(<MembersPageHeader />);
   expect(wrapper).toMatchSnapshot();
   wrapper.setProps({ loading: true });
   expect(wrapper.find('.spinner')).toMatchSnapshot();
index 3ed2825cde518c2ffc913b53bb505054db2394f5..c478be943d56e508903f46608e799c56a48363b6 100644 (file)
@@ -69,8 +69,7 @@ export default class AddMemberForm extends React.PureComponent {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
         <header className="modal-head">
           <h2>{translate('users.add')}</h2>
         </header>
index ac19d3e725f0e16f2c6dc7ceb6bbacdd91930d36..14243d37f04e58893b26179da9f6fd303fd7f142 100644 (file)
@@ -107,15 +107,17 @@ export default class ManageMemberGroupsForm extends React.PureComponent {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
         <header className="modal-head">
           <h2>{translate('organization.members.manage_groups')}</h2>
         </header>
         <form onSubmit={this.handleSubmit}>
           <div className="modal-body">
             <strong>
-              {translateWithParameters('organization.members.members_groups', this.props.member.name)}
+              {translateWithParameters(
+                'organization.members.members_groups',
+                this.props.member.name
+              )}
             </strong>{' '}{this.state.loading && <i className="spinner" />}
             {!this.state.loading &&
               <ul className="list-spaced">
index 888e13f5ba587c5096b9fe6eb7519ec718ec9f97..335b14cf1d95f835a47225557ab8372c147e2314 100644 (file)
@@ -63,8 +63,7 @@ export default class RemoveMemberForm extends React.PureComponent {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
         <header className="modal-head">
           <h2>{translate('users.remove')}</h2>
         </header>
index 4e221313939f7cc5b67eb12790c62ead1d562ba4..a38d9829abda3b43a76cadf68959bd1186d2395f 100644 (file)
@@ -71,16 +71,14 @@ export default class OrganizationNavigation extends React.Component {
           <li>
             <Link
               to={`/organizations/${organization.key}/permission_templates`}
-              activeClassName="active"
-            >
+              activeClassName="active">
               {translate('permission_templates')}
             </Link>
           </li>
           <li>
             <Link
               to={`/organizations/${organization.key}/projects_management`}
-              activeClassName="active"
-            >
+              activeClassName="active">
               {translate('projects_management')}
             </Link>
           </li>
@@ -136,8 +134,7 @@ export default class OrganizationNavigation extends React.Component {
                       className="link-underline"
                       href={organization.url}
                       title={organization.url}
-                      rel="nofollow"
-                    >
+                      rel="nofollow">
                       {organization.url}
                     </a>
                   </p>
@@ -148,8 +145,7 @@ export default class OrganizationNavigation extends React.Component {
               <li>
                 <Link
                   to={`/organizations/${organization.key}/projects`}
-                  className={isHomeActive ? 'active' : ''}
-                >
+                  className={isHomeActive ? 'active' : ''}>
                   {translate('projects.page')}
                 </Link>
               </li>
index c19ef680cc683b60d6c21c980ee361cda86151ab..50ff0bffd7c45e793bfd083dce5a0ace3ae8e37f 100644 (file)
@@ -99,7 +99,8 @@ export default class OverviewApp extends React.Component {
 
   componentDidUpdate(prevProps) {
     if (this.props.component.key !== prevProps.component.key) {
-      this.loadMeasures(this.props.component.key).then(() => this.loadHistory(this.props.component));
+      this.loadMeasures(this.props.component.key).then(() =>
+        this.loadHistory(this.props.component));
     }
   }
 
index ccd8896ae3094befd107c5b0a80d2be4961f9a0b..73804604e7d5e551789686f345045f0b9dd2eb62 100644 (file)
@@ -99,8 +99,7 @@ class Coverage extends React.Component {
           <DrilldownLink
             component={component.key}
             metric={newCoverageMeasure.metric.key}
-            period={leakPeriod.index}
-          >
+            period={leakPeriod.index}>
             <span className="js-overview-main-new-coverage">
               {formatMeasure(newCoverageValue, 'PERCENT')}
             </span>
@@ -115,8 +114,7 @@ class Coverage extends React.Component {
             className="spacer-right overview-domain-secondary-measure-value"
             component={component.key}
             metric={newLinesToCover.metric.key}
-            period={leakPeriod.index}
-          >
+            period={leakPeriod.index}>
             <span className="js-overview-main-new-coverage">
               {formatMeasure(newLinesToCoverValue, 'SHORT_INT')}
             </span>
index 85bcf914fdfcadad226a71d04d97d3b404242dfb..9c5980e62606f7b14dca323662223456996d0e72 100644 (file)
@@ -83,8 +83,7 @@ class Duplications extends React.Component {
           <DrilldownLink
             component={component.key}
             metric={newDuplicationsMeasure.metric.key}
-            period={leakPeriod.index}
-          >
+            period={leakPeriod.index}>
             <span className="js-overview-main-new-duplications">
               {formatMeasure(newDuplicationsValue, 'PERCENT')}
             </span>
@@ -99,8 +98,7 @@ class Duplications extends React.Component {
             className="spacer-right overview-domain-secondary-measure-value"
             component={component.key}
             metric={newLinesMeasure.metric.key}
-            period={leakPeriod.index}
-          >
+            period={leakPeriod.index}>
             <span className="js-overview-main-new-lines">
               {formatMeasure(newLinesValue, 'SHORT_INT')}
             </span>
index cadb3d6faeb5919e0df730b53fca58914d8b9348..731bb5f9d1feafda6ce11dbb14b1bfb631e48cf7 100644 (file)
@@ -67,8 +67,7 @@ export default class MetaLink extends React.Component {
           className="link-with-icon"
           href={link.url}
           target="_blank"
-          onClick={!isClickable(link) && this.handleClick}
-        >
+          onClick={!isClickable(link) && this.handleClick}>
           {this.renderLinkIcon(link)}
           &nbsp;
           {link.name}
index d971e5417432f0fac0492a9ac5e1cbe9304fba22..ff4c39b3db04c801b481e83e4a5c8e5b6f3168d3 100644 (file)
@@ -94,8 +94,7 @@ class MetaQualityProfiles extends React.Component {
           key={profile.key}
           className="overview-deprecated-rules"
           title={tooltip}
-          data-toggle="tooltip"
-        >
+          data-toggle="tooltip">
           {inner}
         </li>
       );
index 61301114fe97b29308fee1b355602780720018d0..33152d954f4910ded33db993ca1c7afa43321e77 100644 (file)
@@ -107,12 +107,8 @@ export default class MetaTags extends React.PureComponent {
           <button
             className="button-link"
             onClick={this.handleClick}
-            ref={tagsList => this.tagsList = tagsList}
-          >
-            <TagsList
-              tags={tags.length ? tags : [translate('no_tags')]}
-              allowUpdate={true}
-            />
+            ref={tagsList => this.tagsList = tagsList}>
+            <TagsList tags={tags.length ? tags : [translate('no_tags')]} allowUpdate={true} />
           </button>
           {popupOpen &&
             <div ref={tagsSelector => this.tagsSelector = tagsSelector}>
index 4b506010676bdb59c92812c36d0701428bc63570..8d021bdc5fcf4db0d86588b4b9625303621dc822 100644 (file)
@@ -125,8 +125,7 @@ export default class QualityGateCondition extends React.Component {
           component={component.key}
           metric={condition.measure.metric.key}
           period={condition.period}
-          periodDate={periodDate}
-        >
+          periodDate={periodDate}>
           {children}
         </DrilldownLink>;
   }
index 5e7b533671fc6e5407c807ec85e0c1ba7b41e212..9011b370cd9f684e6c64e463c8c548c793acc003 100644 (file)
@@ -101,8 +101,7 @@ export default class QualityGateConditions extends React.Component {
     return (
       <div
         id="overview-quality-gate-conditions-list"
-        className="overview-quality-gate-conditions-list clearfix"
-      >
+        className="overview-quality-gate-conditions-list clearfix">
         {sortedConditions.map(condition => (
           <QualityGateCondition
             key={condition.measure.metric.key}
index f43f135ab7fc11995d266d5d60c6174de95a016c..2d97ab9b99670f05857b6e7a738b8803eb3b66f3 100644 (file)
@@ -111,8 +111,7 @@ export default class ActionsCell extends React.Component {
           href="#"
           className="js-set-default"
           data-qualifier={qualifier}
-          onClick={this.setDefault.bind(this, qualifier)}
-        >
+          onClick={this.setDefault.bind(this, qualifier)}>
           {this.renderDropdownIcon(<i className="icon-check" />)}
           {child}
         </a>
index c4a0a7d5fdc2138d0891c2164522b2678dc56785..d92e0a069a08bd766c5261ecb5a86aefdc905b56 100644 (file)
@@ -209,8 +209,7 @@ class Template extends React.Component {
           groups={store.groups}
           onSelectPermission={this.handleSelectPermission}
           onToggleUser={this.handleToggleUser}
-          onToggleGroup={this.handleToggleGroup}
-        >
+          onToggleGroup={this.handleToggleGroup}>
 
           <SearchForm
             query={store.query}
index e90ec39e5d75a7c24ca1817ccc1c40d0e2a21370..94b35091d549677fad26fcb52d73c4b8623e149a 100644 (file)
@@ -22,8 +22,8 @@ import Template from '../templates/permission-templates-groups.hbs';
 import '../../../components/SelectList';
 
 function getSearchUrl(permission, permissionTemplate) {
-  return window.baseUrl +
-    `/api/permissions/template_groups?ps=100&permission=${permission.key}&templateId=${permissionTemplate.id}`;
+  return `${window.baseUrl}/api/permissions/template_groups?` +
+    `ps=100&permission=${permission.key}&templateId=${permissionTemplate.id}`;
 }
 
 export default Modal.extend({
index 0da31f05bbb75be881f49d7163d2c6e958734e6c..bad51b688b546bd8027cbe35ff510b9e76a8cdcf 100644 (file)
@@ -91,8 +91,7 @@ class AllHoldersList extends React.Component {
         groups={this.props.groups}
         onSelectPermission={this.props.onSelectPermission}
         onToggleUser={this.handleToggleUser.bind(this)}
-        onToggleGroup={this.handleToggleGroup.bind(this)}
-      >
+        onToggleGroup={this.handleToggleGroup.bind(this)}>
 
         <SearchForm
           query={this.props.query}
index 5d56d637d453aeafe6dcd2733dc8d49748889995..8b4ccc364dfb1c1a525202fe63ca3699c85b63cc 100644 (file)
@@ -99,8 +99,7 @@ class AllHoldersList extends React.Component {
         groups={this.props.groups}
         onSelectPermission={this.handleSelectPermission.bind(this)}
         onToggleUser={this.handleToggleUser.bind(this)}
-        onToggleGroup={this.handleToggleGroup.bind(this)}
-      >
+        onToggleGroup={this.handleToggleGroup.bind(this)}>
 
         <SearchForm
           query={this.props.query}
index 9c8f5d24cb4413981885650e10f80197cb8ace93..c9a188dcf33c6c690e95748e87c35b0d44b21df0 100644 (file)
@@ -46,8 +46,7 @@ export default class GroupHolder extends React.Component {
       <td
         key={p.key}
         className="text-center text-middle"
-        style={{ backgroundColor: p.key === selectedPermission ? '#d9edf7' : 'transparent' }}
-      >
+        style={{ backgroundColor: p.key === selectedPermission ? '#d9edf7' : 'transparent' }}>
         <button className="button-clean" onClick={this.handleClick.bind(this, p.key)}>
           {this.props.permissions.includes(p.key)
             ? <i className="icon-checkbox icon-checkbox-checked" />
index 783d54f0110a4a39ee69c246c0fc7c2c4adb4eda..f71911a563830b83f28fc2d450559a52722217bc 100644 (file)
@@ -48,15 +48,13 @@ export default class HoldersList extends React.Component {
         className="permission-column text-center"
         style={{
           backgroundColor: p.key === selectedPermission ? '#d9edf7' : 'transparent'
-        }}
-      >
+        }}>
         <div className="permission-column-inner">
           <a
             href="#"
             title={`Filter by "${p.name}" permission`}
             data-toggle="tooltip"
-            onClick={this.handlePermissionClick.bind(this, p.key)}
-          >
+            onClick={this.handlePermissionClick.bind(this, p.key)}>
             {p.name}
           </a>
           <i className="icon-help little-spacer-left" title={p.description} data-toggle="tooltip" />
index 2f340624ce869269b832e93e4659e1c402acf425..464cd508eedddacfa18c264f6479031f5dfab128 100644 (file)
@@ -69,8 +69,7 @@ export default class SearchForm extends React.Component {
 
         <form
           className="search-box display-inline-block text-middle big-spacer-left"
-          onSubmit={this.handleSubmit}
-        >
+          onSubmit={this.handleSubmit}>
           <button className="search-box-submit button-clean">
             <i className="icon-search" />
           </button>
index 084830794b9c2d53bb27b1e0fbf85d49b5955a3b..df72afc0bd5c441d6502b6f519920618bb26a075 100644 (file)
@@ -47,8 +47,7 @@ export default class UserHolder extends React.Component {
       <td
         key={p.key}
         className="text-center text-middle"
-        style={{ backgroundColor: p.key === selectedPermission ? '#d9edf7' : 'transparent' }}
-      >
+        style={{ backgroundColor: p.key === selectedPermission ? '#d9edf7' : 'transparent' }}>
         <button className="button-clean" onClick={this.handleClick.bind(this, p.key)}>
           {this.props.permissions.includes(p.key)
             ? <i className="icon-checkbox icon-checkbox-checked" />
index 661ab118e012dfd16c70e4035665478ab8ac75ff..87b2b3bb9fb423909c7a27c978fae5af3e2a0649 100644 (file)
@@ -110,8 +110,7 @@ class Key extends React.Component {
                     id="update-key-tab-bulk"
                     className={tab === 'bulk' ? 'selected' : ''}
                     href="#"
-                    onClick={this.handleChangeTab.bind(this, 'bulk')}
-                  >
+                    onClick={this.handleChangeTab.bind(this, 'bulk')}>
                     {translate('update_key.bulk_update')}
                   </a>
                 </li>
@@ -120,8 +119,7 @@ class Key extends React.Component {
                     id="update-key-tab-fine"
                     className={tab === 'fine' ? 'selected' : ''}
                     href="#"
-                    onClick={this.handleChangeTab.bind(this, 'fine')}
-                  >
+                    onClick={this.handleChangeTab.bind(this, 'fine')}>
                     {translate('update_key.fine_grained_key_update')}
                   </a>
                 </li>
index b037f6f27b9d4dd88cc5ada02483c8e054f37ae4..f81eba6b5932d98b68c7d8114a58aa8fbd7b2d21 100644 (file)
@@ -77,8 +77,7 @@ export default class UpdateForm extends React.Component {
           <button
             id="update-key-reset"
             disabled={!hasChanged}
-            onClick={this.handleReset.bind(this)}
-          >
+            onClick={this.handleReset.bind(this)}>
             {translate('reset_verb')}
           </button>
         </div>
index af57cdd31315bae5e8b215537676273866fef72f..a820b6ff3289f09fc61dcc6b39f82399ec1a40b9 100644 (file)
@@ -99,8 +99,7 @@ export default class AddEventForm extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
 
         <header className="modal-head">
           <h2>{translate(this.props.addEventButtonText)}</h2>
index a85e6547b8c43633a7d0a62c285fddc38df2ddba..4dfd72bfda86255ac066ac3640f374b0ff9a01c9 100644 (file)
@@ -97,8 +97,7 @@ export default class ChangeEventForm extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
 
         <header className="modal-head">
           <h2>{translate(this.props.changeEventButtonText)}</h2>
index b3f42d2db18e2e29cb2a1c8c7f9c53efd967453a..af543faae99056bb5907482ab6073033358aabf9 100644 (file)
@@ -92,8 +92,7 @@ class RemoveAnalysisForm extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
 
         <header className="modal-head">
           <h2>{translate('project_activity.delete_analysis')}</h2>
index 90c589f2a5be12198d372ebb207add183ab81d12..34366af0a374a5b249dace17016ee6bd3df19c09 100644 (file)
@@ -84,8 +84,7 @@ export default class RemoveEventForm extends React.Component {
         contentLabel="modal form"
         className="modal"
         overlayClassName="modal-overlay"
-        onRequestClose={this.closeForm}
-      >
+        onRequestClose={this.closeForm}>
 
         <header className="modal-head">
           <h2>{translate(this.props.removeEventButtonText)}</h2>
index 32196f5023fa18c6d039dc114ed4727b190f82db..2906d35863042f169a64542c9ed222a9e8765282 100644 (file)
@@ -78,8 +78,10 @@ export default class Header extends React.Component {
         </div>
         <p className="page-description">
           Use this page to delete multiple projects at once, or to provision projects
-          if you would like to configure them before the first analysis. Note that once a project is provisioned, you
-          have access to perform all project configurations on it.
+          {' '}
+          if you would like to configure them before the first analysis. Note that once
+          {' '}
+          a project is provisioned, you have access to perform all project configurations on it.
         </p>
       </header>
     );
index d81de1966f45d1d3ca12273b68836aa7f0d62382..88c0940368da0a079409aa89bc7bd996e01fad74 100644 (file)
@@ -72,8 +72,7 @@ export default class Projects extends React.Component {
         <td className="nowrap">
           <Link
             to={{ pathname: '/dashboard', query: { id: project.key } }}
-            className="link-with-icon"
-          >
+            className="link-with-icon">
             <QualifierIcon qualifier={project.qualifier} />
             {' '}
             <span>{project.name}</span>
index b4c658ce0d8e1b227e2acc99175db6dfbbdfe088..542946ce55bf40b7ccff97311aae7a123a3a3a07 100644 (file)
@@ -149,8 +149,7 @@ export default React.createClass({
                 <button
                   onClick={this.deleteProjects}
                   className="button-red"
-                  disabled={!isSomethingSelected}
-                >
+                  disabled={!isSomethingSelected}>
                   Delete
                 </button>
               </td>
index 74c2372ea37e0817f8931daf2a5f749d2c3a0df7..6c6669bd7d2be089cba999329d5800501e07f541 100644 (file)
@@ -57,8 +57,7 @@ export default class FavoriteFilter extends React.PureComponent {
             to={pathnameForFavorite}
             className="button"
             activeClassName="button-active"
-            onClick={this.handleSaveFavorite}
-          >
+            onClick={this.handleSaveFavorite}>
             {translate('my_favorites')}
           </Link>
           <IndexLink
@@ -66,8 +65,7 @@ export default class FavoriteFilter extends React.PureComponent {
             to={pathnameForAll}
             className="button"
             activeClassName="button-active"
-            onClick={this.handleSaveAll}
-          >
+            onClick={this.handleSaveAll}>
             {translate('all')}
           </IndexLink>
         </div>
index af67fe1090ade9fceadb6fbb0756b205ba277135..12de3c1879326aef993ddf0ee68b96e7b08c5901 100644 (file)
@@ -45,7 +45,10 @@ export default class LanguagesFilter extends React.PureComponent {
   property = 'languages';
 
   renderOption = (option: string) => (
-    <SearchableFilterOption optionKey={option} option={getLanguageByKey(this.props.languages, option)} />
+    <SearchableFilterOption
+      optionKey={option}
+      option={getLanguageByKey(this.props.languages, option)}
+    />
   );
 
   getSearchOptions(facet: {}, languages: {}) {
@@ -53,7 +56,9 @@ export default class LanguagesFilter extends React.PureComponent {
     if (facet) {
       languageKeys = difference(languageKeys, Object.keys(facet));
     }
-    return languageKeys.slice(0, LIST_SIZE).map(key => ({ label: languages[key].name, value: key }));
+    return languageKeys
+      .slice(0, LIST_SIZE)
+      .map(key => ({ label: languages[key].name, value: key }));
   }
 
   getSortedOptions(facet: {} = {}) {
index d0586c38a0fc1e9899d3a258186eeec3674cc00e..ae97c28785eb051b8ccc9610e357832558a7c989 100644 (file)
@@ -77,15 +77,13 @@ export default class SortingFilter extends React.PureComponent {
           <Link
             onClick={this.blurLink}
             className={this.getLinkClass('left')}
-            to={this.getLinkPath('left')}
-          >
+            to={this.getLinkPath('left')}>
             {leftText}
           </Link>
           <Link
             onClick={this.blurLink}
             className={this.getLinkClass('right')}
-            to={this.getLinkPath('right')}
-          >
+            to={this.getLinkPath('right')}>
             {rightText}
           </Link>
         </div>
index 7ddbaab19db1e2688c6e79df62711f29e1a402ef..675c47d1c000f95d6795cb1e17bfd24d3756369a 100644 (file)
@@ -73,7 +73,10 @@ export default class TagsFilter extends React.PureComponent {
     if (search !== this.state.search) {
       search = search || '';
       this.setState({ search, isLoading: true });
-      searchProjectTags({ q: search, ps: size(this.props.facet || {}) + LIST_SIZE }).then(result => {
+      searchProjectTags({
+        q: search,
+        ps: size(this.props.facet || {}) + LIST_SIZE
+      }).then(result => {
         this.setState({ isLoading: false, tags: result.tags });
       });
     }
index e132ea9fd01442b05c1752a57ee77f615ca9c4e2..b5a84155f69dac5c659e500182c412acd97b6c78 100644 (file)
@@ -52,7 +52,12 @@ const fakeRouter = { push: () => {} };
 
 it('should render the languages without the ones in the facet', () => {
   const wrapper = shallow(
-    <LanguagesFilter query={{ languages: null }} languages={languages} router={fakeRouter} facet={languagesFacet} />
+    <LanguagesFilter
+      query={{ languages: null }}
+      languages={languages}
+      router={fakeRouter}
+      facet={languagesFacet}
+    />
   );
   expect(wrapper).toMatchSnapshot();
 });
index 999b7e15dd11f11f2e10d2d969593df14a83c347..ef6d8518c8d96e7dfcbf16a4631310a94e256d87 100644 (file)
@@ -26,7 +26,9 @@ const tagsFacet = { lang: 4, sonar: 3, csharp: 1 };
 const fakeRouter = { push: () => {} };
 
 it('should render the tags without the ones in the facet', () => {
-  const wrapper = shallow(<TagsFilter query={{ tags: null }} router={fakeRouter} facet={tagsFacet} />);
+  const wrapper = shallow(
+    <TagsFilter query={{ tags: null }} router={fakeRouter} facet={tagsFacet} />
+  );
   expect(wrapper).toMatchSnapshot();
   wrapper.setState({ tags });
   expect(wrapper).toMatchSnapshot();
index 0f6e7ac43d1821ef82b8dbb21b7ab4d7fafc63ee..ada545c4dfcf9329a2bb9bfa939209aff0f4664f 100644 (file)
@@ -63,10 +63,10 @@ export default class QualityModel extends React.PureComponent {
     color2: number
   ) {
     const fullProjectName = this.props.displayOrganizations && project.organization
-      ? `<div class="little-spacer-bottom">${project.organization.name} / <strong>${project.name}</strong></div>`
-      : `<div class="little-spacer-bottom"><strong>${project.name}</strong></div>`;
+      ? `${project.organization.name} / <strong>${project.name}</strong>`
+      : `<strong>${project.name}</strong>`;
     const inner = [
-      fullProjectName,
+      `<div class="little-spacer-bottom">${fullProjectName}</div>`,
       this.getMetricTooltip({ key: COLOR_METRIC_1, type: COLOR_METRIC_TYPE }, color1),
       this.getMetricTooltip({ key: COLOR_METRIC_2, type: COLOR_METRIC_TYPE }, color2),
       this.getMetricTooltip({ key: Y_METRIC, type: Y_METRIC_TYPE }, y),
index 76e704ae57afd78104d45ed9d1906c85fc773b69..5e0ce2c9b23f2681c3b8fc72a87a5109c4d656a4 100644 (file)
@@ -53,11 +53,11 @@ export default class SimpleBubbleChart extends React.PureComponent {
 
   getTooltip(project: Project, x: ?number, y: ?number, size: ?number, color?: number) {
     const fullProjectName = this.props.displayOrganizations && project.organization
-      ? `<div class="little-spacer-bottom">${project.organization.name} / <strong>${project.name}</strong></div>`
-      : `<div class="little-spacer-bottom"><strong>${project.name}</strong></div>`;
+      ? `${project.organization.name} / <strong>${project.name}</strong>`
+      : `<strong>${project.name}</strong>`;
 
     const inner = [
-      fullProjectName,
+      `<div class="little-spacer-bottom">${fullProjectName}</div>`,
       this.getMetricTooltip(this.props.xMetric, x),
       this.getMetricTooltip(this.props.yMetric, y),
       this.getMetricTooltip(this.props.sizeMetric, size)
@@ -118,12 +118,13 @@ export default class SimpleBubbleChart extends React.PureComponent {
           {translate('metric', yMetric.key, 'name')}
         </div>
         <div className="measure-details-bubble-chart-axis size">
-          {colorMetric != null && <span className="spacer-right">
-            {translateWithParameters(
-              'component_measures.legend.color_x',
-              translate('metric', colorMetric, 'name')
-            )}
-          </span>}
+          {colorMetric != null &&
+            <span className="spacer-right">
+              {translateWithParameters(
+                'component_measures.legend.color_x',
+                translate('metric', colorMetric, 'name')
+              )}
+            </span>}
           {translateWithParameters(
             'component_measures.legend.size_x',
             translate('metric', sizeMetric.key, 'name')
index e5f66c5a98dddee0238c6dadb5bf81244ffe6970..42788371e7fbc768594a121d3f7835cb0ba0e277 100644 (file)
@@ -268,14 +268,12 @@ export default class Condition extends Component {
                   <button
                     className="update-condition"
                     disabled={!this.state.changed}
-                    onClick={this.handleUpdateClick.bind(this)}
-                  >
+                    onClick={this.handleUpdateClick.bind(this)}>
                     {translate('update_verb')}
                   </button>
                   <button
                     className="button-red delete-condition"
-                    onClick={this.handleDeleteClick.bind(this)}
-                  >
+                    onClick={this.handleDeleteClick.bind(this)}>
                     {translate('delete')}
                   </button>
                 </div>
@@ -286,8 +284,7 @@ export default class Condition extends Component {
                   <a
                     className="action cancel-add-condition"
                     href="#"
-                    onClick={this.handleCancelClick.bind(this)}
-                  >
+                    onClick={this.handleCancelClick.bind(this)}>
                     {translate('cancel')}
                   </a>
                 </div>}
index 2b00fc48dd6295bb97f545faa8b74aa1202bb7de..51f4f6b4c7b98e8d30be4b08e1fcbb08047adbe8 100644 (file)
@@ -30,8 +30,7 @@ export default function List({ qualityGates }) {
           to={`/quality_gates/show/${qualityGate.id}`}
           activeClassName="active"
           className="list-group-item"
-          data-id={qualityGate.id}
-        >
+          data-id={qualityGate.id}>
           <table>
             <tbody>
               <tr>
index 7c11c4a88f508b9cb36fad8d9de0538160b65e02..1616c0936c8baa7af384278476b665aaff05191e 100644 (file)
@@ -110,8 +110,7 @@ export default class ProfileActions extends React.Component {
         <li>
           <Link
             to={{ pathname: '/profiles/compare', query: { key: profile.key } }}
-            id="quality-profile-compare"
-          >
+            id="quality-profile-compare">
             {translate('compare')}
           </Link>
         </li>
@@ -133,8 +132,7 @@ export default class ProfileActions extends React.Component {
             <a
               id="quality-profile-set-as-default"
               href="#"
-              onClick={this.handleSetDefaultClick.bind(this)}
-            >
+              onClick={this.handleSetDefaultClick.bind(this)}>
               {translate('set_as_default')}
             </a>
           </li>}
index 6fbb379a8879f0f22c565014ae4a524ffc93764c..e6d332735b725d6c0a8ac544a684028473892b7f 100644 (file)
@@ -32,8 +32,7 @@ export default class ProfileLink extends React.Component {
       <Link
         to={{ pathname: '/profiles/show', query }}
         activeClassName="link-no-underline"
-        {...other}
-      >
+        {...other}>
         {children}
       </Link>
     );
index da6f052f635bcf4432d0293c9553a062242e6a25..c4073232a95da859fbd67b625c37aa6e7ab70f27 100644 (file)
@@ -34,8 +34,7 @@ it('should render ProfileHeader', () => {
       location={{ query: { key: 'profile1' } }}
       profiles={profiles}
       canAdmin={false}
-      updateProfiles={updateProfiles}
-    >
+      updateProfiles={updateProfiles}>
       <div />
     </ProfileContainer>
   );
@@ -53,8 +52,7 @@ it('should render ProfileNotFound', () => {
       location={{ query: { key: 'random' } }}
       profiles={profiles}
       canAdmin={false}
-      updateProfiles={() => true}
-    >
+      updateProfiles={() => true}>
       <div />
     </ProfileContainer>
   );
@@ -69,8 +67,7 @@ it('should render Helmet', () => {
       location={{ query: { key: 'profile1' } }}
       profiles={profiles}
       canAdmin={false}
-      updateProfiles={updateProfiles}
-    >
+      updateProfiles={updateProfiles}>
       <div />
     </ProfileContainer>
   );
index b75c90c13730cbecd70a370bf59222377dae6d8d..a581dad19833ab7524a0dcf6a755a5520df2a290 100644 (file)
@@ -92,8 +92,7 @@ export default class ProfileHeader extends React.Component {
           {' / '}
           <Link
             to={{ pathname: '/profiles/', query: { language: profile.language } }}
-            className="text-muted"
-          >
+            className="text-muted">
             {profile.languageName}
           </Link>
         </div>
@@ -111,8 +110,7 @@ export default class ProfileHeader extends React.Component {
             <li>
               <Link
                 to={{ pathname: '/profiles/changelog', query: { key: profile.key } }}
-                className="button"
-              >
+                className="button">
                 {translate('changelog')}
               </Link>
             </li>
index fffdb362366853666c0b58085599a6b5f2782245..650eae3746eaafa60013b1877181c78c72711b49 100644 (file)
@@ -112,8 +112,7 @@ export default class ProfileProjects extends React.Component {
           <li key={project.uuid} className="spacer-top js-profile-project" data-key={project.key}>
             <Link
               to={{ pathname: '/dashboard', query: { id: project.key } }}
-              className="link-with-icon"
-            >
+              className="link-with-icon">
               <QualifierIcon qualifier="TRK" />
               {' '}
               <span>{project.name}</span>
index d5f04ac306a2daa99dd4876c13dad5bdf565ac9e..8c2a79cc6978871eb67d6b7bf4859601d5980ed9 100644 (file)
@@ -65,8 +65,7 @@ export default class EvolutionDeprecated extends React.Component {
                 {', '}
                 <Link
                   to={getDeprecatedActiveRulesUrl({ qprofile: profile.key })}
-                  className="text-muted"
-                >
+                  className="text-muted">
                   {translateWithParameters(
                     'quality_profile.x_rules',
                     profile.activeDeprecatedRuleCount
index f83101f8259aadc5c6281a191d34e323f6a1e77c..9d4ca3dbefba2cff5f8f2fe57064eb28d4e416e4 100644 (file)
@@ -106,8 +106,7 @@ export default class PageHeader extends React.Component {
                 <a
                   href="#"
                   id="quality-profiles-restore"
-                  onClick={this.handleRestoreClick.bind(this)}
-                >
+                  onClick={this.handleRestoreClick.bind(this)}>
                   {translate('quality_profiles.restore_profile')}
                 </a>
               </li>
@@ -116,8 +115,7 @@ export default class PageHeader extends React.Component {
                 <a
                   href="#"
                   id="quality-profiles-restore-built-in"
-                  onClick={this.handleRestoreBuiltIn.bind(this)}
-                >
+                  onClick={this.handleRestoreBuiltIn.bind(this)}>
                   {translate('quality_profiles.restore_built_in_profiles')}
                 </a>
               </li>
index 1eb246821aa59c28f108118158286b0e7886aae3..3fd7c18d5ff2c8fd3ae71cb34cb3e68bd0c1a7e1 100644 (file)
@@ -40,8 +40,7 @@ export default class ProfilesListHeader extends React.Component {
       <a
         className="dropdown-toggle link-no-underline js-language-filter"
         href="#"
-        data-toggle="dropdown"
-      >
+        data-toggle="dropdown">
         {label} <i className="icon-dropdown" />
       </a>
     );
@@ -60,8 +59,7 @@ export default class ProfilesListHeader extends React.Component {
             <IndexLink
               to={{ pathname: '/profiles/', query: { language: language.key } }}
               className="js-language-filter-option"
-              data-language={language.key}
-            >
+              data-language={language.key}>
               {language.name}
             </IndexLink>
           </li>
index 9498b26ac924e3d229a28f7438ad3708b628adc1..eca33432e526fcbe2ac21f289670f207018c4f63 100644 (file)
@@ -91,8 +91,7 @@ export default class ProfilesListRow extends React.Component {
               to={deprecatedRulesUrl}
               className="badge badge-normal-size badge-danger-light"
               title={translate('quality_profiles.deprecated_rules')}
-              data-toggle="tooltip"
-            >
+              data-toggle="tooltip">
               {profile.activeDeprecatedRuleCount}
             </Link>
           </span>}
@@ -128,8 +127,7 @@ export default class ProfilesListRow extends React.Component {
       <tr
         className="quality-profiles-table-row"
         data-key={this.props.profile.key}
-        data-name={this.props.profile.name}
-      >
+        data-name={this.props.profile.name}>
         <td className="quality-profiles-table-name">
           {this.renderName()}
         </td>
index 61b589e49c03093fe9ed9a6cc5f29048e1f3a8d8..e2e6188fcd4efa46b9ed7df8fd9e23641422ace4 100644 (file)
@@ -51,8 +51,7 @@ export default class LoginForm extends React.Component {
                   <a
                     href={`${window.baseUrl}/sessions/init/${identityProvider.key}`}
                     style={{ backgroundColor: identityProvider.backgroundColor }}
-                    title={`Log in with ${identityProvider.name}`}
-                  >
+                    title={`Log in with ${identityProvider.name}`}>
                     <img
                       alt={identityProvider.name}
                       width="20"
index 6cd65fff7f68da3826c2c5c656717ab18ba0c0fe..e5e1bf8f4e6298d7d8ad08b953d5529befdccb47 100644 (file)
@@ -31,7 +31,7 @@ export default class Unauthorized extends React.Component {
     return (
       <div className="text-center">
         <p id="unauthorized">
-          You&apos;re not authorized to access this page. Please contact the administrator.
+          {'You\'re not authorized to access this page. Please contact the administrator.'}
         </p>
 
         {!!message &&
index ee378179dfc953dd794bc6576b13fed556910cd0..c32627b74ff1ce28fd72debb466f1e3df6520618 100644 (file)
@@ -53,8 +53,7 @@ export default class DefinitionChanges extends React.Component {
 
         <button
           className="js-cancel-changes big-spacer-left button-link"
-          onClick={e => this.handleCancelChange(e)}
-        >
+          onClick={e => this.handleCancelChange(e)}>
           {translate('cancel')}
         </button>
       </div>
index 79329842b570382dd43c68ffa0cbd1221e73d1cd..b2fe28e2da5b85a17db56a0d2c2fdb3d0f43fffe 100644 (file)
@@ -70,8 +70,7 @@ export default class MultiValueInput extends React.Component {
           <div className="display-inline-block spacer-left">
             <button
               className="js-remove-value button-clean"
-              onClick={e => this.handleDeleteValue(e, index)}
-            >
+              onClick={e => this.handleDeleteValue(e, index)}>
               <i className="icon-delete" />
             </button>
           </div>}
index ecf57e48092ba6dc99220238201dddb489af63d8..9b958b1851430c1bbab15b60a882607cce634c2c 100644 (file)
@@ -72,8 +72,7 @@ export default class PropertySetInput extends React.Component {
           {!isLast &&
             <button
               className="js-remove-value button-link"
-              onClick={e => this.handleDeleteValue(e, index)}
-            >
+              onClick={e => this.handleDeleteValue(e, index)}>
               <i className="icon-delete" />
             </button>}
         </td>
@@ -90,8 +89,7 @@ export default class PropertySetInput extends React.Component {
       <div>
         <table
           className="data zebra-hover no-outer-padding"
-          style={{ width: 'auto', minWidth: 480, marginTop: -12 }}
-        >
+          style={{ width: 'auto', minWidth: 480, marginTop: -12 }}>
           <thead>
             <tr>
               {setting.definition.fields.map(field => (
index c49fdf8dabd115a7880ef1d6019a68ceedcafd31..067a846800e88df60d26013d6b7133e344b0006a 100644 (file)
@@ -48,8 +48,7 @@ export default class EncryptionForm extends React.Component {
         <form
           id="encryption-form"
           className="big-spacer-bottom"
-          onSubmit={e => this.handleEncrypt(e)}
-        >
+          onSubmit={e => this.handleEncrypt(e)}>
           <input
             id="encryption-form-value"
             className="input-large"
@@ -76,7 +75,9 @@ export default class EncryptionForm extends React.Component {
 
         <div className="huge-spacer-top bordered-top">
           <div className="big-spacer-top spacer-bottom">
-            Note that the secret key can be changed, but all the encrypted properties will have to be updated.
+            Note that the secret key can be changed, but all the encrypted properties
+            {' '}
+            will have to be updated.
             {' '}
             <a href="https://redirect.sonarsource.com/doc/settings-encryption.html">
               More information
index e76355e6da78ff7097a8631c2d70764fb9de5e8d..e54d0ad6b9bca65544e8dfa62c97233878f4a9a2 100644 (file)
@@ -69,13 +69,18 @@ export default class GenerateSecretKeyForm extends React.Component {
                   has been set or changed.
                 </li>
                 <li className="spacer-bottom">
-                  Copy this file on all the machines that execute code inspection. Define the property
-                  {' '}<code>sonar.secretKeyPath</code> on those machines if the path is not
-                  {' '}<code>~/.sonar/sonar-secret.txt</code>.
+                  Copy this file on all the machines that execute code inspection. Define the
+                  {' '}
+                  property <code>sonar.secretKeyPath</code> on those machines if the path is not
+                  {' '}
+                  <code>~/.sonar/sonar-secret.txt</code>.
                 </li>
                 <li>
-                  For each property that you want to encrypt, generate the encrypted value and replace the original
-                  value wherever it is stored (configuration files, command lines).
+                  For each property that you want to encrypt, generate the encrypted value and
+                  {' '}
+                  replace the original value wherever it is stored
+                  {' '}
+                  (configuration files, command lines).
                 </li>
               </ul>
             </div>
index faafb6057d226a31f7cd1fc49ec4b73a031472fb..e826c0977344fed00e4064809b90a548f2f5a60b 100644 (file)
@@ -111,8 +111,7 @@ export default React.createClass({
             <button
               id="restart-server-button"
               className="big-spacer-left"
-              onClick={this.handleServerRestart}
-            >
+              onClick={this.handleServerRestart}>
               Restart Server
             </button>
           </div>
index d09b9cbb93cbb34e038b0f90b43ac3991ebcef42..e450d51b4c1d086c9d9648f88b20aa95456a19aa 100644 (file)
@@ -36,7 +36,7 @@ export default class UsersSearch extends React.PureComponent {
   props: Props;
   state: State = {
     query: ''
-  }
+  };
 
   constructor(props: Props) {
     super(props);
@@ -45,7 +45,7 @@ export default class UsersSearch extends React.PureComponent {
 
   handleSearch = (query: string) => {
     this.props.onSearch(query);
-  }
+  };
 
   handleInputChange = ({ target }: { target: HTMLInputElement }) => {
     this.setState({ query: target.value });
@@ -61,22 +61,22 @@ export default class UsersSearch extends React.PureComponent {
       touched: query != null && query.length === 1
     });
     return (
-        <div className={searchBoxClass}>
-          <button className="search-box-submit button-clean">
-            <i className="icon-search" />
-          </button>
-          <input
-            type="search"
-            value={query}
-            className={inputClassName}
-            placeholder={translate('search_verb')}
-            onChange={this.handleInputChange}
-            autoComplete="off"
-          />
-          <span className="note spacer-left text-middle">
-            {translateWithParameters('select2.tooShort', 2)}
-          </span>
-        </div>
+      <div className={searchBoxClass}>
+        <button className="search-box-submit button-clean">
+          <i className="icon-search" />
+        </button>
+        <input
+          type="search"
+          value={query}
+          className={inputClassName}
+          placeholder={translate('search_verb')}
+          onChange={this.handleInputChange}
+          autoComplete="off"
+        />
+        <span className="note spacer-left text-middle">
+          {translateWithParameters('select2.tooShort', 2)}
+        </span>
+      </div>
     );
   }
 }
index 1861cb83d0c095f211f9ed6cf0fd4e1873dcf8bc..8cf4c65f3706f442f58baccb6a660c52b33c93c7 100644 (file)
@@ -61,8 +61,7 @@ export default class UsersSelectSearchOption extends React.PureComponent {
         onMouseDown={this.handleMouseDown}
         onMouseEnter={this.handleMouseEnter}
         onMouseMove={this.handleMouseMove}
-        title={user.name}
-      >
+        title={user.name}>
         <div className="little-spacer-bottom little-spacer-top">
           <Avatar hash={user.avatar} email={user.email} size={AVATAR_SIZE} />
           <strong className="spacer-left">{user.login}</strong>
index b0939f127a932dccbad4346a4e5781916e836c34..915817227dd1d8685b21aab920c2bcf258420f15 100644 (file)
@@ -36,7 +36,8 @@ export default class UsersSelectSearchValue extends React.PureComponent {
     const user = this.props.value;
     return (
       <div className="Select-value" title={user ? user.name : ''}>
-        {user && user.login &&
+        {user &&
+          user.login &&
           <div className="Select-value-label">
             <Avatar hash={user.avatar} email={user.email} size={AVATAR_SIZE} />
             <strong className="spacer-left">{user.login}</strong>
index 1a3f6dbfe9fd9654b711bace10400d1659cc013a..a62bc2c4b6e6ad1b1df218d99e2c6092bfcb16d7 100644 (file)
@@ -121,8 +121,7 @@ export default class Action extends React.PureComponent {
                 <a
                   className={classNames({ selected: showParams })}
                   href="#"
-                  onClick={this.handleShowParamsClick}
-                >
+                  onClick={this.handleShowParamsClick}>
                   Parameters
                 </a>
               </li>}
@@ -132,8 +131,7 @@ export default class Action extends React.PureComponent {
                 <a
                   className={classNames({ selected: showResponse })}
                   href="#"
-                  onClick={this.handleShowResponseClick}
-                >
+                  onClick={this.handleShowResponseClick}>
                   Response Example
                 </a>
               </li>}
@@ -143,8 +141,7 @@ export default class Action extends React.PureComponent {
                 <a
                   className={classNames({ selected: showChangelog })}
                   href="#"
-                  onClick={this.handleChangelogClick}
-                >
+                  onClick={this.handleChangelogClick}>
                   Changelog
                 </a>
               </li>}
index dc2653f95904d13129b2a16c26c9aed1f0119124..988daab5efc583b331988e2e3dca9ddb90c89069 100644 (file)
@@ -27,8 +27,7 @@ export default function DeprecatedBadge({ since }) {
     <span
       className="badge badge-warning"
       title={translate('api_documentation.deprecation_tooltip')}
-      data-toggle="tooltip"
-    >
+      data-toggle="tooltip">
       {label}
     </span>
   );
index 987f01d372019f8f60360ddec44b274ea797484e..210d30b9a2c17822efc79bfddadbda65c52a5bd6 100644 (file)
@@ -25,8 +25,7 @@ export default function InternalBadge() {
     <span
       className="badge badge-danger"
       title={translate('api_documentation.internal_tooltip')}
-      data-toggle="tooltip"
-    >
+      data-toggle="tooltip">
       internal
     </span>
   );
index 63192245698372dd92930e93c134ceba0eb9a843..f7cd574fd41fd986e386f0e69b69844eeecb8b9f 100644 (file)
@@ -60,8 +60,7 @@ export default class Menu extends React.PureComponent {
                 className={classNames('list-group-item', {
                   active: isDomainPathActive(domain.path, splat)
                 })}
-                to={'/web_api/' + domain.path}
-              >
+                to={'/web_api/' + domain.path}>
                 <h3 className="list-group-item-heading">
                   {domain.path}
                   {domain.deprecated && <DeprecatedBadge />}
index 342a8dfbd6bf28e36359c97338c23cc53b5e3321..ee6c8e46456a4be617491a47d137e7d53e67ffc7 100644 (file)
@@ -84,8 +84,7 @@ export default class Search extends React.PureComponent {
               tabIndex="0"
               role="checkbox"
               aria-checked={showInternal ? 'true' : 'false'}
-              onClick={onToggleInternal}
-            >
+              onClick={onToggleInternal}>
               Show Internal API
             </span>
             <i
@@ -106,8 +105,7 @@ export default class Search extends React.PureComponent {
               tabIndex="0"
               role="checkbox"
               aria-checked={showDeprecated ? 'true' : 'false'}
-              onClick={onToggleDeprecated}
-            >
+              onClick={onToggleDeprecated}>
               Show Deprecated API
             </span>
             <i
index 9f709829891fe8607aec9398490bc7a2a16eeaba..be6d1a2717335aba7dc30d34ac44ffca9a665c0b 100644 (file)
@@ -204,8 +204,7 @@ export default class SourceViewerCode extends React.PureComponent {
                 </div>
               : <button
                   className="js-component-viewer-source-before"
-                  onClick={this.props.loadSourcesBefore}
-                >
+                  onClick={this.props.loadSourcesBefore}>
                   {translate('source_viewer.load_more_code')}
                 </button>}
           </div>}
@@ -244,8 +243,7 @@ export default class SourceViewerCode extends React.PureComponent {
                 </div>
               : <button
                   className="js-component-viewer-source-after"
-                  onClick={this.props.loadSourcesAfter}
-                >
+                  onClick={this.props.loadSourcesAfter}>
                   {translate('source_viewer.load_more_code')}
                 </button>}
           </div>}
index 97ccf3a15bf3eb54fe69c2f6a132a947c405b0df..4b65cd32edea4738466a379ca1e52be5738caafa 100644 (file)
@@ -81,7 +81,8 @@ export default class SourceViewerHeader extends React.PureComponent {
     const isUnitTest = q === 'UTS';
     // TODO check if source viewer is displayed inside workspace
     const workspace = false;
-    const rawSourcesLink = `${window.baseUrl}/api/sources/raw?key=${encodeURIComponent(this.props.component.key)}`;
+    const rawSourcesLink = window.baseUrl +
+      `/api/sources/raw?key=${encodeURIComponent(this.props.component.key)}`;
 
     // TODO favorite
     return (
@@ -170,8 +171,7 @@ export default class SourceViewerHeader extends React.PureComponent {
               <Link
                 to={getIssuesUrl({ resolved: 'false', componentKeys: key })}
                 className="source-viewer-header-external-link"
-                target="_blank"
-              >
+                target="_blank">
                 {measures.issues != null ? formatMeasure(measures.issues, 'SHORT_INT') : 0}
                 {' '}
                 <i className="icon-detach" />
index ea68c7fca11e81c42d347cb8e9e025f4ab96b087..98e7b1a2e788a54b8f5ad2023d9f472ba2a34914 100644 (file)
@@ -251,8 +251,7 @@ export default class SourceViewerIssueLocations extends React.Component {
             this,
             flowIndex,
             locations.length - locationIndex - 1
-          )}
-        >
+          )}>
           {displayIndex && <strong>{locationIndex + 1}: </strong>}
           {location.msg}
         </a>
@@ -272,28 +271,25 @@ export default class SourceViewerIssueLocations extends React.Component {
           <div
             ref={node => this.rootNode = node}
             className="source-issue-locations"
-            style={{ width, height }}
-          >
+            style={{ width, height }}>
             <div
               ref={node => this.fixedNode = node}
               className={className}
-              style={{ width, height }}
-            >
+              style={{ width, height }}>
               <header className="source-issue-locations-header" />
               <div className="source-issue-locations-shortcuts">
                 <span className="shortcut-button">Alt</span>
                 {' + '}
-                <span className="shortcut-button">&uarr;</span>
+                <span className="shortcut-button">↑</span>
                 {' '}
-                <span className="shortcut-button">&darr;</span>
+                <span className="shortcut-button">↓</span>
                 {' '}
                 {translate('source_viewer.to_navigate_issue_locations')}
               </div>
               <ul
                 ref={node => this.node = node}
                 className="source-issue-locations-list"
-                style={{ height: height - 15 }}
-              >
+                style={{ height: height - 15 }}>
                 {flows.map(
                   (flow, flowIndex) =>
                     flow.locations != null &&
index f6cbb5f1446d39ffe798aa0e0446494c2d9d358b..d8da31965d3b40ddd1975c0c72f36691d28fd551 100644 (file)
@@ -148,8 +148,7 @@ export default class LineCode extends React.PureComponent {
         className={className}
         title={location.msg}
         onClick={e =>
-          this.handleLocationMessageClick(e, location.flowIndex, location.locationIndex)}
-      >
+          this.handleLocationMessageClick(e, location.flowIndex, location.locationIndex)}>
         {location.index && <strong>{location.index}: </strong>}
         {location.msg ? limitString(location.msg) : ''}
       </a>
index 76b8502548babfe7ea1d193fe30f02c196e5cd81..87a4a52a3ce993c1f3df322f42e5c7307a381dae 100644 (file)
@@ -51,8 +51,7 @@ export default class LineCoverage extends React.PureComponent {
         data-toggle={line.coverageStatus != null ? 'tooltip' : undefined}
         role={line.coverageStatus != null ? 'button' : undefined}
         tabIndex={line.coverageStatus != null ? 0 : undefined}
-        onClick={line.coverageStatus != null ? this.handleClick : undefined}
-      >
+        onClick={line.coverageStatus != null ? this.handleClick : undefined}>
         <div className="source-line-bar" />
       </td>
     );
index bfe7029f6011b9050155922718cee8d89a5fbccd..4edaca1c4c8930cee8f88b64da59e28eda8c20e3 100644 (file)
@@ -55,8 +55,7 @@ export default class LineDuplicationBlock extends React.PureComponent {
         data-toggle={duplicated ? 'tooltip' : undefined}
         role={duplicated ? 'button' : undefined}
         tabIndex={duplicated ? '0' : undefined}
-        onClick={duplicated ? this.handleClick : undefined}
-      >
+        onClick={duplicated ? this.handleClick : undefined}>
         <div className="source-line-bar" />
       </td>
     );
index 5828a48ff607f309a8e44e22505d34452f4bb334..5f0a2936859a78e1f5e3d49bd6f7802519b4bde4 100644 (file)
@@ -51,8 +51,7 @@ export default class LineDuplications extends React.PureComponent {
         data-toggle={line.duplicated ? 'tooltip' : undefined}
         role={line.duplicated ? 'button' : undefined}
         tabIndex={line.duplicated ? 0 : undefined}
-        onClick={line.duplicated ? this.handleClick : undefined}
-      >
+        onClick={line.duplicated ? this.handleClick : undefined}>
         <div className="source-line-bar" />
       </td>
     );
index 9e8f3eec05de2a5a4265dc811118be1a67d0494f..78383dac35030cf8f07c4ac2a7dcd6f90fd61e10 100644 (file)
@@ -52,8 +52,7 @@ export default class LineIssuesIndicator extends React.PureComponent {
         data-line-number={line.line}
         role={hasIssues ? 'button' : undefined}
         tabIndex={hasIssues ? '0' : undefined}
-        onClick={hasIssues ? this.handleClick : undefined}
-      >
+        onClick={hasIssues ? this.handleClick : undefined}>
         {mostImportantIssue != null && <SeverityIcon severity={mostImportantIssue.severity} />}
         {issues.length > 1 && <span className="source-line-issues-counter">{issues.length}</span>}
       </td>
index 2613f1756a53eb7b941c1a2c223e934f4b4fd6ad..2f2728e0b52169c4094063ddda1eac9033d59fe5 100644 (file)
@@ -52,8 +52,7 @@ export default class LineSCM extends React.PureComponent {
         data-line-number={line.line}
         role={clickable ? 'button' : undefined}
         tabIndex={clickable ? 0 : undefined}
-        onClick={clickable ? this.handleClick : undefined}
-      >
+        onClick={clickable ? this.handleClick : undefined}>
         {this.isSCMChanged(line, previousLine) &&
           <div className="source-line-scm-inner" data-author={line.scmAuthor} />}
       </td>
index a191971e936d921b72e9f41c5a921051723ac624..219f17230737c6fa7939b67170a18a1b004c0e46 100644 (file)
@@ -30,7 +30,8 @@ export default Popup.extend({
   getPermalink(e) {
     e.preventDefault();
     const { component, line } = this.options;
-    const url = `${window.baseUrl}/component/index?id=${encodeURIComponent(component.key)}&line=${line}`;
+    const url = window.baseUrl +
+      `/component/index?id=${encodeURIComponent(component.key)}&line=${line}`;
     const windowParams = 'resizable=1,scrollbars=1,status=1';
     window.open(url, component.name, windowParams);
   }
index a64525b960c621f31a18e99a37b10d50235e53c9..51ed0746afe9764e7ab3ce96c9b955a20fbb9ebe 100644 (file)
@@ -168,10 +168,11 @@ const Timeline = React.createClass({
       .map(event => {
         const key = `${event.date.getTime()}-${event.snapshot.y}`;
         const className = `line-chart-point js-event-circle-${event.date.getTime()}`;
+        const value = event.snapshot.y ? this.props.formatValue(event.snapshot.y) : '—';
         const tooltip = [
           `<span class="nowrap">${event.version}</span>`,
           `<span class="nowrap">${moment(event.date).format('LL')}</span>`,
-          `<span class="nowrap">${event.snapshot.y ? this.props.formatValue(event.snapshot.y) : '—'}</span>`
+          `<span class="nowrap">${value}</span>`
         ].join('<br>');
         return (
           <circle
index fdd910ded067e512b09b11405e2e1766f7b4d6aa..902b00c42266014bbcb6d4bcf187c409ec8f4d2c 100644 (file)
@@ -62,8 +62,7 @@ export default class MultiSelectOption extends React.PureComponent {
           className={activeClass}
           onClick={this.handleSelect}
           onMouseOver={this.handleHover}
-          onFocus={this.handleHover}
-        >
+          onFocus={this.handleHover}>
           <i className={className} />{' '}{this.props.custom && '+ '}{this.props.element}
         </a>
       </li>
index a339a44bc082861e6b2b854cddbb577597f0f685..52b47cbe18969ac01f5fa248e6ab2a8a0a6663c2 100644 (file)
@@ -78,7 +78,9 @@ export default class DateInput extends React.Component {
         />
         <span className="date-input-control-icon">
           <svg width="14" height="14" viewBox="0 0 16 16">
-            <path d="M5.5 6h2v2h-2V6zm3 0h2v2h-2V6zm3 0h2v2h-2V6zm-9 6h2v2h-2v-2zm3 0h2v2h-2v-2zm3 0h2v2h-2v-2zm-3-3h2v2h-2V9zm3 0h2v2h-2V9zm3 0h2v2h-2V9zm-9 0h2v2h-2V9zm11-9v1h-2V0h-7v1h-2V0h-2v16h15V0h-2zm1 15h-13V4h13v11z" />
+            <path
+              d="M5.5 6h2v2h-2V6zm3 0h2v2h-2V6zm3 0h2v2h-2V6zm-9 6h2v2h-2v-2zm3 0h2v2h-2v-2zm3 0h2v2h-2v-2zm-3-3h2v2h-2V9zm3 0h2v2h-2V9zm3 0h2v2h-2V9zm-9 0h2v2h-2V9zm11-9v1h-2V0h-7v1h-2V0h-2v16h15V0h-2zm1 15h-13V4h13v11z"
+            />
           </svg>
         </span>
       </span>
index 59d6b544bc86290191c8a71737c90aad8608ee75..17be742c6043411f5c0ac2747166812688222697 100644 (file)
@@ -71,7 +71,9 @@ export default class FavoriteBase extends React.Component {
     /* eslint max-len: 0 */
     return (
       <svg width="16" height="16">
-        <path d="M15.4275,5.77678C15.4275,5.90773 15.3501,6.05059 15.1953,6.20536L11.9542,9.36608L12.7221,13.8304C12.728,13.872 12.731,13.9316 12.731,14.0089C12.731,14.1339 12.6998,14.2396 12.6373,14.3259C12.5748,14.4122 12.484,14.4554 12.3649,14.4554C12.2518,14.4554 12.1328,14.4197 12.0078,14.3482L7.99888,12.2411L3.98995,14.3482C3.85901,14.4197 3.73996,14.4554 3.63281,14.4554C3.50781,14.4554 3.41406,14.4122 3.35156,14.3259C3.28906,14.2396 3.25781,14.1339 3.25781,14.0089C3.25781,13.9732 3.26377,13.9137 3.27567,13.8304L4.04353,9.36608L0.793531,6.20536C0.644719,6.04464 0.570313,5.90178 0.570313,5.77678C0.570313,5.55654 0.736979,5.41964 1.07031,5.36606L5.55245,4.71428L7.56138,0.651781C7.67447,0.407729 7.8203,0.285703 7.99888,0.285703C8.17745,0.285703 8.32328,0.407729 8.43638,0.651781L10.4453,4.71428L14.9274,5.36606C15.2608,5.41964 15.4274,5.55654 15.4274,5.77678L15.4275,5.77678Z" />
+        <path
+          d="M15.4275,5.77678C15.4275,5.90773 15.3501,6.05059 15.1953,6.20536L11.9542,9.36608L12.7221,13.8304C12.728,13.872 12.731,13.9316 12.731,14.0089C12.731,14.1339 12.6998,14.2396 12.6373,14.3259C12.5748,14.4122 12.484,14.4554 12.3649,14.4554C12.2518,14.4554 12.1328,14.4197 12.0078,14.3482L7.99888,12.2411L3.98995,14.3482C3.85901,14.4197 3.73996,14.4554 3.63281,14.4554C3.50781,14.4554 3.41406,14.4122 3.35156,14.3259C3.28906,14.2396 3.25781,14.1339 3.25781,14.0089C3.25781,13.9732 3.26377,13.9137 3.27567,13.8304L4.04353,9.36608L0.793531,6.20536C0.644719,6.04464 0.570313,5.90178 0.570313,5.77678C0.570313,5.55654 0.736979,5.41964 1.07031,5.36606L5.55245,4.71428L7.56138,0.651781C7.67447,0.407729 7.8203,0.285703 7.99888,0.285703C8.17745,0.285703 8.32328,0.407729 8.43638,0.651781L10.4453,4.71428L14.9274,5.36606C15.2608,5.41964 15.4274,5.55654 15.4274,5.77678L15.4275,5.77678Z"
+        />
       </svg>
     );
   }
index 67798ba2d4b97a4c1f233dae11565b561203d4fb..880a65d7552a32751c2e7e0327c48e97d4f56583 100644 (file)
@@ -41,7 +41,9 @@ export default class FavoriteBaseStateless extends React.Component {
     /* eslint max-len: 0 */
     return (
       <svg width="16" height="16">
-        <path d="M15.4275,5.77678C15.4275,5.90773 15.3501,6.05059 15.1953,6.20536L11.9542,9.36608L12.7221,13.8304C12.728,13.872 12.731,13.9316 12.731,14.0089C12.731,14.1339 12.6998,14.2396 12.6373,14.3259C12.5748,14.4122 12.484,14.4554 12.3649,14.4554C12.2518,14.4554 12.1328,14.4197 12.0078,14.3482L7.99888,12.2411L3.98995,14.3482C3.85901,14.4197 3.73996,14.4554 3.63281,14.4554C3.50781,14.4554 3.41406,14.4122 3.35156,14.3259C3.28906,14.2396 3.25781,14.1339 3.25781,14.0089C3.25781,13.9732 3.26377,13.9137 3.27567,13.8304L4.04353,9.36608L0.793531,6.20536C0.644719,6.04464 0.570313,5.90178 0.570313,5.77678C0.570313,5.55654 0.736979,5.41964 1.07031,5.36606L5.55245,4.71428L7.56138,0.651781C7.67447,0.407729 7.8203,0.285703 7.99888,0.285703C8.17745,0.285703 8.32328,0.407729 8.43638,0.651781L10.4453,4.71428L14.9274,5.36606C15.2608,5.41964 15.4274,5.55654 15.4274,5.77678L15.4275,5.77678Z" />
+        <path
+          d="M15.4275,5.77678C15.4275,5.90773 15.3501,6.05059 15.1953,6.20536L11.9542,9.36608L12.7221,13.8304C12.728,13.872 12.731,13.9316 12.731,14.0089C12.731,14.1339 12.6998,14.2396 12.6373,14.3259C12.5748,14.4122 12.484,14.4554 12.3649,14.4554C12.2518,14.4554 12.1328,14.4197 12.0078,14.3482L7.99888,12.2411L3.98995,14.3482C3.85901,14.4197 3.73996,14.4554 3.63281,14.4554C3.50781,14.4554 3.41406,14.4122 3.35156,14.3259C3.28906,14.2396 3.25781,14.1339 3.25781,14.0089C3.25781,13.9732 3.26377,13.9137 3.27567,13.8304L4.04353,9.36608L0.793531,6.20536C0.644719,6.04464 0.570313,5.90178 0.570313,5.77678C0.570313,5.55654 0.736979,5.41964 1.07031,5.36606L5.55245,4.71428L7.56138,0.651781C7.67447,0.407729 7.8203,0.285703 7.99888,0.285703C8.17745,0.285703 8.32328,0.407729 8.43638,0.651781L10.4453,4.71428L14.9274,5.36606C15.2608,5.41964 15.4274,5.55654 15.4274,5.77678L15.4275,5.77678Z"
+        />
       </svg>
     );
   }
index 6af5ff31d2c18f0c194620fdb66968c97edd7836..7b0bc7671f64ba5655966d7cf7015bebafea2f6b 100644 (file)
@@ -43,8 +43,7 @@ export default class GlobalMessages extends React.Component {
         {message.message}
         <button
           className="process-spinner-close"
-          onClick={() => this.props.closeGlobalMessage(message.id)}
-        >
+          onClick={() => this.props.closeGlobalMessage(message.id)}>
           <i className="icon-close" />
         </button>
       </div>
index 7d6717bad2fad7c5271ea0e32de89b64b28e9e93..30a6c121585761142b9b2ab99be41aadfcccc76f 100644 (file)
@@ -46,8 +46,7 @@ export default class Toggle extends React.Component {
       <button
         className={className}
         name={this.props.name}
-        onClick={e => this.handleClick(e, booleanValue)}
-      >
+        onClick={e => this.handleClick(e, booleanValue)}>
         <div className="boolean-toggle-handle" />
       </button>
     );
index 62fc07f00d2ef0d8d849d4912969378ef67676bd..086a73b99d72966f4fb352024082e2f899450d97 100644 (file)
@@ -64,8 +64,7 @@ export const ComplexityDistribution = React.createClass({
     return (
       <div
         className="overview-bar-chart"
-        style={{ height: HEIGHT, paddingTop: 10, paddingBottom: 15 }}
-      >
+        style={{ height: HEIGHT, paddingTop: 10, paddingBottom: 15 }}>
         {this.renderBarChart()}
       </div>
     );
index 1a558b3216bb5b8b32e4ca566e24a630a56ba1c3..a64d9f4e915378405a76ce4157161957d27b4066 100644 (file)
@@ -25,7 +25,9 @@ export default React.createClass({
     return (
       <svg width="16" height="16" className="icon-pending">
         <g transform="matrix(0.0364583,0,0,0.0364583,1,-0.166667)">
-          <path d="M224,136L224,248C224,250.333 223.25,252.25 221.75,253.75C220.25,255.25 218.333,256 216,256L136,256C133.667,256 131.75,255.25 130.25,253.75C128.75,252.25 128,250.333 128,248L128,232C128,229.667 128.75,227.75 130.25,226.25C131.75,224.75 133.667,224 136,224L192,224L192,136C192,133.667 192.75,131.75 194.25,130.25C195.75,128.75 197.667,128 200,128L216,128C218.333,128 220.25,128.75 221.75,130.25C223.25,131.75 224,133.667 224,136ZM328,224C328,199.333 321.917,176.583 309.75,155.75C297.583,134.917 281.083,118.417 260.25,106.25C239.417,94.083 216.667,88 192,88C167.333,88 144.583,94.083 123.75,106.25C102.917,118.417 86.417,134.917 74.25,155.75C62.083,176.583 56,199.333 56,224C56,248.667 62.083,271.417 74.25,292.25C86.417,313.083 102.917,329.583 123.75,341.75C144.583,353.917 167.333,360 192,360C216.667,360 239.417,353.917 260.25,341.75C281.083,329.583 297.583,313.083 309.75,292.25C321.917,271.417 328,248.667 328,224ZM384,224C384,258.833 375.417,290.958 358.25,320.375C341.083,349.792 317.792,373.083 288.375,390.25C258.958,407.417 226.833,416 192,416C157.167,416 125.042,407.417 95.625,390.25C66.208,373.083 42.917,349.792 25.75,320.375C8.583,290.958 0,258.833 0,224C0,189.167 8.583,157.042 25.75,127.625C42.917,98.208 66.208,74.917 95.625,57.75C125.042,40.583 157.167,32 192,32C226.833,32 258.958,40.583 288.375,57.75C317.792,74.917 341.083,98.208 358.25,127.625C375.417,157.042 384,189.167 384,224Z" />
+          <path
+            d="M224,136L224,248C224,250.333 223.25,252.25 221.75,253.75C220.25,255.25 218.333,256 216,256L136,256C133.667,256 131.75,255.25 130.25,253.75C128.75,252.25 128,250.333 128,248L128,232C128,229.667 128.75,227.75 130.25,226.25C131.75,224.75 133.667,224 136,224L192,224L192,136C192,133.667 192.75,131.75 194.25,130.25C195.75,128.75 197.667,128 200,128L216,128C218.333,128 220.25,128.75 221.75,130.25C223.25,131.75 224,133.667 224,136ZM328,224C328,199.333 321.917,176.583 309.75,155.75C297.583,134.917 281.083,118.417 260.25,106.25C239.417,94.083 216.667,88 192,88C167.333,88 144.583,94.083 123.75,106.25C102.917,118.417 86.417,134.917 74.25,155.75C62.083,176.583 56,199.333 56,224C56,248.667 62.083,271.417 74.25,292.25C86.417,313.083 102.917,329.583 123.75,341.75C144.583,353.917 167.333,360 192,360C216.667,360 239.417,353.917 260.25,341.75C281.083,329.583 297.583,313.083 309.75,292.25C321.917,271.417 328,248.667 328,224ZM384,224C384,258.833 375.417,290.958 358.25,320.375C341.083,349.792 317.792,373.083 288.375,390.25C258.958,407.417 226.833,416 192,416C157.167,416 125.042,407.417 95.625,390.25C66.208,373.083 42.917,349.792 25.75,320.375C8.583,290.958 0,258.833 0,224C0,189.167 8.583,157.042 25.75,127.625C42.917,98.208 66.208,74.917 95.625,57.75C125.042,40.583 157.167,32 192,32C226.833,32 258.958,40.583 288.375,57.75C317.792,74.917 341.083,98.208 358.25,127.625C375.417,157.042 384,189.167 384,224Z"
+          />
         </g>
       </svg>
     );
index e013d23161a420730ab8e4b5444e79435be79439..68cde43cd82f1fa65b48d19d352383d6c4a53265 100644 (file)
@@ -46,8 +46,7 @@ export default class TagsSelector extends React.PureComponent {
     return (
       <BubblePopup
         position={this.props.position}
-        customClass="bubble-popup-bottom-right bubble-popup-menu abs-width-300"
-      >
+        customClass="bubble-popup-bottom-right bubble-popup-menu abs-width-300">
         <MultiSelect
           elements={this.props.tags}
           selectedElements={this.props.selectedTags}
index e57fccf19befef7c11e44ce4d80d212993958ccc..8cc4a8b69809f5778f7fc60ca5720e71fb9c184d 100644 (file)
@@ -21,7 +21,8 @@ import Handlebars from 'handlebars/runtime';
 import { translate, translateWithParameters } from '../../helpers/l10n';
 
 module.exports = function(severity) {
-  const label = `<i class="icon-severity-${severity.toLowerCase()}"></i>&nbsp;${translate('severity', severity)}`;
+  const label = `<i class="icon-severity-${severity.toLowerCase()}"></i>` +
+    `&nbsp;${translate('severity', severity)}`;
   const message = translateWithParameters('quality_profiles.severity_set_to_x', label);
   return new Handlebars.default.SafeString(message);
 };
index 823d68becfa936c3de9b6fabb069b3aeae0f21e8..66a98452435e356c4d8109025ec076b9051918a4 100644 (file)
@@ -22,6 +22,7 @@ import { translate } from '../../helpers/l10n';
 
 module.exports = function(severity) {
   return new Handlebars.default.SafeString(
-    `<i class="icon-severity-${severity.toLowerCase()}"></i>&nbsp;${translate('severity', severity)}`
+    `<i class="icon-severity-${severity.toLowerCase()}"></i>` +
+      `&nbsp;${translate('severity', severity)}`
   );
 };
index 69abb0af95bcd9c38cd624f962c91e180b182d6b..7de025a87019719ed31443e7d18e260f99827787 100644 (file)
@@ -21,7 +21,8 @@ import Handlebars from 'handlebars/runtime';
 import { translate } from '../../helpers/l10n';
 
 module.exports = function(status, resolution) {
-  let s = `<i class="icon-status-${status.toLowerCase()}"></i>&nbsp;${translate('issue.status', status)}`;
+  let s = `<i class="icon-status-${status.toLowerCase()}"></i>` +
+    `&nbsp;${translate('issue.status', status)}`;
   if (resolution != null) {
     s = s + '&nbsp;(' + translate('issue.resolution', resolution) + ')';
   }
index 1c0e7777748d77b693d4302004e643d5ae042fcc..92fbe6b1b354fcb2b5e2738c71492d0461f335bf 100644 (file)
@@ -149,8 +149,8 @@ export function checkStatus(response: Response): Promise<Object> {
   return new Promise((resolve, reject) => {
     if (response.status === 401) {
       // workaround cyclic dependencies
-      const handleRequiredAuthentication = require('../app/utils/handleRequiredAuthentication').default;
-      handleRequiredAuthentication();
+      const requireAuthentication = require('../app/utils/handleRequiredAuthentication').default;
+      requireAuthentication();
       reject();
     } else if (response.status >= 200 && response.status < 300) {
       resolve(response);
index 367c8a61e36853e990c878f0dcbc0343e8c1226a..ff028db274da4c69bb1cc78b17d9dc7bb2bb86c3 100644 (file)
@@ -85,7 +85,8 @@ const globalMessages = (state: State = [], action: Action = {}) => {
       return [
         {
           id: uniqueId('global-message-'),
-          message: 'You are not authorized to access this page. Please log in with more privileges and try again.',
+          message: 'You are not authorized to access this page. ' +
+            'Please log in with more privileges and try again.',
           level: ERROR
         }
       ];
index 8c56380aa42c4eb429908db11905faaef158f3d4..13671285423ea716ed64a2ecdbb2f361d47fb6ca 100644 (file)
@@ -109,7 +109,10 @@ export const receiveMyOrganizations = (
   organizations
 });
 
-export const receiveOrganizationGroups = (key: string, groups: Array<OrgGroup>): receiveOrganizationGroups => ({
+export const receiveOrganizationGroups = (
+  key: string,
+  groups: Array<OrgGroup>
+): receiveOrganizationGroups => ({
   type: 'RECEIVE_ORGANIZATION_GROUPS',
   key,
   groups
@@ -191,7 +194,8 @@ export default combineReducers({ byKey, my, groups });
 
 export const getOrganizationByKey = (state: State, key: string): Organization => state.byKey[key];
 
-export const getOrganizationGroupsByKey = (state: State, key: string): Array<OrgGroup> => state.groups[key] || [];
+export const getOrganizationGroupsByKey = (state: State, key: string): Array<OrgGroup> =>
+  state.groups[key] || [];
 
 export const getMyOrganizations = (state: State): Array<Organization> =>
   state.my.map(key => getOrganizationByKey(state, key));
index dcd2312f9c9ad74fef67f83ec1efaaaf1c413573..abb41e7162423ba5161e1f0234794cfb30b4c470 100644 (file)
@@ -41,14 +41,22 @@ export const actions = {
   REMOVE_MEMBER: 'organizations/REMOVE_MEMBER'
 };
 
-export const receiveMembers = (organizationKey: string, members: Array<Member>, stateChanges: MembersState) => ({
+export const receiveMembers = (
+  organizationKey: string,
+  members: Array<Member>,
+  stateChanges: MembersState
+) => ({
   type: actions.RECEIVE_MEMBERS,
   organization: organizationKey,
   members,
   stateChanges
 });
 
-export const receiveMoreMembers = (organizationKey: string, members: Array<Member>, stateChanges: MembersState) => ({
+export const receiveMoreMembers = (
+  organizationKey: string,
+  members: Array<Member>,
+  stateChanges: MembersState
+) => ({
   type: actions.RECEIVE_MORE_MEMBERS,
   organization: organizationKey,
   members,
@@ -67,10 +75,7 @@ export const removeMember = (organizationKey: string, member: Member) => ({
   member
 });
 
-export const updateState = (
-  organizationKey: string,
-  stateChanges: MembersState
-) => ({
+export const updateState = (organizationKey: string, stateChanges: MembersState) => ({
   type: actions.UPDATE_STATE,
   organization: organizationKey,
   stateChanges
index 346b4a26a486941923664aebde97ffd4154c2fea..d5906cf3965a3538cb815c36efc0cc0dac7b1b5b 100644 (file)
@@ -36,7 +36,11 @@ const organizationMembers = (state = {}, action = {}) => {
     case actions.UPDATE_STATE:
       return { ...state, ...action.stateChanges };
     case actions.RECEIVE_MEMBERS:
-      return { ...state, ...action.stateChanges, members: action.members.map(member => member.login) };
+      return {
+        ...state,
+        ...action.stateChanges,
+        members: action.members.map(member => member.login)
+      };
     case actions.RECEIVE_MORE_MEMBERS:
       return {
         ...state,
index 54a35fec2da0920e787f50cd765baaae1a54ca17..95db709a54531d9c6c174d0663aba15687eefe06 100644 (file)
@@ -27,8 +27,7 @@ import languages, * as fromLanguages from './languages/reducer';
 import measures, * as fromMeasures from './measures/reducer';
 import notifications, * as fromNotifications from './notifications/duck';
 import organizations, * as fromOrganizations from './organizations/duck';
-import organizationsMembers, * as fromOrganizationsMembers
-  from './organizationsMembers/reducer';
+import organizationsMembers, * as fromOrganizationsMembers from './organizationsMembers/reducer';
 import globalMessages, * as fromGlobalMessages from './globalMessages/duck';
 import projectActivity from './projectActivity/duck';
 import measuresApp, * as fromMeasuresApp from '../apps/component-measures/store/rootReducer';
index 3220410c66074be3cd1bf5ea408821caf4e89f33..e102c368f61419f71c7df361fedd6584d1b97495 100644 (file)
@@ -40,6 +40,10 @@ acorn-jsx@^3.0.0, acorn-jsx@^3.0.1:
   dependencies:
     acorn "^3.0.4"
 
+acorn@4.0.4:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
+
 acorn@^2.1.0, acorn@^2.4.0:
   version "2.7.0"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7"
@@ -814,7 +818,14 @@ babel-register@^6.22.0:
     mkdirp "^0.5.1"
     source-map-support "^0.4.2"
 
-babel-runtime@6.x, babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0:
+babel-runtime@6.x, babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.23.0, babel-runtime@^6.9.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.10.0"
+
+babel-runtime@^6.11.6, babel-runtime@^6.22.0:
   version "6.22.0"
   resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
   dependencies:
@@ -1268,6 +1279,12 @@ commander@2.9.x, commander@^2.9.0:
   dependencies:
     graceful-readlink ">= 1.0.0"
 
+common-tags@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0"
+  dependencies:
+    babel-runtime "^6.18.0"
+
 commondir@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1303,7 +1320,7 @@ concat-map@0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
 
-concat-stream@^1.4.6:
+concat-stream@^1.4.6, concat-stream@^1.5.2:
   version "1.6.0"
   resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
   dependencies:
@@ -1705,6 +1722,10 @@ diff@^3.0.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
 
+dlv@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.0.tgz#fee1a7c43f63be75f3f679e85262da5f102764a7"
+
 doctrine@1.5.0, doctrine@^1.2.2:
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -1712,6 +1733,13 @@ doctrine@1.5.0, doctrine@^1.2.2:
     esutils "^2.0.2"
     isarray "^1.0.0"
 
+doctrine@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
+  dependencies:
+    esutils "^2.0.2"
+    isarray "^1.0.0"
+
 dom-align@1.x:
   version "1.5.3"
   resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.5.3.tgz#b906b616822a5e599f579ec8505e367c51da7588"
@@ -2061,6 +2089,46 @@ eslint@^3.12.2:
     text-table "~0.2.0"
     user-home "^2.0.0"
 
+eslint@^3.17.0:
+  version "3.18.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.18.0.tgz#647e985c4ae71502d20ac62c109f66d5104c8a4b"
+  dependencies:
+    babel-code-frame "^6.16.0"
+    chalk "^1.1.3"
+    concat-stream "^1.5.2"
+    debug "^2.1.1"
+    doctrine "^2.0.0"
+    escope "^3.6.0"
+    espree "^3.4.0"
+    esquery "^1.0.0"
+    estraverse "^4.2.0"
+    esutils "^2.0.2"
+    file-entry-cache "^2.0.0"
+    glob "^7.0.3"
+    globals "^9.14.0"
+    ignore "^3.2.0"
+    imurmurhash "^0.1.4"
+    inquirer "^0.12.0"
+    is-my-json-valid "^2.10.0"
+    is-resolvable "^1.0.0"
+    js-yaml "^3.5.1"
+    json-stable-stringify "^1.0.0"
+    levn "^0.3.0"
+    lodash "^4.0.0"
+    mkdirp "^0.5.0"
+    natural-compare "^1.4.0"
+    optionator "^0.8.2"
+    path-is-inside "^1.0.1"
+    pluralize "^1.2.1"
+    progress "^1.1.8"
+    require-uncached "^1.0.2"
+    shelljs "^0.7.5"
+    strip-bom "^3.0.0"
+    strip-json-comments "~2.0.1"
+    table "^3.7.8"
+    text-table "~0.2.0"
+    user-home "^2.0.0"
+
 espree@^3.3.1:
   version "3.3.2"
   resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c"
@@ -2068,6 +2136,13 @@ espree@^3.3.1:
     acorn "^4.0.1"
     acorn-jsx "^3.0.0"
 
+espree@^3.4.0:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
+  dependencies:
+    acorn "4.0.4"
+    acorn-jsx "^3.0.0"
+
 esprima@^2.6.0, esprima@^2.7.1:
   version "2.7.3"
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -2076,6 +2151,12 @@ esprima@~3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
 
+esquery@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
+  dependencies:
+    estraverse "^4.0.0"
+
 esrecurse@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
@@ -2087,7 +2168,7 @@ estraverse@^1.9.1:
   version "1.9.3"
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
 
-estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
 
@@ -2381,6 +2462,12 @@ find-up@^1.0.0, find-up@^1.1.2:
     path-exists "^2.0.0"
     pinkie-promise "^2.0.0"
 
+find-up@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+  dependencies:
+    locate-path "^2.0.0"
+
 flat-cache@^1.2.1:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
@@ -2522,7 +2609,7 @@ get-caller-file@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
 
-get-stdin@5.0.1:
+get-stdin@5.0.1, get-stdin@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
 
@@ -2545,7 +2632,7 @@ glob-parent@^2.0.0:
   dependencies:
     is-glob "^2.0.0"
 
-glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
+glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
   version "7.1.1"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
   dependencies:
@@ -2556,6 +2643,17 @@ glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
+glob@~7.0.6:
+  version "7.0.6"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.2"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
 global@^4.3.0:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df"
@@ -2848,6 +2946,10 @@ ignore@^3.2.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
 
+ignore@^3.2.4:
+  version "3.2.6"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c"
+
 image-size@~0.5.0:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.1.tgz#28eea8548a4b1443480ddddc1e083ae54652439f"
@@ -2863,6 +2965,10 @@ imurmurhash@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
 
+indent-string@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d"
+
 indexes-of@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
@@ -3593,6 +3699,13 @@ loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.
     json5 "^0.5.0"
     object-assign "^4.0.1"
 
+locate-path@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+  dependencies:
+    p-locate "^2.0.0"
+    path-exists "^3.0.0"
+
 lodash-es@^4.2.1:
   version "4.17.3"
   resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.3.tgz#567a08d2f0c91d92b31ce35c5565e1f337fb81db"
@@ -3753,7 +3866,11 @@ lodash.map@^4.4.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
 
-lodash.merge@^4.4.0:
+lodash.memoize@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+
+lodash.merge@^4.4.0, lodash.merge@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
 
@@ -3803,6 +3920,17 @@ lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.6.1:
   version "4.17.4"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
 
+loglevel-colored-level-prefix@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e"
+  dependencies:
+    chalk "^1.1.3"
+    loglevel "^1.4.1"
+
+loglevel@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.4.1.tgz#95b383f91a3c2756fd4ab093667e4309161f2bcd"
+
 longest@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -3828,6 +3956,12 @@ macaddress@^0.2.8:
   version "0.2.8"
   resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
 
+make-plural@~3.0.6:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-3.0.6.tgz#2033a03bac290b8f3bb91258f65b9df7e8b01ca7"
+  optionalDependencies:
+    minimist "^1.2.0"
+
 makeerror@1.0.x:
   version "1.0.11"
   resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -3884,6 +4018,20 @@ merge@^1.1.3:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
 
+messageformat-parser@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/messageformat-parser/-/messageformat-parser-1.0.0.tgz#3dea21419f141c50026a29d4b2239203ad613d3f"
+
+messageformat@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/messageformat/-/messageformat-1.0.2.tgz#908f4691f29ff28dae35c45436a24cff93402388"
+  dependencies:
+    glob "~7.0.6"
+    make-plural "~3.0.6"
+    messageformat-parser "^1.0.0"
+    nopt "~3.0.6"
+    reserved-words "^0.1.1"
+
 methods@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
@@ -4281,6 +4429,16 @@ os-tmpdir@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
 
+p-limit@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+  dependencies:
+    p-limit "^1.1.0"
+
 pako@~0.2.0:
   version "0.2.9"
   resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@@ -4324,6 +4482,10 @@ path-exists@2.1.0, path-exists@^2.0.0:
   dependencies:
     pinkie-promise "^2.0.0"
 
+path-exists@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
 path-is-absolute@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -4636,6 +4798,40 @@ preserve@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
 
+prettier-eslint-cli@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-3.1.3.tgz#7651bfabffd1392643c2deb3db9e185914387102"
+  dependencies:
+    arrify "^1.0.1"
+    babel-runtime "^6.23.0"
+    chalk "^1.1.3"
+    common-tags "^1.4.0"
+    find-up "^2.1.0"
+    get-stdin "^5.0.1"
+    glob "^7.1.1"
+    ignore "^3.2.4"
+    indent-string "^3.1.0"
+    lodash.memoize "^4.1.2"
+    loglevel-colored-level-prefix "^1.0.0"
+    messageformat "^1.0.2"
+    prettier-eslint "^4.1.3"
+    rxjs "^5.2.0"
+    yargs "^6.6.0"
+
+prettier-eslint@^4.1.3:
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-4.4.0.tgz#ded965da6a4d32bef72bfff992afbee0c0cf0443"
+  dependencies:
+    common-tags "^1.4.0"
+    dlv "^1.1.0"
+    eslint "^3.17.0"
+    indent-string "^3.1.0"
+    lodash.merge "^4.6.0"
+    loglevel-colored-level-prefix "^1.0.0"
+    prettier "^0.22.0"
+    pretty-format "^19.0.0"
+    require-relative "^0.8.7"
+
 prettier@^0.22.0:
   version "0.22.0"
   resolved "https://registry.yarnpkg.com/prettier/-/prettier-0.22.0.tgz#7b37c4480d0858180407e5a8e13f0f47da7385d2"
@@ -5202,6 +5398,10 @@ require-main-filename@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
 
+require-relative@^0.8.7:
+  version "0.8.7"
+  resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
+
 require-uncached@^1.0.2:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
@@ -5213,6 +5413,10 @@ requires-port@1.0.x, requires-port@1.x.x:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
 
+reserved-words@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.1.tgz#6f7c15e5e5614c50da961630da46addc87c0cef2"
+
 resolve-from@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
@@ -5258,6 +5462,12 @@ rx-lite@^3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
 
+rxjs@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.2.0.tgz#db537de8767c05fa73721587a29e0085307d318b"
+  dependencies:
+    symbol-observable "^1.0.1"
+
 sane@~1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715"
@@ -5587,6 +5797,10 @@ strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
 
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
 style-loader@0.13.0:
   version "0.13.0"
   resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.0.tgz#abac11a20450f3ddea222b44c0c6342a8862db47"
@@ -5619,6 +5833,10 @@ svgo@^0.7.0:
     sax "~1.2.1"
     whet.extend "~0.9.9"
 
+symbol-observable@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
+
 "symbol-tree@>= 3.1.0 < 4.0.0":
   version "3.2.1"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.1.tgz#8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb"
@@ -6063,10 +6281,6 @@ window-size@0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
 
-window-size@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
-
 wordwrap@0.0.2:
   version "0.0.2"
   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
@@ -6129,9 +6343,9 @@ yargs-parser@^4.2.0:
   dependencies:
     camelcase "^3.0.0"
 
-yargs@^6.3.0:
-  version "6.5.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.5.0.tgz#a902e23a1f0fe912b2a03f6131b7ed740c9718ff"
+yargs@^6.3.0, yargs@^6.6.0:
+  version "6.6.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
   dependencies:
     camelcase "^3.0.0"
     cliui "^3.2.0"
@@ -6144,7 +6358,6 @@ yargs@^6.3.0:
     set-blocking "^2.0.0"
     string-width "^1.0.2"
     which-module "^1.0.0"
-    window-size "^0.2.0"
     y18n "^3.2.1"
     yargs-parser "^4.2.0"