Help Publishing NPM Package


I have a custom build of Node-Red 1.0.1 that implements vertical node flows. The idea is to publish this as an NPM package and then use that package in a Dockerfile to containerize the custom build.

My problem is that the NPM package I published is functional, but does not have the vertical flow implemented. It is just vanilla Node-Red. I think I'm publishing from the wrong area in the source code, but not sure where I should publish. Any help would be appreciated. Maybe there's a script I need to run?

Published path:

    "name": "node-red-vertical",
    "version": "1.0.4",
    "description": "Vertical flow orientation for Node-Red",
    "homepage": "",
    "license": "Apache-2.0",
    "repository": {
        "type": "git",
        "url": ""
    "registry": "",
    "main": "lib/red.js",
    "scripts": {
        "start": "node red.js"
    "bin": {
        "node-red": "./red.js",
        "node-red-pi": "bin/node-red-pi"
    "contributors": [
            "name": "Nick O'Leary"
            "name": "Dave Conway-Jones"
    "keywords": [
    "dependencies": {
        "@node-red/editor-api": "1.0.2",
        "@node-red/runtime": "1.0.2",
        "@node-red/util": "1.0.2",
        "@node-red/nodes": "1.0.2",
        "basic-auth": "2.0.1",
        "bcryptjs": "2.4.3",
        "express": "4.17.1",
        "fs-extra": "8.1.0",
        "node-red-node-rbe": "^0.2.5",
        "node-red-node-tail": "^0.0.3",
        "nopt": "4.0.1",
        "semver": "6.3.0"
    "optionalDependencies": {
        "bcrypt": "3.0.6"
    "engines": {
        "node": ">=8"

Source code:

NPM package:

Docker image:

Please don't publish a module called node-red-vertical. Please use something that doesn't imply its a module produced by the project. This is why we ask nodes to use 'contrib' in their name.

It is not trivial to generate a custom build of Node-RED that is packaged properly to publish to npm. Node-RED is made up of 7 separate modules and all of the build system is setup to generate the modules with their official names. You'd have to go through the whole build system and scripts to change the references to whatever module names you chose to use.

I apologize, I wasn't aware of the convention. I will remove the current package and change the name.

My changes have been exclusively within the @node-red/editor-client module. I haven't changed any of the official module names, only the contents of a few files. Can you tell me how to start the build system process?

If you run the grunt release task, you'll get all of the modules built as tgz files under .dist/modules. But all the modules will have the node-red and @node-red names so you won't be able to publish them.

As I said in my previous reply, to change the names is no simple task - the build system simply isn't setup to change the names of the modules.

Noted. Thank you for your help.

Maybe some edge cases that need to be sorted before you get too far...


Thank you for the feedback and taking the time to review. I will look into those.

@dceejay can you share what's needed to reproduce that bug? The output ports seem to be scaling fine for me.


I just imported an existing flow where the label On the function node is turned off.
Link nodes are just as-is. The round connector isn’t centered.

Thanks again.