Skip to content

Add analyze method #207

@juharris

Description

@juharris

Start with just the Rust implementation.

Use case: For a feature with many imports, sometimes we want to know why an option has one value and not other from a particular import. To help debug, we want to know which feature set the last value for a key at a path.

Older notes:

Allow getting details such as getting which features set what and override each path.

Shows all steps applied by path. Don't need to show every path, just the highest level path (for non-objects). For objects, we do need to show when we're overriding only a specific key.

The tricky thing is that we merge in reverse from last feature to the first. So we would really be gathering what's been overridden as we iterate.
Gather overrode:

  • feature (canonical feature name)
  • json_path or json_pointer (whatever we already use the repo, maybe path is better since it work with jq)
    Don't really need the value since it can be retrieved from that information

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions