How to install a non-published package into Node-RED?, round 2

I’ve written an ES6 module, also using Babel, and have it loading and running just fine in a standalone install of Node-RED on my Mac.

But I’m struggling to get it to install on my Odroid N+ Home Assistant. Any hints on how to get this working would be appreciated.

Basically my adding the path https://github.com/jpravetz/hassio-node-red-utils.git to the Node-RED addon config isn’t working. At one point I did get a tagged (v0.2.0) installed, but my latest is version 0.6.0 (also tagged v0.6.0), and so I wanted it updated. I’ve added #v0.6.0 to the URL and I’ve tried a bunch of other things, without success.

There seem to be a couple of ways to get a package into Node-RED, some of which are covered in How to install a package into Node-Red on Hass.io?.

  • add it to config (I don’t think the add-on is picking up the URL correctly, or recognizing the update)
  • add it using the function node > setup, which displays a list of modules (no luck)
  • and/or add it to settings.js’ functionGlobalContext (this is a different thing than loading, but I don’t know if you also need to specify the full github path here, or just use it’s name once loaded)
  • and there is also functionExternalModules, which maybe could be useful if I get past Go

What isn’t exposed is how they run yarn for this add-on†. Otherwise I’d just try do the cleanup myself by running yarn directly. That’s what I did on my standalone machine (expect with npm).

Like I said, any hints or actual knowledge that can get me ahead would be appreciated.

† The add-on appears to be using yarn rather than npm

Update: I can install my package manually by doctoring package.json, package-lock.json, and copying my project files to under node_modules. To do this with every update is not the smooth flow I was looking for. Where’s yarn to do this myself, I wonder.

Since your package is not published on NPM, you can run npm pack in your project and upload the resulting .tgz file using the palette manager.