is_duplicate_entry

Function is_duplicate_entry 

Source
pub fn is_duplicate_entry(
    existing: &LockedResource,
    new_entry: &LockedResource,
) -> bool
Expand description

Checks if two lockfile entries should be considered duplicates.

Two entries are duplicates if they have the same:

  1. name, source, tool, AND variant_inputs (standard deduplication)
  2. path, tool, AND variant_inputs for local dependencies (source = None)

CRITICAL: template_vars are part of the resource identity! Resources with different template_vars are DISTINCT resources that must all exist in the lockfile. For example, backend-engineer with language=typescript and language=javascript are TWO DIFFERENT resources.

The second case handles situations where a direct dependency and a transitive dependency point to the same local file but have different names (e.g., manifest name vs path-based name). This prevents false conflicts.