[ANE-1827] - Replace "tomland" with "toml-parser" for parsing toml files #1459
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR replaces
tomland
withtoml-parser
. The reason for the switch is becausetomland
has an issue with handling explicit vs implicit tables.toml-parser
does not have the same issue.The issue mainly affected poetry toml files, and as shown in ANE-1827 was cuasing CLI to believe there were no dependencies in
tool.poetry.dependencies
.Switching to
toml-parser
also seems to resolve an issue withpoetry.lock
files where keys wrapped in quotes contained the quotes after parsing:was being recorded as
pip+"backports.entry-points-selectable"
instead ofpip+backports-entry-points-selectable
Acceptance criteria
Testing plan
cabal run fossa -- analyze /path/to/extracted_files -o --only-target poetry | jq -c ".sourceUnits[0].Build.Dependencies"
Risks
Metrics
Is this change something that can or should be tracked? If so, can we do it today? And how? If its easy, do it
References
https://fossa.atlassian.net/browse/ANE-1827
Checklist
docs/
.docs/README.ms
and gave consideration to how discoverable or not my documentation is.Changelog.md
. If this PR did not mark a release, I added my changes into an# Unreleased
section at the top..fossa.yml
orfossa-deps.{json.yml}
, I updateddocs/references/files/*.schema.json
AND I have updated example files used byfossa init
command. You may also need to update these if you have added/removed new dependency type (e.g.pip
) or analysis target type (e.g.poetry
).docs/references/subcommands/<subcommand>.md
.