Skip to content

fix(nostrand): read a coord the way cljr canonicalizes it - #110

Merged
skydread1 merged 1 commit into
developfrom
fix/cljr-coord-canonicalization
Jul 29, 2026
Merged

fix(nostrand): read a coord the way cljr canonicalizes it#110
skydread1 merged 1 commit into
developfrom
fix/cljr-coord-canonicalization

Conversation

@skydread1

Copy link
Copy Markdown
Member

Closes #109

  • Coords go through a canonicalize step mirroring clojure.tools.deps.extensions.git: :git/url inferred from a hosted-service lib name (io.github.user/repo and the gitlab, bitbucket, beanstalk and sourcehut equivalents) for coords already pinned by sha or tag, and the legacy :sha and :tag spellings folded into :git/sha and :git/tag. Carrying both spellings of either throws, as in cljr, and so does a git url that can be neither read nor inferred.
  • :deps/root locates a git dependency's deps file and paths in that subdirectory of the checkout, a relative :local/root resolves against the directory of the deps file that declared it, and a coord's :exclusions prune the named libs from its subtree.
  • The alias keys cljr honours and nos ignores warn on stderr: :deps, :paths, :replace-deps, :replace-paths, :default-deps and :classpath-overrides.
  • Coords nos skipped before are now cloned, so one that is unreachable or wrongly pinned fails at resolution instead of silently.

nos read coords more narrowly than clr.tools.deps, so a deps-clr.edn written the
community way silently resolved a different classpath. Coords now canonicalize
like tools.deps: inferred :git/url, legacy :sha and :tag, :deps/root, :local/root
relative to its deps file, :exclusions. An uninferable git url throws as cljr
does, and alias keys nos ignores warn.
@skydread1 skydread1 self-assigned this Jul 29, 2026
@skydread1
skydread1 merged commit 4ddba1b into develop Jul 29, 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.

nos reads a deps-clr.edn more narrowly than cljr, silently resolving a different classpath

1 participant