aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src')
-rw-r--r--server/sonar-web/src/main/js/app/components/AdminContainer.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/App.js4
-rw-r--r--server/sonar-web/src/main/js/app/components/GlobalFooter.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.js4
-rw-r--r--server/sonar-web/src/main/js/app/components/Landing.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/ProjectContainer.js4
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/ComponentNavFavorite.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js2
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/global/GlobalNavSearch.js2
-rw-r--r--server/sonar-web/src/main/js/app/utils/getCurrentUserFromStore.js2
-rw-r--r--server/sonar-web/src/main/js/app/utils/getStore.js4
-rw-r--r--server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.js2
-rw-r--r--server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.js2
-rw-r--r--server/sonar-web/src/main/js/apps/about/components/AboutApp.js2
-rw-r--r--server/sonar-web/src/main/js/apps/account/components/Account.js2
-rw-r--r--server/sonar-web/src/main/js/apps/account/components/Security.js2
-rw-r--r--server/sonar-web/src/main/js/apps/account/profile/Profile.js2
-rw-r--r--server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js2
-rw-r--r--server/sonar-web/src/main/js/apps/code/components/App.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-issues/components/ComponentIssuesAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/app/AppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/MeasureBubbleChartContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListViewContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeViewContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/history/MeasureHistoryContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/details/treemap/MeasureTreemapContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasuresContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/home/HomeContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/home/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/store/listViewActions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/store/treeViewActions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/custom-measures/components/CustomMeasuresAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/issues/components/IssuesAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/overview/components/AppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permission-templates/components/AppContainer.js4
-rw-r--r--server/sonar-web/src/main/js/apps/permission-templates/components/Template.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/global/store/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/project/components/App.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/project/store/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/permissions/shared/components/PageError.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/deletion/Deletion.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdate.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/key/Key.js4
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/links/Links.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/quality-gate/QualityGate.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/quality-profiles/QualityProfiles.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/store/actions.js4
-rw-r--r--server/sonar-web/src/main/js/apps/project-admin/store/rootReducer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js4
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/FavoriteFilterContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/FavoriteProjectsContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/PageHeaderContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/ProjectCardContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/ProjectsListContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/components/ProjectsListFooterContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/filters/FilterContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/actions.js10
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js2
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/stateDuck.js2
-rw-r--r--server/sonar-web/src/main/js/apps/quality-gates/containers/DetailsContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/quality-gates/containers/QualityGatesAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/quality-profiles/components/AppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/sessions/components/LoginFormContainer.js4
-rw-r--r--server/sonar-web/src/main/js/apps/sessions/components/Logout.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/App.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/AppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/CategoryDefinitionsList.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/Definition.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/EmailForm.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/encryption/EncryptionAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/licenses/LicenseRowContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/licenses/LicensesListContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/serverId/ServerIdAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/store/actions.js4
-rw-r--r--server/sonar-web/src/main/js/apps/settings/store/encryptionPage/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/store/licenses/actions.js2
-rw-r--r--server/sonar-web/src/main/js/apps/settings/store/rootReducer.js4
-rw-r--r--server/sonar-web/src/main/js/apps/settings/store/values/reducer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/update-center/components/UpdateCenterAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/apps/users/components/UsersAppContainer.js2
-rw-r--r--server/sonar-web/src/main/js/components/controls/FavoriteContainer.js6
-rw-r--r--server/sonar-web/src/main/js/components/controls/GlobalMessages.js2
-rw-r--r--server/sonar-web/src/main/js/components/ui/Avatar.js2
-rw-r--r--server/sonar-web/src/main/js/helpers/handlebars/avatarHelper.js2
-rw-r--r--server/sonar-web/src/main/js/helpers/handlebars/ifShowAvatars.js2
-rw-r--r--server/sonar-web/src/main/js/helpers/measures.js4
-rw-r--r--server/sonar-web/src/main/js/store/appState/duck.js (renamed from server/sonar-web/src/main/js/app/store/appState/duck.js)0
-rw-r--r--server/sonar-web/src/main/js/store/components/actions.js (renamed from server/sonar-web/src/main/js/app/store/components/actions.js)0
-rw-r--r--server/sonar-web/src/main/js/store/components/reducer.js (renamed from server/sonar-web/src/main/js/app/store/components/reducer.js)0
-rw-r--r--server/sonar-web/src/main/js/store/favorites/duck.js (renamed from server/sonar-web/src/main/js/app/store/favorites/duck.js)0
-rw-r--r--server/sonar-web/src/main/js/store/globalMessages/duck.js (renamed from server/sonar-web/src/main/js/components/store/globalMessages.js)2
-rw-r--r--server/sonar-web/src/main/js/store/languages/actions.js (renamed from server/sonar-web/src/main/js/app/store/languages/actions.js)0
-rw-r--r--server/sonar-web/src/main/js/store/languages/reducer.js (renamed from server/sonar-web/src/main/js/app/store/languages/reducer.js)0
-rw-r--r--server/sonar-web/src/main/js/store/measures/actions.js (renamed from server/sonar-web/src/main/js/app/store/measures/actions.js)0
-rw-r--r--server/sonar-web/src/main/js/store/measures/reducer.js (renamed from server/sonar-web/src/main/js/app/store/measures/reducer.js)0
-rw-r--r--server/sonar-web/src/main/js/store/rootActions.js (renamed from server/sonar-web/src/main/js/app/store/rootActions.js)10
-rw-r--r--server/sonar-web/src/main/js/store/rootReducer.js (renamed from server/sonar-web/src/main/js/app/store/rootReducer.js)16
-rw-r--r--server/sonar-web/src/main/js/store/users/actions.js (renamed from server/sonar-web/src/main/js/app/store/users/actions.js)2
-rw-r--r--server/sonar-web/src/main/js/store/users/reducer.js (renamed from server/sonar-web/src/main/js/app/store/users/reducer.js)0
-rw-r--r--server/sonar-web/src/main/js/store/utils/configureStore.js (renamed from server/sonar-web/src/main/js/components/store/configureStore.js)0
-rw-r--r--server/sonar-web/src/main/js/store/utils/generalReducers.js (renamed from server/sonar-web/src/main/js/components/store/generalReducers.js)0
-rw-r--r--server/sonar-web/src/main/js/store/utils/withStore.js (renamed from server/sonar-web/src/main/js/components/store/withStore.js)0
114 files changed, 131 insertions, 131 deletions
diff --git a/server/sonar-web/src/main/js/app/components/AdminContainer.js b/server/sonar-web/src/main/js/app/components/AdminContainer.js
index 7ecbb77b2cd..728118fac90 100644
--- a/server/sonar-web/src/main/js/app/components/AdminContainer.js
+++ b/server/sonar-web/src/main/js/app/components/AdminContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import SettingsNav from './nav/settings/SettingsNav';
-import { getCurrentUser } from '../store/rootReducer';
+import { getCurrentUser } from '../../store/rootReducer';
import { isUserAdmin } from '../../helpers/users';
class AdminContainer extends React.Component {
diff --git a/server/sonar-web/src/main/js/app/components/App.js b/server/sonar-web/src/main/js/app/components/App.js
index 4c13709deaf..6ddad08119e 100644
--- a/server/sonar-web/src/main/js/app/components/App.js
+++ b/server/sonar-web/src/main/js/app/components/App.js
@@ -21,8 +21,8 @@
import React from 'react';
import { connect } from 'react-redux';
import GlobalLoading from './GlobalLoading';
-import { fetchCurrentUser } from '../store/users/actions';
-import { fetchLanguages, fetchAppState } from '../store/rootActions';
+import { fetchCurrentUser } from '../../store/users/actions';
+import { fetchLanguages, fetchAppState } from '../../store/rootActions';
class App extends React.Component {
mounted: bool;
diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooter.js b/server/sonar-web/src/main/js/app/components/GlobalFooter.js
index 8d0e5472014..8ca593eb458 100644
--- a/server/sonar-web/src/main/js/app/components/GlobalFooter.js
+++ b/server/sonar-web/src/main/js/app/components/GlobalFooter.js
@@ -21,7 +21,7 @@
import React from 'react';
import { Link } from 'react-router';
import { connect } from 'react-redux';
-import { getAppState } from '../store/rootReducer';
+import { getAppState } from '../../store/rootReducer';
class GlobalFooter extends React.Component {
render () {
diff --git a/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.js b/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.js
index 6faf954d495..64d2ef040e3 100644
--- a/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.js
+++ b/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.js
@@ -19,8 +19,8 @@
*/
import { connect } from 'react-redux';
import GlobalMessages from '../../components/controls/GlobalMessages';
-import { getGlobalMessages } from '../store/rootReducer';
-import { closeGlobalMessage } from '../../components/store/globalMessages';
+import { getGlobalMessages } from '../../store/rootReducer';
+import { closeGlobalMessage } from '../../store/globalMessages/duck';
const mapStateToProps = state => ({
messages: getGlobalMessages(state)
diff --git a/server/sonar-web/src/main/js/app/components/Landing.js b/server/sonar-web/src/main/js/app/components/Landing.js
index 17074c24945..40ea3a3c8e6 100644
--- a/server/sonar-web/src/main/js/app/components/Landing.js
+++ b/server/sonar-web/src/main/js/app/components/Landing.js
@@ -21,7 +21,7 @@
import React from 'react';
import { withRouter } from 'react-router';
import { connect } from 'react-redux';
-import { getCurrentUser } from '../store/rootReducer';
+import { getCurrentUser } from '../../store/rootReducer';
class Landing extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/app/components/ProjectContainer.js b/server/sonar-web/src/main/js/app/components/ProjectContainer.js
index 41eaec1e7db..8a6cc890eb8 100644
--- a/server/sonar-web/src/main/js/app/components/ProjectContainer.js
+++ b/server/sonar-web/src/main/js/app/components/ProjectContainer.js
@@ -20,8 +20,8 @@
import React from 'react';
import { connect } from 'react-redux';
import ComponentNav from './nav/component/ComponentNav';
-import { fetchProject } from '../store/rootActions';
-import { getComponent } from '../store/rootReducer';
+import { fetchProject } from '../../store/rootActions';
+import { getComponent } from '../../store/rootReducer';
class ProjectContainer extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavFavorite.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavFavorite.js
index e5ac6b7cbe6..46855693968 100644
--- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavFavorite.js
+++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavFavorite.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import Favorite from '../../../../components/controls/Favorite';
-import { getCurrentUser } from '../../../store/rootReducer';
+import { getCurrentUser } from '../../../../store/rootReducer';
class ComponentNavFavorite extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.js
index 01735c65a5a..7543197a7ae 100644
--- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.js
+++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.js
@@ -24,7 +24,7 @@ import GlobalNavMenu from './GlobalNavMenu';
import GlobalNavUser from './GlobalNavUser';
import GlobalNavSearch from './GlobalNavSearch';
import ShortcutsHelpView from './ShortcutsHelpView';
-import { getCurrentUser } from '../../../store/rootReducer';
+import { getCurrentUser } from '../../../../store/rootReducer';
class GlobalNav extends React.Component {
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js
index b845eedfe58..9730f861f89 100644
--- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js
+++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js
@@ -20,7 +20,7 @@
import React from 'react';
import { Link } from 'react-router';
import { connect } from 'react-redux';
-import { getSettingValue, getCurrentUser } from '../../../store/rootReducer';
+import { getSettingValue, getCurrentUser } from '../../../../store/rootReducer';
import { translate } from '../../../../helpers/l10n';
class GlobalNavBranding extends React.Component {
diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavSearch.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavSearch.js
index c4d6f7c385c..a0af8c4acd3 100644
--- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavSearch.js
+++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavSearch.js
@@ -21,7 +21,7 @@ import Backbone from 'backbone';
import React from 'react';
import { connect } from 'react-redux';
import SearchView from './SearchView';
-import { getCurrentUser } from '../../../store/rootReducer';
+import { getCurrentUser } from '../../../../store/rootReducer';
function contains (root, node) {
while (node) {
diff --git a/server/sonar-web/src/main/js/app/utils/getCurrentUserFromStore.js b/server/sonar-web/src/main/js/app/utils/getCurrentUserFromStore.js
index b16ba492a00..82791c3306c 100644
--- a/server/sonar-web/src/main/js/app/utils/getCurrentUserFromStore.js
+++ b/server/sonar-web/src/main/js/app/utils/getCurrentUserFromStore.js
@@ -18,7 +18,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
// @flow
-import { getCurrentUser } from '../store/rootReducer';
+import { getCurrentUser } from '../../store/rootReducer';
// TODO remove my usages
const getCurrentUserFromStore = () => {
diff --git a/server/sonar-web/src/main/js/app/utils/getStore.js b/server/sonar-web/src/main/js/app/utils/getStore.js
index 1fb1cad4e4f..010b0c581e9 100644
--- a/server/sonar-web/src/main/js/app/utils/getStore.js
+++ b/server/sonar-web/src/main/js/app/utils/getStore.js
@@ -18,8 +18,8 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
// @flow
-import configureStore from '../../components/store/configureStore';
-import rootReducer from '../store/rootReducer';
+import configureStore from '../../store/utils/configureStore';
+import rootReducer from '../../store/rootReducer';
let store;
diff --git a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.js b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.js
index 566434f196c..453c970a69d 100644
--- a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.js
+++ b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.js
@@ -20,7 +20,7 @@
// @flow
import getStore from './getStore';
import getHistory from './getHistory';
-import { requireAuthentication } from '../store/appState/duck';
+import { requireAuthentication } from '../../store/appState/duck';
export default () => {
const store = getStore();
diff --git a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.js b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.js
index b8664b312df..095d2f53f5a 100644
--- a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.js
+++ b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.js
@@ -20,7 +20,7 @@
// @flow
import getStore from './getStore';
import getHistory from './getHistory';
-import { requireAuthorization } from '../store/appState/duck';
+import { requireAuthorization } from '../../store/appState/duck';
export default () => {
const store = getStore();
diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutApp.js b/server/sonar-web/src/main/js/apps/about/components/AboutApp.js
index dae2e6c8158..e95674f2c6b 100644
--- a/server/sonar-web/src/main/js/apps/about/components/AboutApp.js
+++ b/server/sonar-web/src/main/js/apps/about/components/AboutApp.js
@@ -31,7 +31,7 @@ import AboutScanners from './AboutScanners';
import { translate } from '../../../helpers/l10n';
import { searchProjects } from '../../../api/components';
import { getFacet } from '../../../api/issues';
-import { getSettingValue } from '../../../app/store/rootReducer';
+import { getSettingValue } from '../../../store/rootReducer';
import * as settingsAPI from '../../../api/settings';
import '../styles.css';
diff --git a/server/sonar-web/src/main/js/apps/account/components/Account.js b/server/sonar-web/src/main/js/apps/account/components/Account.js
index 0606d1aef61..633a6da2275 100644
--- a/server/sonar-web/src/main/js/apps/account/components/Account.js
+++ b/server/sonar-web/src/main/js/apps/account/components/Account.js
@@ -21,7 +21,7 @@ import React from 'react';
import { connect } from 'react-redux';
import Nav from './Nav';
import UserCard from './UserCard';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
import '../account.css';
class Account extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/account/components/Security.js b/server/sonar-web/src/main/js/apps/account/components/Security.js
index 9accad023f5..f229aae9936 100644
--- a/server/sonar-web/src/main/js/apps/account/components/Security.js
+++ b/server/sonar-web/src/main/js/apps/account/components/Security.js
@@ -23,7 +23,7 @@ import Helmet from 'react-helmet';
import Password from './Password';
import Tokens from './Tokens';
import { translate } from '../../../helpers/l10n';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
class Security extends React.Component {
render () {
diff --git a/server/sonar-web/src/main/js/apps/account/profile/Profile.js b/server/sonar-web/src/main/js/apps/account/profile/Profile.js
index 776b328676e..3d3213b7ea2 100644
--- a/server/sonar-web/src/main/js/apps/account/profile/Profile.js
+++ b/server/sonar-web/src/main/js/apps/account/profile/Profile.js
@@ -22,7 +22,7 @@ import { connect } from 'react-redux';
import UserExternalIdentity from './UserExternalIdentity';
import UserGroups from './UserGroups';
import UserScmAccounts from './UserScmAccounts';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
class Profile extends React.Component {
render () {
diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js
index 94c5459e0fd..d94951e32c7 100644
--- a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js
+++ b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js
@@ -31,7 +31,7 @@ import Tasks from '../components/Tasks';
import { getTypes, getActivity, getStatus, cancelAllTasks, cancelTask as cancelTaskAPI } from '../../../api/ce';
import { updateTask, mapFiltersToParameters } from '../utils';
import { Task } from '../types';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
import '../background-tasks.css';
class BackgroundTasksApp extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/code/components/App.js b/server/sonar-web/src/main/js/apps/code/components/App.js
index 4e27e90e015..7e265b23692 100644
--- a/server/sonar-web/src/main/js/apps/code/components/App.js
+++ b/server/sonar-web/src/main/js/apps/code/components/App.js
@@ -27,7 +27,7 @@ import Search from './Search';
import ListFooter from '../../../components/controls/ListFooter';
import { retrieveComponentChildren, retrieveComponent, loadMoreChildren, parseError } from '../utils';
import { addComponent, addComponentBreadcrumbs, clearBucket } from '../bucket';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
import '../code.css';
class App extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/component-issues/components/ComponentIssuesAppContainer.js b/server/sonar-web/src/main/js/apps/component-issues/components/ComponentIssuesAppContainer.js
index 4ca3376c3b0..3c08036cb91 100644
--- a/server/sonar-web/src/main/js/apps/component-issues/components/ComponentIssuesAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-issues/components/ComponentIssuesAppContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import init from '../init';
import { connect } from 'react-redux';
-import { getComponent, getCurrentUser } from '../../../app/store/rootReducer';
+import { getComponent, getCurrentUser } from '../../../store/rootReducer';
class ComponentIssuesAppContainer extends React.Component {
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/app/AppContainer.js b/server/sonar-web/src/main/js/apps/component-measures/app/AppContainer.js
index 5c1f09eaf63..cd26bb8f63e 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/app/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/app/AppContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import App from './App';
import { fetchMetrics, setComponent } from './actions';
-import { getComponent, getMeasuresAppAllMetrics } from '../../../app/store/rootReducer';
+import { getComponent, getMeasuresAppAllMetrics } from '../../../store/rootReducer';
const mapStateToProps = (state, ownProps) => ({
component: getComponent(state, ownProps.location.query.id),
diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/MeasureBubbleChartContainer.js b/server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/MeasureBubbleChartContainer.js
index 029cee95b55..00534a6331c 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/MeasureBubbleChartContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/components/bubbleChart/MeasureBubbleChartContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import MeasureBubbleChart from './BubbleChart';
-import { getMeasuresAppAllMetrics, getMeasuresAppComponent } from '../../../../app/store/rootReducer';
+import { getMeasuresAppAllMetrics, getMeasuresAppComponent } from '../../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsContainer.js b/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsContainer.js
index 055ce5225e3..b569c01636b 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsContainer.js
@@ -27,7 +27,7 @@ import {
getMeasuresAppDetailsSecondaryMeasure,
getMeasuresAppDetailsPeriods
, getMeasuresAppComponent
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/actions.js b/server/sonar-web/src/main/js/apps/component-measures/details/actions.js
index 608c7e2b97c..a7523787d22 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/actions.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/actions.js
@@ -19,7 +19,7 @@
*/
import { getMeasuresAndMeta } from '../../../api/measures';
import { enhanceWithLeak } from '../utils';
-import { getMeasuresAppComponent, getMeasuresAppAllMetrics } from '../../../app/store/rootReducer';
+import { getMeasuresAppComponent, getMeasuresAppAllMetrics } from '../../../store/rootReducer';
/*
* Actions
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListViewContainer.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListViewContainer.js
index d982d7aef88..57d20b41a46 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListViewContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListViewContainer.js
@@ -29,7 +29,7 @@ import {
getMeasuresAppDetailsMetric,
isMeasuresAppFetching
, getMeasuresAppComponent
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeViewContainer.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeViewContainer.js
index 114b9ef08e2..cb5e2a0e76b 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeViewContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeViewContainer.js
@@ -38,7 +38,7 @@ import {
getMeasuresAppDetailsMetric,
isMeasuresAppFetching
, getMeasuresAppComponent
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/history/MeasureHistoryContainer.js b/server/sonar-web/src/main/js/apps/component-measures/details/history/MeasureHistoryContainer.js
index b70189eedb5..d60569a17c2 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/history/MeasureHistoryContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/history/MeasureHistoryContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import MeasureHistory from './MeasureHistory';
-import { getMeasuresAppDetailsMetric, getMeasuresAppComponent } from '../../../../app/store/rootReducer';
+import { getMeasuresAppDetailsMetric, getMeasuresAppComponent } from '../../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/treemap/MeasureTreemapContainer.js b/server/sonar-web/src/main/js/apps/component-measures/details/treemap/MeasureTreemapContainer.js
index e24858b82e3..2a040d7b0c2 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/details/treemap/MeasureTreemapContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/details/treemap/MeasureTreemapContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import MeasureTreemap from './MeasureTreemap';
-import { getMeasuresAppDetailsMetric, getMeasuresAppComponent } from '../../../../app/store/rootReducer';
+import { getMeasuresAppDetailsMetric, getMeasuresAppComponent } from '../../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresContainer.js b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresContainer.js
index d02d06bfcc3..b690cf7e21c 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresContainer.js
@@ -23,7 +23,7 @@ import {
getMeasuresAppHomeDomains,
getMeasuresAppHomePeriods,
getMeasuresAppComponent
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasuresContainer.js b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasuresContainer.js
index 53094eb9bc7..858b09dbe1e 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasuresContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasuresContainer.js
@@ -23,7 +23,7 @@ import {
getMeasuresAppHomeDomains,
getMeasuresAppHomePeriods,
getMeasuresAppComponent
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/HomeContainer.js b/server/sonar-web/src/main/js/apps/component-measures/home/HomeContainer.js
index 58e3285c181..9c16840b0c1 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/home/HomeContainer.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/home/HomeContainer.js
@@ -25,7 +25,7 @@ import {
getMeasuresAppHomeDomains,
getMeasuresAppHomePeriods,
getMeasuresAppComponent
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
const mapStateToProps = state => {
return {
diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/actions.js b/server/sonar-web/src/main/js/apps/component-measures/home/actions.js
index 006d4680523..04a2f11da5c 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/home/actions.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/home/actions.js
@@ -21,7 +21,7 @@ import { startFetching, stopFetching } from '../store/statusActions';
import { getMeasuresAndMeta } from '../../../api/measures';
import { getLeakPeriod } from '../../../helpers/periods';
import { getLeakValue } from '../utils';
-import { getMeasuresAppComponent, getMeasuresAppAllMetrics } from '../../../app/store/rootReducer';
+import { getMeasuresAppComponent, getMeasuresAppAllMetrics } from '../../../store/rootReducer';
export const RECEIVE_MEASURES = 'measuresApp/home/RECEIVE_MEASURES';
diff --git a/server/sonar-web/src/main/js/apps/component-measures/store/listViewActions.js b/server/sonar-web/src/main/js/apps/component-measures/store/listViewActions.js
index 1f48656bfb8..857c82b41c1 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/store/listViewActions.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/store/listViewActions.js
@@ -21,7 +21,7 @@ import { getComponentTree } from '../../../api/components';
import { enhanceWithMeasure } from '../utils';
import { startFetching, stopFetching } from './statusActions';
import complementary from '../config/complementary';
-import { getMeasuresAppList } from '../../../app/store/rootReducer';
+import { getMeasuresAppList } from '../../../store/rootReducer';
export const UPDATE_STORE = 'measuresApp/drilldown/list/UPDATE_STORE';
diff --git a/server/sonar-web/src/main/js/apps/component-measures/store/treeViewActions.js b/server/sonar-web/src/main/js/apps/component-measures/store/treeViewActions.js
index 81d2896c9d8..5697f7a2a79 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/store/treeViewActions.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/store/treeViewActions.js
@@ -23,7 +23,7 @@ import { getComponentTree } from '../../../api/components';
import { enhanceWithMeasure } from '../utils';
import { startFetching, stopFetching } from './statusActions';
import complementary from '../config/complementary';
-import { getMeasuresAppTree } from '../../../app/store/rootReducer';
+import { getMeasuresAppTree } from '../../../store/rootReducer';
/*
* Actions
diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/CustomMeasuresAppContainer.js b/server/sonar-web/src/main/js/apps/custom-measures/components/CustomMeasuresAppContainer.js
index ad4b91936c6..3eb2a0b1db2 100644
--- a/server/sonar-web/src/main/js/apps/custom-measures/components/CustomMeasuresAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/custom-measures/components/CustomMeasuresAppContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import init from '../init';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
class CustomMeasuresAppContainer extends React.Component {
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesAppContainer.js b/server/sonar-web/src/main/js/apps/issues/components/IssuesAppContainer.js
index 4d5c56374ef..b33d4907d2a 100644
--- a/server/sonar-web/src/main/js/apps/issues/components/IssuesAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesAppContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import init from '../init';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
class IssuesAppContainer extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/overview/components/AppContainer.js b/server/sonar-web/src/main/js/apps/overview/components/AppContainer.js
index e697ff24c18..814390fbf37 100644
--- a/server/sonar-web/src/main/js/apps/overview/components/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/overview/components/AppContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import App from './App';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
const mapStateToProps = (state, ownProps) => ({
component: getComponent(state, ownProps.location.query.id)
diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js
index 0530d58e218..8cdeb817cf1 100644
--- a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js
+++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.js
@@ -24,7 +24,7 @@ import { TooltipsContainer } from '../../../components/mixins/tooltips-mixin';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import { getQualityProfileUrl } from '../../../helpers/urls';
import { searchRules } from '../../../api/rules';
-import { getLanguages } from '../../../app/store/rootReducer';
+import { getLanguages } from '../../../store/rootReducer';
class MetaQualityProfiles extends React.Component {
state = {
diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/AppContainer.js b/server/sonar-web/src/main/js/apps/permission-templates/components/AppContainer.js
index 48ca02edbd8..e00ff5087b6 100644
--- a/server/sonar-web/src/main/js/apps/permission-templates/components/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/permission-templates/components/AppContainer.js
@@ -19,8 +19,8 @@
*/
import { connect } from 'react-redux';
import App from './App';
-import { getAppState } from '../../../app/store/rootReducer';
-import { getRootQualifiers } from '../../../app/store/appState/duck';
+import { getAppState } from '../../../store/rootReducer';
+import { getRootQualifiers } from '../../../store/appState/duck';
const mapStateToProps = state => ({
topQualifiers: getRootQualifiers(getAppState(state))
diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js
index c22c27d9ec0..1639f5cb6c3 100644
--- a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js
+++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js
@@ -27,7 +27,7 @@ import SearchForm from '../../permissions/shared/components/SearchForm';
import { PERMISSIONS_ORDER_FOR_PROJECT } from '../../permissions/project/constants';
import * as api from '../../../api/permissions';
import { translate } from '../../../helpers/l10n';
-import withStore from '../../../components/store/withStore';
+import withStore from '../../../store/utils/withStore';
class Template extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js
index 56343415027..dd781c3cd25 100644
--- a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js
+++ b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js
@@ -38,7 +38,7 @@ import {
getPermissionsAppQuery,
getPermissionsAppFilter,
getPermissionsAppSelectedPermission
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
const PERMISSIONS_ORDER = [
'admin',
diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js
index 299de992836..260c26c9ea0 100644
--- a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js
+++ b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js
@@ -21,7 +21,7 @@ import React from 'react';
import { connect } from 'react-redux';
import { translate } from '../../../../helpers/l10n';
import { loadHolders } from '../store/actions';
-import { isPermissionsAppLoading } from '../../../../app/store/rootReducer';
+import { isPermissionsAppLoading } from '../../../../store/rootReducer';
class PageHeader extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/permissions/global/store/actions.js b/server/sonar-web/src/main/js/apps/permissions/global/store/actions.js
index 207a0cf7e0a..eb2021a3b19 100644
--- a/server/sonar-web/src/main/js/apps/permissions/global/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/permissions/global/store/actions.js
@@ -35,7 +35,7 @@ import {
getPermissionsAppQuery,
getPermissionsAppFilter,
getPermissionsAppSelectedPermission
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
export const loadHolders = () => (dispatch, getState) => {
const query = getPermissionsAppQuery(getState());
diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js
index 63b041b2fcf..dabcf13e564 100644
--- a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js
+++ b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js
@@ -39,7 +39,7 @@ import {
getPermissionsAppQuery,
getPermissionsAppFilter,
getPermissionsAppSelectedPermission
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
class AllHoldersList extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/App.js b/server/sonar-web/src/main/js/apps/permissions/project/components/App.js
index c7657ddcc51..16e9f10db80 100644
--- a/server/sonar-web/src/main/js/apps/permissions/project/components/App.js
+++ b/server/sonar-web/src/main/js/apps/permissions/project/components/App.js
@@ -22,7 +22,7 @@ import { connect } from 'react-redux';
import PageHeader from './PageHeader';
import AllHoldersList from './AllHoldersList';
import PageError from '../../shared/components/PageError';
-import { getComponent, getCurrentUser } from '../../../../app/store/rootReducer';
+import { getComponent, getCurrentUser } from '../../../../store/rootReducer';
import '../../styles.css';
// TODO helmet
diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js
index 456a16cf7a3..700b2b48ea3 100644
--- a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js
+++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js
@@ -22,7 +22,7 @@ import { connect } from 'react-redux';
import { translate } from '../../../../helpers/l10n';
import ApplyTemplateView from '../views/ApplyTemplateView';
import { loadHolders } from '../store/actions';
-import { isPermissionsAppLoading } from '../../../../app/store/rootReducer';
+import { isPermissionsAppLoading } from '../../../../store/rootReducer';
import { isUserAdmin } from '../../../../helpers/users';
class PageHeader extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/permissions/project/store/actions.js b/server/sonar-web/src/main/js/apps/permissions/project/store/actions.js
index b705876a6a2..1982d34ea05 100644
--- a/server/sonar-web/src/main/js/apps/permissions/project/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/permissions/project/store/actions.js
@@ -35,7 +35,7 @@ import {
getPermissionsAppQuery,
getPermissionsAppFilter,
getPermissionsAppSelectedPermission
-} from '../../../../app/store/rootReducer';
+} from '../../../../store/rootReducer';
export const loadHolders = projectKey => (dispatch, getState) => {
const query = getPermissionsAppQuery(getState());
diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/PageError.js b/server/sonar-web/src/main/js/apps/permissions/shared/components/PageError.js
index 289a6c196a0..e5fb83bfc38 100644
--- a/server/sonar-web/src/main/js/apps/permissions/shared/components/PageError.js
+++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/PageError.js
@@ -19,7 +19,7 @@
*/
import React from 'react';
import { connect } from 'react-redux';
-import { getPermissionsAppError } from '../../../../app/store/rootReducer';
+import { getPermissionsAppError } from '../../../../store/rootReducer';
class PageError extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/deletion/Deletion.js b/server/sonar-web/src/main/js/apps/project-admin/deletion/Deletion.js
index 0fd141962aa..b609589522d 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/deletion/Deletion.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/deletion/Deletion.js
@@ -21,7 +21,7 @@ import React from 'react';
import { connect } from 'react-redux';
import Header from './Header';
import Form from './Form';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
class Deletion extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdate.js b/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdate.js
index 4bc8050a464..a740ededa6c 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdate.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdate.js
@@ -28,7 +28,7 @@ import {
addGlobalErrorMessage,
addGlobalSuccessMessage,
closeAllGlobalMessages
-} from '../../../components/store/globalMessages';
+} from '../../../store/globalMessages/duck';
import { reloadUpdateKeyPage } from './utils';
import RecentHistory from '../../../app/components/nav/component/RecentHistory';
diff --git a/server/sonar-web/src/main/js/apps/project-admin/key/Key.js b/server/sonar-web/src/main/js/apps/project-admin/key/Key.js
index 7b4c04846bb..c8256ced455 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/key/Key.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/key/Key.js
@@ -30,11 +30,11 @@ import {
addGlobalErrorMessage,
closeAllGlobalMessages,
addGlobalSuccessMessage
-} from '../../../components/store/globalMessages';
+} from '../../../store/globalMessages/duck';
import { parseError } from '../../code/utils';
import { reloadUpdateKeyPage } from './utils';
import RecentHistory from '../../../app/components/nav/component/RecentHistory';
-import { getProjectAdminProjectModules, getComponent } from '../../../app/store/rootReducer';
+import { getProjectAdminProjectModules, getComponent } from '../../../store/rootReducer';
class Key extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/links/Links.js b/server/sonar-web/src/main/js/apps/project-admin/links/Links.js
index d1e611c87c4..f3d3c36991e 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/links/Links.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/links/Links.js
@@ -28,7 +28,7 @@ import {
deleteProjectLink,
createProjectLink
} from '../store/actions';
-import { getProjectAdminProjectLinks, getComponent } from '../../../app/store/rootReducer';
+import { getProjectAdminProjectLinks, getComponent } from '../../../store/rootReducer';
class Links extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/quality-gate/QualityGate.js b/server/sonar-web/src/main/js/apps/project-admin/quality-gate/QualityGate.js
index 50eabdecb47..7dcd84df403 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/quality-gate/QualityGate.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/quality-gate/QualityGate.js
@@ -23,7 +23,7 @@ import shallowCompare from 'react-addons-shallow-compare';
import Header from './Header';
import Form from './Form';
import { fetchProjectGate, setProjectGate } from '../store/actions';
-import { getProjectAdminAllGates, getProjectAdminProjectGate, getComponent } from '../../../app/store/rootReducer';
+import { getProjectAdminAllGates, getProjectAdminProjectGate, getComponent } from '../../../store/rootReducer';
class QualityGate extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/QualityProfiles.js b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/QualityProfiles.js
index 5d4263cf6eb..591ede496bc 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/QualityProfiles.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/QualityProfiles.js
@@ -27,7 +27,7 @@ import {
getProjectAdminAllProfiles,
getProjectAdminProjectProfiles,
getComponent
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
class QualityProfiles extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/apps/project-admin/store/actions.js b/server/sonar-web/src/main/js/apps/project-admin/store/actions.js
index b5c3c1a5f21..eafbd8853ae 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/store/actions.js
@@ -26,9 +26,9 @@ import {
} from '../../../api/quality-gates';
import { getProjectLinks, createLink } from '../../../api/projectLinks';
import { getTree, changeKey as changeKeyApi } from '../../../api/components';
-import { addGlobalSuccessMessage } from '../../../components/store/globalMessages';
+import { addGlobalSuccessMessage } from '../../../store/globalMessages/duck';
import { translate, translateWithParameters } from '../../../helpers/l10n';
-import { getProjectAdminProfileByKey } from '../../../app/store/rootReducer';
+import { getProjectAdminProfileByKey } from '../../../store/rootReducer';
export const RECEIVE_PROFILES = 'projectAdmin/RECEIVE_PROFILES';
export const receiveProfiles = profiles => ({
diff --git a/server/sonar-web/src/main/js/apps/project-admin/store/rootReducer.js b/server/sonar-web/src/main/js/apps/project-admin/store/rootReducer.js
index a5c56087ce9..1a49d87e3e0 100644
--- a/server/sonar-web/src/main/js/apps/project-admin/store/rootReducer.js
+++ b/server/sonar-web/src/main/js/apps/project-admin/store/rootReducer.js
@@ -35,7 +35,7 @@ import modulesByProject, {
} from './modulesByProject';
import globalMessages, {
getGlobalMessages as nextGetGlobalMessages
-} from '../../../components/store/globalMessages';
+} from '../../../store/globalMessages/duck';
const rootReducer = combineReducers({
profiles,
diff --git a/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js b/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js
index 11eb059ad02..ebf5317536f 100644
--- a/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js
@@ -20,8 +20,8 @@
import React from 'react';
import { connect } from 'react-redux';
import Main from './main';
-import { getCurrentUser, getAppState } from '../../app/store/rootReducer';
-import { getRootQualifiers } from '../../app/store/appState/duck';
+import { getCurrentUser, getAppState } from '../../store/rootReducer';
+import { getRootQualifiers } from '../../store/appState/duck';
class AppContainer extends React.Component {
render () {
diff --git a/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.js b/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.js
index d003248d72c..60dafe9a7e4 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import AllProjects from './AllProjects';
import { fetchProjects } from '../store/actions';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
const mapStateToProps = state => ({
user: getCurrentUser(state),
diff --git a/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilterContainer.js b/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilterContainer.js
index c6437cf58f9..01555a84f6f 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilterContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilterContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import FavoriteFilter from './FavoriteFilter';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
const mapStateToProps = state => ({
user: getCurrentUser(state)
diff --git a/server/sonar-web/src/main/js/apps/projects/components/FavoriteProjectsContainer.js b/server/sonar-web/src/main/js/apps/projects/components/FavoriteProjectsContainer.js
index 3e383549f3e..567388b3af5 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/FavoriteProjectsContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/FavoriteProjectsContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import AllProjects from './AllProjects';
import { fetchProjects } from '../store/actions';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
const mapStateToProps = state => ({
user: getCurrentUser(state),
diff --git a/server/sonar-web/src/main/js/apps/projects/components/PageHeaderContainer.js b/server/sonar-web/src/main/js/apps/projects/components/PageHeaderContainer.js
index fe8c6fd6043..c1400cd6cf9 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/PageHeaderContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/PageHeaderContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import PageHeader from './PageHeader';
-import { getProjectsAppState } from '../../../app/store/rootReducer';
+import { getProjectsAppState } from '../../../store/rootReducer';
export default connect(
state => getProjectsAppState(state)
diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardContainer.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardContainer.js
index e260f56ca15..87e4447ae54 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import ProjectCard from './ProjectCard';
-import { getComponent, getComponentMeasures } from '../../../app/store/rootReducer';
+import { getComponent, getComponentMeasures } from '../../../store/rootReducer';
export default connect(
(state, ownProps) => ({
diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js
index f91571ab8c3..53f29902449 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js
@@ -20,7 +20,7 @@
import React from 'react';
import sortBy from 'lodash/sortBy';
import { connect } from 'react-redux';
-import { getLanguages } from '../../../app/store/rootReducer';
+import { getLanguages } from '../../../store/rootReducer';
import { translate } from '../../../helpers/l10n';
class ProjectCardLanguages extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectsListContainer.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectsListContainer.js
index 3bbd31c3280..37f627b4da1 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/ProjectsListContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectsListContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import ProjectsList from './ProjectsList';
-import { getProjects, getProjectsAppState } from '../../../app/store/rootReducer';
+import { getProjects, getProjectsAppState } from '../../../store/rootReducer';
export default connect(
state => ({
diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectsListFooterContainer.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectsListFooterContainer.js
index 210b4312b9c..1e22e34a92d 100644
--- a/server/sonar-web/src/main/js/apps/projects/components/ProjectsListFooterContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectsListFooterContainer.js
@@ -18,7 +18,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { connect } from 'react-redux';
-import { getProjects, getProjectsAppState } from '../../../app/store/rootReducer';
+import { getProjects, getProjectsAppState } from '../../../store/rootReducer';
import { fetchMoreProjects } from '../store/actions';
import ProjectsListFooter from './ProjectsListFooter';
diff --git a/server/sonar-web/src/main/js/apps/projects/filters/FilterContainer.js b/server/sonar-web/src/main/js/apps/projects/filters/FilterContainer.js
index e943a6b2847..c753e163909 100644
--- a/server/sonar-web/src/main/js/apps/projects/filters/FilterContainer.js
+++ b/server/sonar-web/src/main/js/apps/projects/filters/FilterContainer.js
@@ -22,7 +22,7 @@ import { connect } from 'react-redux';
import { withRouter } from 'react-router';
import omitBy from 'lodash/omitBy';
import isNil from 'lodash/isNil';
-import { getProjectsAppFacetByProperty, getProjectsAppMaxFacetValue } from '../../../app/store/rootReducer';
+import { getProjectsAppFacetByProperty, getProjectsAppMaxFacetValue } from '../../../store/rootReducer';
const mapStateToProps = (state, ownProps) => ({
value: ownProps.query[ownProps.property],
diff --git a/server/sonar-web/src/main/js/apps/projects/store/actions.js b/server/sonar-web/src/main/js/apps/projects/store/actions.js
index d14f38e08c8..5a6f5affdec 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/actions.js
@@ -19,16 +19,16 @@
*/
import groupBy from 'lodash/groupBy';
import { searchProjects } from '../../../api/components';
-import { addGlobalErrorMessage } from '../../../components/store/globalMessages';
+import { addGlobalErrorMessage } from '../../../store/globalMessages/duck';
import { parseError } from '../../code/utils';
-import { receiveComponents } from '../../../app/store/components/actions';
+import { receiveComponents } from '../../../store/components/actions';
import { receiveProjects, receiveMoreProjects } from './projectsDuck';
import { updateState } from './stateDuck';
-import { getProjectsAppState } from '../../../app/store/rootReducer';
+import { getProjectsAppState } from '../../../store/rootReducer';
import { getMeasuresForProjects } from '../../../api/measures';
-import { receiveComponentsMeasures } from '../../../app/store/measures/actions';
+import { receiveComponentsMeasures } from '../../../store/measures/actions';
import { convertToFilter } from './utils';
-import { receiveFavorites } from '../../../app/store/favorites/duck';
+import { receiveFavorites } from '../../../store/favorites/duck';
const PAGE_SIZE = 50;
diff --git a/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js b/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
index 9a12aa620bf..0f7fbf95005 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
@@ -19,7 +19,7 @@
*/
import flatMap from 'lodash/flatMap';
import sumBy from 'lodash/sumBy';
-import { createMap } from '../../../components/store/generalReducers';
+import { createMap } from '../../../store/utils/generalReducers';
import { actions } from './projectsDuck';
import { mapMetricToProperty } from './utils';
diff --git a/server/sonar-web/src/main/js/apps/projects/store/stateDuck.js b/server/sonar-web/src/main/js/apps/projects/store/stateDuck.js
index d74a8f910ff..772a6467ffc 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/stateDuck.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/stateDuck.js
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { createValue } from '../../../components/store/generalReducers';
+import { createValue } from '../../../store/utils/generalReducers';
export const actions = {
UPDATE_STATE: 'projects/UPDATE_STATE'
diff --git a/server/sonar-web/src/main/js/apps/quality-gates/containers/DetailsContainer.js b/server/sonar-web/src/main/js/apps/quality-gates/containers/DetailsContainer.js
index ae53d592b69..a134c697572 100644
--- a/server/sonar-web/src/main/js/apps/quality-gates/containers/DetailsContainer.js
+++ b/server/sonar-web/src/main/js/apps/quality-gates/containers/DetailsContainer.js
@@ -30,7 +30,7 @@ import {
saveCondition
} from '../store/actions';
import Details from '../components/Details';
-import { getQualityGatesAppState } from '../../../app/store/rootReducer';
+import { getQualityGatesAppState } from '../../../store/rootReducer';
const mapStateToProps = state => (
getQualityGatesAppState(state)
diff --git a/server/sonar-web/src/main/js/apps/quality-gates/containers/QualityGatesAppContainer.js b/server/sonar-web/src/main/js/apps/quality-gates/containers/QualityGatesAppContainer.js
index 4eaf763bb2b..033660a7f38 100644
--- a/server/sonar-web/src/main/js/apps/quality-gates/containers/QualityGatesAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/quality-gates/containers/QualityGatesAppContainer.js
@@ -21,7 +21,7 @@ import { connect } from 'react-redux';
import { setState, addQualityGate, deleteQualityGate } from '../store/actions';
import QualityGateApp from '../components/QualityGatesApp';
-import { getQualityGatesAppState } from '../../../app/store/rootReducer';
+import { getQualityGatesAppState } from '../../../store/rootReducer';
const mapStateToProps = state => (
getQualityGatesAppState(state)
diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/AppContainer.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/AppContainer.js
index 8d0749f0fc8..95197769f90 100644
--- a/server/sonar-web/src/main/js/apps/quality-profiles/components/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/AppContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import App from './App';
-import { getLanguages, getCurrentUser } from '../../../app/store/rootReducer';
+import { getLanguages, getCurrentUser } from '../../../store/rootReducer';
export default connect(
state => ({
diff --git a/server/sonar-web/src/main/js/apps/sessions/components/LoginFormContainer.js b/server/sonar-web/src/main/js/apps/sessions/components/LoginFormContainer.js
index f3171181aed..15f6822e766 100644
--- a/server/sonar-web/src/main/js/apps/sessions/components/LoginFormContainer.js
+++ b/server/sonar-web/src/main/js/apps/sessions/components/LoginFormContainer.js
@@ -21,8 +21,8 @@
import React from 'react';
import { connect } from 'react-redux';
import LoginForm from './LoginForm';
-import { doLogin } from '../../../app/store/rootActions';
-import { getAppState } from '../../../app/store/rootReducer';
+import { doLogin } from '../../../store/rootActions';
+import { getAppState } from '../../../store/rootReducer';
import { getIdentityProviders } from '../../../api/users';
class LoginFormContainer extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Logout.js b/server/sonar-web/src/main/js/apps/sessions/components/Logout.js
index 409a099aa18..e234f4a9a48 100644
--- a/server/sonar-web/src/main/js/apps/sessions/components/Logout.js
+++ b/server/sonar-web/src/main/js/apps/sessions/components/Logout.js
@@ -21,7 +21,7 @@
import React from 'react';
import { connect } from 'react-redux';
import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer';
-import { doLogout } from '../../../app/store/rootActions';
+import { doLogout } from '../../../store/rootActions';
class Logout extends React.Component {
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.js b/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.js
index 96fccd0abfe..4ef1a719f59 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.js
@@ -21,7 +21,7 @@
import React from 'react';
import { connect } from 'react-redux';
import CategoriesList from './CategoriesList';
-import { getSettingsAppAllCategories } from '../../../app/store/rootReducer';
+import { getSettingsAppAllCategories } from '../../../store/rootReducer';
class AllCategoriesList extends React.Component {
render () {
diff --git a/server/sonar-web/src/main/js/apps/settings/components/App.js b/server/sonar-web/src/main/js/apps/settings/components/App.js
index 1ff0e46f97b..9a55ff3b008 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/App.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/App.js
@@ -26,7 +26,7 @@ import CategoryDefinitionsList from './CategoryDefinitionsList';
import AllCategoriesList from './AllCategoriesList';
import WildcardsHelp from './WildcardsHelp';
import { fetchSettings } from '../store/actions';
-import { getSettingsAppDefaultCategory } from '../../../app/store/rootReducer';
+import { getSettingsAppDefaultCategory } from '../../../store/rootReducer';
import '../styles.css';
type Props = {
diff --git a/server/sonar-web/src/main/js/apps/settings/components/AppContainer.js b/server/sonar-web/src/main/js/apps/settings/components/AppContainer.js
index 288129ff5ec..3fdd465309b 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/AppContainer.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/AppContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import App from './App';
-import { getComponent } from '../../../app/store/rootReducer';
+import { getComponent } from '../../../store/rootReducer';
const mapStateToProps = (state, ownProps) => ({
component: ownProps.location.query.id ? getComponent(state, ownProps.location.query.id) : undefined
diff --git a/server/sonar-web/src/main/js/apps/settings/components/CategoryDefinitionsList.js b/server/sonar-web/src/main/js/apps/settings/components/CategoryDefinitionsList.js
index 510cffb443a..49ebc13ded1 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/CategoryDefinitionsList.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/CategoryDefinitionsList.js
@@ -21,7 +21,7 @@
import React from 'react';
import { connect } from 'react-redux';
import SubCategoryDefinitionsList from './SubCategoryDefinitionsList';
-import { getSettingsAppSettingsForCategory } from '../../../app/store/rootReducer';
+import { getSettingsAppSettingsForCategory } from '../../../store/rootReducer';
class CategoryDefinitionsList extends React.Component {
diff --git a/server/sonar-web/src/main/js/apps/settings/components/Definition.js b/server/sonar-web/src/main/js/apps/settings/components/Definition.js
index 0aa95078681..7f607de7f78 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/Definition.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/Definition.js
@@ -35,7 +35,7 @@ import {
getSettingsAppChangedValue,
isSettingsAppLoading,
getSettingsAppValidationMessage
-} from '../../../app/store/rootReducer';
+} from '../../../store/rootReducer';
class Definition extends React.Component {
mounted: boolean;
diff --git a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js
index 3b236e0d52b..1af5a0a8014 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js
+++ b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js
@@ -22,7 +22,7 @@ import { connect } from 'react-redux';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import { sendTestEmail } from '../../../api/settings';
import { parseError } from '../../code/utils';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
class EmailForm extends React.Component {
constructor (props) {
diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionAppContainer.js b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionAppContainer.js
index 0dd8e051b67..3883c8b9f40 100644
--- a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionAppContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import EncryptionApp from './EncryptionApp';
import { checkSecretKey, generateSecretKey, encryptValue, startGeneration } from '../store/encryptionPage/actions';
-import { getSettingsAppEncryptionState } from '../../../app/store/rootReducer';
+import { getSettingsAppEncryptionState } from '../../../store/rootReducer';
export default connect(
state => getSettingsAppEncryptionState(state),
diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRowContainer.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRowContainer.js
index 0b8fefd5c39..38eae34bea4 100644
--- a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRowContainer.js
+++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRowContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import LicenseRow from './LicenseRow';
import { setLicense } from '../store/licenses/actions';
-import { getSettingsAppLicenseByKey } from '../../../app/store/rootReducer';
+import { getSettingsAppLicenseByKey } from '../../../store/rootReducer';
const mapStateToProps = (state, ownProps) => ({
license: getSettingsAppLicenseByKey(state, ownProps.licenseKey)
diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesListContainer.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesListContainer.js
index ca19e0a2b41..0267a02ab17 100644
--- a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesListContainer.js
+++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesListContainer.js
@@ -20,7 +20,7 @@
import { connect } from 'react-redux';
import LicensesList from './LicensesList';
import { fetchLicenses } from '../store/licenses/actions';
-import { getSettingsAppAllLicenseKeys } from '../../../app/store/rootReducer';
+import { getSettingsAppAllLicenseKeys } from '../../../store/rootReducer';
const mapStateToProps = state => ({
licenses: getSettingsAppAllLicenseKeys(state)
diff --git a/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdAppContainer.js b/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdAppContainer.js
index efa82327677..5ca187259d6 100644
--- a/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdAppContainer.js
@@ -19,7 +19,7 @@
*/
import { connect } from 'react-redux';
import ServerIdApp from './ServerIdApp';
-import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../components/store/globalMessages';
+import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../store/globalMessages/duck';
export default connect(
() => ({}),
diff --git a/server/sonar-web/src/main/js/apps/settings/store/actions.js b/server/sonar-web/src/main/js/apps/settings/store/actions.js
index 79f4d15ed9c..169234c47a6 100644
--- a/server/sonar-web/src/main/js/apps/settings/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/settings/store/actions.js
@@ -22,12 +22,12 @@ import { receiveValues } from './values/actions';
import { receiveDefinitions } from './definitions/actions';
import { startLoading, stopLoading } from './settingsPage/loading/actions';
import { parseError } from '../../code/utils';
-import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../components/store/globalMessages';
+import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../store/globalMessages/duck';
import { passValidation, failValidation } from './settingsPage/validationMessages/actions';
import { cancelChange } from './settingsPage/changedValues/actions';
import { isEmptyValue } from '../utils';
import { translate } from '../../../helpers/l10n';
-import { getSettingsAppDefinition, getSettingsAppChangedValue } from '../../../app/store/rootReducer';
+import { getSettingsAppDefinition, getSettingsAppChangedValue } from '../../../store/rootReducer';
export const fetchSettings = componentKey => dispatch => {
return getDefinitions(componentKey)
diff --git a/server/sonar-web/src/main/js/apps/settings/store/encryptionPage/actions.js b/server/sonar-web/src/main/js/apps/settings/store/encryptionPage/actions.js
index 54bc6de0cec..ab1a9155a87 100644
--- a/server/sonar-web/src/main/js/apps/settings/store/encryptionPage/actions.js
+++ b/server/sonar-web/src/main/js/apps/settings/store/encryptionPage/actions.js
@@ -19,7 +19,7 @@
*/
import * as api from '../../../../api/settings';
import { parseError } from '../../../code/utils';
-import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../../components/store/globalMessages';
+import { addGlobalErrorMessage, closeAllGlobalMessages } from '../../../../store/globalMessages/duck';
export const UPDATE_ENCRYPTION = 'UPDATE_ENCRYPTION';
diff --git a/server/sonar-web/src/main/js/apps/settings/store/licenses/actions.js b/server/sonar-web/src/main/js/apps/settings/store/licenses/actions.js
index 9071be540b5..0b8ae6f073f 100644
--- a/server/sonar-web/src/main/js/apps/settings/store/licenses/actions.js
+++ b/server/sonar-web/src/main/js/apps/settings/store/licenses/actions.js
@@ -19,7 +19,7 @@
*/
import * as licenses from '../../../../api/licenses';
import { parseError } from '../../../code/utils';
-import { addGlobalSuccessMessage, addGlobalErrorMessage } from '../../../../components/store/globalMessages';
+import { addGlobalSuccessMessage, addGlobalErrorMessage } from '../../../../store/globalMessages/duck';
import { translate } from '../../../../helpers/l10n';
import { isLicenseFromListInvalid, isLicenseInvalid } from '../../licenses/licenseUtils';
diff --git a/server/sonar-web/src/main/js/apps/settings/store/rootReducer.js b/server/sonar-web/src/main/js/apps/settings/store/rootReducer.js
index 92b15323978..1d343e15873 100644
--- a/server/sonar-web/src/main/js/apps/settings/store/rootReducer.js
+++ b/server/sonar-web/src/main/js/apps/settings/store/rootReducer.js
@@ -23,8 +23,8 @@ import definitions, * as fromDefinitions from './definitions/reducer';
import values, * as fromValues from './values/reducer';
import settingsPage, * as fromSettingsPage from './settingsPage/reducer';
import licenses, * as fromLicenses from './licenses/reducer';
-import globalMessages, * as fromGlobalMessages from '../../../components/store/globalMessages';
-import type { State as GlobalMessagesState } from '../../../components/store/globalMessages';
+import globalMessages, * as fromGlobalMessages from '../../../store/globalMessages/duck';
+import type { State as GlobalMessagesState } from '../../../store/globalMessages/duck';
import encryptionPage from './encryptionPage/reducer';
type State = {
diff --git a/server/sonar-web/src/main/js/apps/settings/store/values/reducer.js b/server/sonar-web/src/main/js/apps/settings/store/values/reducer.js
index 196687f245f..c57ed067c36 100644
--- a/server/sonar-web/src/main/js/apps/settings/store/values/reducer.js
+++ b/server/sonar-web/src/main/js/apps/settings/store/values/reducer.js
@@ -20,7 +20,7 @@
// @flow
import keyBy from 'lodash/keyBy';
import { RECEIVE_VALUES } from './actions';
-import { actions as appStateActions } from '../../../../app/store/appState/duck';
+import { actions as appStateActions } from '../../../../store/appState/duck';
type State = { [key: string]: {} };
diff --git a/server/sonar-web/src/main/js/apps/update-center/components/UpdateCenterAppContainer.js b/server/sonar-web/src/main/js/apps/update-center/components/UpdateCenterAppContainer.js
index 31a8392fb67..5386aadc263 100644
--- a/server/sonar-web/src/main/js/apps/update-center/components/UpdateCenterAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/update-center/components/UpdateCenterAppContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import init from '../init';
-import { getSettingValue } from '../../../app/store/rootReducer';
+import { getSettingValue } from '../../../store/rootReducer';
class UpdateCenterAppContainer extends React.Component {
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/apps/users/components/UsersAppContainer.js b/server/sonar-web/src/main/js/apps/users/components/UsersAppContainer.js
index 8abe6fce357..6737d46a9d0 100644
--- a/server/sonar-web/src/main/js/apps/users/components/UsersAppContainer.js
+++ b/server/sonar-web/src/main/js/apps/users/components/UsersAppContainer.js
@@ -20,7 +20,7 @@
import React from 'react';
import { connect } from 'react-redux';
import init from '../init';
-import { getCurrentUser } from '../../../app/store/rootReducer';
+import { getCurrentUser } from '../../../store/rootReducer';
class UsersAppContainer extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/components/controls/FavoriteContainer.js b/server/sonar-web/src/main/js/components/controls/FavoriteContainer.js
index b2157ced05f..f3c7c17f289 100644
--- a/server/sonar-web/src/main/js/components/controls/FavoriteContainer.js
+++ b/server/sonar-web/src/main/js/components/controls/FavoriteContainer.js
@@ -19,10 +19,10 @@
*/
import { connect } from 'react-redux';
import FavoriteBaseStateless from './FavoriteBaseStateless';
-import { isFavorite } from '../../app/store/rootReducer';
-import * as actionCreators from '../../app/store/favorites/duck';
+import { isFavorite } from '../../store/rootReducer';
+import * as actionCreators from '../../store/favorites/duck';
import * as api from '../../api/favorites';
-import { addGlobalErrorMessage } from '../store/globalMessages';
+import { addGlobalErrorMessage } from '../../store/globalMessages/duck';
import { parseError } from '../../apps/code/utils';
const addFavorite = componentKey => dispatch => {
diff --git a/server/sonar-web/src/main/js/components/controls/GlobalMessages.js b/server/sonar-web/src/main/js/components/controls/GlobalMessages.js
index 4d95243cfec..e10af5d714a 100644
--- a/server/sonar-web/src/main/js/components/controls/GlobalMessages.js
+++ b/server/sonar-web/src/main/js/components/controls/GlobalMessages.js
@@ -19,7 +19,7 @@
*/
import React from 'react';
import classNames from 'classnames';
-import { ERROR, SUCCESS } from '../store/globalMessages';
+import { ERROR, SUCCESS } from '../../store/globalMessages/duck';
export default class GlobalMessages extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/components/ui/Avatar.js b/server/sonar-web/src/main/js/components/ui/Avatar.js
index 8e96bb380ae..8ec297fda8c 100644
--- a/server/sonar-web/src/main/js/components/ui/Avatar.js
+++ b/server/sonar-web/src/main/js/components/ui/Avatar.js
@@ -21,7 +21,7 @@ import React from 'react';
import { connect } from 'react-redux';
import md5 from 'blueimp-md5';
import classNames from 'classnames';
-import { getSettingValue } from '../../app/store/rootReducer';
+import { getSettingValue } from '../../store/rootReducer';
class Avatar extends React.Component {
static propTypes = {
diff --git a/server/sonar-web/src/main/js/helpers/handlebars/avatarHelper.js b/server/sonar-web/src/main/js/helpers/handlebars/avatarHelper.js
index c790508b1c0..cfd1b8041a1 100644
--- a/server/sonar-web/src/main/js/helpers/handlebars/avatarHelper.js
+++ b/server/sonar-web/src/main/js/helpers/handlebars/avatarHelper.js
@@ -22,7 +22,7 @@ import Handlebars from 'handlebars/runtime';
function gravatarServer () {
const getStore = require('../../app/utils/getStore').default;
- const { getSettingValue } = require('../../app/store/rootReducer');
+ const { getSettingValue } = require('../../store/rootReducer');
const store = getStore();
return (getSettingValue(store.getState(), 'sonar.lf.gravatarServerUrl') || {}).value;
diff --git a/server/sonar-web/src/main/js/helpers/handlebars/ifShowAvatars.js b/server/sonar-web/src/main/js/helpers/handlebars/ifShowAvatars.js
index 87f038f1fa6..c50d7467e8a 100644
--- a/server/sonar-web/src/main/js/helpers/handlebars/ifShowAvatars.js
+++ b/server/sonar-web/src/main/js/helpers/handlebars/ifShowAvatars.js
@@ -19,7 +19,7 @@
*/
function enableGravatar () {
const getStore = require('../../app/utils/getStore').default;
- const { getSettingValue } = require('../../app/store/rootReducer');
+ const { getSettingValue } = require('../../store/rootReducer');
const store = getStore();
return (getSettingValue(store.getState(), 'sonar.lf.enableGravatar') || {}).value === 'true';
diff --git a/server/sonar-web/src/main/js/helpers/measures.js b/server/sonar-web/src/main/js/helpers/measures.js
index 6a7cd4a2d0e..0ec44e63753 100644
--- a/server/sonar-web/src/main/js/helpers/measures.js
+++ b/server/sonar-web/src/main/js/helpers/measures.js
@@ -305,7 +305,7 @@ function formatDurationShort (isNegative, days, hours, minutes) {
function getHoursInDay () {
// workaround cyclic dependencies
const getStore = require('../app/utils/getStore').default;
- const { getSettingValue } = require('../app/store/rootReducer');
+ const { getSettingValue } = require('../store/rootReducer');
const store = getStore();
const settingValue = getSettingValue(store.getState(), 'sonar.technicalDebt.hoursInDay');
@@ -360,7 +360,7 @@ function shortDurationVariationFormatter (value) {
function getRatingGrid () {
// workaround cyclic dependencies
const getStore = require('../app/utils/getStore').default;
- const { getSettingValue } = require('../app/store/rootReducer');
+ const { getSettingValue } = require('../store/rootReducer');
const store = getStore();
const settingValue = getSettingValue(store.getState(), 'sonar.technicalDebt.ratingGrid');
diff --git a/server/sonar-web/src/main/js/app/store/appState/duck.js b/server/sonar-web/src/main/js/store/appState/duck.js
index cd313870e19..cd313870e19 100644
--- a/server/sonar-web/src/main/js/app/store/appState/duck.js
+++ b/server/sonar-web/src/main/js/store/appState/duck.js
diff --git a/server/sonar-web/src/main/js/app/store/components/actions.js b/server/sonar-web/src/main/js/store/components/actions.js
index 3ba34eb2eb8..3ba34eb2eb8 100644
--- a/server/sonar-web/src/main/js/app/store/components/actions.js
+++ b/server/sonar-web/src/main/js/store/components/actions.js
diff --git a/server/sonar-web/src/main/js/app/store/components/reducer.js b/server/sonar-web/src/main/js/store/components/reducer.js
index c2d609a1066..c2d609a1066 100644
--- a/server/sonar-web/src/main/js/app/store/components/reducer.js
+++ b/server/sonar-web/src/main/js/store/components/reducer.js
diff --git a/server/sonar-web/src/main/js/app/store/favorites/duck.js b/server/sonar-web/src/main/js/store/favorites/duck.js
index 7c6d4b52012..7c6d4b52012 100644
--- a/server/sonar-web/src/main/js/app/store/favorites/duck.js
+++ b/server/sonar-web/src/main/js/store/favorites/duck.js
diff --git a/server/sonar-web/src/main/js/components/store/globalMessages.js b/server/sonar-web/src/main/js/store/globalMessages/duck.js
index b5e11e1f5df..38e92ca1693 100644
--- a/server/sonar-web/src/main/js/components/store/globalMessages.js
+++ b/server/sonar-web/src/main/js/store/globalMessages/duck.js
@@ -19,7 +19,7 @@
*/
// @flow
import uniqueId from 'lodash/uniqueId';
-import { actions } from '../../app/store/appState/duck';
+import { actions } from '../appState/duck';
type Level = 'ERROR' | 'SUCCESS';
diff --git a/server/sonar-web/src/main/js/app/store/languages/actions.js b/server/sonar-web/src/main/js/store/languages/actions.js
index 9d2d517acc2..9d2d517acc2 100644
--- a/server/sonar-web/src/main/js/app/store/languages/actions.js
+++ b/server/sonar-web/src/main/js/store/languages/actions.js
diff --git a/server/sonar-web/src/main/js/app/store/languages/reducer.js b/server/sonar-web/src/main/js/store/languages/reducer.js
index 73eb9d5f037..73eb9d5f037 100644
--- a/server/sonar-web/src/main/js/app/store/languages/reducer.js
+++ b/server/sonar-web/src/main/js/store/languages/reducer.js
diff --git a/server/sonar-web/src/main/js/app/store/measures/actions.js b/server/sonar-web/src/main/js/store/measures/actions.js
index 2321163afd0..2321163afd0 100644
--- a/server/sonar-web/src/main/js/app/store/measures/actions.js
+++ b/server/sonar-web/src/main/js/store/measures/actions.js
diff --git a/server/sonar-web/src/main/js/app/store/measures/reducer.js b/server/sonar-web/src/main/js/store/measures/reducer.js
index 3d166663836..3d166663836 100644
--- a/server/sonar-web/src/main/js/app/store/measures/reducer.js
+++ b/server/sonar-web/src/main/js/store/measures/reducer.js
diff --git a/server/sonar-web/src/main/js/app/store/rootActions.js b/server/sonar-web/src/main/js/store/rootActions.js
index b2e9500aefd..005c1158025 100644
--- a/server/sonar-web/src/main/js/app/store/rootActions.js
+++ b/server/sonar-web/src/main/js/store/rootActions.js
@@ -17,13 +17,13 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { getLanguages } from '../../api/languages';
-import { getGlobalNavigation, getComponentNavigation } from '../../api/nav';
-import * as auth from '../../api/auth';
+import { getLanguages } from '../api/languages';
+import { getGlobalNavigation, getComponentNavigation } from '../api/nav';
+import * as auth from '../api/auth';
import { receiveLanguages } from './languages/actions';
import { receiveComponents } from './components/actions';
-import { addGlobalErrorMessage } from '../../components/store/globalMessages';
-import { parseError } from '../../apps/code/utils';
+import { addGlobalErrorMessage } from './globalMessages/duck';
+import { parseError } from '../apps/code/utils';
import { setAppState } from './appState/duck';
const onFail = dispatch => error => (
diff --git a/server/sonar-web/src/main/js/app/store/rootReducer.js b/server/sonar-web/src/main/js/store/rootReducer.js
index b5cba2ff9bf..1a9e8793369 100644
--- a/server/sonar-web/src/main/js/app/store/rootReducer.js
+++ b/server/sonar-web/src/main/js/store/rootReducer.js
@@ -24,14 +24,14 @@ import users, * as fromUsers from './users/reducer';
import favorites, * as fromFavorites from './favorites/duck';
import languages, * as fromLanguages from './languages/reducer';
import measures, * as fromMeasures from './measures/reducer';
-import globalMessages, * as fromGlobalMessages from '../../components/store/globalMessages';
-
-import measuresApp, * as fromMeasuresApp from '../../apps/component-measures/store/rootReducer';
-import permissionsApp, * as fromPermissionsApp from '../../apps/permissions/shared/store/rootReducer';
-import projectAdminApp, * as fromProjectAdminApp from '../../apps/project-admin/store/rootReducer';
-import projectsApp, * as fromProjectsApp from '../../apps/projects/store/reducer';
-import qualityGatesApp from '../../apps/quality-gates/store/rootReducer';
-import settingsApp, * as fromSettingsApp from '../../apps/settings/store/rootReducer';
+import globalMessages, * as fromGlobalMessages from './globalMessages/duck';
+
+import measuresApp, * as fromMeasuresApp from '../apps/component-measures/store/rootReducer';
+import permissionsApp, * as fromPermissionsApp from '../apps/permissions/shared/store/rootReducer';
+import projectAdminApp, * as fromProjectAdminApp from '../apps/project-admin/store/rootReducer';
+import projectsApp, * as fromProjectsApp from '../apps/projects/store/reducer';
+import qualityGatesApp from '../apps/quality-gates/store/rootReducer';
+import settingsApp, * as fromSettingsApp from '../apps/settings/store/rootReducer';
export default combineReducers({
appState,
diff --git a/server/sonar-web/src/main/js/app/store/users/actions.js b/server/sonar-web/src/main/js/store/users/actions.js
index 71e055d6526..27efd8b0c16 100644
--- a/server/sonar-web/src/main/js/app/store/users/actions.js
+++ b/server/sonar-web/src/main/js/store/users/actions.js
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { getCurrentUser } from '../../../api/users';
+import { getCurrentUser } from '../../api/users';
export const RECEIVE_CURRENT_USER = 'RECEIVE_CURRENT_USER';
diff --git a/server/sonar-web/src/main/js/app/store/users/reducer.js b/server/sonar-web/src/main/js/store/users/reducer.js
index 03dd5f9df28..03dd5f9df28 100644
--- a/server/sonar-web/src/main/js/app/store/users/reducer.js
+++ b/server/sonar-web/src/main/js/store/users/reducer.js
diff --git a/server/sonar-web/src/main/js/components/store/configureStore.js b/server/sonar-web/src/main/js/store/utils/configureStore.js
index 97397d836cd..97397d836cd 100644
--- a/server/sonar-web/src/main/js/components/store/configureStore.js
+++ b/server/sonar-web/src/main/js/store/utils/configureStore.js
diff --git a/server/sonar-web/src/main/js/components/store/generalReducers.js b/server/sonar-web/src/main/js/store/utils/generalReducers.js
index 8f88ff41b0b..8f88ff41b0b 100644
--- a/server/sonar-web/src/main/js/components/store/generalReducers.js
+++ b/server/sonar-web/src/main/js/store/utils/generalReducers.js
diff --git a/server/sonar-web/src/main/js/components/store/withStore.js b/server/sonar-web/src/main/js/store/utils/withStore.js
index 4518fc0547f..4518fc0547f 100644
--- a/server/sonar-web/src/main/js/components/store/withStore.js
+++ b/server/sonar-web/src/main/js/store/utils/withStore.js