nextjournal/clerk

Clerk in Babashka fails with "Unable to resolve classname: io.methvin.watcher.DirectoryChangeEvent"

neuhalje opened this issue · 2 comments

Expected Result

When I use clerk in a babashka project, it works.

Observed Result when running with Clj

It works

Observed Result when running with Babashka

As soon as I reference nextjournal.clerk, I get an error "Unable to resolve classname: io.methvin.watcher.DirectoryChangeEvent".

The same code runs, when started with vanilla Clojure

❯ bb --version
babashka v1.3.186

Source

Source File

(ns clerk1.command
  (:require
   [clojure.string :as string]
   [nextjournal.clerk :as clerk]  ;; Removing this line makes it work
   ))

bb.edn

{
 :deps {name.neuhalfen/babashka-example {:local/root "."}}
} 

deps.edn

{:paths ["src"]
 :deps {dev.weavejester/medley {:mvn/version "1.7.0"}
        metosin/malli {:mvn/version "0.13.0"}

        ;; Testing libraries
        lambdaisland/kaocha {:mvn/version "1.87.1366"}
        org.clojure/test.check {:mvn/version "1.1.1"}

        io.github.nextjournal/clerk {:mvn/version "0.15.957"}
        }

 :aliases {:test {:extra-paths ["test"]
                  :extra-deps {lambdaisland/kaocha {:mvn/version "1.87.1366"}
                               com.taoensso/timbre {:mvn/version "5.2.1"}
                               org.clojure/test.check {:mvn/version "1.1.1"}}
                  :main-opts ["-m" "kaocha.runner"]}}}
mk commented

This is expected as Clerk currently doesn't support babashka. #232 is an old experimental PR in which we explored adding babashka support but we never saw much demand for this and decided it wasn't worth the added complexity at the time. Feel free to chime in there as to why you'd want/need Babashka support.

Thank you! That saved me a lot of time!