Appearance
Создание модуля
На данный момент модули реализуются только как UI компоненты для клиентского приложения.
Сама идея клиентских модулей построена на разработке WebComponents.
Реализовывать WC можно при помощи любого фреймворка (Svelte, Vue, React, Lit и т.д.) или нативного JS, роли не играет.
В создаваемый модуль можно подключить любые библиотеки, в том числе и @dpg.gg/core или даже @dpg.gg/application однако core библиотеки нужно исключать из сборки.
Например в случае с Vite или Rollup это можно сделать при помощи регулярного выражения в build.rollupOptions.external:
ts
// vite.config.ts
export default defineConfig({
publicDir: false,
base: "./",
build: {
lib: {
entry: fileURLToPath(new URL("./src/index.ts", import.meta.url)),
fileName,
formats: ["es"],
},
rollupOptions: {
external: [/@dpg.gg\/.*/],
},
},
plugins: [minifyEs()],
//...
});На выходе должны получиться скомпилированные файлы, которые будут подключены как ресурсы в приложение.
WARNING
Инструкция в разработке, в будущем добавится информация по внешнему конфигу для Studio