Skip to content

feat(topology): Map SwiftPM targets - #163

Open
reneleonhardt wants to merge 3 commits into
JordanCoin:mainfrom
reneleonhardt:feat/swiftpm-target-topology
Open

feat(topology): Map SwiftPM targets#163
reneleonhardt wants to merge 3 commits into
JordanCoin:mainfrom
reneleonhardt:feat/swiftpm-target-topology

Conversation

@reneleonhardt

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds SwiftPM target topology discovery from Package.swift:

  • Parses package products, targets, target paths, and declared target dependencies.
  • Resolves target paths conservatively into the typed topology graph.
  • Keeps malformed or ambiguous declarations bounded and unresolved.

Why it matters

Swift packages define module boundaries and dependencies in Package.swift; directory-only topology misses that structure.

CLI / MCP surface

No new commands, arguments, or MCP tools. Existing topology output includes SwiftPM package and target nodes.

Security

Package.swift is parsed as source text and never executed.

Review follow-ups included

  • Ignores package-shaped syntax inside normal, raw, and multiline Swift strings.
  • Rejects computed or interpolated target values while accepting escaped delimiters and literal string forms.

Verification

  • codemap . and codemap --deps .

Co-Authored-By: GPT-5.6 Sol codex@openai.com

reneleonhardt and others added 3 commits August 29, 2026 16:11
Co-Authored-By: GPT-5.6 Sol <codex@openai.com>
Ignore package syntax inside Swift string literals and reject computed target values while preserving raw and multiline literals.
Skip escaped delimiters while finding Swift literal boundaries.
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.

1 participant