Build: Remove experimental support for multi-format Netlify config

Created on 16 Mar 2020  路  5Comments  路  Source: netlify/build

Netlify configuration file support for YAML and JSON syntax was introduced as a work-in-progress feature. This issue is being opened in response to the following:

  • Netlify's docs are not set up to help users that are utilizing non-TOML formats
  • The support team has not understood this to be required by the community (no groundswell of demand)
  • Some site repos have netlify.(yml/json) files for their own arbitrary purposes, which has led to broken sites
  • There is added complexity associated with detecting and parsing multiple formats dependably
  • Well below 1% of sites are using a non-TOML format

This issue is not about whether we should support this, but about requiring that we support it well if and when we have resources to do so.

Plan for removing support

  1. Update documentation - (complete by 3/18 beta launch)

    • convert all configuration examples to TOML

    • remove mentions of multi-format support

  2. Add high visibility deprecation notice for projects utilizing YAML/JSON - (complete ASAP, not required for 3/18)
  3. Remove support completely (complete alongside GA Build Plugins release in May)

Future support
To support multiple configuration file formats, this should be re-introduced as a standalone feature with product and engineering input during a discovery phase, and prioritized for proper implementation.

projecbuild-plugins-v1 chore

Most helpful comment

First step done: replacing test fixtures (#1146).

Since I had issues finding a TOML serializer that works, I actually had to do a bunch of sed queries, combined with manual editing on ~250 netlify.yml files :(
But this is done now.

All 5 comments

cc/ @verythorough

Thanks for the mention! The gradual plan makes sense to me. I'll file associated docs issues as needed (and link them here).

First step done: replacing test fixtures (#1146).

Since I had issues finding a TOML serializer that works, I actually had to do a bunch of sed queries, combined with manual editing on ~250 netlify.yml files :(
But this is done now.

The next step is: add deprecation warnings and convert users netlify.yml to netlify.toml (when run locally). This is done in #1171.

The only thing left after this is in production is (in the future) removing deprecation warnings, conversion and YAML/JSON parsing, making it a breaking change.

Done.

Was this page helpful?
0 / 5 - 0 ratings