npm node-red-contrib-uibuilder 4.0.0
Major release

latest releases: 6.8.2, 6.8.1, 6.8.0...
2 years ago

Major Changes

  • Node.js v12+ is the minimum supported environment for Node-RED.

  • Only "modern" browsers are now supported for both the Editor and the uibuilderfe front-end library as ES6 (ECMA2015) code is used.

    Let me know if this is a problem and I can build a backwards compatible version.

Template handling is significantly changed in this major release

New instances of uibuilder nodes will only be given the "blank" template which uses no front-end frameworks.

You can load a different template using the "Template Settings" in the Editor.

Loading a new template WILL overwrite any files with the same name. A warning is given though so even if you press the button, you can still back out.

You can choose from the following internal templates:

  • VueJS & bootstrap-vue - The previous default template.
  • Simple VueJS - A minimal VueJS example.
  • Blank - The new default.
  • External - See below.

But, you can now also chose an EXTERNAL template! This will let you choose from any remote location supported by degit. You can use TotallyInformation/uib-template-test as an example (on GitHub).

NOTE: When using an external template, no check is currently done on dependencies, you must install these yourself. I will try to add this feature in the future.

Changing the uibRoot folder

You can now set uibuilder's root folder - that stores configuration, common, security and each node's front-end code - to a different location. The default location is in your userDir folder in a sub-folder called uibuilder. If you are using projects, the sub-folder will be in your projects root folder. See docs/changing-uibroot.md for more detail.

Updated

  • Update fs-extra to v10. No longer supports node.js v10, requires v12+.

  • Make some class methods private in web.js and socket.js. Requires node.js v12 as a minimum as it uses an ECMA2018 feature.

  • web.setup and socket.setup can only be called once.

  • Socket.IO updated from v2 to v4.

  • Added Admin API check for whether a url has a matching instance root folder. (Was an outstanding to-do)

  • Reworked the info block that is printed to the log on startup. Much neater and with added info on the webserver being used.

  • Technical Docs have been improved in line with some other work I did recently on enterprise standards.

    The docsify configuration has been greatly improved with a new theme and some automation for dates and document front-matter.

    Added a new page on changing the uibRoot folder.

    Updated the front page with links and explanations of the different sections.

New

  • In the technical documentation, you can now access and search the main README as well as the current and archive changelogs (v1 & v2) in addition to everything else.

    Don't forget that you can access the tech docs on the Internet from GitHub AND locally from within Node-RED.

  • nodes/web.js - Added web.isConfigured to allow a check to see whether web.setup has been called.

  • nodes/sockets.js - Added socket.isConfigured to allow a check to see whether socket.setup has been called.

  • Add a new icon to the main readme that allows editing of uibuilder code using VSCode either via a remote repository or via a Docker container.

Fixed

  • Node-RED edge-case for credentials was causing node to be marked as changed whenever "Done" button pressed even if no changes made. Turns out to be an issue if you don't give a password-type credential an actual value (e.g. leave it blank). Gave the JWTsecret a default value even when it isn't really needed.
  • Instance details page - CSS now loads correctly even if using a customer server port. Some Socket.IO details that were missing now returned.
  • web.js - specifying a custom server port caused uibuilder to crash. Now fixed.
  • Lots of tidying up of log messages, especially TRACE level.
  • Accidentally include a node.js v14+ issue, now removed.
  • Additional try/catch blocks to force better reporting if there is an error in the uibuilder module files.

Don't miss a new node-red-contrib-uibuilder release

NewReleases is sending notifications on new releases.