From 8ad07c5b7f244346e945bc0f8ac9eec78c448187 Mon Sep 17 00:00:00 2001 From: MariaAga Date: Wed, 21 Feb 2024 14:12:05 +0100 Subject: [PATCH] prevent duplicate foremanReact --- .eslintrc | 1 + app/views/layouts/base.html.erb | 1 + config/webpack.config.js | 44 + .../javascripts/all_react_app_exports.js | 1016 +++++++++++++++++ webpack/assets/javascripts/exportAll.js | 61 + .../javascripts/react_app/mockRequests.js | 9 +- 6 files changed, 1129 insertions(+), 3 deletions(-) create mode 100644 webpack/assets/javascripts/all_react_app_exports.js create mode 100644 webpack/assets/javascripts/exportAll.js diff --git a/.eslintrc b/.eslintrc index 992dfe343fa3..0de7f9bd00b2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -23,6 +23,7 @@ "ascii", "auditable", "Autocompletion", + "autogenerated", "bool", "bootable", "Borderless", diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb index 0374c02a3a4c..63d70227bb5a 100644 --- a/app/views/layouts/base.html.erb +++ b/app/views/layouts/base.html.erb @@ -39,6 +39,7 @@ <%= get_webpack_foreman_vendor_js %> <%= javascript_include_tag('/webpack/vendor.js') %> <%= javascript_include_tag('/webpack/bundle.js') %> + <%= javascript_include_tag('/webpack/reactExports.js') %> <%= javascript_include_tag 'application' %> <%= webpacked_plugins_with_global_js %> diff --git a/config/webpack.config.js b/config/webpack.config.js index 7c4d73eeeee4..2bf570dfc018 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -12,6 +12,10 @@ var vendorEntry = require('./webpack.vendor'); var fs = require('fs'); const { ModuleFederationPlugin } = require('webpack').container; var pluginUtils = require('../script/plugin_webpack_directories'); +var { generateExportsFile }= require('../webpack/assets/javascripts/exportAll'); + +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer') + .BundleAnalyzerPlugin; class AddRuntimeRequirement { // to avoid "webpackRequire.l is not a function" error @@ -153,10 +157,19 @@ const coreConfig = function() { config.entry = { bundle: { import: bundleEntry, dependOn: 'vendor' }, vendor: vendorEntry, + reactExports: path.join( + __dirname, + '..', + 'webpack/assets/javascripts/all_react_app_exports.js' + ), }; config.output = { path: path.join(__dirname, '..', 'public', 'webpack'), publicPath: '/webpack/', + library: { + name: ['TheForeman', '[id]'], + type: 'var', + }, }; var plugins = config.plugins; @@ -170,6 +183,13 @@ const coreConfig = function() { filename: manifestFilename, }) ); + plugins.push( + new BundleAnalyzerPlugin({ + analyzerMode: 'static', + reportFilename: 'reportCore.html', + openAnalyzer: false, + }) + ); config.plugins = plugins; var rules = config.module.rules; rules.push({ @@ -196,6 +216,21 @@ const pluginConfig = function(plugin) { var config = commonConfig(); config.context = path.join(pluginRoot, 'webpack'); config.entry = {}; + + function convertImportStatement(importStatement) { + const importPath = importStatement; + const importPathParts = importPath.split('/'); + const newImportName = importPathParts.slice(1).join('_'); + return newImportName; + } + config.externals = function({ request }, callback) { + if (/^foremanReact(\/.*)?$/.test(request)) { + const prefix = 'var TheForeman.reactExports.'; + const newPath = prefix + convertImportStatement(request.substring('foremanReact'.length)); + return callback(null, newPath); + } + return callback(); + }; var pluginEntries = { './index': path.resolve(pluginRoot, 'webpack', 'index'), }; @@ -233,6 +268,14 @@ const pluginConfig = function(plugin) { //get the list of webpack plugins var plugins = config.plugins; + + plugins.push( + new BundleAnalyzerPlugin({ + analyzerMode: 'static', + reportFilename: `report${pluginName}.html`, + openAnalyzer: false, + }) + ); plugins.push( new ModuleFederationPlugin({ name: pluginName, @@ -262,6 +305,7 @@ const pluginConfig = function(plugin) { }; module.exports = function(env, argv) { + generateExportsFile(); const { pluginName } = env; var pluginsDirs = pluginUtils.getPluginDirs('pipe'); var pluginsInfo = {}; diff --git a/webpack/assets/javascripts/all_react_app_exports.js b/webpack/assets/javascripts/all_react_app_exports.js new file mode 100644 index 000000000000..855cc9b4edd3 --- /dev/null +++ b/webpack/assets/javascripts/all_react_app_exports.js @@ -0,0 +1,1016 @@ +/* eslint-disable */ +// This file is autogenerated by the webpack/assets/javascripts/exportAll.js script +// Please do not modify this file directly + +import * as API from './react_app/API'; +export { API }; +import * as Root_Context_ForemanContext from './react_app/Root/Context/ForemanContext'; +export { Root_Context_ForemanContext }; +import * as Root_ReactApp from './react_app/Root/ReactApp'; +export { Root_ReactApp }; +import * as Root_apollo from './react_app/Root/apollo'; +export { Root_apollo }; +import * as common_AwaitedMount from './react_app/common/AwaitedMount'; +export { common_AwaitedMount }; +import * as common_DeprecationService from './react_app/common/DeprecationService'; +export { common_DeprecationService }; +import * as common_HOC from './react_app/common/HOC'; +export { common_HOC }; +import * as common_I18n from './react_app/common/I18n'; +export { common_I18n }; +import * as common_MountingService from './react_app/common/MountingService'; +export { common_MountingService }; +import * as common_SessionStorage from './react_app/common/SessionStorage'; +export { common_SessionStorage }; +import * as common_Timer from './react_app/common/Timer'; +export { common_Timer }; +import * as common_document from './react_app/common/document'; +export { common_document }; +import * as common_forceSingleton from './react_app/common/forceSingleton'; +export { common_forceSingleton }; +import * as common_globalIdHelpers from './react_app/common/globalIdHelpers'; +export { common_globalIdHelpers }; +import * as common_helpers from './react_app/common/helpers'; +export { common_helpers }; +import * as common_hooks_API_APIHooks from './react_app/common/hooks/API/APIHooks'; +export { common_hooks_API_APIHooks }; +import * as common_hooks_Common from './react_app/common/hooks/Common/index'; +export { common_hooks_Common }; +import * as common_hooks_Storage from './react_app/common/hooks/Storage/index'; +export { common_hooks_Storage }; +import * as common_hooks_useSubmitOnEnter from './react_app/common/hooks/useSubmitOnEnter'; +export { common_hooks_useSubmitOnEnter }; +import * as common_i18nProviderWrapperFactory from './react_app/common/i18nProviderWrapperFactory'; +export { common_i18nProviderWrapperFactory }; +import * as common_keyCodes from './react_app/common/keyCodes'; +export { common_keyCodes }; +import * as common_urlHelpers from './react_app/common/urlHelpers'; +export { common_urlHelpers }; +import * as common_withReactRoutes from './react_app/common/withReactRoutes'; +export { common_withReactRoutes }; +import * as components_Architectures_Welcome from './react_app/components/Architectures/Welcome'; +export { components_Architectures_Welcome }; +import * as components_AuditsList_ActionLinks from './react_app/components/AuditsList/ActionLinks'; +export { components_AuditsList_ActionLinks }; +import * as components_AuditsList_ExpansiveView from './react_app/components/AuditsList/ExpansiveView'; +export { components_AuditsList_ExpansiveView }; +import * as components_AuditsList_SearchLink from './react_app/components/AuditsList/SearchLink'; +export { components_AuditsList_SearchLink }; +import * as components_AuditsList_ShowInlineRequestUuid from './react_app/components/AuditsList/ShowInlineRequestUuid'; +export { components_AuditsList_ShowInlineRequestUuid }; +import * as components_AuditsList_ShowOrgsLocs from './react_app/components/AuditsList/ShowOrgsLocs'; +export { components_AuditsList_ShowOrgsLocs }; +import * as components_AuditsList_ShowTaxonomyInline from './react_app/components/AuditsList/ShowTaxonomyInline'; +export { components_AuditsList_ShowTaxonomyInline }; +import * as components_AuditsList_UserDetails from './react_app/components/AuditsList/UserDetails'; +export { components_AuditsList_UserDetails }; +import * as components_AuditsList from './react_app/components/AuditsList/index'; +export { components_AuditsList }; +import * as components_AuthSource_Welcome from './react_app/components/AuthSource/Welcome'; +export { components_AuthSource_Welcome }; +import * as components_BookmarkForm_BookmarkForm from './react_app/components/BookmarkForm/BookmarkForm'; +export { components_BookmarkForm_BookmarkForm }; +import * as components_BookmarkForm_SearchModal from './react_app/components/BookmarkForm/SearchModal'; +export { components_BookmarkForm_SearchModal }; +import * as components_BreadcrumbBar_BreadcrumbBar from './react_app/components/BreadcrumbBar/BreadcrumbBar'; +export { components_BreadcrumbBar_BreadcrumbBar }; +import * as components_BreadcrumbBar_BreadcrumbBarActions from './react_app/components/BreadcrumbBar/BreadcrumbBarActions'; +export { components_BreadcrumbBar_BreadcrumbBarActions }; +import * as components_BreadcrumbBar_BreadcrumbBarConstants from './react_app/components/BreadcrumbBar/BreadcrumbBarConstants'; +export { components_BreadcrumbBar_BreadcrumbBarConstants }; +import * as components_BreadcrumbBar_BreadcrumbBarReducer from './react_app/components/BreadcrumbBar/BreadcrumbBarReducer'; +export { components_BreadcrumbBar_BreadcrumbBarReducer }; +import * as components_BreadcrumbBar_BreadcrumbBarSelector from './react_app/components/BreadcrumbBar/BreadcrumbBarSelector'; +export { components_BreadcrumbBar_BreadcrumbBarSelector }; +import * as components_BreadcrumbBar_components_Breadcrumb from './react_app/components/BreadcrumbBar/components/Breadcrumb'; +export { components_BreadcrumbBar_components_Breadcrumb }; +import * as components_BreadcrumbBar from './react_app/components/BreadcrumbBar/index'; +export { components_BreadcrumbBar }; +import * as components_ChartBox_ChartBox from './react_app/components/ChartBox/ChartBox'; +export { components_ChartBox_ChartBox }; +import * as components_ChartBox_ChartBoxConstants from './react_app/components/ChartBox/ChartBoxConstants'; +export { components_ChartBox_ChartBoxConstants }; +import * as components_ChartBox from './react_app/components/ChartBox/index'; +export { components_ChartBox }; +import * as components_ColumnSelector_ColumnSelector from './react_app/components/ColumnSelector/ColumnSelector'; +export { components_ColumnSelector_ColumnSelector }; +import * as components_ColumnSelector from './react_app/components/ColumnSelector/index'; +export { components_ColumnSelector }; +import * as components_ConfigReports_ConfigReports from './react_app/components/ConfigReports/ConfigReports'; +export { components_ConfigReports_ConfigReports }; +import * as components_ConfigReports_DiffModal_DiffModal from './react_app/components/ConfigReports/DiffModal/DiffModal'; +export { components_ConfigReports_DiffModal_DiffModal }; +import * as components_ConfigReports_DiffModal_DiffModalActions from './react_app/components/ConfigReports/DiffModal/DiffModalActions'; +export { components_ConfigReports_DiffModal_DiffModalActions }; +import * as components_ConfigReports_DiffModal_DiffModalConstants from './react_app/components/ConfigReports/DiffModal/DiffModalConstants'; +export { components_ConfigReports_DiffModal_DiffModalConstants }; +import * as components_ConfigReports_DiffModal_DiffModalReducer from './react_app/components/ConfigReports/DiffModal/DiffModalReducer'; +export { components_ConfigReports_DiffModal_DiffModalReducer }; +import * as components_ConfigReports_DiffModal from './react_app/components/ConfigReports/DiffModal/index'; +export { components_ConfigReports_DiffModal }; +import * as components_ConfigReports_Welcome from './react_app/components/ConfigReports/Welcome'; +export { components_ConfigReports_Welcome }; +import * as components_ConfirmModal from './react_app/components/ConfirmModal/index'; +export { components_ConfirmModal }; +import * as components_ConfirmModal_slice from './react_app/components/ConfirmModal/slice'; +export { components_ConfirmModal_slice }; +import * as components_DiffView_DiffConsts from './react_app/components/DiffView/DiffConsts'; +export { components_DiffView_DiffConsts }; +import * as components_DiffView_DiffContainer from './react_app/components/DiffView/DiffContainer'; +export { components_DiffView_DiffContainer }; +import * as components_DiffView_DiffToggle from './react_app/components/DiffView/DiffToggle'; +export { components_DiffView_DiffToggle }; +import * as components_DiffView_DiffView from './react_app/components/DiffView/DiffView'; +export { components_DiffView_DiffView }; +import * as components_Editor_Editor from './react_app/components/Editor/Editor'; +export { components_Editor_Editor }; +import * as components_Editor_EditorActions from './react_app/components/Editor/EditorActions'; +export { components_Editor_EditorActions }; +import * as components_Editor_EditorConstants from './react_app/components/Editor/EditorConstants'; +export { components_Editor_EditorConstants }; +import * as components_Editor_EditorHelpers from './react_app/components/Editor/EditorHelpers'; +export { components_Editor_EditorHelpers }; +import * as components_Editor_EditorReducer from './react_app/components/Editor/EditorReducer'; +export { components_Editor_EditorReducer }; +import * as components_Editor_EditorSelectors from './react_app/components/Editor/EditorSelectors'; +export { components_Editor_EditorSelectors }; +import * as components_Editor_components_EditorHostSelect from './react_app/components/Editor/components/EditorHostSelect'; +export { components_Editor_components_EditorHostSelect }; +import * as components_Editor_components_EditorModal from './react_app/components/Editor/components/EditorModal'; +export { components_Editor_components_EditorModal }; +import * as components_Editor_components_EditorNavbar from './react_app/components/Editor/components/EditorNavbar'; +export { components_Editor_components_EditorNavbar }; +import * as components_Editor_components_EditorOptions from './react_app/components/Editor/components/EditorOptions'; +export { components_Editor_components_EditorOptions }; +import * as components_Editor_components_EditorRadioButton from './react_app/components/Editor/components/EditorRadioButton'; +export { components_Editor_components_EditorRadioButton }; +import * as components_Editor_components_EditorSafemodeCheckbox from './react_app/components/Editor/components/EditorSafemodeCheckbox'; +export { components_Editor_components_EditorSafemodeCheckbox }; +import * as components_Editor_components_EditorSettings from './react_app/components/Editor/components/EditorSettings'; +export { components_Editor_components_EditorSettings }; +import * as components_Editor_components_EditorView from './react_app/components/Editor/components/EditorView'; +export { components_Editor_components_EditorView }; +import * as components_Editor from './react_app/components/Editor/index'; +export { components_Editor }; +import * as components_ExternalLogout_ExternalLogout from './react_app/components/ExternalLogout/ExternalLogout'; +export { components_ExternalLogout_ExternalLogout }; +import * as components_ExternalLogout from './react_app/components/ExternalLogout/index'; +export { components_ExternalLogout }; +import * as components_ForemanModal_ForemanModal from './react_app/components/ForemanModal/ForemanModal'; +export { components_ForemanModal_ForemanModal }; +import * as components_ForemanModal_ForemanModalActions from './react_app/components/ForemanModal/ForemanModalActions'; +export { components_ForemanModal_ForemanModalActions }; +import * as components_ForemanModal_ForemanModalConstants from './react_app/components/ForemanModal/ForemanModalConstants'; +export { components_ForemanModal_ForemanModalConstants }; +import * as components_ForemanModal_ForemanModalContext from './react_app/components/ForemanModal/ForemanModalContext'; +export { components_ForemanModal_ForemanModalContext }; +import * as components_ForemanModal_ForemanModalHooks from './react_app/components/ForemanModal/ForemanModalHooks'; +export { components_ForemanModal_ForemanModalHooks }; +import * as components_ForemanModal_ForemanModalReducer from './react_app/components/ForemanModal/ForemanModalReducer'; +export { components_ForemanModal_ForemanModalReducer }; +import * as components_ForemanModal_ForemanModalSelectors from './react_app/components/ForemanModal/ForemanModalSelectors'; +export { components_ForemanModal_ForemanModalSelectors }; +import * as components_ForemanModal_helpers from './react_app/components/ForemanModal/helpers'; +export { components_ForemanModal_helpers }; +import * as components_ForemanModal from './react_app/components/ForemanModal/index'; +export { components_ForemanModal }; +import * as components_ForemanModal_subcomponents_ForemanModalFooter from './react_app/components/ForemanModal/subcomponents/ForemanModalFooter'; +export { components_ForemanModal_subcomponents_ForemanModalFooter }; +import * as components_ForemanModal_subcomponents_ForemanModalHeader from './react_app/components/ForemanModal/subcomponents/ForemanModalHeader'; +export { components_ForemanModal_subcomponents_ForemanModalHeader }; +import * as components_ForemanModal_subcomponents_SubmitOrCancel_CancelBtn from './react_app/components/ForemanModal/subcomponents/SubmitOrCancel/CancelBtn'; +export { components_ForemanModal_subcomponents_SubmitOrCancel_CancelBtn }; +import * as components_ForemanModal_subcomponents_SubmitOrCancel_SubmitBtn from './react_app/components/ForemanModal/subcomponents/SubmitOrCancel/SubmitBtn'; +export { components_ForemanModal_subcomponents_SubmitOrCancel_SubmitBtn }; +import * as components_ForemanModal_subcomponents_SubmitOrCancel_SubmitOrCancel from './react_app/components/ForemanModal/subcomponents/SubmitOrCancel/SubmitOrCancel'; +export { components_ForemanModal_subcomponents_SubmitOrCancel_SubmitOrCancel }; +import * as components_ForemanModal_subcomponents_SubmitOrCancel_SubmitOrCancelActions from './react_app/components/ForemanModal/subcomponents/SubmitOrCancel/SubmitOrCancelActions'; +export { components_ForemanModal_subcomponents_SubmitOrCancel_SubmitOrCancelActions }; +import * as components_ForemanModal_subcomponents_SubmitOrCancel from './react_app/components/ForemanModal/subcomponents/SubmitOrCancel/index'; +export { components_ForemanModal_subcomponents_SubmitOrCancel }; +import * as components_Head from './react_app/components/Head/index'; +export { components_Head }; +import * as components_HostDetails_ActionsBar_BuildModal from './react_app/components/HostDetails/ActionsBar/BuildModal'; +export { components_HostDetails_ActionsBar_BuildModal }; +import * as components_HostDetails_ActionsBar_Selectors from './react_app/components/HostDetails/ActionsBar/Selectors'; +export { components_HostDetails_ActionsBar_Selectors }; +import * as components_HostDetails_ActionsBar_actions from './react_app/components/HostDetails/ActionsBar/actions'; +export { components_HostDetails_ActionsBar_actions }; +import * as components_HostDetails_ActionsBar_constants from './react_app/components/HostDetails/ActionsBar/constants'; +export { components_HostDetails_ActionsBar_constants }; +import * as components_HostDetails_ActionsBar from './react_app/components/HostDetails/ActionsBar/index'; +export { components_HostDetails_ActionsBar }; +import * as components_HostDetails_Audits from './react_app/components/HostDetails/Audits/index'; +export { components_HostDetails_Audits }; +import * as components_HostDetails_CardExpansionContext from './react_app/components/HostDetails/CardExpansionContext'; +export { components_HostDetails_CardExpansionContext }; +import * as components_HostDetails_DetailsCard_DefaultLoaderEmptyState from './react_app/components/HostDetails/DetailsCard/DefaultLoaderEmptyState'; +export { components_HostDetails_DetailsCard_DefaultLoaderEmptyState }; +import * as components_HostDetails_DetailsCard_PowerStatus_PowerStatusDropDown from './react_app/components/HostDetails/DetailsCard/PowerStatus/PowerStatusDropDown'; +export { components_HostDetails_DetailsCard_PowerStatus_PowerStatusDropDown }; +import * as components_HostDetails_DetailsCard_PowerStatus_PowerStatusIcon from './react_app/components/HostDetails/DetailsCard/PowerStatus/PowerStatusIcon'; +export { components_HostDetails_DetailsCard_PowerStatus_PowerStatusIcon }; +import * as components_HostDetails_DetailsCard_PowerStatus_actions from './react_app/components/HostDetails/DetailsCard/PowerStatus/actions'; +export { components_HostDetails_DetailsCard_PowerStatus_actions }; +import * as components_HostDetails_DetailsCard_PowerStatus_constants from './react_app/components/HostDetails/DetailsCard/PowerStatus/constants'; +export { components_HostDetails_DetailsCard_PowerStatus_constants }; +import * as components_HostDetails_DetailsCard from './react_app/components/HostDetails/DetailsCard/index'; +export { components_HostDetails_DetailsCard }; +import * as components_HostDetails_EmptyState from './react_app/components/HostDetails/EmptyState/index'; +export { components_HostDetails_EmptyState }; +import * as components_HostDetails_RecentCommunicationCard from './react_app/components/HostDetails/RecentCommunicationCard/index'; +export { components_HostDetails_RecentCommunicationCard }; +import * as components_HostDetails_Status_AggregateStatusCard from './react_app/components/HostDetails/Status/AggregateStatusCard'; +export { components_HostDetails_Status_AggregateStatusCard }; +import * as components_HostDetails_Status_AggregateStatusItem from './react_app/components/HostDetails/Status/AggregateStatusItem'; +export { components_HostDetails_Status_AggregateStatusItem }; +import * as components_HostDetails_Status_Constants from './react_app/components/HostDetails/Status/Constants'; +export { components_HostDetails_Status_Constants }; +import * as components_HostDetails_Status_GlobalState from './react_app/components/HostDetails/Status/GlobalState'; +export { components_HostDetails_Status_GlobalState }; +import * as components_HostDetails_Status_GlobalStatus from './react_app/components/HostDetails/Status/GlobalStatus'; +export { components_HostDetails_Status_GlobalStatus }; +import * as components_HostDetails_Status_HostStatusSelector from './react_app/components/HostDetails/Status/HostStatusSelector'; +export { components_HostDetails_Status_HostStatusSelector }; +import * as components_HostDetails_Status_StatusActions from './react_app/components/HostDetails/Status/StatusActions'; +export { components_HostDetails_Status_StatusActions }; +import * as components_HostDetails_Status_StatusIcon from './react_app/components/HostDetails/Status/StatusIcon'; +export { components_HostDetails_Status_StatusIcon }; +import * as components_HostDetails_Status_StatusTable from './react_app/components/HostDetails/Status/StatusTable'; +export { components_HostDetails_Status_StatusTable }; +import * as components_HostDetails_Status_StatusesModal from './react_app/components/HostDetails/Status/StatusesModal'; +export { components_HostDetails_Status_StatusesModal }; +import * as components_HostDetails_Tabs_Details_CardRegistry from './react_app/components/HostDetails/Tabs/Details/CardRegistry'; +export { components_HostDetails_Tabs_Details_CardRegistry }; +import * as components_HostDetails_Tabs_Details_Cards_Bios from './react_app/components/HostDetails/Tabs/Details/Cards/Bios/index'; +export { components_HostDetails_Tabs_Details_Cards_Bios }; +import * as components_HostDetails_Tabs_Details_Cards_NetworkingInterfaces_NICDescriptionList from './react_app/components/HostDetails/Tabs/Details/Cards/NetworkingInterfaces/NICDescriptionList'; +export { components_HostDetails_Tabs_Details_Cards_NetworkingInterfaces_NICDescriptionList }; +import * as components_HostDetails_Tabs_Details_Cards_NetworkingInterfaces from './react_app/components/HostDetails/Tabs/Details/Cards/NetworkingInterfaces/index'; +export { components_HostDetails_Tabs_Details_Cards_NetworkingInterfaces }; +import * as components_HostDetails_Tabs_Details_Cards_OperatingSystem from './react_app/components/HostDetails/Tabs/Details/Cards/OperatingSystem/index'; +export { components_HostDetails_Tabs_Details_Cards_OperatingSystem }; +import * as components_HostDetails_Tabs_Details_Cards_Provisioning from './react_app/components/HostDetails/Tabs/Details/Cards/Provisioning/index'; +export { components_HostDetails_Tabs_Details_Cards_Provisioning }; +import * as components_HostDetails_Tabs_Details_Cards_SystemProperties from './react_app/components/HostDetails/Tabs/Details/Cards/SystemProperties/index'; +export { components_HostDetails_Tabs_Details_Cards_SystemProperties }; +import * as components_HostDetails_Tabs_Details_Cards_TemplatesCard_ReviewModal from './react_app/components/HostDetails/Tabs/Details/Cards/TemplatesCard/ReviewModal'; +export { components_HostDetails_Tabs_Details_Cards_TemplatesCard_ReviewModal }; +import * as components_HostDetails_Tabs_Details_Cards_TemplatesCard from './react_app/components/HostDetails/Tabs/Details/Cards/TemplatesCard/index'; +export { components_HostDetails_Tabs_Details_Cards_TemplatesCard }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization_VirtEc2 from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/VirtEc2'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization_VirtEc2 }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization_VirtLibvirt from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/VirtLibvirt'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization_VirtLibvirt }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization_VirtOpenstack from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/VirtOpenstack'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization_VirtOpenstack }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization_VirtOvirt from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/VirtOvirt'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization_VirtOvirt }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization_VirtVmware from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/VirtVmware'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization_VirtVmware }; +import * as components_HostDetails_Tabs_Details_Cards_Virtualization from './react_app/components/HostDetails/Tabs/Details/Cards/Virtualization/index'; +export { components_HostDetails_Tabs_Details_Cards_Virtualization }; +import * as components_HostDetails_Tabs_Details from './react_app/components/HostDetails/Tabs/Details/index'; +export { components_HostDetails_Tabs_Details }; +import * as components_HostDetails_Tabs_Overview_CardsRegistry from './react_app/components/HostDetails/Tabs/Overview/CardsRegistry'; +export { components_HostDetails_Tabs_Overview_CardsRegistry }; +import * as components_HostDetails_Tabs_Overview from './react_app/components/HostDetails/Tabs/Overview/index'; +export { components_HostDetails_Tabs_Overview }; +import * as components_HostDetails_Tabs_Parameters_EditTableRow from './react_app/components/HostDetails/Tabs/Parameters/EditTableRow'; +export { components_HostDetails_Tabs_Parameters_EditTableRow }; +import * as components_HostDetails_Tabs_Parameters_ParametersConstants from './react_app/components/HostDetails/Tabs/Parameters/ParametersConstants'; +export { components_HostDetails_Tabs_Parameters_ParametersConstants }; +import * as components_HostDetails_Tabs_Parameters_ParametersTable from './react_app/components/HostDetails/Tabs/Parameters/ParametersTable'; +export { components_HostDetails_Tabs_Parameters_ParametersTable }; +import * as components_HostDetails_Tabs_Parameters_RowActions from './react_app/components/HostDetails/Tabs/Parameters/RowActions'; +export { components_HostDetails_Tabs_Parameters_RowActions }; +import * as components_HostDetails_Tabs_Parameters_TableRow from './react_app/components/HostDetails/Tabs/Parameters/TableRow'; +export { components_HostDetails_Tabs_Parameters_TableRow }; +import * as components_HostDetails_Tabs_Parameters_ViewTableRow from './react_app/components/HostDetails/Tabs/Parameters/ViewTableRow'; +export { components_HostDetails_Tabs_Parameters_ViewTableRow }; +import * as components_HostDetails_Tabs_Parameters from './react_app/components/HostDetails/Tabs/Parameters/index'; +export { components_HostDetails_Tabs_Parameters }; +import * as components_HostDetails_Tabs_ReportsTab_ReportsTable from './react_app/components/HostDetails/Tabs/ReportsTab/ReportsTable'; +export { components_HostDetails_Tabs_ReportsTab_ReportsTable }; +import * as components_HostDetails_Tabs_ReportsTab_helpers from './react_app/components/HostDetails/Tabs/ReportsTab/helpers'; +export { components_HostDetails_Tabs_ReportsTab_helpers }; +import * as components_HostDetails_Tabs_ReportsTab from './react_app/components/HostDetails/Tabs/ReportsTab/index'; +export { components_HostDetails_Tabs_ReportsTab }; +import * as components_HostDetails_Tabs_TabRouter_Tabs from './react_app/components/HostDetails/Tabs/TabRouter/Tabs'; +export { components_HostDetails_Tabs_TabRouter_Tabs }; +import * as components_HostDetails_Tabs_TabRouter from './react_app/components/HostDetails/Tabs/TabRouter/index'; +export { components_HostDetails_Tabs_TabRouter }; +import * as components_HostDetails_Tabs from './react_app/components/HostDetails/Tabs/index'; +export { components_HostDetails_Tabs }; +import * as components_HostDetails_Templates_CardItem_CardTemplate from './react_app/components/HostDetails/Templates/CardItem/CardTemplate/index'; +export { components_HostDetails_Templates_CardItem_CardTemplate }; +import * as components_HostDetails_consts from './react_app/components/HostDetails/consts'; +export { components_HostDetails_consts }; +import * as components_HostDetails from './react_app/components/HostDetails/index'; +export { components_HostDetails }; +import * as components_HostStatuses_HostStatusesConstants from './react_app/components/HostStatuses/HostStatusesConstants'; +export { components_HostStatuses_HostStatusesConstants }; +import * as components_HostStatuses_HostStatusesSelectors from './react_app/components/HostStatuses/HostStatusesSelectors'; +export { components_HostStatuses_HostStatusesSelectors }; +import * as components_HostStatuses_Status_Details from './react_app/components/HostStatuses/Status/Details'; +export { components_HostStatuses_Status_Details }; +import * as components_HostStatuses_Status_GlobalStatusIcon from './react_app/components/HostStatuses/Status/GlobalStatusIcon'; +export { components_HostStatuses_Status_GlobalStatusIcon }; +import * as components_HostStatuses_Status_LinkOrLabel from './react_app/components/HostStatuses/Status/LinkOrLabel'; +export { components_HostStatuses_Status_LinkOrLabel }; +import * as components_HostStatuses_Status_StatusSkeleton from './react_app/components/HostStatuses/Status/StatusSkeleton'; +export { components_HostStatuses_Status_StatusSkeleton }; +import * as components_HostStatuses_Status from './react_app/components/HostStatuses/Status/index'; +export { components_HostStatuses_Status }; +import * as components_HostStatuses from './react_app/components/HostStatuses/index'; +export { components_HostStatuses }; +import * as components_HostsIndex_ActionKebab from './react_app/components/HostsIndex/ActionKebab'; +export { components_HostsIndex_ActionKebab }; +import * as components_HostsIndex_BulkActions_bulkDelete from './react_app/components/HostsIndex/BulkActions/bulkDelete'; +export { components_HostsIndex_BulkActions_bulkDelete }; +import * as components_HostsIndex_Selectors from './react_app/components/HostsIndex/Selectors'; +export { components_HostsIndex_Selectors }; +import * as components_HostsIndex from './react_app/components/HostsIndex/index'; +export { components_HostsIndex }; +import * as components_Layout_Layout from './react_app/components/Layout/Layout'; +export { components_Layout_Layout }; +import * as components_Layout_LayoutActions from './react_app/components/Layout/LayoutActions'; +export { components_Layout_LayoutActions }; +import * as components_Layout_LayoutConstants from './react_app/components/Layout/LayoutConstants'; +export { components_Layout_LayoutConstants }; +import * as components_Layout_LayoutHelper from './react_app/components/Layout/LayoutHelper'; +export { components_Layout_LayoutHelper }; +import * as components_Layout_LayoutReducer from './react_app/components/Layout/LayoutReducer'; +export { components_Layout_LayoutReducer }; +import * as components_Layout_LayoutSelectors from './react_app/components/Layout/LayoutSelectors'; +export { components_Layout_LayoutSelectors }; +import * as components_Layout_LayoutSessionStorage from './react_app/components/Layout/LayoutSessionStorage'; +export { components_Layout_LayoutSessionStorage }; +import * as components_Layout_Navigation from './react_app/components/Layout/Navigation'; +export { components_Layout_Navigation }; +import * as components_Layout_NavigationSearch from './react_app/components/Layout/NavigationSearch'; +export { components_Layout_NavigationSearch }; +import * as components_Layout_components_ImpersonateIcon_ImpersonateIcon from './react_app/components/Layout/components/ImpersonateIcon/ImpersonateIcon'; +export { components_Layout_components_ImpersonateIcon_ImpersonateIcon }; +import * as components_Layout_components_ImpersonateIcon_ImpersonateIconActions from './react_app/components/Layout/components/ImpersonateIcon/ImpersonateIconActions'; +export { components_Layout_components_ImpersonateIcon_ImpersonateIconActions }; +import * as components_Layout_components_ImpersonateIcon from './react_app/components/Layout/components/ImpersonateIcon/index'; +export { components_Layout_components_ImpersonateIcon }; +import * as components_Layout_components_InstanceBanner from './react_app/components/Layout/components/InstanceBanner'; +export { components_Layout_components_InstanceBanner }; +import * as components_Layout_components_NavItem from './react_app/components/Layout/components/NavItem'; +export { components_Layout_components_NavItem }; +import * as components_Layout_components_TaxonomySwitcher_TaxonomyDropdown from './react_app/components/Layout/components/TaxonomySwitcher/TaxonomyDropdown'; +export { components_Layout_components_TaxonomySwitcher_TaxonomyDropdown }; +import * as components_Layout_components_TaxonomySwitcher_TaxonomySwitcher from './react_app/components/Layout/components/TaxonomySwitcher/TaxonomySwitcher'; +export { components_Layout_components_TaxonomySwitcher_TaxonomySwitcher }; +import * as components_Layout_components_Toolbar_Header from './react_app/components/Layout/components/Toolbar/Header'; +export { components_Layout_components_Toolbar_Header }; +import * as components_Layout_components_Toolbar_HeaderToolbar from './react_app/components/Layout/components/Toolbar/HeaderToolbar'; +export { components_Layout_components_Toolbar_HeaderToolbar }; +import * as components_Layout_components_Toolbar_UserDropdowns from './react_app/components/Layout/components/Toolbar/UserDropdowns'; +export { components_Layout_components_Toolbar_UserDropdowns }; +import * as components_Layout from './react_app/components/Layout/index'; +export { components_Layout }; +import * as components_Loading_Loading from './react_app/components/Loading/Loading'; +export { components_Loading_Loading }; +import * as components_Loading from './react_app/components/Loading/index'; +export { components_Loading }; +import * as components_LoginPage_LoginPage from './react_app/components/LoginPage/LoginPage'; +export { components_LoginPage_LoginPage }; +import * as components_LoginPage_helpers from './react_app/components/LoginPage/helpers'; +export { components_LoginPage_helpers }; +import * as components_LoginPage from './react_app/components/LoginPage/index'; +export { components_LoginPage }; +import * as components_MemoryAllocationInput_MemoryAllocationInput from './react_app/components/MemoryAllocationInput/MemoryAllocationInput'; +export { components_MemoryAllocationInput_MemoryAllocationInput }; +import * as components_MemoryAllocationInput_constants from './react_app/components/MemoryAllocationInput/constants'; +export { components_MemoryAllocationInput_constants }; +import * as components_MemoryAllocationInput from './react_app/components/MemoryAllocationInput/index'; +export { components_MemoryAllocationInput }; +import * as components_PF4_Bookmarks_BookmarkItems from './react_app/components/PF4/Bookmarks/BookmarkItems'; +export { components_PF4_Bookmarks_BookmarkItems }; +import * as components_PF4_Bookmarks_Bookmarks from './react_app/components/PF4/Bookmarks/Bookmarks'; +export { components_PF4_Bookmarks_Bookmarks }; +import * as components_PF4_Bookmarks_BookmarksActions from './react_app/components/PF4/Bookmarks/BookmarksActions'; +export { components_PF4_Bookmarks_BookmarksActions }; +import * as components_PF4_Bookmarks_BookmarksConstants from './react_app/components/PF4/Bookmarks/BookmarksConstants'; +export { components_PF4_Bookmarks_BookmarksConstants }; +import * as components_PF4_Bookmarks_BookmarksHelpers from './react_app/components/PF4/Bookmarks/BookmarksHelpers'; +export { components_PF4_Bookmarks_BookmarksHelpers }; +import * as components_PF4_Bookmarks_BookmarksReducer from './react_app/components/PF4/Bookmarks/BookmarksReducer'; +export { components_PF4_Bookmarks_BookmarksReducer }; +import * as components_PF4_Bookmarks_BookmarksSelectors from './react_app/components/PF4/Bookmarks/BookmarksSelectors'; +export { components_PF4_Bookmarks_BookmarksSelectors }; +import * as components_PF4_Bookmarks from './react_app/components/PF4/Bookmarks/index'; +export { components_PF4_Bookmarks }; +import * as components_PF4_BreadcrumbSwitcher from './react_app/components/PF4/BreadcrumbSwitcher/index'; +export { components_PF4_BreadcrumbSwitcher }; +import * as components_PF4_DocumentationLink from './react_app/components/PF4/DocumentationLink/index'; +export { components_PF4_DocumentationLink }; +import * as components_PF4_Helpers_useTableSort from './react_app/components/PF4/Helpers/useTableSort'; +export { components_PF4_Helpers_useTableSort }; +import * as components_PF4_InlineEdit_InlineEdit from './react_app/components/PF4/InlineEdit/InlineEdit'; +export { components_PF4_InlineEdit_InlineEdit }; +import * as components_PF4_InlineEdit_InlineTextInput from './react_app/components/PF4/InlineEdit/InlineTextInput'; +export { components_PF4_InlineEdit_InlineTextInput }; +import * as components_PF4_InlineEdit from './react_app/components/PF4/InlineEdit/index'; +export { components_PF4_InlineEdit }; +import * as components_PF4_TableIndexPage_ActionButtons from './react_app/components/PF4/TableIndexPage/ActionButtons'; +export { components_PF4_TableIndexPage_ActionButtons }; +import * as components_PF4_TableIndexPage_Table_DeleteModal from './react_app/components/PF4/TableIndexPage/Table/DeleteModal'; +export { components_PF4_TableIndexPage_Table_DeleteModal }; +import * as components_PF4_TableIndexPage_Table_SelectAllCheckbox from './react_app/components/PF4/TableIndexPage/Table/SelectAllCheckbox/index'; +export { components_PF4_TableIndexPage_Table_SelectAllCheckbox }; +import * as components_PF4_TableIndexPage_Table_Table from './react_app/components/PF4/TableIndexPage/Table/Table'; +export { components_PF4_TableIndexPage_Table_Table }; +import * as components_PF4_TableIndexPage_Table_TableHooks from './react_app/components/PF4/TableIndexPage/Table/TableHooks'; +export { components_PF4_TableIndexPage_Table_TableHooks }; +import * as components_PF4_TableIndexPage_Table_helpers from './react_app/components/PF4/TableIndexPage/Table/helpers'; +export { components_PF4_TableIndexPage_Table_helpers }; +import * as components_PF4_TableIndexPage_TableIndexPage from './react_app/components/PF4/TableIndexPage/TableIndexPage'; +export { components_PF4_TableIndexPage_TableIndexPage }; +import * as components_Pagination from './react_app/components/Pagination/index'; +export { components_Pagination }; +import * as components_PasswordStrength_PasswordStrength from './react_app/components/PasswordStrength/PasswordStrength'; +export { components_PasswordStrength_PasswordStrength }; +import * as components_PasswordStrength_PasswordStrengthActions from './react_app/components/PasswordStrength/PasswordStrengthActions'; +export { components_PasswordStrength_PasswordStrengthActions }; +import * as components_PasswordStrength_PasswordStrengthConstants from './react_app/components/PasswordStrength/PasswordStrengthConstants'; +export { components_PasswordStrength_PasswordStrengthConstants }; +import * as components_PasswordStrength_PasswordStrengthReducer from './react_app/components/PasswordStrength/PasswordStrengthReducer'; +export { components_PasswordStrength_PasswordStrengthReducer }; +import * as components_PasswordStrength_PasswordStrengthSelectors from './react_app/components/PasswordStrength/PasswordStrengthSelectors'; +export { components_PasswordStrength_PasswordStrengthSelectors }; +import * as components_PasswordStrength from './react_app/components/PasswordStrength/index'; +export { components_PasswordStrength }; +import * as components_PermissionDenied_PermissionDenied from './react_app/components/PermissionDenied/PermissionDenied'; +export { components_PermissionDenied_PermissionDenied }; +import * as components_PermissionDenied from './react_app/components/PermissionDenied/index'; +export { components_PermissionDenied }; +import * as components_SearchBar_AutoCompleteMenu from './react_app/components/SearchBar/AutoCompleteMenu'; +export { components_SearchBar_AutoCompleteMenu }; +import * as components_SearchBar_SearchAutocomplete from './react_app/components/SearchBar/SearchAutocomplete'; +export { components_SearchBar_SearchAutocomplete }; +import * as components_SearchBar from './react_app/components/SearchBar/index'; +export { components_SearchBar }; +import * as components_SettingRecords_SettingRecordsActions from './react_app/components/SettingRecords/SettingRecordsActions'; +export { components_SettingRecords_SettingRecordsActions }; +import * as components_SettingRecords_SettingRecordsConstants from './react_app/components/SettingRecords/SettingRecordsConstants'; +export { components_SettingRecords_SettingRecordsConstants }; +import * as components_SettingRecords_SettingRecordsReducer from './react_app/components/SettingRecords/SettingRecordsReducer'; +export { components_SettingRecords_SettingRecordsReducer }; +import * as components_SettingRecords_SettingRecordsSelectors from './react_app/components/SettingRecords/SettingRecordsSelectors'; +export { components_SettingRecords_SettingRecordsSelectors }; +import * as components_SettingRecords from './react_app/components/SettingRecords/index'; +export { components_SettingRecords }; +import * as components_SettingUpdateModal_SettingUpdateModal from './react_app/components/SettingUpdateModal/SettingUpdateModal'; +export { components_SettingUpdateModal_SettingUpdateModal }; +import * as components_SettingUpdateModal_SettingUpdateModalConstants from './react_app/components/SettingUpdateModal/SettingUpdateModalConstants'; +export { components_SettingUpdateModal_SettingUpdateModalConstants }; +import * as components_SettingUpdateModal_components_SettingForm_SettingForm from './react_app/components/SettingUpdateModal/components/SettingForm/SettingForm'; +export { components_SettingUpdateModal_components_SettingForm_SettingForm }; +import * as components_SettingUpdateModal_components_SettingForm from './react_app/components/SettingUpdateModal/components/SettingForm/index'; +export { components_SettingUpdateModal_components_SettingForm }; +import * as components_SettingUpdateModal_components_SettingValueField from './react_app/components/SettingUpdateModal/components/SettingValueField'; +export { components_SettingUpdateModal_components_SettingValueField }; +import * as components_SettingUpdateModal from './react_app/components/SettingUpdateModal/index'; +export { components_SettingUpdateModal }; +import * as components_SettingUpdateModal_useSettingModal from './react_app/components/SettingUpdateModal/useSettingModal'; +export { components_SettingUpdateModal_useSettingModal }; +import * as components_Settings_SettingsActions from './react_app/components/Settings/SettingsActions'; +export { components_Settings_SettingsActions }; +import * as components_Settings_SettingsConstants from './react_app/components/Settings/SettingsConstants'; +export { components_Settings_SettingsConstants }; +import * as components_SettingsTable_SettingsTable from './react_app/components/SettingsTable/SettingsTable'; +export { components_SettingsTable_SettingsTable }; +import * as components_SettingsTable_SettingsTableFormatters from './react_app/components/SettingsTable/SettingsTableFormatters'; +export { components_SettingsTable_SettingsTableFormatters }; +import * as components_SettingsTable_SettingsTableHelpers from './react_app/components/SettingsTable/SettingsTableHelpers'; +export { components_SettingsTable_SettingsTableHelpers }; +import * as components_SettingsTable_SettingsTableSchema from './react_app/components/SettingsTable/SettingsTableSchema'; +export { components_SettingsTable_SettingsTableSchema }; +import * as components_SettingsTable_components_SettingCell from './react_app/components/SettingsTable/components/SettingCell'; +export { components_SettingsTable_components_SettingCell }; +import * as components_SettingsTable_components_SettingCellInner from './react_app/components/SettingsTable/components/SettingCellInner'; +export { components_SettingsTable_components_SettingCellInner }; +import * as components_SettingsTable_components_SettingName from './react_app/components/SettingsTable/components/SettingName'; +export { components_SettingsTable_components_SettingName }; +import * as components_SettingsTable from './react_app/components/SettingsTable/index'; +export { components_SettingsTable }; +import * as components_TemplateGenerator_TemplateGenerator from './react_app/components/TemplateGenerator/TemplateGenerator'; +export { components_TemplateGenerator_TemplateGenerator }; +import * as components_TemplateGenerator_TemplateGeneratorActions from './react_app/components/TemplateGenerator/TemplateGeneratorActions'; +export { components_TemplateGenerator_TemplateGeneratorActions }; +import * as components_TemplateGenerator_TemplateGeneratorConstants from './react_app/components/TemplateGenerator/TemplateGeneratorConstants'; +export { components_TemplateGenerator_TemplateGeneratorConstants }; +import * as components_TemplateGenerator_TemplateGeneratorReducer from './react_app/components/TemplateGenerator/TemplateGeneratorReducer'; +export { components_TemplateGenerator_TemplateGeneratorReducer }; +import * as components_TemplateGenerator_TemplateGeneratorSelectors from './react_app/components/TemplateGenerator/TemplateGeneratorSelectors'; +export { components_TemplateGenerator_TemplateGeneratorSelectors }; +import * as components_TemplateGenerator from './react_app/components/TemplateGenerator/index'; +export { components_TemplateGenerator }; +import * as components_ToastsList_helpers from './react_app/components/ToastsList/helpers'; +export { components_ToastsList_helpers }; +import * as components_ToastsList from './react_app/components/ToastsList/index'; +export { components_ToastsList }; +import * as components_ToastsList_slice from './react_app/components/ToastsList/slice'; +export { components_ToastsList_slice }; +import * as components_common_ActionButtons_ActionButtons from './react_app/components/common/ActionButtons/ActionButtons'; +export { components_common_ActionButtons_ActionButtons }; +import * as components_common_Alert_AlertBody from './react_app/components/common/Alert/AlertBody'; +export { components_common_Alert_AlertBody }; +import * as components_common_Alert_AlertLink from './react_app/components/common/Alert/AlertLink'; +export { components_common_Alert_AlertLink }; +import * as components_common_ClipboardCopy from './react_app/components/common/ClipboardCopy/index'; +export { components_common_ClipboardCopy }; +import * as components_common_ComponentWrapper_ComponentWrapper from './react_app/components/common/ComponentWrapper/ComponentWrapper'; +export { components_common_ComponentWrapper_ComponentWrapper }; +import * as components_common_DateTimePicker_DateComponents_DateConstants from './react_app/components/common/DateTimePicker/DateComponents/DateConstants'; +export { components_common_DateTimePicker_DateComponents_DateConstants }; +import * as components_common_DateTimePicker_DateComponents_DateInput from './react_app/components/common/DateTimePicker/DateComponents/DateInput'; +export { components_common_DateTimePicker_DateComponents_DateInput }; +import * as components_common_DateTimePicker_DateComponents_Day from './react_app/components/common/DateTimePicker/DateComponents/Day'; +export { components_common_DateTimePicker_DateComponents_Day }; +import * as components_common_DateTimePicker_DateComponents_DecadeView from './react_app/components/common/DateTimePicker/DateComponents/DecadeView'; +export { components_common_DateTimePicker_DateComponents_DecadeView }; +import * as components_common_DateTimePicker_DateComponents_DecadeViewHeader from './react_app/components/common/DateTimePicker/DateComponents/DecadeViewHeader'; +export { components_common_DateTimePicker_DateComponents_DecadeViewHeader }; +import * as components_common_DateTimePicker_DateComponents_DecadeViewTable from './react_app/components/common/DateTimePicker/DateComponents/DecadeViewTable'; +export { components_common_DateTimePicker_DateComponents_DecadeViewTable }; +import * as components_common_DateTimePicker_DateComponents_Header from './react_app/components/common/DateTimePicker/DateComponents/Header'; +export { components_common_DateTimePicker_DateComponents_Header }; +import * as components_common_DateTimePicker_DateComponents_HeaderHelpers from './react_app/components/common/DateTimePicker/DateComponents/HeaderHelpers'; +export { components_common_DateTimePicker_DateComponents_HeaderHelpers }; +import * as components_common_DateTimePicker_DateComponents_MonthView from './react_app/components/common/DateTimePicker/DateComponents/MonthView'; +export { components_common_DateTimePicker_DateComponents_MonthView }; +import * as components_common_DateTimePicker_DateComponents_TodayButton from './react_app/components/common/DateTimePicker/DateComponents/TodayButton'; +export { components_common_DateTimePicker_DateComponents_TodayButton }; +import * as components_common_DateTimePicker_DateComponents_YearView from './react_app/components/common/DateTimePicker/DateComponents/YearView'; +export { components_common_DateTimePicker_DateComponents_YearView }; +import * as components_common_DateTimePicker_DateComponents_helpers from './react_app/components/common/DateTimePicker/DateComponents/helpers'; +export { components_common_DateTimePicker_DateComponents_helpers }; +import * as components_common_DateTimePicker_DatePicker from './react_app/components/common/DateTimePicker/DatePicker'; +export { components_common_DateTimePicker_DatePicker }; +import * as components_common_DateTimePicker_DateTimePicker from './react_app/components/common/DateTimePicker/DateTimePicker'; +export { components_common_DateTimePicker_DateTimePicker }; +import * as components_common_DateTimePicker_TimeComponents_PickTimeClock from './react_app/components/common/DateTimePicker/TimeComponents/PickTimeClock'; +export { components_common_DateTimePicker_TimeComponents_PickTimeClock }; +import * as components_common_DateTimePicker_TimeComponents_PickTimeTable from './react_app/components/common/DateTimePicker/TimeComponents/PickTimeTable'; +export { components_common_DateTimePicker_TimeComponents_PickTimeTable }; +import * as components_common_DateTimePicker_TimeComponents_TimeConstants from './react_app/components/common/DateTimePicker/TimeComponents/TimeConstants'; +export { components_common_DateTimePicker_TimeComponents_TimeConstants }; +import * as components_common_DateTimePicker_TimeComponents_TimeInput from './react_app/components/common/DateTimePicker/TimeComponents/TimeInput'; +export { components_common_DateTimePicker_TimeComponents_TimeInput }; +import * as components_common_DateTimePicker_TimePicker from './react_app/components/common/DateTimePicker/TimePicker'; +export { components_common_DateTimePicker_TimePicker }; +import * as components_common_DocumentationLink from './react_app/components/common/DocumentationLink/index'; +export { components_common_DocumentationLink }; +import * as components_common_EmptyState_DefaultEmptyState from './react_app/components/common/EmptyState/DefaultEmptyState'; +export { components_common_EmptyState_DefaultEmptyState }; +import * as components_common_EmptyState_EmptyStateFixtures from './react_app/components/common/EmptyState/EmptyStateFixtures'; +export { components_common_EmptyState_EmptyStateFixtures }; +import * as components_common_EmptyState_EmptyStatePattern from './react_app/components/common/EmptyState/EmptyStatePattern'; +export { components_common_EmptyState_EmptyStatePattern }; +import * as components_common_EmptyState_EmptyStatePropTypes from './react_app/components/common/EmptyState/EmptyStatePropTypes'; +export { components_common_EmptyState_EmptyStatePropTypes }; +import * as components_common_EmptyState from './react_app/components/common/EmptyState/index'; +export { components_common_EmptyState }; +import * as components_common_ErrorBoundary from './react_app/components/common/ErrorBoundary/index'; +export { components_common_ErrorBoundary }; +import * as components_common_Fill_Fill from './react_app/components/common/Fill/Fill'; +export { components_common_Fill_Fill }; +import * as components_common_Fill_FillActions from './react_app/components/common/Fill/FillActions'; +export { components_common_Fill_FillActions }; +import * as components_common_Fill_FillConstants from './react_app/components/common/Fill/FillConstants'; +export { components_common_Fill_FillConstants }; +import * as components_common_Fill_FillReducer from './react_app/components/common/Fill/FillReducer'; +export { components_common_Fill_FillReducer }; +import * as components_common_Fill_GlobalFill from './react_app/components/common/Fill/GlobalFill'; +export { components_common_Fill_GlobalFill }; +import * as components_common_Fill from './react_app/components/common/Fill/index'; +export { components_common_Fill }; +import * as components_common_LabelIcon from './react_app/components/common/LabelIcon/index'; +export { components_common_LabelIcon }; +import * as components_common_Loader from './react_app/components/common/Loader/index'; +export { components_common_Loader }; +import * as components_common_MessageBox from './react_app/components/common/MessageBox/index'; +export { components_common_MessageBox }; +import * as components_common_ModalProgressBar_ModalProgressBar from './react_app/components/common/ModalProgressBar/ModalProgressBar'; +export { components_common_ModalProgressBar_ModalProgressBar }; +import * as components_common_ModalProgressBar from './react_app/components/common/ModalProgressBar/index'; +export { components_common_ModalProgressBar }; +import * as components_common_Pf4DualList_DualListWithIds from './react_app/components/common/Pf4DualList/DualListWithIds'; +export { components_common_Pf4DualList_DualListWithIds }; +import * as components_common_Pf4DualList from './react_app/components/common/Pf4DualList/index'; +export { components_common_Pf4DualList }; +import * as components_common_RedirectCancelButton_RedirectCancelButton from './react_app/components/common/RedirectCancelButton/RedirectCancelButton'; +export { components_common_RedirectCancelButton_RedirectCancelButton }; +import * as components_common_RedirectCancelButton from './react_app/components/common/RedirectCancelButton/index'; +export { components_common_RedirectCancelButton }; +import * as components_common_SearchInput from './react_app/components/common/SearchInput/index'; +export { components_common_SearchInput }; +import * as components_common_SkeletonLoader from './react_app/components/common/SkeletonLoader/index'; +export { components_common_SkeletonLoader }; +import * as components_common_Slot_Slot from './react_app/components/common/Slot/Slot'; +export { components_common_Slot_Slot }; +import * as components_common_Slot_SlotSelectors from './react_app/components/common/Slot/SlotSelectors'; +export { components_common_Slot_SlotSelectors }; +import * as components_common_Slot from './react_app/components/common/Slot/index'; +export { components_common_Slot }; +import * as components_common_SubstringWrapper from './react_app/components/common/SubstringWrapper/index'; +export { components_common_SubstringWrapper }; +import * as components_common_TypeAheadSelect_TypeAheadSelectActions from './react_app/components/common/TypeAheadSelect/TypeAheadSelectActions'; +export { components_common_TypeAheadSelect_TypeAheadSelectActions }; +import * as components_common_TypeAheadSelect_TypeAheadSelectConstants from './react_app/components/common/TypeAheadSelect/TypeAheadSelectConstants'; +export { components_common_TypeAheadSelect_TypeAheadSelectConstants }; +import * as components_common_TypeAheadSelect_TypeAheadSelectReducer from './react_app/components/common/TypeAheadSelect/TypeAheadSelectReducer'; +export { components_common_TypeAheadSelect_TypeAheadSelectReducer }; +import * as components_common_TypeAheadSelect_TypeAheadSelectSelectors from './react_app/components/common/TypeAheadSelect/TypeAheadSelectSelectors'; +export { components_common_TypeAheadSelect_TypeAheadSelectSelectors }; +import * as components_common_TypeAheadSelect from './react_app/components/common/TypeAheadSelect/index'; +export { components_common_TypeAheadSelect }; +import * as components_common_charts_AreaChart from './react_app/components/common/charts/AreaChart/index'; +export { components_common_charts_AreaChart }; +import * as components_common_charts_BarChart from './react_app/components/common/charts/BarChart/index'; +export { components_common_charts_BarChart }; +import * as components_common_charts_DonutChart from './react_app/components/common/charts/DonutChart/index'; +export { components_common_charts_DonutChart }; +import * as components_common_charts_LineChart from './react_app/components/common/charts/LineChart/index'; +export { components_common_charts_LineChart }; +import * as components_common_dates_IsoDate from './react_app/components/common/dates/IsoDate'; +export { components_common_dates_IsoDate }; +import * as components_common_dates_LongDateTime from './react_app/components/common/dates/LongDateTime'; +export { components_common_dates_LongDateTime }; +import * as components_common_dates_RelativeDateTime from './react_app/components/common/dates/RelativeDateTime'; +export { components_common_dates_RelativeDateTime }; +import * as components_common_dates_ShortDateTime from './react_app/components/common/dates/ShortDateTime'; +export { components_common_dates_ShortDateTime }; +import * as components_common_forms_Actions from './react_app/components/common/forms/Actions'; +export { components_common_forms_Actions }; +import * as components_common_forms_Checkbox from './react_app/components/common/forms/Checkbox'; +export { components_common_forms_Checkbox }; +import * as components_common_forms_CommonForm from './react_app/components/common/forms/CommonForm'; +export { components_common_forms_CommonForm }; +import * as components_common_forms_CounterInput_CounterInput from './react_app/components/common/forms/CounterInput/CounterInput'; +export { components_common_forms_CounterInput_CounterInput }; +import * as components_common_forms_CounterInput from './react_app/components/common/forms/CounterInput/index'; +export { components_common_forms_CounterInput }; +import * as components_common_forms_DateTime_DateTime from './react_app/components/common/forms/DateTime/DateTime'; +export { components_common_forms_DateTime_DateTime }; +import * as components_common_forms_ForemanForm_ForemanForm from './react_app/components/common/forms/ForemanForm/ForemanForm'; +export { components_common_forms_ForemanForm_ForemanForm }; +import * as components_common_forms_ForemanForm from './react_app/components/common/forms/ForemanForm/index'; +export { components_common_forms_ForemanForm }; +import * as components_common_forms_Form from './react_app/components/common/forms/Form'; +export { components_common_forms_Form }; +import * as components_common_forms_FormField from './react_app/components/common/forms/FormField'; +export { components_common_forms_FormField }; +import * as components_common_forms_InputFactory from './react_app/components/common/forms/InputFactory'; +export { components_common_forms_InputFactory }; +import * as components_common_forms_NumericInput from './react_app/components/common/forms/NumericInput'; +export { components_common_forms_NumericInput }; +import * as components_common_forms_OrderableSelect_OrderableSelect from './react_app/components/common/forms/OrderableSelect/OrderableSelect'; +export { components_common_forms_OrderableSelect_OrderableSelect }; +import * as components_common_forms_OrderableSelect_OrderableSelectHooks from './react_app/components/common/forms/OrderableSelect/OrderableSelectHooks'; +export { components_common_forms_OrderableSelect_OrderableSelectHooks }; +import * as components_common_forms_OrderableSelect_components_OrderableToken from './react_app/components/common/forms/OrderableSelect/components/OrderableToken'; +export { components_common_forms_OrderableSelect_components_OrderableToken }; +import * as components_common_forms_OrderableSelect_helpers from './react_app/components/common/forms/OrderableSelect/helpers'; +export { components_common_forms_OrderableSelect_helpers }; +import * as components_common_forms_OrderableSelect from './react_app/components/common/forms/OrderableSelect/index'; +export { components_common_forms_OrderableSelect }; +import * as components_common_forms_RadioButtonGroup_RadioButton from './react_app/components/common/forms/RadioButtonGroup/RadioButton'; +export { components_common_forms_RadioButtonGroup_RadioButton }; +import * as components_common_forms_RadioButtonGroup_RadioButtonGroup from './react_app/components/common/forms/RadioButtonGroup/RadioButtonGroup'; +export { components_common_forms_RadioButtonGroup_RadioButtonGroup }; +import * as components_common_forms_RadioButtonGroup from './react_app/components/common/forms/RadioButtonGroup/index'; +export { components_common_forms_RadioButtonGroup }; +import * as components_common_forms_Select from './react_app/components/common/forms/Select'; +export { components_common_forms_Select }; +import * as components_common_forms_SelectHelpers from './react_app/components/common/forms/SelectHelpers'; +export { components_common_forms_SelectHelpers }; +import * as components_common_forms_TextField_TextField from './react_app/components/common/forms/TextField/TextField'; +export { components_common_forms_TextField_TextField }; +import * as components_common_forms_TextField_TextFieldInner from './react_app/components/common/forms/TextField/TextFieldInner'; +export { components_common_forms_TextField_TextFieldInner }; +import * as components_common_forms_TextField from './react_app/components/common/forms/TextField/index'; +export { components_common_forms_TextField }; +import * as components_common_forms_TextInput from './react_app/components/common/forms/TextInput'; +export { components_common_forms_TextInput }; +import * as components_common_forms_validators from './react_app/components/common/forms/validators'; +export { components_common_forms_validators }; +import * as components_common_table_actions_getTableItemsAction from './react_app/components/common/table/actions/getTableItemsAction'; +export { components_common_table_actions_getTableItemsAction }; +import * as components_common_table_actions from './react_app/components/common/table/actions/index'; +export { components_common_table_actions }; +import * as components_common_table_actions_selectionActions from './react_app/components/common/table/actions/selectionActions'; +export { components_common_table_actions_selectionActions }; +import * as components_common_table_actionsHelpers_actionTypeCreator from './react_app/components/common/table/actionsHelpers/actionTypeCreator'; +export { components_common_table_actionsHelpers_actionTypeCreator }; +import * as components_common_table_components_DeleteButton from './react_app/components/common/table/components/DeleteButton'; +export { components_common_table_components_DeleteButton }; +import * as components_common_table_components_HostsCountCell from './react_app/components/common/table/components/HostsCountCell'; +export { components_common_table_components_HostsCountCell }; +import * as components_common_table_components_NameCell from './react_app/components/common/table/components/NameCell'; +export { components_common_table_components_NameCell }; +import * as components_common_table_components_SortableHeader from './react_app/components/common/table/components/SortableHeader'; +export { components_common_table_components_SortableHeader }; +import * as components_common_table_components_Table from './react_app/components/common/table/components/Table'; +export { components_common_table_components_Table }; +import * as components_common_table_components_TableBody from './react_app/components/common/table/components/TableBody'; +export { components_common_table_components_TableBody }; +import * as components_common_table_components_TableBodyMessage from './react_app/components/common/table/components/TableBodyMessage'; +export { components_common_table_components_TableBodyMessage }; +import * as components_common_table_components_TableFixtures from './react_app/components/common/table/components/TableFixtures'; +export { components_common_table_components_TableFixtures }; +import * as components_common_table_components_TableSelectionCell from './react_app/components/common/table/components/TableSelectionCell'; +export { components_common_table_components_TableSelectionCell }; +import * as components_common_table_components_TableSelectionHeaderCell from './react_app/components/common/table/components/TableSelectionHeaderCell'; +export { components_common_table_components_TableSelectionHeaderCell }; +import * as components_common_table_components from './react_app/components/common/table/components/index'; +export { components_common_table_components }; +import * as components_common_table_constants_SelectionConstants from './react_app/components/common/table/constants/SelectionConstants'; +export { components_common_table_constants_SelectionConstants }; +import * as components_common_table_formatters_cellFormatter from './react_app/components/common/table/formatters/cellFormatter'; +export { components_common_table_formatters_cellFormatter }; +import * as components_common_table_formatters_deleteActionCellFormatter from './react_app/components/common/table/formatters/deleteActionCellFormatter'; +export { components_common_table_formatters_deleteActionCellFormatter }; +import * as components_common_table_formatters_ellipsisCellFormatter from './react_app/components/common/table/formatters/ellipsisCellFormatter'; +export { components_common_table_formatters_ellipsisCellFormatter }; +import * as components_common_table_formatters_formatterWithProps from './react_app/components/common/table/formatters/formatterWithProps'; +export { components_common_table_formatters_formatterWithProps }; +import * as components_common_table_formatters_hostsCountCellFormatter from './react_app/components/common/table/formatters/hostsCountCellFormatter'; +export { components_common_table_formatters_hostsCountCellFormatter }; +import * as components_common_table_formatters from './react_app/components/common/table/formatters/index'; +export { components_common_table_formatters }; +import * as components_common_table_formatters_nameCellFormatter from './react_app/components/common/table/formatters/nameCellFormatter'; +export { components_common_table_formatters_nameCellFormatter }; +import * as components_common_table_formatters_selectionCellFormatter from './react_app/components/common/table/formatters/selectionCellFormatter'; +export { components_common_table_formatters_selectionCellFormatter }; +import * as components_common_table_formatters_selectionHeaderCellFormatter from './react_app/components/common/table/formatters/selectionHeaderCellFormatter'; +export { components_common_table_formatters_selectionHeaderCellFormatter }; +import * as components_common_table_formatters_sortableHeaderFormatter from './react_app/components/common/table/formatters/sortableHeaderFormatter'; +export { components_common_table_formatters_sortableHeaderFormatter }; +import * as components_common_table_formatters_translatedCellFormatter from './react_app/components/common/table/formatters/translatedCellFormatter'; +export { components_common_table_formatters_translatedCellFormatter }; +import * as components_common_table from './react_app/components/common/table/index'; +export { components_common_table }; +import * as components_common_table_reducers_createTableReducer from './react_app/components/common/table/reducers/createTableReducer'; +export { components_common_table_reducers_createTableReducer }; +import * as components_common_table_reducers from './react_app/components/common/table/reducers/index'; +export { components_common_table_reducers }; +import * as components_common_table_reducers_selectionReducer from './react_app/components/common/table/reducers/selectionReducer'; +export { components_common_table_reducers_selectionReducer }; +import * as components_common_table_schemaHelpers_column from './react_app/components/common/table/schemaHelpers/column'; +export { components_common_table_schemaHelpers_column }; +import * as components_common_table_schemaHelpers from './react_app/components/common/table/schemaHelpers/index'; +export { components_common_table_schemaHelpers }; +import * as components_common_table_schemaHelpers_selection from './react_app/components/common/table/schemaHelpers/selection'; +export { components_common_table_schemaHelpers_selection }; +import * as components_common_table_schemaHelpers_sortableColumn from './react_app/components/common/table/schemaHelpers/sortableColumn'; +export { components_common_table_schemaHelpers_sortableColumn }; +import * as components_common_table_selectors_selectionSelectors from './react_app/components/common/table/selectors/selectionSelectors'; +export { components_common_table_selectors_selectionSelectors }; +import * as components_componentRegistry from './react_app/components/componentRegistry'; +export { components_componentRegistry }; +import * as components_hosts_powerStatus_PowerStatus from './react_app/components/hosts/powerStatus/PowerStatus'; +export { components_hosts_powerStatus_PowerStatus }; +import * as components_hosts_powerStatus_PowerStatusConstants from './react_app/components/hosts/powerStatus/PowerStatusConstants'; +export { components_hosts_powerStatus_PowerStatusConstants }; +import * as components_hosts_powerStatus_PowerStatusSelectors from './react_app/components/hosts/powerStatus/PowerStatusSelectors'; +export { components_hosts_powerStatus_PowerStatusSelectors }; +import * as components_hosts_powerStatus from './react_app/components/hosts/powerStatus/index'; +export { components_hosts_powerStatus }; +import * as components_hosts_storage_vmware_StorageContainerconsts from './react_app/components/hosts/storage/vmware/StorageContainer.consts'; +export { components_hosts_storage_vmware_StorageContainerconsts }; +import * as components_hosts_storage_vmware_controller_disk from './react_app/components/hosts/storage/vmware/controller/disk/index'; +export { components_hosts_storage_vmware_controller_disk }; +import * as components_hosts_storage_vmware_controller from './react_app/components/hosts/storage/vmware/controller/index'; +export { components_hosts_storage_vmware_controller }; +import * as components_hosts_storage_vmware from './react_app/components/hosts/storage/vmware/index'; +export { components_hosts_storage_vmware }; +import * as components_notifications_NotificationDrawerSessionStorage from './react_app/components/notifications/NotificationDrawerSessionStorage'; +export { components_notifications_NotificationDrawerSessionStorage }; +import * as components_notifications_ToggleIcon_ToggleIcon from './react_app/components/notifications/ToggleIcon/ToggleIcon'; +export { components_notifications_ToggleIcon_ToggleIcon }; +import * as components_notifications from './react_app/components/notifications/index'; +export { components_notifications }; +import * as components_users_PersonalAccessTokens_NewPersonalAccessToken from './react_app/components/users/PersonalAccessTokens/NewPersonalAccessToken'; +export { components_users_PersonalAccessTokens_NewPersonalAccessToken }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokenModal from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokenModal'; +export { components_users_PersonalAccessTokens_PersonalAccessTokenModal }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokens from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokens'; +export { components_users_PersonalAccessTokens_PersonalAccessTokens }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensActions from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensActions'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensActions }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensConstants from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensConstants'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensConstants }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensList_PersonalAccessToken from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensList/PersonalAccessToken'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensList_PersonalAccessToken }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensList from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensList/index'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensList }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensReducer from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensReducer'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensReducer }; +import * as components_users_PersonalAccessTokens_PersonalAccessTokensSelectors from './react_app/components/users/PersonalAccessTokens/PersonalAccessTokensSelectors'; +export { components_users_PersonalAccessTokens_PersonalAccessTokensSelectors }; +import * as components_users_PersonalAccessTokens from './react_app/components/users/PersonalAccessTokens/index'; +export { components_users_PersonalAccessTokens }; +import * as components_wrapperFactory from './react_app/components/wrapperFactory'; +export { components_wrapperFactory }; +import * as constants from './react_app/constants'; +export { constants }; +import * as history from './react_app/history'; +export { history }; +import * as mockRequests from './react_app/mockRequests'; +export { mockRequests }; +import * as redux_API_API from './react_app/redux/API/API'; +export { redux_API_API }; +import * as redux_API_APIActionTypeGenerator from './react_app/redux/API/APIActionTypeGenerator'; +export { redux_API_APIActionTypeGenerator }; +import * as redux_API_APIActions from './react_app/redux/API/APIActions'; +export { redux_API_APIActions }; +import * as redux_API_APIConstants from './react_app/redux/API/APIConstants'; +export { redux_API_APIConstants }; +import * as redux_API_APIFixtures from './react_app/redux/API/APIFixtures'; +export { redux_API_APIFixtures }; +import * as redux_API_APIHelpers from './react_app/redux/API/APIHelpers'; +export { redux_API_APIHelpers }; +import * as redux_API_APIMiddleware from './react_app/redux/API/APIMiddleware'; +export { redux_API_APIMiddleware }; +import * as redux_API_APIReducer from './react_app/redux/API/APIReducer'; +export { redux_API_APIReducer }; +import * as redux_API_APIRequest from './react_app/redux/API/APIRequest'; +export { redux_API_APIRequest }; +import * as redux_API_APISelectors from './react_app/redux/API/APISelectors'; +export { redux_API_APISelectors }; +import * as redux_API from './react_app/redux/API/index'; +export { redux_API }; +import * as redux_actions_common_forms from './react_app/redux/actions/common/forms'; +export { redux_actions_common_forms }; +import * as redux_actions_common from './react_app/redux/actions/common/index'; +export { redux_actions_common }; +import * as redux_actions_hosts_storage_vmwareconsts from './react_app/redux/actions/hosts/storage/vmware.consts'; +export { redux_actions_hosts_storage_vmwareconsts }; +import * as redux_actions_hosts_storage_vmware from './react_app/redux/actions/hosts/storage/vmware'; +export { redux_actions_hosts_storage_vmware }; +import * as redux_actions_notifications_constants from './react_app/redux/actions/notifications/constants'; +export { redux_actions_notifications_constants }; +import * as redux_actions_notifications from './react_app/redux/actions/notifications/index'; +export { redux_actions_notifications }; +import * as redux_consts from './react_app/redux/consts'; +export { redux_consts }; +import * as redux from './react_app/redux/index'; +export { redux }; +import * as redux_middlewares_IntervalMiddleware_IntervalActions from './react_app/redux/middlewares/IntervalMiddleware/IntervalActions'; +export { redux_middlewares_IntervalMiddleware_IntervalActions }; +import * as redux_middlewares_IntervalMiddleware_IntervalConstants from './react_app/redux/middlewares/IntervalMiddleware/IntervalConstants'; +export { redux_middlewares_IntervalMiddleware_IntervalConstants }; +import * as redux_middlewares_IntervalMiddleware_IntervalFixtures from './react_app/redux/middlewares/IntervalMiddleware/IntervalFixtures'; +export { redux_middlewares_IntervalMiddleware_IntervalFixtures }; +import * as redux_middlewares_IntervalMiddleware_IntervalHelpers from './react_app/redux/middlewares/IntervalMiddleware/IntervalHelpers'; +export { redux_middlewares_IntervalMiddleware_IntervalHelpers }; +import * as redux_middlewares_IntervalMiddleware_IntervalMiddleware from './react_app/redux/middlewares/IntervalMiddleware/IntervalMiddleware'; +export { redux_middlewares_IntervalMiddleware_IntervalMiddleware }; +import * as redux_middlewares_IntervalMiddleware_IntervalReducer from './react_app/redux/middlewares/IntervalMiddleware/IntervalReducer'; +export { redux_middlewares_IntervalMiddleware_IntervalReducer }; +import * as redux_middlewares_IntervalMiddleware_IntervalSelectors from './react_app/redux/middlewares/IntervalMiddleware/IntervalSelectors'; +export { redux_middlewares_IntervalMiddleware_IntervalSelectors }; +import * as redux_middlewares_IntervalMiddleware from './react_app/redux/middlewares/IntervalMiddleware/index'; +export { redux_middlewares_IntervalMiddleware }; +import * as redux_middlewares_common_helpers from './react_app/redux/middlewares/common/helpers'; +export { redux_middlewares_common_helpers }; +import * as redux_middlewares from './react_app/redux/middlewares/index'; +export { redux_middlewares }; +import * as redux_reducers_hosts from './react_app/redux/reducers/hosts/index'; +export { redux_reducers_hosts }; +import * as redux_reducers_hosts_storage from './react_app/redux/reducers/hosts/storage/index'; +export { redux_reducers_hosts_storage }; +import * as redux_reducers_hosts_storage_vmware from './react_app/redux/reducers/hosts/storage/vmware'; +export { redux_reducers_hosts_storage_vmware }; +import * as redux_reducers from './react_app/redux/reducers/index'; +export { redux_reducers }; +import * as redux_reducers_notifications from './react_app/redux/reducers/notifications/index'; +export { redux_reducers_notifications }; +import * as redux_reducers_registerReducer from './react_app/redux/reducers/registerReducer'; +export { redux_reducers_registerReducer }; +import * as routes_Audits_AuditsPage_AuditsPage from './react_app/routes/Audits/AuditsPage/AuditsPage'; +export { routes_Audits_AuditsPage_AuditsPage }; +import * as routes_Audits_AuditsPage_AuditsPageActions from './react_app/routes/Audits/AuditsPage/AuditsPageActions'; +export { routes_Audits_AuditsPage_AuditsPageActions }; +import * as routes_Audits_AuditsPage_AuditsPageSelectors from './react_app/routes/Audits/AuditsPage/AuditsPageSelectors'; +export { routes_Audits_AuditsPage_AuditsPageSelectors }; +import * as routes_Audits_AuditsPage_components_AuditsLoadingPage from './react_app/routes/Audits/AuditsPage/components/AuditsLoadingPage'; +export { routes_Audits_AuditsPage_components_AuditsLoadingPage }; +import * as routes_Audits_AuditsPage_components_AuditsTable from './react_app/routes/Audits/AuditsPage/components/AuditsTable'; +export { routes_Audits_AuditsPage_components_AuditsTable }; +import * as routes_Audits_AuditsPage from './react_app/routes/Audits/AuditsPage/index'; +export { routes_Audits_AuditsPage }; +import * as routes_Audits_constants from './react_app/routes/Audits/constants'; +export { routes_Audits_constants }; +import * as routes_Audits from './react_app/routes/Audits/index'; +export { routes_Audits }; +import * as routes_FiltersForm_EditFiltersFormPage from './react_app/routes/FiltersForm/EditFiltersFormPage'; +export { routes_FiltersForm_EditFiltersFormPage }; +import * as routes_FiltersForm_FiltersForm from './react_app/routes/FiltersForm/FiltersForm'; +export { routes_FiltersForm_FiltersForm }; +import * as routes_FiltersForm_FiltersFormConstants from './react_app/routes/FiltersForm/FiltersFormConstants'; +export { routes_FiltersForm_FiltersFormConstants }; +import * as routes_FiltersForm_NewFiltersFormPage from './react_app/routes/FiltersForm/NewFiltersFormPage'; +export { routes_FiltersForm_NewFiltersFormPage }; +import * as routes_FiltersForm_SelectPermissions from './react_app/routes/FiltersForm/SelectPermissions'; +export { routes_FiltersForm_SelectPermissions }; +import * as routes_FiltersForm_SelectResourceType from './react_app/routes/FiltersForm/SelectResourceType'; +export { routes_FiltersForm_SelectResourceType }; +import * as routes_FiltersForm_SelectRole from './react_app/routes/FiltersForm/SelectRole'; +export { routes_FiltersForm_SelectRole }; +import * as routes_FiltersForm_Taxonomies from './react_app/routes/FiltersForm/Taxonomies'; +export { routes_FiltersForm_Taxonomies }; +import * as routes_FiltersForm_constants from './react_app/routes/FiltersForm/constants'; +export { routes_FiltersForm_constants }; +import * as routes_FiltersForm from './react_app/routes/FiltersForm/index'; +export { routes_FiltersForm }; +import * as routes_ForemanSwitcher from './react_app/routes/ForemanSwitcher/index'; +export { routes_ForemanSwitcher }; +import * as routes_HostDetails_constants from './react_app/routes/HostDetails/constants'; +export { routes_HostDetails_constants }; +import * as routes_HostDetails from './react_app/routes/HostDetails/index'; +export { routes_HostDetails }; +import * as routes_HostStatuses_constants from './react_app/routes/HostStatuses/constants'; +export { routes_HostStatuses_constants }; +import * as routes_HostStatuses from './react_app/routes/HostStatuses/index'; +export { routes_HostStatuses }; +import * as routes_Hosts_constants from './react_app/routes/Hosts/constants'; +export { routes_Hosts_constants }; +import * as routes_Hosts from './react_app/routes/Hosts/index'; +export { routes_Hosts }; +import * as routes_Models_ModelsPage from './react_app/routes/Models/ModelsPage/index'; +export { routes_Models_ModelsPage }; +import * as routes_Models_constants from './react_app/routes/Models/constants'; +export { routes_Models_constants }; +import * as routes_Models from './react_app/routes/Models/index'; +export { routes_Models }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageActions from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/RegistrationCommandsPageActions'; +export { routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageActions }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageHelpers from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/RegistrationCommandsPageHelpers'; +export { routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageHelpers }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageSelectors from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/RegistrationCommandsPageSelectors'; +export { routes_RegistrationCommands_RegistrationCommandsPage_RegistrationCommandsPageSelectors }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_Actions from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/Actions'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_Actions }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_Advanced from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/Advanced'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_Advanced }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_Command from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/Command'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_Command }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_General from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/General'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_General }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_ConfigParams from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/ConfigParams'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_ConfigParams }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_HostGroup from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/HostGroup'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_HostGroup }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Insecure from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/Insecure'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Insecure }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_OperatingSystem from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/OperatingSystem'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_OperatingSystem }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Packages from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/Packages'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Packages }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Repository from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/Repository'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Repository }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_SmartProxy from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/SmartProxy'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_SmartProxy }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Taxonomies from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/Taxonomies'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_Taxonomies }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_TokenLifeTime from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/TokenLifeTime'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_TokenLifeTime }; +import * as routes_RegistrationCommands_RegistrationCommandsPage_components_fields_UpdatePackages from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/components/fields/UpdatePackages'; +export { routes_RegistrationCommands_RegistrationCommandsPage_components_fields_UpdatePackages }; +import * as routes_RegistrationCommands_RegistrationCommandsPage from './react_app/routes/RegistrationCommands/RegistrationCommandsPage/index'; +export { routes_RegistrationCommands_RegistrationCommandsPage }; +import * as routes_RegistrationCommands_constants from './react_app/routes/RegistrationCommands/constants'; +export { routes_RegistrationCommands_constants }; +import * as routes_RegistrationCommands from './react_app/routes/RegistrationCommands/index'; +export { routes_RegistrationCommands }; +import * as routes_RouterSelector from './react_app/routes/RouterSelector'; +export { routes_RouterSelector }; +import * as routes_RoutingService from './react_app/routes/RoutingService'; +export { routes_RoutingService }; +import * as routes_common_EmptyPage_RedirectedEmptyPage from './react_app/routes/common/EmptyPage/RedirectedEmptyPage'; +export { routes_common_EmptyPage_RedirectedEmptyPage }; +import * as routes_common_EmptyPage from './react_app/routes/common/EmptyPage/index'; +export { routes_common_EmptyPage }; +import * as routes_common_EmptyPage_route from './react_app/routes/common/EmptyPage/route'; +export { routes_common_EmptyPage_route }; +import * as routes_common_LoadingPage from './react_app/routes/common/LoadingPage/index'; +export { routes_common_LoadingPage }; +import * as routes_common_PageLayout_PageLayout from './react_app/routes/common/PageLayout/PageLayout'; +export { routes_common_PageLayout_PageLayout }; +import * as routes_common_PageLayout_components_ExportButton_ExportButton from './react_app/routes/common/PageLayout/components/ExportButton/ExportButton'; +export { routes_common_PageLayout_components_ExportButton_ExportButton }; +import * as routes_common_reducerHOC_withDataReducer from './react_app/routes/common/reducerHOC/withDataReducer'; +export { routes_common_reducerHOC_withDataReducer }; +import * as routes_common_reducerHOC_withQueryReducer from './react_app/routes/common/reducerHOC/withQueryReducer'; +export { routes_common_reducerHOC_withQueryReducer }; +import * as routes from './react_app/routes/index'; +export { routes }; +import * as routes_routes from './react_app/routes/routes'; +export { routes_routes }; diff --git a/webpack/assets/javascripts/exportAll.js b/webpack/assets/javascripts/exportAll.js new file mode 100644 index 000000000000..f1efea65b652 --- /dev/null +++ b/webpack/assets/javascripts/exportAll.js @@ -0,0 +1,61 @@ +const fs = require('fs'); +const path = require('path'); + +function generateExports(directoryPath, exportFileContent = '') { + fs.readdirSync(directoryPath, { withFileTypes: true }).forEach(dirent => { + if ( + dirent.isDirectory() && + dirent.name !== '__mocks__' && + dirent.name !== '__tests__' + ) { + const subDirectoryPath = path.join(directoryPath, dirent.name); + exportFileContent = generateExports(subDirectoryPath, exportFileContent); + } else if (dirent.isFile()) { + const fileNameWithoutExtension = path.parse(dirent.name).name; + const fileExtension = path.parse(dirent.name).ext; + + if ( + fileExtension === '.js' && + !dirent.name.endsWith('.test.js') && + !dirent.name.endsWith('.fixtures.js') && + !fileNameWithoutExtension.includes('TestHelper') && + !fileNameWithoutExtension.includes('testHelper') && + !fileNameWithoutExtension.includes('APITestSetup') + ) { + let relativeFilePath = path.relative( + __dirname, + path.join(directoryPath, fileNameWithoutExtension) + ); + relativeFilePath = relativeFilePath.substring( + relativeFilePath.indexOf('react_app') + 'react_app'.length + 1 + ); + let fileName = relativeFilePath.replace(/\\/g, '/').replace(/\//g, '_'); // replace slashes with underscores + fileName = fileName.replace(/\./g, ''); // remove dots + + if (fileName.endsWith('_index')) { + fileName = fileName.substring(0, fileName.length - '_index'.length); // remove _index + } + + exportFileContent += `import * as ${fileName} from './react_app/${relativeFilePath.replace( + /\\/g, + '/' + )}';\n`; + exportFileContent += `export { ${fileName} };\n`; + } + } + }); + + return exportFileContent; +} + +const generateExportsFile = () => { + let exportFileContent = generateExports(path.join(__dirname, 'react_app')); + exportFileContent = `/* eslint-disable */\n// This file is autogenerated by the webpack/assets/javascripts/exportAll.js script\n// Please do not modify this file directly\n\n${exportFileContent}`; + + fs.writeFileSync( + path.join(__dirname, 'all_react_app_exports.js'), + exportFileContent + ); +}; + +module.exports = { generateExportsFile }; diff --git a/webpack/assets/javascripts/react_app/mockRequests.js b/webpack/assets/javascripts/react_app/mockRequests.js index 156866745ea0..954b7cb85184 100644 --- a/webpack/assets/javascripts/react_app/mockRequests.js +++ b/webpack/assets/javascripts/react_app/mockRequests.js @@ -1,7 +1,7 @@ import axios from 'axios'; import { MockAdapter } from '@theforeman/test'; -export const mock = new MockAdapter(axios); +export const mock = () => new MockAdapter(axios); const methods = { GET: 'onGet', POST: 'onPost', @@ -15,6 +15,9 @@ export const mockRequest = ({ data = null, status = 200, response = null, -}) => mock[methods[method]](url, data).reply(status, response); +}) => + mock() + [methods[method]](url, data) + .reply(status, response); -export const mockReset = () => mock.reset(); +export const mockReset = () => mock().reset();