Introducing Node Scorecards and a new node naming convention

If a user updates their existing node that does not have a scoped name (due to being published before the new recommendations), will their node be scored down or will that check by excluded?

Would feel a little unfair to an existing very popular, very capable, well supported node to score less than @jonny_newcomer/node-red-contrib-bad-clone-of-great-node ?

2 Likes

I would think not. From the blog post (emphasis added):

We won’t be asking anyone to republish their existing modules under this new naming convention, but the scorecard will flag up any newly added modules that don’t follow this new convention from today.

Yes, I also read that but knowing how things work under the hood vs a friendly description, I thought it might be worth an ask.

for example, would publishing an "new" version of node-red-dashboard (i.e. same old package with new features & a newer version number) count as "any newly added modules"

That's a good idea. I think I'll go fork and republish all of the most popular nodes with the new format.

I'll get a high rating and be internet famous overnight!!!

(Joking, of course)

1 Like

The check looks for the date it was first published to npm to decide if the old or new naming conventions should apply.

As the goal is to improve the quality of the nodes, then publishing a new version that addresses issues the scorecard has identified is absolutely kosher.

1 Like

Thanks for clarifying Nick.

Would it be possible to include the scorecard rating in the view below? Possibly losing the version number to make more space...
The rational is that in this view, users are most likely to be searching for a node to fulfill a purpose, and there is no advantage to knowing the version number. But looking at the number of downloads, node star rating & score gives a good sense of how respected the node is.

Users wanting to know the node's info in more detail, including version number would generally select the node and open up to the full page view.

simple

Yes - there's lots to do as we roll out scorecards more generally. Please don't think its 'done'.

2 Likes

My Git and NPM logins are SonoraTechnical, so would it be desireable to use a scope of @SonoraTechnical to identify the contributor?

Hi,

I use node-red-dev validate my node package. And it has check list below. :sweat:

And below is my node package structure.

:thinking: My questions are

  1. How can I check my node with Node-RED 1.3.7 by 'node-red-node-test-helper' tool?
  2. From my node package structure, I am not sure, What is the cause of the warning "Warning: Duplicate nodename node-line-notify found in package node-red-contrib-node-line-api"?
  3. My node package use 'axios' last version (0.25.0), so how can I fix "Warning: D02 Incompatible package agent-base@5.1.1 found as dependency of axios"? or it does not need to be fix?
  4. I have already publish my node package to npm. I just add '@scopename' into my package name, so I must unpublish my previous published package and then publish new package again, right?

Please advise me.

Thank you in advance. :blush:

Hi @studiobox

  1. How can I check my node with Node-RED 1.3.7 by 'node-red-node-test-helper' tool?

The test-helper is just a library that can help you test your nodes - you still have to write the tests. It will use whatever version of Node-RED you have installed.

  1. From my node package structure, I am not sure, What is the cause of the warning "Warning: Duplicate nodename node-line-notify found in package node-red-contrib-node-line-api"?

This is a bug in the tool when running it locally. It is checking that the node types in your module are unique, and tries to identify if those node types exist in any modules already published to the flow library. In this instance, it has spotted the node types you have locally already exist in a module in the library - but it has failed to realise its the same module. We need to fix that. Can I trouble you to raise an issue on github? Issues ¡ node-red/node-red-dev-cli ¡ GitHub

3 My node package use 'axios' last version (0.25.0), so how can I fix "Warning: D02 Incompatible package agent-base@5.1.1 found as dependency of axios"? or it does not need to be fix?

Hmmm, not sure. When I install axios@0.25.0 locally, it doesn't pull in agent-base. So something has gone wrong with that check. Again - please raise an issue if you can.

  1. I have already publish my node package to npm. I just add '@scopename' into my package name, so I must unpublish my previous published package and then publish new package again, right?

It is up to you. There is no requirement to rename already-published modules - and to do so is not something to be done lightly. You cannot unpublish modules from npm, and to do so would mean existing users wouldn't know it had changed name and would not receive any future updates.

Thank you very much for your advise. :blush:

About running node-red-dev validate locally, I have already raise an issue on github.

There is warning "Warning: Duplicate nodename found in package ", when validate locally ¡ Issue #19 ¡ node-red/node-red-dev-cli (github.com)

About work with version 1.3.7, how can install on my local machine, side by side version 2.2.0, which had been installed on my local machine? Could you please advise me again?.

About "Warning: D02 Incompatible package agent-base@5.1.1 found as dependency of axios" problem, I tried to delete "node_module" folder and "package-lock.json", then I used npm install again. After that I used node-red-dev validate, but it had remain warning message. I checked node_modules folder, it has agent-base package. But its version is 6.0.2. I have already raise an issue on github.

There is "Warning: D02 Incompatible package agent-base@5.1.1 found as dependency of axios" message, but that version not in node_module ¡ Issue #20 ¡ node-red/node-red-dev-cli (github.com)

:blush:

same problem with axios 0.25.0 here:

This has been fixed in node-red-dev 0.1.5, which is what is now running for new submissions to flows.nodered.org

1 Like

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