Readme is missing on


for my node

there is a readme displayed at github, at npm:

but not at

I have republished the node at npm and now the readme is visible again.

What could be the reason for?

Thank you

Because sometimes the metadata we get from NPM fails to provide the README and the only solution is to publish a new version to get NPM to refresh its metadata.

Thank you for the explanation.

I just noticed this again with the xterm package, even though npmjs shows the readme.

I finally figured out the reason (I had this with my packages), it comes the missing readme data in, e.g. (at time of writing) xterm:

I don't exactly know what npm publish does but it definitely adds that to the manifest before sending to I use libnpmpublish directly and had to explicitly add the readme data to the manifest before sending (I guess it's a bit of a silly assumption to make that could just add the data since they seem to have identified the readme file):

const libpub = require('libnpmpublish');

let rdme = msg.contents.filter((d) => {
    return == ""

if ( rdme ) {
    manifest["readmeFilename"] = "";
    manifest["readme"] = rdme.contents;

    manifest, tarball, opts
).then((data) => {
1 Like

I think that npm have always been clear that only the npm cli should be used for interactions and anything else might not work or might stop working. It is certainly a PITA but I tend to stick to that and use Gulp scripts with the execa extension.

I'm just going through all modules and there seems to be no clear reasons for readmes missing. Older packages (i.e. last published approx. 2 years or longer) have no readme or readmeFilename value yet have a readme content @ I assume changed something about two years ago.

Also what I also discovered that there are a small number of packages (between 50 and 100) that are still listed in the catalogue json but which have been unpublished @, i.e., there is no package.tgz to install.

All is included in the analytics flow for the catalogue json.

1 Like

If ONLY someone would go through the flows site and analyse the thing .... oh, wait!


1 Like

Turns out that 92 packages have been unpublished:

node-red-contrib-test-skill (DLYr: 10) reg

red-contrib-meutestedonodered-lower-case (DLYr: 93) reg

node-red-ilvo-redis-get (DLYr: -1) reg

node-red-ilvo-parse-config (DLYr: -1) reg

apconic-node-red-tcp-connection (DLYr: -1) reg

apconic-string-parser (DLYr: -1) reg

integrator-package-test (DLYr: -1) reg

node-red-contrib-cowsay0912 (DLYr: -1) reg

datasource1 (DLYr: -1) reg

node-red-tpro-random-data (DLYr: -1) reg

get-nvisual-token (DLYr: -1) reg

node-red-contrib-environmental-data-simulator (DLYr: -1) reg

tillit-node-red (DLYr: -1) reg

node-red-contrib-tcube (DLYr: -1) reg

node-red-contrib-cyblion-edge (DLYr: -1) reg

node-red-contrib-twitter-retweet (DLYr: -1) reg

node-red-contrib-home-assistant-discovery (DLYr: -1) reg

@tesd/node-red-contrib-powerschool (DLYr: -1) reg

404 Response
red-contrib-generator (DLYr: -1) reg

node-red-contrib-send-form-v4 (DLYr: -1) reg

node-red-contrib-mymiio-server (DLYr: -1) reg

node-red-miio-local (DLYr: -1) reg

node-red-contrib-mclient3 (DLYr: -1) reg

node-red-contrib-mclient (DLYr: -1) reg

node-red-contrib-mclient-outclient-test (DLYr: -1) reg

node-red-contrib-mcore (DLYr: -1) reg

node-red-contrib-c1as-sf (DLYr: -1) reg

node-red-contrib-re-http-ntlm-req-v2 (DLYr: -1) reg

@node-red-plus/node-red-contrib-wago-cc100 (DLYr: -1) reg

404 Response
red-contrib-mime-generator (DLYr: -1) reg

subflow-emrecan3 (DLYr: -1) reg

node-red-contrib-stackhero-mysql-cred-configure (DLYr: -1) reg

@michaelbeljaars/node-red-contrib-grove-base-hat-dtam (DLYr: -1) reg

404 Response
node-red-contrib-neogramm-automation-kit (DLYr: -1) reg

@equans/occupancy (DLYr: -1) reg

404 Response
node-red-contrib-baidu-iot-device (DLYr: -1) reg

@ikologik/node-red-ikologik-api (DLYr: -1) reg

404 Response
node-red-custom-websocket-subscriber-prtyp (DLYr: -1) reg

node-red-contrib-example-lower-case-function (DLYr: -1) reg

node-red-contrib-websocket-subscriber-nohtml (DLYr: -1) reg

node-red-contrib-websocket-header-acknowledge (DLYr: -1) reg

node-red-contrib-meter-lasts (DLYr: -1) reg

node-red-contrib-meter-last (DLYr: -1) reg

node-red-contrib-meter-work (DLYr: -1) reg

node-red-contrib-meters (DLYr: -1) reg

node-red-contrib-interra-temperature (DLYr: -1) reg

node-red-contrib-galaxy-plc (DLYr: -1) reg

node-red-contrib-ffdc-openid (DLYr: -1) reg

node-red-contrib-loop-processing-mac (DLYr: -1) reg

node-red-contrib-postgrestor-mac (DLYr: -1) reg

node-red-contrib-msal-certauth (DLYr: -1) reg

node-red-contrib-face-blur (DLYr: -1) reg

node-red-contrib-serverless-function (DLYr: -1) reg

node-red-contrib-test-qmaker-tt (DLYr: -1) reg

node-red-contrib-observertc (DLYr: -1) reg

node-red-contrib-get-reply-token (DLYr: -1) reg

node-red-flownode-socketio-client (DLYr: -1) reg

node-red-contrib-accellion-custom-generic (DLYr: -1) reg

node-red-contrib-obniz-vn (DLYr: -1) reg

node-red-contrib-timelapse-from-recordings (DLYr: -1) reg

node-red-contrib-kuvork (DLYr: -1) reg

node-red-contrib-twitter-bot6 (DLYr: -1) reg

node-red-contrib-twitter-bot5 (DLYr: -1) reg

node-red-contrib-twitter-bot4 (DLYr: -1) reg

node-red-contrib-squidtester (DLYr: -1) reg

node-red-contrib-lativ (DLYr: -1) reg

nodered-contrib-signal-client-2 (DLYr: -1) reg

node-red-contrib-squid-ease-remote (DLYr: -1) reg

node-red-tankerkoenig (DLYr: -1) reg

node-red-contrib-vhome (DLYr: -1) reg

aaazzz (DLYr: -1) reg

node-red-contrib-squid-volts-amps (DLYr: -1) reg

node-red-contrib-squid-type (DLYr: -1) reg

node-red-contrib-squid-relais (DLYr: -1) reg

node-red-contrib-squid-led-gate (DLYr: -1) reg

node-red-contrib-squid-data (DLYr: -1) reg

node-red-contrib-example2 (DLYr: -1) reg

node-red-contrib-stoptimer3 (DLYr: -1) reg

node-red-node-ui-etable (DLYr: -1) reg

node-red-contrib-accellion-custom-cdr (DLYr: -1) reg

node-red-contrib-pushed (DLYr: -1) reg

red-node-incorta (DLYr: -1) reg

arcelormittal-iot-pdc (DLYr: -1) reg

node-red-contrib-embedded-file (DLYr: -1) reg

node-red-contrib-home-assistant-llat (DLYr: -1) reg

node-red-contrib-ontime4ibm (DLYr: -1) reg

node-red-contrib-wws-example1 (DLYr: -1) reg

node-red-contrib-xiaomi-home (DLYr: 341) reg

node-red-contrib-pegjs (DLYr: -1) reg

node-red-contrib-hyperledger-fabric (DLYr: -1) reg

node-red-contrib-hyperledger (DLYr: -1) reg

node-red-contrib-domino-rest (DLYr: -1) reg

I was surprised not to see @BartButenaers in the top 100, but I think that is due to the assumption that node names start with @ and most of Barts are " node-red-contrib-xxxx"

1 Like

I had the very same thought, @BartButenaers began later with prefixes. For a complete list of his packages, check out npmjs


All of us "old-timers" have plenty of none namespaced nodes. :older_adult:

1 Like

Yes that was the convention at the time being...

1 Like

10 years ago when we started, npm didn't have namespacing. :grinning:

1 Like

That is quite a euphemism.
The term "later" means in this case: about 4 weeks ago my first prefix ever :roll_eyes:

1 Like