-
Notifications
You must be signed in to change notification settings - Fork 921
Update ClojureScript #1973
Comments
@cldwalker, I would like to participate on solving this issue as it feels like a mayor blocker for such important thing as automated testing. It looks like long time there was no activity... Are there any blockers? Regarding the QA checklist it would be nice to automate it, I'm referring: https://github.com/electron/electron/blob/master/docs/tutorial/using-selenium-and-webdriver.md |
@lks128 There's a checklist of items at the top of the issue. Also see the referenced issues and PRs for other details. |
@lks128 Great! Attempting to fix any of the Fix items would be appreciated. As outlined in the first items, steps to setup an upgrade environment: upgrade cljs, lein-cljsbuild and |
@cldwalker or @kenny-evitt, could you clarify what this means, or how I would go about making sure the extend-types are properly updated? |
@sbauer322 I don't know what that means. @rundis – thoughts? |
@kenny-evitt not sure if you get notifications on highlights for LightTable/fetch, but I opened an issue asking for a release since it seems to address some warnings during the build. Just wanted to mention it here too! |
@sbauer322 Hi. This means you'll need to familiarize yourself with core protocols in cljs.cljs e.g. IFn and ensure they are being implemented correctly w/ a modern clojurescript. Then you should understand how these extensions are used and verify none of them are behaving differently enough to cause bugs. Fwiw, none of the core team has written these extensions |
The following branch was created to better track work being done for this issue: https://github.com/LightTable/LightTable/tree/1973-update-clojurescript Until a pull request is open, consider it a WIP and subject to change (and force pushes). Remaining work to complete on the branch:
|
Maybe release a 0.9.0-rc first, so that we can have feedbacks. This seems like a break-prone update. |
I am hesitant to make a proper release candidate until the upgrading is restored in some form. That said, it would make sense to have this clojurescript upgrade merged into a 0.9.0-rc branch rather than master due to the potential for breakage as you mentioned. If we get our upgrading fixed and implement something like this edge release issue then having release candidates would be much more feasible. |
Updating ClojureScript is important because it's preventing us from using cljs.test (#1647) and having a modern ClojureScript for plugin authors and to encourage more contributors
and more importantly from evaling in modern clj/cljs projects (LightTable/Clojure#52).It is likely that the remaining items will require one monolithic branch. We can't partially upgrade cljs on master as master needs to be fully working. Here is a running list of known todos needed to update cljs:
lt.util.cljs/clj->js
andlt.util.cljs/js->clj
and rely on the fns of the same name that come with clojurescriptlein cljsbuild
. Known warnings to fix include missing requires and prefix JSON e.g. js/JSONlein cljsbuild once cljsdeps
arguments$ is not defined
. See BenjaminVanRyseghem@4e647f8 for an attempted fixprn
. Trying to prn a LT object sometimes doesn't show upNote that upgrading cljs is being attempted in #1952 and was last attempted by Chris in 8e73f59.For this upgrade to be considered successful, the branch must pass our QA checklistOnce this is done, see #1991 for follow work to be done
The text was updated successfully, but these errors were encountered: