Fold jolt-deps into the jolt binary (#133)
Dependency resolution now lives in the `jolt` CLI itself instead of a separate jolt-deps executable. `jolt` resolves a deps.edn into JOLT_PATH/JOLT_APP_PATHS in-process and dispatches the deps subcommands: jolt -M:alias [args] run the alias :main-opts jolt -A:alias CMD run CMD with the alias paths jolt run FILE resolve, then run FILE jolt path | tasks | task NAME A deps.edn in the working dir is auto-resolved for the runnable commands (repl/-m/-e/nrepl-server/FILE), so e.g. `jolt -M:nrepl` (or plain `jolt nrepl-server`) starts an nREPL with the project and its deps loaded. The runtime core stays deps-agnostic — it only reads JOLT_PATH. The resolver (deps.janet) is reached only from the CLI entry and loads jpm lazily, so a run with no deps.edn never touches it and an app baked from its own jolt/api entry never links it. resolve-deps-argv only resolves on an explicit deps command or when a deps.edn is present; help/version never do. jolt-deps stays as a thin deprecation shim that forwards to `jolt`, so existing scripts keep working. Docs (README, CLAUDE.md, building-and-deps, tools-deps) and the help text updated. Co-authored-by: Yogthos <yogthos@gmail.com>
This commit is contained in:
parent
048de0200d
commit
30a12f39ff
8 changed files with 274 additions and 139 deletions
|
|
@ -54,7 +54,7 @@ bd close <id> # Complete work
|
|||
## Build & Test
|
||||
|
||||
```bash
|
||||
jpm build # build/jolt + build/jolt-deps (ctx baked at build time)
|
||||
jpm build # build/jolt (one binary; ctx baked at build time)
|
||||
jpm test # FULL gate — recursive over test/ (spec, unit, integration, bench)
|
||||
janet test/spec/<f>.janet # one spec file
|
||||
janet test/integration/conformance-test.janet # 3-mode conformance (interpret/compile/self-host)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue