请分享您的想法至 2024 Clojure 状态调研!

欢迎!请访问 关于页面 了解更多关于其工作方式的信息。

0
ClojureScript
通过 CLJS-2298,增加了在“在用户的工作空间中”找到的 {{user.cljs}} 或 {{user.cljc}} 文件自动加载的支持。特别是,该修订版涉及到特别检查在类路径上找到的任何候选者实际上是在磁盘上的文件,而不是在 JAR 中发现的文件。(参见 https://github.com/clojure/clojurescript/blob/6eedd0a08c49f7b0d4dcb30977b2fb38c90577bd/src/main/clojure/cljs/repl.cljc#L966)。

如果您相反地(通过 git 依赖关系)依赖于一个具有 {{user.cljs}} 或 {{user.cljc}} 文件的库,那么仅检查它是否是一个文件作为保护措施是不够的。此外,我们还应排除在 gitlibs 中发现的任何文件。我们可以通过重新使用类似于 {{cljs.closure/gitlibs-src?}} 的函数来做到这一点。(参见 https://github.com/clojure/clojurescript/blob/c2f5aba2f59cf30dbc13c968d8ee3f0e4359d38c/src/main/clojure/cljs/closure.clj#L64)请注意,我们不能直接天真地重用此函数,因为它临时设置为返回 {{false}}。但是,可以将这些功能的一部分插入到 util 命名空间中并从 REPL 中重用。

2 答案

0

评论者:namenu

我不知道如何为这个补丁添加测试。

然而,我已经手动测试了

  • gitlibs 中的 {{user.cljs}} 没有自动加载。
  • 当前工作空间的 {{user.cljs}} 仍然可以自动加载。
0
参考:https://clojure.atlassian.net/browse/CLJS-2935 (由mfikes报告)
...