shadow-cljs

borkdude 2026-01-26T14:10:31.786769Z

Hmm, in CI I'm getting a failure like this: Caused by: java.io.FileNotFoundException: Could not locate shadow/cljs__init.class, shadow/cljs.clj or shadow/cljs.cljc on classpath. My deps look like this: ๐Ÿงต

โœ… 1
borkdude 2026-01-26T14:10:41.647619Z

thheller/shadow-cljs 3.3.5
  . org.clojure/data.json 2.5.1
  . org.clojure/tools.cli 1.1.230
  . org.clojure/tools.reader 1.5.2
  . nrepl/nrepl 1.3.1
  . cider/piggieback 0.6.0
  . com.cognitect/transit-clj 1.0.333
    . com.cognitect/transit-java 1.0.371
      . com.fasterxml.jackson.core/jackson-core 2.14.2
      . org.msgpack/msgpack 0.6.12
        . com.googlecode.json-simple/json-simple 1.1.1
        . org.javassist/javassist 3.18.1-GA
      . javax.xml.bind/jaxb-api 2.4.0-b180830.0359
        . javax.activation/javax.activation-api 1.2.0
  . com.cognitect/transit-cljs 0.8.280
    . com.cognitect/transit-js 0.8.874
  . org.clojure/core.async 1.8.741
    . org.clojure/tools.analyzer.jvm 1.3.2
      . org.clojure/tools.analyzer 1.2.0
      . org.clojure/core.memoize 1.1.266
        . org.clojure/core.cache 1.1.234
          . org.clojure/data.priority-map 1.2.0
      . org.ow2.asm/asm 9.2
      X org.clojure/tools.reader 1.5.0 :older-version

borkdude 2026-01-26T14:11:42.775879Z

sorry, incomplete:

. org.clojure/clojurescript 1.12.134
    X com.cognitect/transit-java 1.0.362 :older-version
    X org.clojure/tools.reader 1.3.6 :older-version
  . com.google.javascript/closure-compiler v20250407
  . org.clojure/google-closure-library 0.0-20250515-f04e4c0e
    . org.clojure/google-closure-library-third-party 0.0-20250515-f04e4c0e
  . org.clojure/google-closure-library-third-party 0.0-20250515-f04e4c0e
  . thheller/shadow-util 0.7.0
    . hiccup/hiccup 1.0.5
  . thheller/shadow-client 1.4.0
    . hiccup/hiccup 1.0.5
  . thheller/shadow-undertow 0.3.4
    X org.clojure/core.async 1.5.648 :older-version
    . io.undertow/undertow-core 2.3.10.Final
      . org.jboss.logging/jboss-logging 3.4.3.Final
      . org.jboss.xnio/xnio-api 3.8.8.Final
        . org.wildfly.common/wildfly-common 1.5.4.Final
        . org.wildfly.client/wildfly-client-config 1.0.1.Final
          X org.jboss.logging/jboss-logging 3.3.1.Final :older-version
      . org.jboss.xnio/xnio-nio 3.8.8.Final
        . org.jboss.xnio/xnio-api 3.8.8.Final
          X org.jboss.threads/jboss-threads 2.3.6.Final :older-version
      . org.jboss.threads/jboss-threads 3.5.0.Final
        X org.jboss.logging/jboss-logging 3.4.1.Final :older-version
  . thheller/shadow-cljsjs 0.0.22
  . hiccup/hiccup 1.0.5
  . ring/ring-core 1.14.1
    . org.ring-clojure/ring-core-protocols 1.14.1
    . org.ring-clojure/ring-websocket-protocols 1.14.1
    . ring/ring-codec 1.3.0
    . commons-io/commons-io 2.18.0
    . org.apache.commons/commons-fileupload2-core 2.0.0-M2
      X commons-io/commons-io 2.15.1 :older-version
    . crypto-random/crypto-random 1.2.1
      . commons-codec/commons-codec 1.15
    . crypto-equality/crypto-equality 1.0.1
  . io.methvin/directory-watcher 0.19.0
    . net.java.dev.jna/jna 5.16.0
    . org.slf4j/slf4j-api 1.7.36
  . expound/expound 0.9.0
  . fipp/fipp 0.6.27
    . org.clojure/core.rrb-vector 0.1.2
  . com.bhauman/cljs-test-display 0.1.1

borkdude 2026-01-26T14:12:53.670779Z

locally everything runs fine

borkdude 2026-01-26T14:13:30.729009Z

Full CI run here: https://github.com/squint-cljs/squint/actions/runs/21360598014/job/61478617200 I also tried to downgrade to 3.3.4 but this also had the same error

borkdude 2026-01-26T14:16:23.126099Z

Maybe relevant?

lassemaatta 2026-01-26T14:21:38.975149Z

this is way above my paygrade, but the offending line seems to be https://github.com/thheller/shadow-cljs/blob/4973aea864f16c34368d3a3bc1fa62ceb46ef866/src/main/shadow/cljs/devtools/api.clj#L8

borkdude 2026-01-26T14:22:27.968779Z

:as-alias doesn't normally load the namespace

lassemaatta 2026-01-26T14:22:45.963439Z

yeah, exactly

borkdude 2026-01-26T14:22:48.506439Z

maybe a new bug in 1.12.4...

borkdude 2026-01-26T14:22:55.457689Z

I'm using 1.12.1 locally

borkdude 2026-01-26T14:23:03.462719Z

let's test

borkdude 2026-01-26T14:23:48.751699Z

$ clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.12.4"}}}'
Clojure 1.12.4
user=> (ns foo (:require [shadow.cljs :as-alias m]))
nil

borkdude 2026-01-26T14:24:01.280779Z

I'll force the clojure version in CI just in case

borkdude 2026-01-26T14:25:35.247989Z

oooh wow, that's it

borkdude 2026-01-26T14:25:36.353349Z

wild

borkdude 2026-01-26T14:28:18.514869Z

I can't repro locally when I force it to 1.12.4 though

borkdude 2026-01-26T14:28:29.221289Z

Perhaps some AOT thingie in there as well? Not sure.

lassemaatta 2026-01-26T14:33:00.919769Z

this is a really wild guess, but it looks like it's running clojure < 1.11? For example at clojure.core$load_lib.doInvoke(core.clj:5917) matches 1.10.3

borkdude 2026-01-26T14:33:18.736309Z

it's not

borkdude 2026-01-26T14:33:49.912599Z

or at least, it should not...

borkdude 2026-01-26T14:33:52.031309Z

let me double check

lassemaatta 2026-01-26T14:38:11.098329Z

> Run DeLaGuardo/setup-clojure@12.5 > with: > cli: 1.10.3.1040

lassemaatta 2026-01-26T14:38:32.977629Z

^ that's from your job output

borkdude 2026-01-26T14:39:15.462419Z

you're right! I just found that too. I didn't realize that shadow-cljs shell out to the ambient CLI version, but that makes sense and I didn't realize I had an old cli around! bingo. thanks

๐Ÿ‘ 1