Is a TOML parser something that node-red wishes to support or has planned?

Potential Feature Request

Since the node-RED eco-system has the most common serialization parsers, namely,

  • XML
  • JSON
  • YAML

Would a possible parser be planned for TOML?

Information

Tom's Obvious Markup Language

TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.

Implementations

based on the TOML's Wiki there are implementations for v1.0.0 compliant parsers

Based on some quick reviews: @ltd/j-toml - npm is the one maintained well.

Is there something planned?

Not planned (as not heard of it until now :slight_smile: ).... but certainly could be a contribute node if someone wanted to create it.

Agree with Dave that it would make a good contributed node. You would probably do well to clone the YAML node and adjust it to use a TOML library. There appear to be at least a couple of TOML libraries for Node.js.

2 Likes

@dceejay and @TotallyInformation I have actually tried it out and have succesfully made a TOML parser node. I only ask for some co-ordination with the core team to help sending a Pull Request / Patch upstream.

Maybe @knolleary or @Steve-Mcl can help answer some questions:

There is also some query regarding using the Template Node and providing some TOML Syntax Highlighting within it.

I was trying find some documentation on contributing the code, but I am not sure what the general pattern is:

  • Which package.json files to change when working with core. There seems to be two or more in the complete project.
  • How to adapt the Template Node to have TOML highlight
  • What kind of test should I write?
  • is a package with @ allowed? e.g. @<username>/toml:<version>
  • Do I have to open an Issue with description before sending a Pull Request?
  • Do I need to showcase the node to the core team members in a call or on some forum first?

Hi

you don't need to raise a PR at all - you can create and publish your own node independently - Creating Nodes : Node-RED
And then you can name it as per the packaging guidelines (and yes it can be namespaced)

1 Like

Oh! okay, I thought it would be be nice to have it under all the standard parsers palette. Either way, I will be able to provide something to the community

You can still do that, each custom node chooses what category it wants to live under.

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