Bug? Case sensitivity in resources folder for custom nodes

I think that case sensitivity was raised a while back because there is a disjoint between how ExpressJS is set up to handle it and how Socket.IO handles it.

However, I think this might be a slightly different case.

I'm creating a new "dummy" node as a playground for custom node ideas. I want to have this as a scoped module in case I ever actually publish it. The docs show how to add custom resources using the resources folder in your package.

Without thinking, I put "TotallyInformation" as the scope (Pascal Case). This does not work.

Node-RED converts any request URI to lower case it seems and while this works for the base name "Node-RED-Testbed" in this case (yes with the case!) which is lower-cased and works fine, the scope name does not work when lower-cased.

So this link in the node's html file should work and does work if you enter it into the browser manually:

<link type="text/css" rel="stylesheet" href="./resources/@TotallyInformation/node-red-testbed/ti-testbed.css" media="all">

But that url is converted in Node-RED to "./resources/@totallyinformation/node-red-testbed/ti-testbed.css" which does not work.

Changing the scope name to lower-case does, of course work. However, this must surely be considered a bug? And a very confusing one as well since it is almost impossible to debug unless you have the experience to know about casing issues. And even then, you have to go through lots of trial and error to find an answer since Node-RED does not publish its list of available endpoints.


That does sound like a bug. Would appreciate an issue being raised - ideally with a step by step (if feasible?) Not the whole building process, just the order of naming your node x, reference your node as y, restart, rename, etc

1 Like

Done: Bug? Case sensitivity in resources folder for custom nodes · Issue #4410 · node-red/node-red (github.com)

1 Like