Skip to content

Commit 487404c

Browse files
kommendnolen
authored andcommitted
CLJS-2706: Better error messages when missing namespaces contain dashes
1 parent d9ff913 commit 487404c

3 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/main/clojure/cljs/analyzer.cljc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,9 @@
309309
(str "No such namespace: " ns-sym
310310
", could not locate " (ns->relpath ns-sym :cljs)
311311
", " (ns->relpath ns-sym :cljc)
312-
", or JavaScript source providing \"" js-provide "\""))
312+
", or JavaScript source providing \"" js-provide "\""
313+
(when (string/includes? (ns->relpath ns-sym) "_")
314+
" (Please check that namespaces with dashes use underscores in the ClojureScript file name)")))
313315

314316
(defmethod error-message :undeclared-macros-ns
315317
[warning-type {:keys [ns-sym js-provide] :as info}]

src/main/clojure/cljs/cli.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,9 @@ present"
373373
(when-not src
374374
(throw
375375
(ex-info
376-
(str "Namespace " main " does not exist")
376+
(str "Namespace " main " does not exist."
377+
(when (string/includes? main "-")
378+
" Please check that namespaces with dashes use underscores in the ClojureScript file name."))
377379
{:cljs.main/error :invalid-arg})))
378380
(repl/load-stream renv (util/get-name src) src)
379381
(repl/evaluate-form renv (ana-api/empty-env) "<cljs repl>"

src/main/clojure/cljs/closure.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,9 @@
805805
{:relative-path relpath :uri js-res :ext :js}
806806
(throw
807807
(IllegalArgumentException.
808-
(str "Namespace " ns " does not exist"))))))))))))
808+
(str "Namespace " ns " does not exist."
809+
(when (string/includes? ns "-")
810+
" Please check that namespaces with dashes use underscores in the ClojureScript file name.")))))))))))))
809811

810812
(defn cljs-dependencies
811813
"Given a list of all required namespaces, return a list of

0 commit comments

Comments
 (0)