2022 年 5 月 13 日
ClojureScript 團隊
我們很高興宣布 ClojureScript 的新版本。如果您是 ClojureScript 的現有使用者,請仔細閱讀以下發行說明。
此版本包含對 :as-alias
的支援。它新增了 update-vals
和 update-keys
。它引入了 cljs.math
命名空間,為使用 clojure.math
的程式碼提供可攜性。還新增了 iteration
、NaN?
、parse-long
、parse-double
、parse-boolean
和 parse-uuid
。
此版本也移植了 CLJ-2608,為 seqs 的 map-destructuring 新增了對尾隨、可結合元素的支持。
ClojureScript 是 Clojure 生態系中最大的函式庫之一。每次都必須編譯約 20,000 多行的 Clojure 程式碼,對 REPL 的啟動時間和其他典型任務來說是一大打擊。因此,ClojureScript 是預先 (AOT) 編譯的。
然而,由於 AOT 的某些細微之處,可能會導致無法解決的相依性衝突。使用者幾乎在所有宣告的相依性中都遇到了這個問題:transit-clj、data.json 和 tools.reader。
在與 Clojure 團隊協商後,我們決定將所有這些相依性供應商化。這樣一來,我們可以 AOT 一切,並確信我們不會產生無法通過一般相依性管理輕鬆修復的衝突。ClojureScript 不再依賴 transit-clj,只依賴 transit-java。已移除對 data.json 的依賴性。ClojureScript 對 tools.reader 的依賴性是用於較不常見的使用案例 - 將編譯器啟動到 JavaScript。
我們仔細確保了向後相容性,並且我們特別關注人們可能遇到的任何問題。
ClojureScript 的最低 Clojure 版本現在為 1.10。Google Closure Compiler 已更新至 5 月版本。
如需 ClojureScript 1.11.51 的完整更新清單,請參閱此處