cljs-dev

thheller 2025-04-09T20:13:08.821909Z

@dnolen closure compiler v20250402 is out and as usual has a bunch of breaking changes. one is JsAst being rolled into CompilerInput. this breaks here https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/externs.clj#L241, but can be fixed by simply renaming accordingly. another is this property being gone https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/closure.clj#L197

👀 2
thheller 2025-04-09T20:13:34.624289Z

too tired to dig deeper. I bet there is more though.

🙏🏽 1
thheller 2025-04-13T13:29:32.997199Z

there wasn't in cljs itself. shadow-cljs had a lot more but got everything working

thheller 2025-04-13T13:29:54.387009Z

diff --git a/src/main/clojure/cljs/closure.clj b/src/main/clojure/cljs/closure.clj
index 28faeb04..b215573f 100644
--- a/src/main/clojure/cljs/closure.clj
+++ b/src/main/clojure/cljs/closure.clj
@@ -194,7 +194,6 @@
    :underscore DiagnosticGroups/UNDERSCORE
    :unknown-defines DiagnosticGroups/UNKNOWN_DEFINES
    :unused-local-variable DiagnosticGroups/UNUSED_LOCAL_VARIABLE
-   :unused-private-property DiagnosticGroups/UNUSED_PRIVATE_PROPERTY
    :violated-module-dep DiagnosticGroups/VIOLATED_MODULE_DEP
    :visibility DiagnosticGroups/VISIBILITY})

diff --git a/src/main/clojure/cljs/externs.clj b/src/main/clojure/cljs/externs.clj
index 910643b4..c5343e1b 100644
--- a/src/main/clojure/cljs/externs.clj
+++ b/src/main/clojure/cljs/externs.clj
@@ -12,7 +12,7 @@
             [ :as io]
             [clojure.string :as string])
   (:import [com.google.javascript.jscomp
-            CompilerOptions CompilerOptions$Environment SourceFile JsAst CommandLineRunner]
+            CompilerOptions CompilerOptions$Environment SourceFile CompilerInput CommandLineRunner]
            [com.google.javascript.jscomp.parsing Config$JsDocParsing]
            [com.google.javascript.rhino
             Node Token JSTypeExpression JSDocInfo$Visibility]
@@ -238,7 +238,7 @@
               (com.google.javascript.jscomp.Compiler/setLoggingLevel Level/WARNING)
               compiler)
             (.init (list source-file) '() compiler-options))
-          js-ast (JsAst. source-file)
+          js-ast (CompilerInput. source-file)
           ^Node root (.getAstRoot js-ast closure-compiler)
           ;; TODO: switch to getFirstChild + getNext in the loop
           nodes (.children root)]

thheller 2025-04-13T13:30:37.425109Z

@dnolen how do you feel about updating CLJS? the new closure does require java21+

dnolen 2025-04-13T23:35:39.316769Z

I'm fine w/ that