Если есть необходимость использовать TypeScript, JSX, и подключение сторонних библиотек.
Для сборки внешнего модуля можно использовать любой сборщик. Однако, при настройке сборщика необходимо учитывать следующие особенности окружения:
window.Universe.Vendor.React.createElement(Component, {});
SDK-пакет продукта предоставляет рекомендуемую TS-конфигурацию, её можно подключить
в tsconfig.json
проекта кастомизации:
{
"extends": ["@universe-ee/sdk/tsconfig.recommended.json"],
"include": [
"@universe-ee/sdk"
],
"files": [
"custom.ts"
]
}
Доступ ко всем типам SDK доступен так же через SDK-пакет:
import {Universe} from '@universe-ee/sdk';
type DefaultExport = Universe.Platform.UserExit.ExternalModuleDefault;
export default {
userExits: [],
} satisfies DefaultExport;
Для сборки внешних модулей рекомендуется (но не обязательно) использовать Vite,
т.к. он позволяет с минимальными настройками получить рабочий бандл в виде ES-модуля.
Пример vite.config.js
:
import {defineConfig} from "vite";
export default defineConfig({
build: {
lib: {
entry: 'src/custom.ts',
formats: ['es'],
fileName: 'custom'
}
}
});