Skip to content

feat: run dependency graphs - #75

Merged
privatenumber merged 3 commits into
developfrom
feat/run-dependency-graph
Sep 4, 2026
Merged

feat: run dependency graphs#75
privatenumber merged 3 commits into
developfrom
feat/run-dependency-graph

Conversation

@privatenumber

Copy link
Copy Markdown
Owner

Problem

Publishing a dependency closure requires running per-package preparation in dependency-first order: leaves pack first, each package receives its direct dependencies' results, and independent packages overlap. Without a shared runner, every orchestration layer would reimplement readiness tracking, result relay, and failure gating — and re-derive the same concurrency and error semantics slightly differently each time. For example, a naive sequential loop would turn the diamond case (core, two adapters, app) into four serialized steps, while an ad-hoc concurrent version risks running a dependent before its dependencies resolve or losing track of which result belongs to which package.

Changes

runDependencyGraph() takes generic nodes and a value-producing callback, validates duplicates, unknown keys, and cycles before invoking anything, then schedules leaves-first with independent nodes overlapping. Each callback receives only its direct dependencies' results, every node runs exactly once, and results return keyed by node. A callback failure rejects without invoking blocked dependents, while already-running independent work settles cleanly. The runner knows nothing about packages or Git — adapting PublishGraphNode targets into it is explicitly left for the manifest-rewriting stage.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

📊 Package size report   No changes

File Before After
Total (Includes all files) 79.4 kB 79.4 kB
Tarball size 29.0 kB 29.0 kB
Unchanged files
File Size
dist/index.js 71.1 kB
LICENSE 1.1 kB
package.json 1.5 kB
README.md 5.7 kB

🤖 This report was automatically generated by pkg-size-action

@privatenumber
privatenumber merged commit 30f3f5a into develop Sep 4, 2026
2 checks passed
@privatenumber
privatenumber deleted the feat/run-dependency-graph branch September 4, 2026 17:10
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