Where is the package name stored and how would you hint to it if it was missing?

Hi, I'm new to node red and one thing I've noticed was that missing nodes do not hint to their actual packages in some situations.

For instance, if I create a package locally and provide the required prefix of "node-red-contrib-example-of-missing" in the package.json name field, this is not used in any way further through the node and I end up with an ambiguous missing node if I remove this package in the future, my flow just refers to it as a missing package:

Flows stopped due to missing node types.
* ExampleOfMissing

If ExampleOfMissing was a generic title then it would be extremely difficult to know what node package that actually was. Is there additional property I can use to hint of the true/full package name should it go missing?

I guess the consideration here is that providing a 3rd party with the node-red json object means that when they import it I also need to provide them with a list of packages they need to go off and install, without this information they would not be able to identify the missing packages by simply clicking on them and finding the package name.

I hope this makes sense, it's probably just something I've missed

1 Like

Where is the package name stored

In the package.json name field, for the package that is not installed :melting_face:

Flows do not have a reference to the package name, only their exposed node names.
This is why the name of a node should be Unique across the platform.

A flow only contains the name of the node(s)

[
  {
    "id": "2e883e58ce37a4b4",
    "type": "ExampleOfMissing",    /* <-----HERE */
    "y": 310,
    "wires": [
      "c8f6c3374fda1893"
    ]
  },
]

So to distribute a flow - you will indeed need to hint at what node red packages its using

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.