-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Renovate does not support latest TOML v1.0.0 spec. #18668
Comments
Did you find any alternative TOML parsing libraries for Node during your research? |
@rarkins I am considering forking @iarna/toml and gauging what it would take to implement support for v1. Alternatively, I may look deeper into your earlier suggestion #7556 (comment). |
What about using https://www.npmjs.com/package/@ltd/j-toml instead? It's listed as v1.0.0-compliant here. I just gave it a quick try with renovate: seems it would work as a drop-in replacement for pipenv, poetry, cargo, etc. |
that package seems not to be very popular and it seems to only have one maintainer. 😕 |
Arguments against: it has 36k weekly downloads, which is not a lot especially compared to 3.9m of the package we currently have. Arguments for: if it's a drop-in replacement, then we could always drop it out later if we need? |
You know what? Renovate only has 84k weekly downloads: But then I looked and most of its downloads come from this: https://www.npmjs.com/package/feed-me-up-scotty Which I don't think is exactly "robust" testing. If it's robustly tested then it's not via other open source projects. |
renovate ist mostly used by our official docker images, which uses caching. so that's probably the cause for low weekly downloads. maybe many users now also use caching so that hides a lot more downloads |
Good point. It also has close to 0% test coverage 👎 |
Strange that the JS ecosystem doesn't have a viable TOML v1 parser available! I wonder if there's much work to progress the |
reopen, as it's not fixed |
@viceice Thank you. Should have just ref'ed it in the PR instead of allowing it to auto-close.
@rarkins Agreed. I still have intentions to explore what remains to be implemented in |
A possible alternative is to instead get a wasm build of a compliant parser. I figure the ecosystems with likely the best toml parsers are (1) Go because the TOML compliance suite uses its parser, (2) Python because of |
🎉 This issue has been resolved in version 37.48.2 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
How are you running Renovate?
Mend Renovate hosted app on github.com
If you're self-hosting Renovate, tell us what version of Renovate you run.
No response
If you're self-hosting Renovate, select which platform you are using.
No response
If you're self-hosting Renovate, tell us what version of the platform you run.
No response
Was this something which used to work for you, and then stopped?
I never saw this working
Describe the bug
Renovate does support the latest TOML v1.0.0 spec (which was released Jan 2021).
This (potentially) impacts any modules that require parsing of TOML files.
I ran into this issue when renovate failed to realize my project's
pyproject.toml
file due to a parsing exception thrown when it tried to read a heterogeneous array, such as:Support for this was added to toml in 1.0.0-rc.1 / 2020-04-01.
Poking around a bit, it appears renovate has a pinned dependency on @iarna/toml @ v2.2.5 which only supports TOML v0.5.0 (2018-07-26).
I'll also add that the latest published version of @iarna/toml only supports TOML v1.0.0-rc.1. It does not look as if the package owner has intentions to update the package based on the repository activity.
I have created a minimal reproduction that you can find at BradenM/renovate-toml-v1-repro.
It contains additional details as well as an actions workflow that runs renovate to reproduce the issue.
Relevant debug logs
Logs
Have you created a minimal reproduction repository?
I have linked to a minimal reproduction repository in the bug description
The text was updated successfully, but these errors were encountered: