import React, { lazy, Suspense } from 'react' import { render } from 'react-dom' import { initRequestConfiguration } from 'utils/request' import { createShadowDom, initializeTagManager, setLocales, setToken } from 'startup/utils' import handleFederatedApp from 'utils/federatedApp' import 'config/requestRegister' const App = lazy(() => import('startup/umd/app')) const Root = () => { return (
) } const renderApp = async (rootElement: any, { baseUrl = '/', lang, token }) => { // eslint-disable-next-line camelcase __webpack_public_path__ = baseUrl const { setAppRoot } = handleFederatedApp() const shadowRoot = createShadowDom(rootElement) // eslint-disable-next-line @typescript-eslint/no-non-null-assertion setAppRoot(process.env.PROJECT_NAME!, shadowRoot) if (!token) { throw new Error('Missing valid token param') } await setLocales(lang) setToken(token) initRequestConfiguration(token) initializeTagManager() render(, shadowRoot) } export default renderApp