Allow Netlify config in JSON or YAML instead of only TOML

I don’t like the TOML format. It’s a nice idea, but i’d really appreciate it if the Netlify configuration could also be specified using more common formats like YAML or JSON.

Hey there, @FunctionDJ :wave:

Welcome to the Netlify Forums! Thanks for reaching out to share this feedback. Can you share some more details about your preferences and use case? Any extra details about why this feature would improve your Netlify experience would be beneficial, so that I can bring this to the Product team on your behalf.

Thanks!

1 Like

Hi Hillary!
Thank you for your response.

Netlify is mostly used for web projects, which are tightly related to the JavaScript / Node.js / NPM ecosystems. In these ecosystems, JSON is the primary, natively supported data format.
All commonly used IDEs have syntax highlighting and linting built-in and it’s easy to write tooling for.

Libraries are not required to generate or parse JSON in Node.js or in the Browser.

TypeScript, ESLint, NPM and many more tools use JSON either as their primary configuration data format, or offer it as an alternative to other formats (e.g. ESLint can be configured using JS, JSON and YAML).

I don’t know about the inner workings of Netlify, but there’s a good chance that Netlify converts the netlify.toml file to a JSON or JavaScript object internally at some step.

Therefore it shouldn’t take a lot of work to allow JSON files for configuration as well.

Here’s the most important reason i think JSON should be an option: It’s trivial in a lot of popular IDEs like VSCode to set up a schema for a JSON file. This allows the editor to know which options are valid in the configuration file and tell the user about value descriptions or deprecated properties.
It requires no installation and can safe the user a lot of going back and forth between the configuration and the documentation on the web.

Furthermore, while TOML is generally better and more efficient than JSON, it loses these advantages when a developer has to learn about TOML for their Netlify configuration alone. If TOML was more prominently used in a project, it would make more sense to enforce it, but most projects will only have about a dozen lines of TOML for which every new developer will have to look up the documentation to figure out how it works. Also, no built-in syntax highlighting, linting, or other tooling.

While JSON has it’s downsides, it’s understood by a lot more people intuitively than TOML and comes with great support in many aspects out of the box without a lot of effort.

This is why i highly recommend to offer JSON configuration next to the current TOML format.

Thank you very much for hearing me out!

Hey @FunctionDJ :wave:

wow-- these details are super insightful. Thank you so much for taking the time to outline this for me! I have sent it directly to the Product team. We don’t guarantee timelines on feature requests, but should this be implemented we will follow up and let you know.

Feedback is part of what pushes Netlify to improve, so we welcome all future ideas you have as well. Thanks!

1 Like