Skip to content

Commit 221d8a4

Browse files
committed
stuff missing from last commit
- ns* case - require-global macro - require-global macro REPL support
1 parent 40caf64 commit 221d8a4

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/main/clojure/cljs/analyzer.cljc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3551,7 +3551,8 @@
35513551
(partial use->require env))
35523552
:use-macros (comp (partial parse-require-spec env true deps aliases)
35533553
(partial use->require env))
3554-
:import (partial parse-import-spec env deps)}
3554+
:import (partial parse-import-spec env deps)
3555+
:require-global #(parse-global-require-spec env env/*compiler* deps aliases %)}
35553556
reload (atom {:use nil :require nil :use-macros nil :require-macros nil})
35563557
reloads (atom {})
35573558
{uses :use requires :require renames :rename

src/main/clojure/cljs/core.cljc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3128,6 +3128,13 @@
31283128
[& args]
31293129
`(~'ns* ~(cons :refer-global args)))
31303130

3131+
(core/defmacro require-global
3132+
"Require libraries in the global JS environment.
3133+
3134+
(require-global '[SomeLib :as lib :refer [foo]])"
3135+
[& args]
3136+
`(~'ns* ~(cons :require-global args)))
3137+
31313138
;; INTERNAL - do not use, only for Node.js
31323139
(core/defmacro load-file* [f]
31333140
`(goog/nodeGlobalRequire ~f))

src/main/clojure/cljs/repl.cljc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@
259259
(->> requires
260260
distinct
261261
(remove ana/global-ns?)
262+
(remove ana/external-dep?)
262263
(mapcat #(load-namespace repl-env % opts))
263264
doall)))
264265

@@ -656,7 +657,7 @@
656657
(defn- wrap-fn [form]
657658
(cond
658659
(and (seq? form)
659-
(#{'ns 'require 'require-macros 'refer-global
660+
(#{'ns 'require 'require-macros 'refer-global 'require-global
660661
'use 'use-macros 'import 'refer-clojure} (first form)))
661662
identity
662663

0 commit comments

Comments
 (0)