No description
  • Clojure 58.5%
  • HTML 41.5%
Find a file
2026-08-14 22:43:49 +02:00
bin feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
dev/clj feat: basic setup for Emacs 2026-08-14 22:38:47 +02:00
resources feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
src feat: basic setup for Emacs 2026-08-14 22:38:47 +02:00
test/clj/garden feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
.dir-locals.el feat: basic setup for Emacs 2026-08-14 22:38:47 +02:00
.gitignore feat: basic setup for Emacs 2026-08-14 22:38:47 +02:00
bb.edn feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
deps.edn feat: basic setup for Emacs 2026-08-14 22:38:47 +02:00
mise.toml feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
package-lock.json feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
package.json feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00
README.md error: explanation for Arne, 2026-08-14 22:43:49 +02:00
shadow-cljs.edn feat: clj/cljs project setup 2026-08-14 21:31:52 +02:00

For Arne

The shadow-cljs build has a build-id of :app. Using the following config I thought I could start both the clj and cljs repls for Emacs.

{;; regular deps.edn stuff will work in here
 :deps {}
 :aliases {}
 :launchpad/aliases [:dev]
 :launchpad/options {:emacs true
                     :portal true
                     :nrepl-port 1234}
 :launchpad/shadow-build-ids [:app]    ; which shadow builds to start, although it may
                                        ; be preferable to configure this as part of
                                        ; specific aliases in your main deps.edn
 ;; which shadow builds to automatically connect to if `--emacs` flag is provided
 :launchpad/shadow-connect-ids [:app]}

Result

The following exception is the result.

 bin/launchpad
Launching Clojure on nREPL port 1234
Options: cider-nrepl, cider-connect, portal, refactor-nrepl
Aliases: :dev
{:clojure.main/message
"Execution error (NullPointerException) at clojure.tools.deps.edn/io-err (edn.clj:43).\nCannot invoke \"java.io.File.getAbsolutePath()\" because the return value of \"clojure.lang.IFn.invoke(
Object)\" is null\n",
:clojure.main/triage
{:clojure.error/class java.lang.NullPointerException,
 :clojure.error/line 43,
 :clojure.error/cause
 "Cannot invoke \"java.io.File.getAbsolutePath()\" because the return value of \"clojure.lang.IFn.invoke(Object)\" is null",
 :clojure.error/symbol clojure.tools.deps.edn/io-err,
 :clojure.error/source "edn.clj",
 :clojure.error/phase :execution},
:clojure.main/trace
{:via
 [{:type java.lang.NullPointerException,
   :message
   "Cannot invoke \"java.io.File.getAbsolutePath()\" because the return value of \"clojure.lang.IFn.invoke(Object)\" is null",
   :at [clojure.tools.deps.edn$io_err invokeStatic "edn.clj" 43]}],
 :trace
 [[clojure.tools.deps.edn$io_err invokeStatic "edn.clj" 43]
  [clojure.tools.deps.edn$io_err doInvoke "edn.clj" 38]
  [clojure.lang.RestFn invoke "RestFn.java" 426]
  [clojure.tools.deps.edn$validate invokeStatic "edn.clj" 79]
  [clojure.tools.deps.edn$validate doInvoke "edn.clj" 70]
  [clojure.lang.RestFn invoke "RestFn.java" 426]
  [clojure.tools.deps.edn$read_deps invokeStatic "edn.clj" 137]
  [clojure.tools.deps.edn$read_deps doInvoke "edn.clj" 127]
  [clojure.lang.RestFn invoke "RestFn.java" 413]
  [clojure.tools.deps$slurp_deps invokeStatic "deps.clj" 39]
    [clojure.tools.deps$slurp_deps invoke "deps.clj" 35]
  [lambdaisland.classpath$read_basis invokeStatic "classpath.clj" 24]
  [lambdaisland.classpath$read_basis invoke "classpath.clj" 18]
  [lambdaisland.launchpad.shadow$find_shadow_roots
   invokeStatic
   "shadow.clj"
   25]
  [lambdaisland.launchpad.shadow$find_shadow_roots
   invoke
   "shadow.clj"
   18]
  [lambdaisland.launchpad.shadow$merged_config
   invokeStatic
   "shadow.clj"
   125]
  [lambdaisland.launchpad.shadow$merged_config
   invoke
   "shadow.clj"
   121]
  [user$eval28760 invokeStatic "NO_SOURCE_FILE" 1]
  [user$eval28760 invoke "NO_SOURCE_FILE" 1]
  [clojure.lang.Compiler eval "Compiler.java" 7757]
  [clojure.lang.Compiler eval "Compiler.java" 7746]
  [clojure.lang.Compiler eval "Compiler.java" 7712]
  [clojure.core$eval invokeStatic "core.clj" 3236]
  [clojure.main$eval_opt invokeStatic "main.clj" 489]
  [clojure.main$eval_opt invoke "main.clj" 483]
  [clojure.main$initialize invokeStatic "main.clj" 509]
  [clojure.main$null_opt invokeStatic "main.clj" 543]
  [clojure.main$null_opt invoke "main.clj" 540]
  [clojure.main$main invokeStatic "main.clj" 665]
  [clojure.main$main doInvoke "main.clj" 617]
  [clojure.lang.RestFn applyTo "RestFn.java" 140]
  [clojure.lang.Var applyTo "Var.java" 707]
  [clojure.main main "main.java" 40]],
 :cause
 "Cannot invoke \"java.io.File.getAbsolutePath()\" because the return value of \"clojure.lang.IFn.invoke(Object)\" is null"}}

Execution error (NullPointerException) at clojure.tools.deps.edn/io-err (edn.clj:43).
Cannot invoke "java.io.File.getAbsolutePath()" because the return value of "clojure.lang.IFn.invoke(Object)" is null