Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.

feat: pin dependency fetching#21

Merged
nrdxp merged 10 commits intomasterfrom
pin-deps
Oct 7, 2025
Merged

feat: pin dependency fetching#21
nrdxp merged 10 commits intomasterfrom
pin-deps

Conversation

@nrdxp
Copy link
Owner

@nrdxp nrdxp commented Oct 7, 2025

Implements the fetching and locking of pin-style dependencies. In general, this is one of the last concerns to finish off before we have a usable demo of eka's core features.

nrdxp added 10 commits October 5, 2025 15:14
We want to support the more familiar https://foo.com/bar@master syntax
to specify git references, but it requires special handling to avoid
overlapping with url usernames.

To solve this, parse the url with gix::url first, which can distinguish
a username from a `@` in a url path, then parse to a UriRef so we can
also expand aliases.

Also fix distinguishing atom uris from urls more directly by simply
searching for an atom's `::` delimiter.
Also includes wrapping cli and markdown support in help messages for
better formatting.
The `@` delimiter is categorically ambiguous, so instead we will use a
`^` since it is invalid in URLs.
In the case where the alias itself contained a path, and after the alias
was an additional path, the remaining path was cut off and not detected
leading to the incorrect url being parsed.

Correct this.
Still missing manifest/lock synchronization, which would require some
lightweight remote checks.

The bulk of the dependency fetching is offloaded to snix, and the
blobservice doubles as a lightweight fetcher cache via a simple http
middleware service:
nrdxp/snix@da5e4db
Fetches protos and sets up necessary vars for snix crates to "just build"
inside of the devshell.
@nrdxp
Copy link
Owner Author

nrdxp commented Oct 7, 2025

Before we end up with another massive PR, I am gonna go ahead and merge, and will flesh out the remaining details in a follow up PR

@nrdxp nrdxp merged commit a57bf31 into master Oct 7, 2025
2 checks passed
@nrdxp nrdxp deleted the pin-deps branch October 7, 2025 05:25
@nrdxp nrdxp mentioned this pull request Oct 7, 2025
51 tasks
@nrdxp nrdxp self-assigned this Oct 7, 2025
@nrdxp nrdxp added this to the Dependency Resolution milestone Oct 7, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant