Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove experimental support for multi-format Netlify config #975

Closed
erquhart opened this issue Mar 16, 2020 · 5 comments
Closed

Remove experimental support for multi-format Netlify config #975

erquhart opened this issue Mar 16, 2020 · 5 comments
Assignees
Labels
project/build-plugins-v1 type: chore work needed to keep the product and development running smoothly

Comments

@erquhart
Copy link
Contributor

erquhart commented Mar 16, 2020

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.

@erquhart
Copy link
Contributor Author

cc/ @verythorough

@verythorough
Copy link
Contributor

verythorough commented Mar 16, 2020

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

@ehmicky ehmicky added the enhancement New feature or request label Mar 16, 2020
@erquhart erquhart added project/build-plugins-v1 type: chore work needed to keep the product and development running smoothly and removed enhancement New feature or request labels Mar 30, 2020
@ehmicky
Copy link
Contributor

ehmicky commented Apr 14, 2020

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.

@ehmicky
Copy link
Contributor

ehmicky commented Apr 20, 2020

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.

@ehmicky
Copy link
Contributor

ehmicky commented May 25, 2020

Done.

@ehmicky ehmicky closed this as completed May 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project/build-plugins-v1 type: chore work needed to keep the product and development running smoothly
Projects
None yet
Development

No branches or pull requests

3 participants