Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/index.ts

43 lines
1.0 KiB
TypeScript
Raw Normal View History

2023-05-24 15:18:30 +02:00
import { UmbAppElement } from './src/apps/app/app.element.js';
2023-05-26 10:22:54 +02:00
import { startMockServiceWorker } from './src/mocks/index.js';
2023-11-23 16:15:44 +01:00
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
2022-05-20 17:45:09 +02:00
2022-08-08 11:53:59 +02:00
if (import.meta.env.VITE_UMBRACO_USE_MSW === 'on') {
startMockServiceWorker();
}
const appElement = new UmbAppElement();
const isMocking = import.meta.env.VITE_UMBRACO_USE_MSW === 'on';
if (!isMocking) {
appElement.serverUrl = import.meta.env.VITE_UMBRACO_API_URL;
}
if (import.meta.env.DEV) {
appElement.backofficePath = '/';
}
appElement.bypassAuth = isMocking;
2023-11-23 16:03:30 +01:00
document.body.appendChild(appElement);
2023-11-23 16:03:30 +01:00
2023-11-23 16:15:44 +01:00
// Example injector:
2023-11-23 16:03:30 +01:00
if(import.meta.env.VITE_EXAMPLE_PATH) {
import(/* @vite-ignore */ './'+import.meta.env.VITE_EXAMPLE_PATH+'/index.ts').then((js) => {
if (js) {
Object.keys(js).forEach((key) => {
const value = js[key];
if (Array.isArray(value)) {
umbExtensionsRegistry.registerMany(value);
} else if (typeof value === 'object') {
umbExtensionsRegistry.register(value);
}
});
}
});
}