jolt/project.janet
Yogthos 4d8494d620 deps phase 2: jolt-deps tool resolves deps.edn git/local deps
A separate jolt-deps executable (mirroring jpm beside janet) resolves a
deps.edn into source roots and runs jolt with them on JOLT_PATH; the runtime
stays deps-agnostic.

- src/jolt/deps.janet: read deps.edn (Janet parses it directly), resolve
  :git/* and :local/root via jpm/pm's download-bundle (git fetch + cache, no
  build), recurse for transitive deps, return de-duped roots. jpm loaded
  lazily so it's never embedded. Roots cached on a deps.edn hash.
- src/jolt/deps_cli.janet + project.janet: the jolt-deps tool — path/run/repl/-e.
- main: apply JOLT_PATH at runtime (the CLI ctx is frozen into the image at
  build, so init's env read wouldn't see it).

Verified end to end against a local dep and a real git dep (medley). git only,
pure clj/cljc. Test: deps-resolve-test (local deps, no network).
2026-06-05 23:05:47 -04:00

16 lines
412 B
Text

(declare-project
:name "jolt"
:description "Clojure interpreter on Janet")
(declare-source
:source @["src"])
(declare-executable
:name "jolt"
:entry "src/jolt/main.janet")
# Separate tool (like jpm beside janet): resolves deps.edn into Jolt source
# roots. The jolt runtime stays deps-agnostic — it just reads JOLT_PATH.
(declare-executable
:name "jolt-deps"
:entry "src/jolt/deps_cli.janet")