This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-05-18
Channels
- # announcements (11)
- # architecture (1)
- # aws (2)
- # beginners (101)
- # calva (3)
- # clj-kondo (2)
- # cljdoc (1)
- # cljs-dev (20)
- # clojure (92)
- # clojure-dev (34)
- # clojure-france (1)
- # clojure-italy (2)
- # clojure-spec (13)
- # clojure-uk (3)
- # clojurescript (28)
- # cursive (7)
- # data-science (58)
- # datomic (18)
- # docs (1)
- # fulcro (11)
- # graphql (3)
- # hoplon (25)
- # klipse (3)
- # leiningen (4)
- # nrepl (3)
- # off-topic (57)
- # pedestal (1)
- # portland-or (1)
- # precept (1)
- # reagent (5)
- # reitit (2)
- # rewrite-clj (4)
- # ring (1)
- # shadow-cljs (97)
- # sql (90)
- # tools-deps (2)
hey folks, I would like to know which clojure front-end framework should I use for my application. Any help?
I used only re-frame so far (https://github.com/Day8/re-frame). It has very good documentation.
it depends on your needs. But #reagent is a very popular, relatively simple choice for the UI part. If you need more advanced stste management, add #re-frame to the mix. If you have complex UI needs such as undo , look at #fulcro
I am using material-ui: https://material-ui.com/ it is also available on cljsjs (https://cljsjs.github.io/).
it'll depend on the size of your application and how much time you're willing to spend learning, also how data heavy it is i guess
I'm trying to define a macro for self-hosted cljs and having issues. I tried putting it in the cljc file, and then doing (:require-macros)
on self in :cljs
, but that doesn't seem to be working. Moving the macro into a clj file is difficult because the macro has many :requires.
putting it into a matching .clj
file gives me "Can't take value of macro" even though I'm doing (the-macro [] …)
. This isn't a great solution though because clojure is going to read the .clj file first
ah, moved my require code in a cljs-only function and a semi-circular dependency is allowed in this case because it's macro-expansion.
oh, but now I can't do #?(:cljs)
to detect whether I'm running under bootstrapped cljs 😔
self-host capable macros are fun aren't they? maybe this helps? https://github.com/cgrand/macrovich
Yeah, I've been poking at the source, but not fully certain how to use it without depending on it (it's for a 0-dependency library). My attempts so far haven't worked too well 🙂
heya 👋
I was trying to find some information on how to build/publish libraries made in CLJS to be used in the JS ecosystem but am not finding a lot of information on this topic
there is a nodejs target but that makes isn't quite the right thing for browsers libraries for instance
I figured there might be a similar ESM (ES2015 modules) target but there doesn't see to be one
Is such a usecase (cljs->packaged js->import from js-land) supported, or planned to be supported?
If it's something the team would like to do, I'd like to help out
I'm one of the devs in Angular CLI but not here on official capacity, just as an OSS contributor that is interested in interop
@filipematossilva #shadow-cljs (a CLJS build tool) has a couple options to create commonjs packages (ESM would be simple to add as well). See :node-library
or :npm-module
, eg. https://shadow-cljs.github.io/docs/UsersGuide.html#target-npm-module
Thank you for the direction @thheller, I'll have a look there!
You mentioned it would be easy to add more... Is there some information available online about this? I suppose the general functionality of adding targets
yeah shadow-cljs is built with a target abstraction that lets you easily customize how the output it organized. its mainly just taking the regular CLJS compiler output and moves files into proper places and generates boilerplate for depending on the target platform
Gotcha, thank you