I've just noticed that parse-ns is memoized so there's probably nothing to optimize
is it a good rule for a CLJS linter to have that when a namespace like [cljs.spec.alpha :as s]
is required, that cljs.spec.alpha$macros
is a valid namespace to use?
e.g. now it produces:
FAIL in (unresolved-namespace-test) (unresolved_namespace_test.clj:23)
expected: (empty? (lint! "(ns foo (:require [foo.bar])) (foo.bar$macros/x)"))
actual: (not (empty? ({:file "<stdin>", :row 1, :col 32, :level :warning, :message "Unresolved namespace foo.bar$macros. Are you missing a require?"})))
I now treat it as if it's cljs.spec.alpha
I've never seen that $macros used before