Repository navigation
fix(nostrand): pin path roots to the directory they were added in - #188
Merged
Merged
Conversation
parth-io
marked this pull request as draft
September 22, 2026 06:08
parth-io
force-pushed
the
fix/load-path-roots-move-with-cwd
branch
from
September 22, 2026 06:10
5afe30c to
f65505a
Compare
parth-io
force-pushed
the
fix/load-path-roots-move-with-cwd
branch
3 times, most recently
from
September 22, 2026 08:48
30e01e6 to
7c8b10f
Compare
parth-io
marked this pull request as ready for review
September 22, 2026 08:48
#187) -load-path kept paths as text and resolved it against the current directory at each flush. A change in directory would make the paths wrong. Use absolute paths as the default instead.
…dded in (#187) Similar to -load-path, use absolute paths as the default.
…187) resolve-deps seeded the root deps map with ".". The project's own :local/root and :paths then resolved against the process cwd. A deps file's coords must resolve against its own directory.
parth-io
force-pushed
the
fix/load-path-roots-move-with-cwd
branch
from
September 22, 2026 09:11
7c8b10f to
35cdb81
Compare
skydread1
reviewed
Sep 22, 2026
skydread1
reviewed
Sep 22, 2026
skydread1
approved these changes
Sep 23, 2026
parth-io
force-pushed
the
fix/load-path-roots-move-with-cwd
branch
from
September 23, 2026 03:12
b24eb41 to
452b4a0
Compare
…e cwd (#187) project-deps-file read the current directory. A host with a different cwd found no deps file, and EstablishProject returned null. establish-project now takes the root and resets both searches to it, so a second call switches projects.
parth-io
force-pushed
the
fix/load-path-roots-move-with-cwd
branch
from
September 23, 2026 03:16
452b4a0 to
d26aad6
Compare
skydread1
approved these changes
Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #187
*load-paths*and the assembly search roots pin each entry to the directory it was added in, soin-dirno longer moves roots added elsewhere.:paths/:depscoords resolve against the directory of its deps file rather than the cwd.establish-deps-edn's no-argument form becomesestablish-project, which takes the project root and validates it. A task calling(nos/establish-deps-edn)should call(nos/establish-project "."); the two-argument form is unchanged.establish-projectreplaces both searches rather than appending to them, so a second call switches projects instead of leaving the first one's roots ahead.CLOJURE_LOAD_PATHandMONO_PATHroots survive the switch; a two-argument form adds extra source roots, searched after the project root and before its dependencies.nostrand.core, and reading it beforeestablish-projecthas run throws rather than quietly falling back to the process cwd.CLOJURE_LOAD_PATHis now absent or a list of absolute paths, nothing else.Only the
in-dirbehaviour is visible today:Mainpasses its own cwd, so cwd and project root cannot diverge until the engine is split out (#185). The rest is groundwork for that split, including project switching, which the Editor host needs to compile a second project in a warm domain.