Если есть необходимость использовать TypeScript, JSX, и подключение сторонних библиотек.
Для сборки внешнего модуля можно использовать любой сборщик. Однако, при настройке сборщика необходимо учитывать следующие особенности окружения:
window.Universe.Vendor.React.createElement(Component, {});
SDK-пакет продукта предоставляет рекомендуемую TS-конфигурацию, её можно подключить
в tsconfig.json проекта кастомизации:
{
    "extends": ["@universe-dg/sdk/tsconfig.recommended.json"],
    "include": [
      "@universe-dg/sdk"
    ],
    "files": [
      "custom.ts"
    ]
}
Доступ ко всем типам SDK доступен так же через SDK-пакет:
import {Universe} from '@universe-dg/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'
    }
  }
});