From f735ab92619bb5b482bb9eb5e467282ff49fb661 Mon Sep 17 00:00:00 2001 From: Alex Dao Date: Mon, 7 Nov 2022 23:08:56 -0500 Subject: [PATCH 1/3] munge the :as aliases to avoid invalid js characters --- src/squint/compiler_common.cljc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/squint/compiler_common.cljc b/src/squint/compiler_common.cljc index 7c5e21f..91e4369 100644 --- a/src/squint/compiler_common.cljc +++ b/src/squint/compiler_common.cljc @@ -367,7 +367,8 @@ (let [libname (resolve-ns libname) [libname suffix] (str/split libname #"\$" 2) [p & _props] (when suffix - (str/split suffix #"\."))] + (str/split suffix #"\.")) + as (when as (munge as))] (str (when-not *repl* (when (and as (= "default" p)) @@ -380,7 +381,7 @@ (when *repl* (if (str/ends-with? libname "$default") (statement (format "import %s from '%s'" as (str/replace libname "$default" ""))) - (statement (format "import * as %s from '%s'" as libname))))) + (statement (format "import * as %s from '%s'" as libname))))) (when refer (statement (format "import { %s } from '%s'" (str/join ", " refer) libname)))))) From dac500f7b7719e0e042e96aaae1575335f6eb445 Mon Sep 17 00:00:00 2001 From: Alex Dao Date: Mon, 7 Nov 2022 23:10:35 -0500 Subject: [PATCH 2/3] support lib names like clojure.core --- src/squint/compiler_common.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/squint/compiler_common.cljc b/src/squint/compiler_common.cljc index 91e4369..cc6e1c1 100644 --- a/src/squint/compiler_common.cljc +++ b/src/squint/compiler_common.cljc @@ -365,7 +365,7 @@ (defn process-require-clause [[libname & {:keys [refer as]}]] (let [libname (resolve-ns libname) - [libname suffix] (str/split libname #"\$" 2) + [libname suffix] (str/split (if (string? libname) libname (str libname)) #"\$" 2) [p & _props] (when suffix (str/split suffix #"\.")) as (when as (munge as))] From 868c16ed27de6193dfb2bf3a9019704d5525213d Mon Sep 17 00:00:00 2001 From: Alex Dao Date: Mon, 7 Nov 2022 23:10:45 -0500 Subject: [PATCH 3/3] store munged aliases in *aliases* --- src/squint/compiler_common.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/squint/compiler_common.cljc b/src/squint/compiler_common.cljc index cc6e1c1..75251b0 100644 --- a/src/squint/compiler_common.cljc +++ b/src/squint/compiler_common.cljc @@ -397,7 +397,7 @@ (let [full (resolve-ns full)] (case as (:as :as-alias) - (assoc aliases alias full) + (assoc aliases (munge alias) full) aliases))) {:current name}))) (str