# Developing Nodes

**URL:** https://discourse.nodered.org/c/developing-nodes/15.md?page=2

[Latest](https://discourse.nodered.org/latest.md) · [Categories](https://discourse.nodered.org/categories.md) · [Tags](https://discourse.nodered.org/tags.md)

**Page:** 3

---

## [Write Nodes using Vue 3 + Typescript and build it Vite](https://discourse.nodered.org/t/write-nodes-using-vue-3-typescript-and-build-it-vite/97102)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 0\
**Last updated:** [16 May 2025 21:43 UTC](https://discourse.nodered.org/t/write-nodes-using-vue-3-typescript-and-build-it-vite/97102 "2025-05-16T21:43:02Z")

</div>

After more thought and trials, my framework to build nodes now has a folder structure similar to that of a modern web app.

---

## [Which folder structure do you think is best for authoring node libraries?](https://discourse.nodered.org/t/which-folder-structure-do-you-think-is-best-for-authoring-node-libraries/97082)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 1\
**Last updated:** [16 May 2025 21:29 UTC](https://discourse.nodered.org/t/which-folder-structure-do-you-think-is-best-for-authoring-node-libraries/97082 "2025-05-16T21:29:26Z")

</div>

Do you have suggestions? This is the folder structure I defined . ├── examples // NOTE: flow examples/ │ └── test.json ├── public // NOTE: public assets served at "resources/\<package-name\>/"/ │ └── vue.png ├── src/ …

---

## [Async registerType callback?](https://discourse.nodered.org/t/async-registertype-callback/97081)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 8\
**Last updated:** [15 May 2025 20:21 UTC](https://discourse.nodered.org/t/async-registertype-callback/97081 "2025-05-15T20:21:48Z")

</div>

I might be a bit thick today but I don't seem to be able to find any magic to allow the RED.nodes.registerType callback function to be an async function? I have a function call in it that I would ideally like to await a…

---

## [Write Nodes using Vue 3 and Typescript](https://discourse.nodered.org/t/write-nodes-using-vue-3-and-typescript/97055)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 3\
**Last updated:** [14 May 2025 08:15 UTC](https://discourse.nodered.org/t/write-nodes-using-vue-3-and-typescript/97055 "2025-05-14T08:15:52Z")

</div>

Here's the initial draft of my framework for building Nodes using Vue 3 and TypeScript. I'd appreciate it if you could take a look and share your feedback. You can install the nodes in your Node-RED instance using the…

---

## [What do you guys think about writting nodes using json schemas?](https://discourse.nodered.org/t/what-do-you-guys-think-about-writting-nodes-using-json-schemas/96936)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 2\
**Last updated:** [12 May 2025 16:13 UTC](https://discourse.nodered.org/t/what-do-you-guys-think-about-writting-nodes-using-json-schemas/96936 "2025-05-12T16:13:05Z")

</div>

The framework I'm creating uses json schemas (draft v7) as the source of truth for configs (defaults), credentials, input and outputs messages. This is the folder structure of a single node. This is an example of a N…

---

## ['widget-action' messages set msg.topic to 'undefined' (updated)](https://discourse.nodered.org/t/widget-action-messages-set-msg-topic-to-undefined-updated/96683)

<div class="topic-metadata">

**Author:** [@omrid](https://discourse.nodered.org/u/omrid)\
**Replies:** 5\
**Last updated:** [12 May 2025 15:11 UTC](https://discourse.nodered.org/t/widget-action-messages-set-msg-topic-to-undefined-updated/96683 "2025-05-12T15:11:23Z")

</div>

I have upgraded my dashboard-2 to v1.23.0. In my custom UI node, when I send messages as 'widget-action' (this.$socket.emit('widget-action', this.id, msg) ), their topic property is getting overrun and becomes undefined.…

---

## [Outdated node-red-dev](https://discourse.nodered.org/t/outdated-node-red-dev/97008)

<div class="topic-metadata">

**Author:** [@augjoh](https://discourse.nodered.org/u/augjoh)\
**Replies:** 1\
**Last updated:** [11 May 2025 08:40 UTC](https://discourse.nodered.org/t/outdated-node-red-dev/97008 "2025-05-11T08:40:20Z")

</div>

When installing the node-red-dev package npm audit fails. The package hasn't been touched in the last two years. Is it still supported? How can I work around the problems reported? npm audit --fix doesn't solve any issue…

---

## [Is there a use case for controlling the order nodes are registered in the Editor?](https://discourse.nodered.org/t/is-there-a-use-case-for-controlling-the-order-nodes-are-registered-in-the-editor/96935)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 7\
**Last updated:** [10 May 2025 16:56 UTC](https://discourse.nodered.org/t/is-there-a-use-case-for-controlling-the-order-nodes-are-registered-in-the-editor/96935 "2025-05-10T16:56:10Z")

</div>

Is there a use case for controlling the order node types are registered in the Editor? in the server I already know there are some, but in the client (editor) I could not find any use cases for ordering registerType call…

---

## [Inquiry Regarding @opcua/for-node-red Usage, Licensing & Alternatives](https://discourse.nodered.org/t/inquiry-regarding-opcua-for-node-red-usage-licensing-alternatives/96892)

<div class="topic-metadata">

**Author:** [@Vinnu](https://discourse.nodered.org/u/Vinnu)\
**Replies:** 11\
**Last updated:** [9 May 2025 04:27 UTC](https://discourse.nodered.org/t/inquiry-regarding-opcua-for-node-red-usage-licensing-alternatives/96892 "2025-05-09T04:27:16Z")

</div>

Dear Sterfive Team, We are currently evaluating the use of the @opcua/for-node-red package in our industrial automation solution, where Node-RED will be used to communicate with PLCs for reading and writing OPC UA-based…

---

## [Interval connection error](https://discourse.nodered.org/t/interval-connection-error/96848)

<div class="topic-metadata">

**Author:** [@Dar](https://discourse.nodered.org/u/Dar)\
**Replies:** 16\
**Last updated:** [5 May 2025 01:40 UTC](https://discourse.nodered.org/t/interval-connection-error/96848 "2025-05-05T01:40:14Z")

</div>

Hello, I need some help I am an Intern working on this project where I have to develop a dashboard to read mssql data for plc in node red, I just started learning node red and I'm stuck at this problem, the issue is …

---

## [该如何提供或自定义更对节点属性配置ui。(Custom Node Properties)](https://discourse.nodered.org/t/ui-custom-node-properties/96882)

<div class="topic-metadata">

**Author:** [@752337625](https://discourse.nodered.org/u/752337625)\
**Replies:** 2\
**Last updated:** [4 May 2025 22:16 UTC](https://discourse.nodered.org/t/ui-custom-node-properties/96882 "2025-05-04T22:16:28Z")

</div>

我该如何在创建节点后，添加属性模板设置更多属性节点UI。

---

## [Write node forms using Vue 3 and JSON Schema](https://discourse.nodered.org/t/write-node-forms-using-vue-3-and-json-schema/96727)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 2\
**Last updated:** [4 May 2025 21:58 UTC](https://discourse.nodered.org/t/write-node-forms-using-vue-3-and-json-schema/96727 "2025-05-04T21:58:58Z")

</div>

Soon you will be able to test my framework for writting node forms using Vue 3 and JSON Schema. This will enable the creation of more complex config forms and write code in an modern way. Directory structure . ├── s…

---

## [How can I block closing the form panel unless the user clicked on Done,Cancel or Delete buttons?](https://discourse.nodered.org/t/how-can-i-block-closing-the-form-panel-unless-the-user-clicked-on-done-cancel-or-delete-buttons/96675)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 14\
**Last updated:** [22 April 2025 08:33 UTC](https://discourse.nodered.org/t/how-can-i-block-closing-the-form-panel-unless-the-user-clicked-on-done-cancel-or-delete-buttons/96675 "2025-04-22T08:33:04Z")

</div>

I need a reliable solution that doesn’t allow closing the node form when there are errors. At the moment I was able to partially accomplish this disabling the “Done” button. However, this solution doesn’t fully work beca…

---

## [Predefined web root](https://discourse.nodered.org/t/predefined-web-root/96654)

<div class="topic-metadata">

**Author:** [@omrid](https://discourse.nodered.org/u/omrid)\
**Replies:** 3\
**Last updated:** [20 April 2025 12:39 UTC](https://discourse.nodered.org/t/predefined-web-root/96654 "2025-04-20T12:39:27Z")

</div>

I have developed a dashboard-2 UI node, which sometimes needs to fetch external web resources such as CSS stylesheets or icons, located on the server. The UI widgets need to have web access to these resources. I know I …

---

## [How can i make a singleton node](https://discourse.nodered.org/t/how-can-i-make-a-singleton-node/96009)

<div class="topic-metadata">

**Author:** [@papenfort](https://discourse.nodered.org/u/papenfort)\
**Replies:** 9\
**Last updated:** [10 April 2025 16:07 UTC](https://discourse.nodered.org/t/how-can-i-make-a-singleton-node/96009 "2025-04-10T16:07:37Z")

</div>

Just imagine for a second you were trying to create a singleton-node for managing some http-context-specific "global state", why cant you throw an error in a constructing function to prevent the node vom initializing? j…

---

## [Unsure how to use oneditprepare](https://discourse.nodered.org/t/unsure-how-to-use-oneditprepare/96391)

<div class="topic-metadata">

**Author:** [@indiana-dahdah](https://discourse.nodered.org/u/indiana-dahdah)\
**Replies:** 4\
**Last updated:** [4 April 2025 12:53 UTC](https://discourse.nodered.org/t/unsure-how-to-use-oneditprepare/96391 "2025-04-04T12:53:08Z")

</div>

I am new to node red and am trying to learn how edit dialog works. I have already implemented a simpler edit dialog and understand how the html parts of it work. I am now trying to add in something more complicated and n…

---

## [Node hierarchy opinions?](https://discourse.nodered.org/t/node-hierarchy-opinions/95979)

<div class="topic-metadata">

**Author:** [@PizzaProgram](https://discourse.nodered.org/u/PizzaProgram)\
**Replies:** 2\
**Last updated:** [29 March 2025 03:44 UTC](https://discourse.nodered.org/t/node-hierarchy-opinions/95979 "2025-03-29T03:44:20Z")

</div>

Hi, :slight\_smile: I'm try to fix problems at the famous (built-in) Arduino module of Node-RED. Here is my progress so far: But I'm stuck because I've faced how many problems is there with the current code structure,…

---

## [Node.send causing error: this.\_flow is undefined](https://discourse.nodered.org/t/node-send-causing-error-this-flow-is-undefined/96217)

<div class="topic-metadata">

**Author:** [@papenfort](https://discourse.nodered.org/u/papenfort)\
**Replies:** 9\
**Last updated:** [24 March 2025 18:45 UTC](https://discourse.nodered.org/t/node-send-causing-error-this-flow-is-undefined/96217 "2025-03-24T18:45:32Z")

</div>

hey there, im trying to create a custom node that may send a message via a callback. for that purpose i have assigned the this from the constructor-function to the variable "node" like in the docs. whenever i try to use…

---

## [Order of node instantiation after deploy](https://discourse.nodered.org/t/order-of-node-instantiation-after-deploy/96103)

<div class="topic-metadata">

**Author:** [@mayswekkie](https://discourse.nodered.org/u/mayswekkie)\
**Replies:** 0\
**Last updated:** [19 March 2025 08:47 UTC](https://discourse.nodered.org/t/order-of-node-instantiation-after-deploy/96103 "2025-03-19T08:47:54Z")

</div>

Dear, I'm creating some custom configuration nodes and have a problem where I need to access config data of a node which is not instantiated yet. The idea is the following: I have a "Structure" configuration node whe…

---

## [CSS not loading on page open/refresh in dashboard-2 custom UI node](https://discourse.nodered.org/t/css-not-loading-on-page-open-refresh-in-dashboard-2-custom-ui-node/95999)

<div class="topic-metadata">

**Author:** [@omrid](https://discourse.nodered.org/u/omrid)\
**Replies:** 1\
**Last updated:** [14 March 2025 11:50 UTC](https://discourse.nodered.org/t/css-not-loading-on-page-open-refresh-in-dashboard-2-custom-ui-node/95999 "2025-03-14T11:50:41Z")

</div>

I am about to release a new version of my custom UI node (omrid01/node-red-dashboard-2-table-tabulator). I have predefined CSS class names, which the user can piggyback and apply custom CSS to the page widgets. The widg…

---

## [Credentials with required input fields](https://discourse.nodered.org/t/credentials-with-required-input-fields/95503)

<div class="topic-metadata">

**Author:** [@vrilcode](https://discourse.nodered.org/u/vrilcode)\
**Replies:** 4\
**Last updated:** [19 February 2025 16:38 UTC](https://discourse.nodered.org/t/credentials-with-required-input-fields/95503 "2025-02-19T16:38:12Z")

</div>

Hi, I have create a config node for another node and it has credential input fields. How can I make those fields required? With normal input fields, I would set required: true in defaults of RED.nodes.registerType, but …

---

## [Using type module project for Node-RED](https://discourse.nodered.org/t/using-type-module-project-for-node-red/95350)

<div class="topic-metadata">

**Author:** [@eryanph](https://discourse.nodered.org/u/eryanph)\
**Replies:** 1\
**Last updated:** [12 February 2025 14:51 UTC](https://discourse.nodered.org/t/using-type-module-project-for-node-red/95350 "2025-02-12T14:51:49Z")

</div>

Hi, is there a way to make a type module project work with Node-RED? I tried it and I will get the following error once I start Node-RED: Error \[ERR\_REQUIRE\_ESM\]: require() of ES Module /Users/hallownest/Repositories/no…

---

## [Programmatically add custom nodes from within existing express-app](https://discourse.nodered.org/t/programmatically-add-custom-nodes-from-within-existing-express-app/95186)

<div class="topic-metadata">

**Author:** [@WuerzburgerMaetschke](https://discourse.nodered.org/u/WuerzburgerMaetschke)\
**Replies:** 6\
**Last updated:** [7 February 2025 12:11 UTC](https://discourse.nodered.org/t/programmatically-add-custom-nodes-from-within-existing-express-app/95186 "2025-02-07T12:11:30Z")

</div>

Hello everyone, In the last few days I have successfully integrated node-red into an existing express application. Is there a way to add a custom node from this code base? So not by loading from a node folder from the …

---

## [ContextStore.delete & ContextStore.clean](https://discourse.nodered.org/t/contextstore-delete-contextstore-clean/95178)

<div class="topic-metadata">

**Author:** [@ziga](https://discourse.nodered.org/u/ziga)\
**Replies:** 2\
**Last updated:** [6 February 2025 11:16 UTC](https://discourse.nodered.org/t/contextstore-delete-contextstore-clean/95178 "2025-02-06T11:16:59Z")

</div>

I'm looking into custom context storage and for that, one needs to implement an interface described here. I'm wondering when are ContextStore.delete and ContextStore.clean actually called so I can reproduce and test th…

---

## [RED.validators.regex() custom message?](https://discourse.nodered.org/t/red-validators-regex-custom-message/95116)

<div class="topic-metadata">

**Author:** [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Replies:** 2\
**Last updated:** [4 February 2025 17:36 UTC](https://discourse.nodered.org/t/red-validators-regex-custom-message/95116 "2025-02-04T17:36:03Z")

</div>

I'm using something like this to validate a colour picker input - stroke: { value: "#ff0000", validate: RED.validators.regex(/^#(\[A-Fa-f0-9\]{6}|\[A-Fa-f0-9\]{3})$/) } I did a bit of digging around on the forum and it see…

---

## [Function callback not firing on second machine](https://discourse.nodered.org/t/function-callback-not-firing-on-second-machine/94960)

<div class="topic-metadata">

**Author:** [@znetsixe](https://discourse.nodered.org/u/znetsixe)\
**Replies:** 14\
**Last updated:** [30 January 2025 14:44 UTC](https://discourse.nodered.org/t/function-callback-not-firing-on-second-machine/94960 "2025-01-30T14:44:22Z")

</div>

Ive been debugging about a day now and Im sure I'm missing something obvious: Im using a function within a class to register another node: node.on("input", function(msg, send, done) { try { switch(m…

---

## [Automate updating nodes to the Flow Library (updated with XonSh)](https://discourse.nodered.org/t/automate-updating-nodes-to-the-flow-library-updated-with-xonsh/94792)

<div class="topic-metadata">

**Author:** [@malys](https://discourse.nodered.org/u/malys)\
**Replies:** 4\
**Last updated:** [23 January 2025 12:51 UTC](https://discourse.nodered.org/t/automate-updating-nodes-to-the-flow-library-updated-with-xonsh/94792 "2025-01-23T12:51:25Z")

</div>

Thanks to this post I have update the script to xonsh script import re COOKIES\_FILE="cookies.txt" MODULE\_NAME=$ARG1 #ex:@malysus/node-red-contrib-mqtt-auto touch @(COOKIES\_FILE) rm @(COOKIES\_FILE) # get the \_csrf tok…

---

## [Push data to http requet](https://discourse.nodered.org/t/push-data-to-http-requet/94769)

<div class="topic-metadata">

**Author:** [@JeremC82](https://discourse.nodered.org/u/JeremC82)\
**Replies:** 3\
**Last updated:** [23 January 2025 06:29 UTC](https://discourse.nodered.org/t/push-data-to-http-requet/94769 "2025-01-23T06:29:56Z")

</div>

Hello everyone I am new to node red. I am looking for a way to send my payload in an http request address = http://192.168.2.160/solar?victronconsobat= paylod = (example 1966) so I want my http request to be http://1…

---

## [Custom node with ace/monaco editor is removing newlines from content](https://discourse.nodered.org/t/custom-node-with-ace-monaco-editor-is-removing-newlines-from-content/94715)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 1\
**Last updated:** [18 January 2025 16:55 UTC](https://discourse.nodered.org/t/custom-node-with-ace-monaco-editor-is-removing-newlines-from-content/94715 "2025-01-18T16:55:51Z")

</div>

Hi, I'm creating a new node that has a RED.editor in it set to ace/mode/html mode. I copied the code from the core template node but annoyingly, while everything is otherwise working, the resulting saved code keeps remo…

---

## [Node Editor: fields that depend one to another](https://discourse.nodered.org/t/node-editor-fields-that-depend-one-to-another/94138)

<div class="topic-metadata">

**Author:** [@MatteGary](https://discourse.nodered.org/u/MatteGary)\
**Replies:** 8\
**Last updated:** [17 January 2025 13:53 UTC](https://discourse.nodered.org/t/node-editor-fields-that-depend-one-to-another/94138 "2025-01-17T13:53:52Z")

</div>

Hi, I’m developing my first custom node. At the end the node will need to call a Web API, but now I have problems with the configuration of the node. Simplifying a lot: it will have a set of dropdowns for possible val…

[Previous page](https://discourse.nodered.org/c/developing-nodes/15.md?page=1)

[Next page](https://discourse.nodered.org/c/developing-nodes/15.md?page=3)
