UNPKG

node-red-contrib-uibuilder

Version:

Easily create data-driven web UI's for Node-RED. Single- & Multi-page. Multiple UI's. Work with existing web development workflows or mix and match with no-code/low-code features.

50 lines (35 loc) 1.48 kB
--- title: Add new library process description: | The process to add a new library package. created: 2022-06-26 lastUpdated: 2022-06-27 10:28:19 updated: 2023-12-30 17:01:41 --- ## Editor (`nodes/uibuilder.html`, `src/editor/uibuilder/editor.js`) * Select Library tab * `tabLibraries()` * Click add button * `addPackageRow(node, element, index, data)` * GET `uibuilder/uibnpmmanage?cmd=install&package=${packageName}&url=${node.url}&tag=${packageTag}` ## API's v2 (`nodes/libs/admin-api-v2.js`) * `uibnpmmanage`:install * `packageMgt.npmInstallPackage(params.url, params.package, params.tag)` ## Package Management (`nodes/libs/package-mgt.js`) * `npmInstallPackage` => npm install (returns install log text) ## API's v2 (`nodes/libs/admin-api-v2.js`) * `uibnpmmanage`:install (cont) * `web.serveVendorPackages()` ## Web (`nodes/libs/web.js`) * `serveVendorPackages` * `packageMgt.getUibRootPackageJson(pj)` ## Package Management (`nodes/libs/packageMgt.js`) * `getUibRootPackageJson` * If uibRoot package.json doesn't exist, create a clean one * If one exists, make sure it contains `dependencies`, `uibuilder` properties * Empty and rebuild `uibuilder.packages` object in case a manual npm install was done ## Web (`nodes/libs/web.js`) * `serveVendorPackages` (cont) * Removes `this.vendorRouter` entries * Updates `packageMgt.uibPackageJson.uibuilder.packages` object * Adds package folders to `../uibuilder/vendor/` paths & adds to router