Skip to content

fix: link Elixir umbrella and path dependencies as project references - #670

Merged
vibgrate-team merged 1 commit into
mainfrom
cursor/elixir-umbrella-refs-2785
Nov 12, 2026
Merged

vibgrate-team merged 1 commit into
mainfrom
cursor/elixir-umbrella-refs-2785

Conversation

@vibgrate-team

Copy link
Copy Markdown
Contributor

Summary

Elixir umbrella apps now show up as linked projects. {:core, in_umbrella: true} and path: dependencies become projectReferences when the target is another Elixir project in the same scan, and Hex rows and drift are unchanged.

parseMixExs still skips git:, github:, path:, and in_umbrella: for Hex. It now also keeps in_umbrella: true names and path: paths. An umbrella dependency resolves to <umbrella>/<apps_path>/<name>, with apps_path defaulting to apps. A path dependency resolves relative to its mix.exs. The reference uses the same shape as Maven and npm workspace references (path, name, refType: "workspace"), and only when that directory was scanned.

Related issues

Closes #667

Checklist

  • pnpm test passes
  • pnpm lint is clean
  • pnpm typecheck is clean
  • Docs updated (README / DOCS / ARCHITECTURE) where behavior changed
  • Determinism preserved — identical input still produces identical graph.json / report output (content-hashed IDs, stable sorts; no time, randomness, or filesystem-order dependence)
  • No proprietary or internal references — public, Apache-2.0 content only
  • Commits use Conventional Commits and are signed off (git commit -s, DCO)

Notes for reviewers

The fixture test/fixtures/elixir-umbrella covers apps/web depending on apps/core via in_umbrella: true, and apps/core depending on libs/logger_json via path:. Missing targets and in_umbrella: false stay out of both the rows and the references. pnpm lint, pnpm typecheck, and pnpm test passed (5819 tests). Docs are unchanged: this extends existing project-reference handling, not a new command.

@vibgrate-team
vibgrate-team force-pushed the cursor/elixir-umbrella-refs-2785 branch from 1bc32e7 to abe2830 Compare November 12, 2026 23:29
@vibgrate-team
vibgrate-team merged commit 5d6fe8f into main Nov 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement: link Elixir umbrella apps through in_umbrella: true and path: dependencies

1 participant