From 012852ec53af77111254e8af697b47c3e8bc94fc Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Wed, 19 Jun 2019 11:38:28 -0400 Subject: [PATCH] alias top-level imports --- .eslintrc | 8 +- jest.config.js | 9 +- package-lock.json | 99 ++++++++++++++++--- package.json | 1 + src/App.jsx | 15 ++- src/index.jsx | 53 +++++----- src/screens/Job/Job.jsx | 10 +- src/screens/Job/Job.test.jsx | 4 +- src/screens/Job/JobDetail/JobDetail.test.jsx | 4 +- src/screens/Job/JobOutput/JobOutput.test.jsx | 4 +- src/screens/Job/Jobs.jsx | 4 +- src/screens/Job/Jobs.test.jsx | 4 +- src/screens/Organization/Organization.jsx | 11 ++- .../Organization/Organization.test.jsx | 10 +- .../DeleteRoleConfirmationModal.jsx | 5 +- .../DeleteRoleConfirmationModal.test.jsx | 4 +- .../OrganizationAccess/OrganizationAccess.jsx | 20 ++-- .../OrganizationAccess.test.jsx | 13 ++- .../OrganizationAccessItem.jsx | 7 +- .../OrganizationAccessItem.test.jsx | 4 +- .../OrganizationAdd/OrganizationAdd.jsx | 7 +- .../OrganizationDetail/OrganizationDetail.jsx | 10 +- .../OrganizationDetail.test.jsx | 10 +- .../OrganizationEdit/OrganizationEdit.jsx | 7 +- .../OrganizationEdit.test.jsx | 8 +- .../OrganizationList/OrganizationList.jsx | 13 +-- .../OrganizationList.test.jsx | 9 +- .../OrganizationList/OrganizationListItem.jsx | 5 +- .../OrganizationListItem.test.jsx | 4 +- .../OrganizationNotifications.jsx | 10 +- .../OrganizationNotifications.test.jsx | 11 ++- .../OrganizationNotifications.test.jsx.snap | 60 +++++------ .../OrganizationTeams/OrganizationTeams.jsx | 7 +- .../OrganizationTeams.test.jsx | 12 ++- src/screens/Organization/Organizations.jsx | 4 +- .../Organization/Organizations.test.jsx | 4 +- .../shared/InstanceGroupsLookup.jsx | 5 +- .../Organization/shared/OrganizationForm.jsx | 15 +-- .../shared/OrganizationForm.test.jsx | 12 ++- .../Template/TemplateList/TemplateList.jsx | 15 ++- .../TemplateList/TemplateListItem.jsx | 4 +- .../TemplateList/TemplatesList.test.jsx | 13 ++- .../TemplateList/TemplatesListItem.test.jsx | 4 +- src/screens/Template/Templates.jsx | 3 +- src/screens/Template/Templates.test.jsx | 4 +- webpack.config.js | 14 ++- 46 files changed, 357 insertions(+), 202 deletions(-) diff --git a/.eslintrc b/.eslintrc index 3bd83f3041..a56727e2c4 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,6 +12,11 @@ "airbnb" ], "settings": { + 'import/resolver': { + webpack: { + config: 'webpack.config.js' + } + }, "react": { "version": "16.5.2" } @@ -28,7 +33,8 @@ "camelcase": "off", "arrow-parens": "off", "comma-dangle": "off", - "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], + // https://github.com/benmosher/eslint-plugin-import/issues/479#issuecomment-252500896 + "import/no-extraneous-dependencies": "off", "indent": ["error", 2, { "SwitchCase": 1 }], diff --git a/jest.config.js b/jest.config.js index 70a5f6e987..29f9bd2fb7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,7 +7,14 @@ module.exports = { 'index.js' ], moduleNameMapper: { - '\\.(css|scss|less)$': '/__mocks__/styleMock.js' + '\\.(css|scss|less)$': '/__mocks__/styleMock.js', + '^@api(.*)$': '/src/api$1', + '^@components(.*)$': '/src/components$1', + '^@contexts(.*)$': '/src/contexts$1', + '^@screens(.*)$': '/src/screens$1', + '^@util(.*)$': '/src/util$1', + '^@types(.*)$': '/src/types$1', + '^@testUtils(.*)$': '/testUtils$1', }, setupFiles: [ '@nteract/mockument' diff --git a/package-lock.json b/package-lock.json index e6264fbbf3..e6af746ba0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2724,6 +2724,12 @@ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", "dev": true }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -6022,6 +6028,58 @@ "resolve": "^1.5.0" } }, + "eslint-import-resolver-webpack": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", + "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^1.1.0", + "has": "^1.0.1", + "interpret": "^1.0.0", + "lodash": "^4.17.4", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.10.0", + "semver": "^5.3.0" + }, + "dependencies": { + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "resolve": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", + "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + } + } + }, "eslint-module-utils": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", @@ -7099,7 +7157,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -7120,12 +7179,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7140,17 +7201,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7267,7 +7331,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -7279,6 +7344,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7293,6 +7359,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7300,12 +7367,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7324,6 +7393,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -7404,7 +7474,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7416,6 +7487,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -7501,7 +7573,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -7537,6 +7610,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7556,6 +7630,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7599,12 +7674,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, diff --git a/package.json b/package.json index 3df0d6e926..8a81e028f9 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "enzyme-to-json": "^3.3.5", "eslint": "^5.6.0", "eslint-config-airbnb": "^17.1.0", + "eslint-import-resolver-webpack": "0.11.1", "eslint-plugin-import": "^2.14.0", "eslint-plugin-jsx-a11y": "^6.1.1", "eslint-plugin-react": "^7.11.1", diff --git a/src/App.jsx b/src/App.jsx index 5e1ff9a28e..afc27ff70a 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -11,14 +11,13 @@ import styled from 'styled-components'; import { t } from '@lingui/macro'; import { withI18n } from '@lingui/react'; -import { ConfigAPI, MeAPI, RootAPI } from './api'; -import { ConfigProvider } from './contexts/Config'; - -import About from './components/About'; -import AlertModal from './components/AlertModal'; -import NavExpandableGroup from './components/NavExpandableGroup'; -import BrandLogo from './components/BrandLogo'; -import PageHeaderToolbar from './components/PageHeaderToolbar'; +import { ConfigAPI, MeAPI, RootAPI } from '@api'; +import About from '@components/About'; +import AlertModal from '@components/AlertModal'; +import NavExpandableGroup from '@components/NavExpandableGroup'; +import BrandLogo from '@components/BrandLogo'; +import PageHeaderToolbar from '@components/PageHeaderToolbar'; +import { ConfigProvider } from '@contexts/Config'; const PageHeader = styled(PFPageHeader)` & .pf-c-page__header-brand-link { diff --git a/src/index.jsx b/src/index.jsx index f3976ce998..afb0ef7248 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -13,36 +13,35 @@ import { t } from '@lingui/macro'; import '@patternfly/react-core/dist/styles/base.css'; import './app.scss'; -import Background from './components/Background'; +import { isAuthenticated } from '@util/auth'; +import Background from '@components/Background'; +import Applications from '@screens/Application'; +import Credentials from '@screens/Credential'; +import CredentialTypes from '@screens/CredentialType'; +import Dashboard from '@screens/Dashboard'; +import InstanceGroups from '@screens/InstanceGroup'; +import Inventories from '@screens/Inventory'; +import InventoryScripts from '@screens/InventoryScript'; +import { Jobs } from '@screens/Job'; +import Login from '@screens/Login'; +import ManagementJobs from '@screens/ManagementJob'; +import NotificationTemplates from '@screens/NotificationTemplate'; +import Organizations from '@screens/Organization'; +import Portal from '@screens/Portal'; +import Projects from '@screens/Project'; +import Schedules from '@screens/Schedule'; +import AuthSettings from '@screens/AuthSetting'; +import JobsSettings from '@screens/JobsSetting'; +import SystemSettings from '@screens/SystemSetting'; +import UISettings from '@screens/UISetting'; +import License from '@screens/License'; +import Teams from '@screens/Team'; +import Templates from '@screens/Template'; +import Users from '@screens/User'; -import RootProvider from './RootProvider'; import App from './App'; +import RootProvider from './RootProvider'; import { BrandName } from './variables'; -import { isAuthenticated } from './util/auth'; - -import Applications from './screens/Application'; -import Credentials from './screens/Credential'; -import CredentialTypes from './screens/CredentialType'; -import Dashboard from './screens/Dashboard'; -import InstanceGroups from './screens/InstanceGroup'; -import Inventories from './screens/Inventory'; -import InventoryScripts from './screens/InventoryScript'; -import { Jobs } from './screens/Job'; -import Login from './screens/Login'; -import ManagementJobs from './screens/ManagementJob'; -import NotificationTemplates from './screens/NotificationTemplate'; -import Organizations from './screens/Organization'; -import Portal from './screens/Portal'; -import Projects from './screens/Project'; -import Schedules from './screens/Schedule'; -import AuthSettings from './screens/AuthSetting'; -import JobsSettings from './screens/JobsSetting'; -import SystemSettings from './screens/SystemSetting'; -import UISettings from './screens/UISetting'; -import License from './screens/License'; -import Teams from './screens/Team'; -import Templates from './screens/Template'; -import Users from './screens/User'; // eslint-disable-next-line import/prefer-default-export export function main (render) { diff --git a/src/screens/Job/Job.jsx b/src/screens/Job/Job.jsx index a902112afe..701e3e875c 100644 --- a/src/screens/Job/Job.jsx +++ b/src/screens/Job/Job.jsx @@ -4,10 +4,12 @@ import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; import styled from 'styled-components'; import { Card, CardHeader as PFCardHeader, PageSection } from '@patternfly/react-core'; -import { JobsAPI } from '../../api'; -import ContentError from '../../components/ContentError'; -import CardCloseButton from '../../components/CardCloseButton'; -import RoutedTabs from '../../components/RoutedTabs'; + +import { JobsAPI } from '@api'; +import ContentError from '@components/ContentError'; +import CardCloseButton from '@components/CardCloseButton'; +import RoutedTabs from '@components/RoutedTabs'; + import JobDetail from './JobDetail'; import JobOutput from './JobOutput'; diff --git a/src/screens/Job/Job.test.jsx b/src/screens/Job/Job.test.jsx index d0499cb803..8da74a8e03 100644 --- a/src/screens/Job/Job.test.jsx +++ b/src/screens/Job/Job.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import Job from './Jobs'; describe('', () => { diff --git a/src/screens/Job/JobDetail/JobDetail.test.jsx b/src/screens/Job/JobDetail/JobDetail.test.jsx index d83d6475c8..a0961b1a93 100644 --- a/src/screens/Job/JobDetail/JobDetail.test.jsx +++ b/src/screens/Job/JobDetail/JobDetail.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import JobDetail from './JobDetail'; describe('', () => { diff --git a/src/screens/Job/JobOutput/JobOutput.test.jsx b/src/screens/Job/JobOutput/JobOutput.test.jsx index f481696a95..416cdabc09 100644 --- a/src/screens/Job/JobOutput/JobOutput.test.jsx +++ b/src/screens/Job/JobOutput/JobOutput.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import JobOutput from './JobOutput'; describe('', () => { diff --git a/src/screens/Job/Jobs.jsx b/src/screens/Job/Jobs.jsx index 125d94d770..f7a61b82c0 100644 --- a/src/screens/Job/Jobs.jsx +++ b/src/screens/Job/Jobs.jsx @@ -2,7 +2,9 @@ import React, { Component, Fragment } from 'react'; import { Route, withRouter, Switch } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import Breadcrumbs from '../../components/Breadcrumbs/Breadcrumbs'; + +import Breadcrumbs from '@components/Breadcrumbs/Breadcrumbs'; + import { Job } from '.'; class Jobs extends Component { diff --git a/src/screens/Job/Jobs.test.jsx b/src/screens/Job/Jobs.test.jsx index 3d7440b175..eb35ef6576 100644 --- a/src/screens/Job/Jobs.test.jsx +++ b/src/screens/Job/Jobs.test.jsx @@ -1,6 +1,8 @@ import React from 'react'; import { createMemoryHistory } from 'history'; -import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import Jobs from './Jobs'; describe('', () => { diff --git a/src/screens/Organization/Organization.jsx b/src/screens/Organization/Organization.jsx index 713a709da0..beaf07c270 100644 --- a/src/screens/Organization/Organization.jsx +++ b/src/screens/Organization/Organization.jsx @@ -4,17 +4,18 @@ import { t } from '@lingui/macro'; import { Switch, Route, withRouter, Redirect } from 'react-router-dom'; import { Card, CardHeader as PFCardHeader, PageSection } from '@patternfly/react-core'; import styled from 'styled-components'; -import CardCloseButton from '../../components/CardCloseButton'; -import ContentError from '../../components/ContentError'; -import RoutedTabs from '../../components/RoutedTabs'; + +import { OrganizationsAPI } from '@api'; +import CardCloseButton from '@components/CardCloseButton'; +import ContentError from '@components/ContentError'; +import RoutedTabs from '@components/RoutedTabs'; + import { OrganizationAccess } from './OrganizationAccess'; import OrganizationDetail from './OrganizationDetail'; import OrganizationEdit from './OrganizationEdit'; import OrganizationNotifications from './OrganizationNotifications'; import OrganizationTeams from './OrganizationTeams'; -import { OrganizationsAPI } from '../../api'; - class Organization extends Component { constructor (props) { super(props); diff --git a/src/screens/Organization/Organization.test.jsx b/src/screens/Organization/Organization.test.jsx index d9dd241c51..4caf20679e 100644 --- a/src/screens/Organization/Organization.test.jsx +++ b/src/screens/Organization/Organization.test.jsx @@ -1,9 +1,11 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../testUtils/enzymeHelpers'; -import Organization from './Organization'; -import { OrganizationsAPI } from '../../api'; -jest.mock('../../api'); +import { OrganizationsAPI } from '@api'; +import { mountWithContexts, waitForElement } from '@testUtils/enzymeHelpers'; + +import Organization from './Organization'; + +jest.mock('@api'); const mockMe = { is_super_user: true, diff --git a/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx index c06b377ac7..0b791b1f20 100644 --- a/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx +++ b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx @@ -3,8 +3,9 @@ import { func, string } from 'prop-types'; import { Button } from '@patternfly/react-core'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import AlertModal from '../../../components/AlertModal'; -import { Role } from '../../../types'; + +import AlertModal from '@components/AlertModal'; +import { Role } from '@types'; class DeleteRoleConfirmationModal extends React.Component { static propTypes = { diff --git a/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx index d774546af6..e9c46b979e 100644 --- a/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx +++ b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal'; const role = { diff --git a/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx index ef740203c3..3e37914dbb 100644 --- a/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx @@ -2,19 +2,21 @@ import React, { Fragment } from 'react'; import { withRouter } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import AlertModal from '../../../components/AlertModal'; -import PaginatedDataList, { ToolbarAddButton } from '../../../components/PaginatedDataList'; -import DataListToolbar from '../../../components/DataListToolbar'; -import OrganizationAccessItem from './OrganizationAccessItem'; -import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal'; -import AddResourceRole from '../../../components/AddRole/AddResourceRole'; + +import { OrganizationsAPI, TeamsAPI, UsersAPI } from '@api'; +import AddResourceRole from '@components/AddRole/AddResourceRole'; +import AlertModal from '@components/AlertModal'; +import DataListToolbar from '@components/DataListToolbar'; +import PaginatedDataList, { ToolbarAddButton } from '@components/PaginatedDataList'; import { getQSConfig, encodeQueryString, parseNamespacedQueryString -} from '../../../util/qs'; -import { Organization } from '../../../types'; -import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../api'; +} from '@util/qs'; +import { Organization } from '@types'; + +import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal'; +import OrganizationAccessItem from './OrganizationAccessItem'; const QS_CONFIG = getQSConfig('access', { page: 1, diff --git a/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx index 75ecddbabc..0077c7ed55 100644 --- a/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx @@ -1,10 +1,13 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; -import OrganizationAccess from './OrganizationAccess'; -import { sleep } from '../../../../testUtils/testUtils'; -import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../api'; -jest.mock('../../../api'); +import { sleep } from '@testUtils/testUtils'; +import { mountWithContexts, waitForElement } from '@testUtils/enzymeHelpers'; + +import { OrganizationsAPI, TeamsAPI, UsersAPI } from '@api'; + +import OrganizationAccess from './OrganizationAccess'; + +jest.mock('@api'); describe('', () => { const organization = { diff --git a/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx index 773553c323..7ee78ec76c 100644 --- a/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx @@ -13,9 +13,10 @@ import { } from '@patternfly/react-core'; import { Link } from 'react-router-dom'; import styled from 'styled-components'; -import { AccessRecord } from '../../../types'; -import { DetailList, Detail } from '../../../components/DetailList'; -import { ChipGroup, Chip } from '../../../components/Chip'; + +import { ChipGroup, Chip } from '@components/Chip'; +import { DetailList, Detail } from '@components/DetailList'; +import { AccessRecord } from '@types'; const DataListItemCells = styled(PFDataListItemCells)` align-items: start; diff --git a/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx index d6516a3583..1d8cbc0148 100644 --- a/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import OrganizationAccessItem from './OrganizationAccessItem'; const accessRecord = { diff --git a/src/screens/Organization/OrganizationAdd/OrganizationAdd.jsx b/src/screens/Organization/OrganizationAdd/OrganizationAdd.jsx index ebc5b350df..83d71c94ac 100644 --- a/src/screens/Organization/OrganizationAdd/OrganizationAdd.jsx +++ b/src/screens/Organization/OrganizationAdd/OrganizationAdd.jsx @@ -11,10 +11,11 @@ import { Tooltip, } from '@patternfly/react-core'; -import { Config } from '../../../contexts/Config'; -import CardCloseButton from '../../../components/CardCloseButton'; +import { OrganizationsAPI } from '@api'; +import { Config } from '@contexts/Config'; +import CardCloseButton from '@components/CardCloseButton'; + import OrganizationForm from '../shared/OrganizationForm'; -import { OrganizationsAPI } from '../../../api'; class OrganizationAdd extends React.Component { constructor (props) { diff --git a/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx b/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx index e233c79f48..8ceb0acf32 100644 --- a/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx +++ b/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx @@ -5,11 +5,11 @@ import { t } from '@lingui/macro'; import { CardBody as PFCardBody, Button } from '@patternfly/react-core'; import styled from 'styled-components'; -import { DetailList, Detail } from '../../../components/DetailList'; -import { ChipGroup, Chip } from '../../../components/Chip'; -import ContentError from '../../../components/ContentError'; -import ContentLoading from '../../../components/ContentLoading'; -import { OrganizationsAPI } from '../../../api'; +import { OrganizationsAPI } from '@api'; +import { DetailList, Detail } from '@components/DetailList'; +import { ChipGroup, Chip } from '@components/Chip'; +import ContentError from '@components/ContentError'; +import ContentLoading from '@components/ContentLoading'; const CardBody = styled(PFCardBody)` padding-top: 20px; diff --git a/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx b/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx index 7e86cae6c0..d8b5f78e8d 100644 --- a/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx +++ b/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx @@ -1,9 +1,11 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; -import OrganizationDetail from './OrganizationDetail'; -import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../api'); +import { OrganizationsAPI } from '@api'; +import { mountWithContexts, waitForElement } from '@testUtils/enzymeHelpers'; + +import OrganizationDetail from './OrganizationDetail'; + +jest.mock('@api'); describe('', () => { const mockOrganization = { diff --git a/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx b/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx index aa6bba7f88..2fe857db4e 100644 --- a/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx +++ b/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx @@ -2,10 +2,11 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withRouter } from 'react-router-dom'; import { CardBody } from '@patternfly/react-core'; -import OrganizationForm from '../shared/OrganizationForm'; -import { Config } from '../../../contexts/Config'; -import { OrganizationsAPI } from '../../../api'; +import { OrganizationsAPI } from '@api'; +import { Config } from '@contexts/Config'; + +import OrganizationForm from '../shared/OrganizationForm'; class OrganizationEdit extends Component { constructor (props) { diff --git a/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx b/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx index 30b26daac4..2277cd601b 100644 --- a/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx +++ b/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx @@ -1,11 +1,11 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { OrganizationsAPI } from '@api'; +import { mountWithContexts } from '@testUtils/enzymeHelpers'; import OrganizationEdit from './OrganizationEdit'; -import { OrganizationsAPI } from '../../../api'; - -jest.mock('../../../api'); +jest.mock('@api'); const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); diff --git a/src/screens/Organization/OrganizationList/OrganizationList.jsx b/src/screens/Organization/OrganizationList/OrganizationList.jsx index 81f81fce8f..3843ef1b66 100644 --- a/src/screens/Organization/OrganizationList/OrganizationList.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationList.jsx @@ -8,15 +8,16 @@ import { PageSectionVariants, } from '@patternfly/react-core'; +import { OrganizationsAPI } from '@api'; +import AlertModal from '@components/AlertModal'; +import DataListToolbar from '@components/DataListToolbar'; import PaginatedDataList, { + ToolbarAddButton, ToolbarDeleteButton, - ToolbarAddButton -} from '../../../components/PaginatedDataList'; -import DataListToolbar from '../../../components/DataListToolbar'; +} from '@components/PaginatedDataList'; +import { getQSConfig, parseNamespacedQueryString } from '@util/qs'; + import OrganizationListItem from './OrganizationListItem'; -import AlertModal from '../../../components/AlertModal'; -import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; -import { OrganizationsAPI } from '../../../api'; const QS_CONFIG = getQSConfig('organization', { page: 1, diff --git a/src/screens/Organization/OrganizationList/OrganizationList.test.jsx b/src/screens/Organization/OrganizationList/OrganizationList.test.jsx index 54ef801e96..603e70e439 100644 --- a/src/screens/Organization/OrganizationList/OrganizationList.test.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationList.test.jsx @@ -1,9 +1,10 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; -import OrganizationsList, { _OrganizationsList } from './OrganizationList'; -import { OrganizationsAPI } from '../../../api'; +import { OrganizationsAPI } from '@api'; +import { mountWithContexts, waitForElement } from '@testUtils/enzymeHelpers'; -jest.mock('../../../api'); +import OrganizationsList, { _OrganizationsList } from './OrganizationList'; + +jest.mock('@api'); const mockAPIOrgsList = { data: { diff --git a/src/screens/Organization/OrganizationList/OrganizationListItem.jsx b/src/screens/Organization/OrganizationList/OrganizationListItem.jsx index 4f79f6eac3..803e423a5e 100644 --- a/src/screens/Organization/OrganizationList/OrganizationListItem.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationListItem.jsx @@ -13,11 +13,10 @@ import { import { Link } from 'react-router-dom'; - import styled from 'styled-components'; -import VerticalSeparator from '../../../components/VerticalSeparator'; -import { Organization } from '../../../types'; +import VerticalSeparator from '@components/VerticalSeparator'; +import { Organization } from '@types'; const Badge = styled(PFBadge)` align-items: center; diff --git a/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx b/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx index 094263d584..01eed82cb9 100644 --- a/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx @@ -1,7 +1,9 @@ import React from 'react'; import { MemoryRouter } from 'react-router-dom'; import { I18nProvider } from '@lingui/react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; + +import { mountWithContexts } from '@testUtils/enzymeHelpers'; + import OrganizationListItem from './OrganizationListItem'; describe('', () => { diff --git a/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx index d435c192f9..c5f32bb118 100644 --- a/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx +++ b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx @@ -4,11 +4,11 @@ import { withRouter } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import AlertModal from '../../../components/AlertModal'; -import PaginatedDataList from '../../../components/PaginatedDataList'; -import NotificationListItem from '../../../components/NotificationsList/NotificationListItem'; -import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; -import { OrganizationsAPI } from '../../../api'; +import { OrganizationsAPI } from '@api'; +import AlertModal from '@components/AlertModal'; +import NotificationListItem from '@components/NotificationsList/NotificationListItem'; +import PaginatedDataList from '@components/PaginatedDataList'; +import { getQSConfig, parseNamespacedQueryString } from '@util/qs'; const QS_CONFIG = getQSConfig('notification', { page: 1, diff --git a/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx index 3f3b62e9a6..f22842c7e1 100644 --- a/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx +++ b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx @@ -1,10 +1,11 @@ import React from 'react'; -import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; -import OrganizationNotifications from './OrganizationNotifications'; -import { sleep } from '../../../../testUtils/testUtils'; -import { OrganizationsAPI } from '../../../api'; +import { OrganizationsAPI } from '@api'; +import { mountWithContexts } from '@testUtils/enzymeHelpers'; +import { sleep } from '@testUtils/testUtils'; -jest.mock('../../../api'); +import OrganizationNotifications from './OrganizationNotifications'; + +jest.mock('@api'); describe('', () => { let data; diff --git a/src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap b/src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap index 82257e5a6e..5ec5eb9634 100644 --- a/src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap +++ b/src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap @@ -410,9 +410,9 @@ exports[` initially renders succesfully 1`] = ` "$$typeof": Symbol(react.forward_ref), "attrs": Array [], "componentStyle": ComponentStyle { - "componentId": "sc-bwzfXH", + "componentId": "sc-bxivhb", "isStatic": true, - "lastClassName": "iBEPfq", + "lastClassName": "gYEJOJ", "rules": Array [ "flex-grow: 1;", ], @@ -420,7 +420,7 @@ exports[` initially renders succesfully 1`] = ` "displayName": "Styled(ToolbarItem)", "foldedComponentIds": Array [], "render": [Function], - "styledComponentId": "sc-bwzfXH", + "styledComponentId": "sc-bxivhb", "target": [Function], "toString": [Function], "warnTooManyClasses": [Function], @@ -430,10 +430,10 @@ exports[` initially renders succesfully 1`] = ` forwardedRef={null} >
initially renders succesfully 1`] = ` "$$typeof": Symbol(react.forward_ref), "attrs": Array [], "componentStyle": ComponentStyle { - "componentId": "sc-bdVaJa", + "componentId": "sc-htpNat", "isStatic": true, - "lastClassName": "delFyH", + "lastClassName": "jWbbwS", "rules": Array [ "padding: 0;", ], @@ -1451,7 +1451,7 @@ exports[` initially renders succesfully 1`] = ` "displayName": "Styled(Button)", "foldedComponentIds": Array [], "render": [Function], - "styledComponentId": "sc-bdVaJa", + "styledComponentId": "sc-htpNat", "target": [Function], "toString": [Function], "warnTooManyClasses": [Function], @@ -1464,7 +1464,7 @@ exports[` initially renders succesfully 1`] = ` >