[ClojureScript] Re: ClojureScript Google Closure Module support

2015-01-11 Thread David Nolen
Yes the point is that #2 is a separate interesting discussion on its own
right.

But I only want feedback about how to compute modules.

On Sunday, January 11, 2015, Mike Haney  wrote:

> So just to be clear, this is a compiler change only?  There are no
> proposed changes to namespace loading, i.e. if you load a namespace and the
> module hasn't been loaded yet, it will just fail?
>
> That's fine with me, I just want to make sure everyone's on the same page.
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com .
> To post to this group, send email to clojurescript@googlegroups.com
> .
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] Re: ClojureScript Google Closure Module support

2015-01-11 Thread Mike Haney
So just to be clear, this is a compiler change only?  There are no proposed 
changes to namespace loading, i.e. if you load a namespace and the module 
hasn't been loaded yet, it will just fail?

That's fine with me, I just want to make sure everyone's on the same page.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu wrote:
> Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
> Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
> Google Closure provides a ton of advanced compilation compatible 
> functionality you would otherwise be using jQuery for. 

The only functionality I'm struggling with now is the 'modal' function on my 
bootstrap modal dialogue.  If I can figure it out, I'll be good to drop jQuery.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] Re: ClojureScript Google Closure Module support

2015-01-11 Thread David Nolen
#2 isn't on the table for this. Let's keep this thread focused please.
Thanks.

--module is described at the command line when querying help for the Google
Closure Compuler.

On Sunday, January 11, 2015, Daniel Kersten  wrote:

> Re #2, for me this is interesting for performance than anything else. Ie
> loading only what is needed, when needed.
>
> David, do you have a link or anything for closure modules by any chance?
> Despite being a search company, I've found it difficult to turn up much in
> the way of documentation. I did see goog.module.* especially
> goog.module.ModuleLoader and goog.module.ModuleManager in the reference,
> but I find references alone difficult to use to figure out how to actually
> use something.
> It looks like this should enable #2, but I don't know how to actually do
> it.
>
> On Mon, 12 Jan 2015 01:32 David Nolen  > wrote:
>
>> 2 is out of scope wrt. compiler support. But as far as I know this is
>> something that should be solvable on your own with Closure Modules.
>>
>> On Sunday, January 11, 2015, Mike Haney > > wrote:
>>
>>> There are 2 use cases I would like to see supported by this:
>>>
>>> 1) generating multiple apps from the same code base.  For my current
>>> project, there is the main web app, an admin interface, and a mobile
>>> (Cordova) version.  There is a lot of shared code, and currently I am just
>>> cheating and building one big app with 3 different entry points.  This
>>> isn't sustainable, particularly on mobile where I'm loading a ton of
>>> unnecessary code.  Currently, the only ways I know to address this are a)
>>> split the shared code out to libraries, which is less convenient for
>>> development or b) switch to shadow-build, which requires learning yet
>>> another build tool.
>>>
>>> 2) it would also be nice to dynamically load modules as needed, such as
>>> the first time the user navigates to a particular section of the app.
>>> Another application of this would be loading modules based on user
>>> permissions.  I can hide restricted areas and do runtime checks, but if the
>>> code is there for stuff the user isn't allowed to do, then there is always
>>> a risk of hacking.  It would be better to only load the code if the user is
>>> authorized.
>>>
>>> From your short description, #1 seems very plausible.  I'm not sure if
>>> #2 can be done, even with what you are describing.  I remember some time
>>> ago reading about limitations in Closure itself not being able to
>>> dynamically load modules after the page had loaded.  Maybe that has been
>>> fixed in later versions, not sure.
>>>
>>> --
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "ClojureScript" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojurescript+unsubscr...@googlegroups.com.
>>> To post to this group, send email to clojurescript@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>  --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com
>> 
>> .
>> To post to this group, send email to clojurescript@googlegroups.com
>> .
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com
> 
> .
> To post to this group, send email to clojurescript@googlegroups.com
> .
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Re: ClojureScript Google Closure Module support

2015-01-11 Thread Daniel Kersten
Re #2, for me this is interesting for performance than anything else. Ie
loading only what is needed, when needed.

David, do you have a link or anything for closure modules by any chance?
Despite being a search company, I've found it difficult to turn up much in
the way of documentation. I did see goog.module.* especially
goog.module.ModuleLoader and goog.module.ModuleManager in the reference,
but I find references alone difficult to use to figure out how to actually
use something.
It looks like this should enable #2, but I don't know how to actually do it.

On Mon, 12 Jan 2015 01:32 David Nolen  wrote:

> 2 is out of scope wrt. compiler support. But as far as I know this is
> something that should be solvable on your own with Closure Modules.
>
> On Sunday, January 11, 2015, Mike Haney  wrote:
>
>> There are 2 use cases I would like to see supported by this:
>>
>> 1) generating multiple apps from the same code base.  For my current
>> project, there is the main web app, an admin interface, and a mobile
>> (Cordova) version.  There is a lot of shared code, and currently I am just
>> cheating and building one big app with 3 different entry points.  This
>> isn't sustainable, particularly on mobile where I'm loading a ton of
>> unnecessary code.  Currently, the only ways I know to address this are a)
>> split the shared code out to libraries, which is less convenient for
>> development or b) switch to shadow-build, which requires learning yet
>> another build tool.
>>
>> 2) it would also be nice to dynamically load modules as needed, such as
>> the first time the user navigates to a particular section of the app.
>> Another application of this would be loading modules based on user
>> permissions.  I can hide restricted areas and do runtime checks, but if the
>> code is there for stuff the user isn't allowed to do, then there is always
>> a risk of hacking.  It would be better to only load the code if the user is
>> authorized.
>>
>> From your short description, #1 seems very plausible.  I'm not sure if #2
>> can be done, even with what you are describing.  I remember some time ago
>> reading about limitations in Closure itself not being able to dynamically
>> load modules after the page had loaded.  Maybe that has been fixed in later
>> versions, not sure.
>>
>> --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojurescript@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread David Nolen
prim-seq

On Sunday, January 11, 2015, Jonathon McKitrick 
wrote:

> Well, that's better than what I was using:
>
> (set! (.-display (.-style (goog.dom/getElement "rcontent"))) "block")
>
> Now, why can't I turn an HTMLOptionsCollection into a seq?
>
> On Sunday, January 11, 2015 at 7:11:24 PM UTC-5, David Nolen wrote:
> > Use goog.dom.classes
> >
> >
> http://docs.closure-library.googlecode.com/git-history/b75212a4258f8190d08fd518e16efe764d9d/closure_goog_dom_classes.js.html
> >
> >
> > goog.dom.classes.toggle with a CSS display none class should get the job
> done.
> >
> >
> > That or you can use goog.dom.style
> >
> >
> > goog.dom.style.setStyle(el, "display", "none");
> >
> >
> >
> > David
> >
> >
> > On Sun, Jan 11, 2015 at 7:01 PM, Jonathon McKitrick  > wrote:
> > On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu
>  wrote:
> >
> > > Hmm, perhaps the minified jQuery is doing its own munging. I have no
> idea. Sorry. :( If you don't *really* need jQuery, you should probably
> elide it. Google Closure provides a ton of advanced compilation compatible
> functionality you would otherwise be using jQuery for.
> >
> >
> >
> > I almost have it figured out.  If I can show/hide elements via Closure,
> I can jettison jQuery.  I just can't seem to find any decent examples of
> that yet
> >
> >
> >
> >
> >
> > --
> >
> > Note that posts from new members are moderated - please be patient with
> your first post.
> >
> > ---
> >
> > You received this message because you are subscribed to the Google
> Groups "ClojureScript" group.
> >
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to clojurescrip...@googlegroups.com .
> >
> > To post to this group, send email to clojur...@googlegroups.com
> .
> >
> > Visit this group at http://groups.google.com/group/clojurescript.
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com .
> To post to this group, send email to clojurescript@googlegroups.com
> .
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] Re: ClojureScript Google Closure Module support

2015-01-11 Thread David Nolen
2 is out of scope wrt. compiler support. But as far as I know this is
something that should be solvable on your own with Closure Modules.

On Sunday, January 11, 2015, Mike Haney  wrote:

> There are 2 use cases I would like to see supported by this:
>
> 1) generating multiple apps from the same code base.  For my current
> project, there is the main web app, an admin interface, and a mobile
> (Cordova) version.  There is a lot of shared code, and currently I am just
> cheating and building one big app with 3 different entry points.  This
> isn't sustainable, particularly on mobile where I'm loading a ton of
> unnecessary code.  Currently, the only ways I know to address this are a)
> split the shared code out to libraries, which is less convenient for
> development or b) switch to shadow-build, which requires learning yet
> another build tool.
>
> 2) it would also be nice to dynamically load modules as needed, such as
> the first time the user navigates to a particular section of the app.
> Another application of this would be loading modules based on user
> permissions.  I can hide restricted areas and do runtime checks, but if the
> code is there for stuff the user isn't allowed to do, then there is always
> a risk of hacking.  It would be better to only load the code if the user is
> authorized.
>
> From your short description, #1 seems very plausible.  I'm not sure if #2
> can be done, even with what you are describing.  I remember some time ago
> reading about limitations in Closure itself not being able to dynamically
> load modules after the page had loaded.  Maybe that has been fixed in later
> versions, not sure.
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com .
> To post to this group, send email to clojurescript@googlegroups.com
> .
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] ClojureScript Google Closure Module support

2015-01-11 Thread Mike Haney
There are 2 use cases I would like to see supported by this:

1) generating multiple apps from the same code base.  For my current project, 
there is the main web app, an admin interface, and a mobile (Cordova) version.  
There is a lot of shared code, and currently I am just cheating and building 
one big app with 3 different entry points.  This isn't sustainable, 
particularly on mobile where I'm loading a ton of unnecessary code.  Currently, 
the only ways I know to address this are a) split the shared code out to 
libraries, which is less convenient for development or b) switch to 
shadow-build, which requires learning yet another build tool.

2) it would also be nice to dynamically load modules as needed, such as the 
first time the user navigates to a particular section of the app.  Another 
application of this would be loading modules based on user permissions.  I can 
hide restricted areas and do runtime checks, but if the code is there for stuff 
the user isn't allowed to do, then there is always a risk of hacking.  It would 
be better to only load the code if the user is authorized.

>From your short description, #1 seems very plausible.  I'm not sure if #2 can 
>be done, even with what you are describing.  I remember some time ago reading 
>about limitations in Closure itself not being able to dynamically load modules 
>after the page had loaded.  Maybe that has been fixed in later versions, not 
>sure.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Well, that's better than what I was using:

(set! (.-display (.-style (goog.dom/getElement "rcontent"))) "block")

Now, why can't I turn an HTMLOptionsCollection into a seq?

On Sunday, January 11, 2015 at 7:11:24 PM UTC-5, David Nolen wrote:
> Use goog.dom.classes
> 
> http://docs.closure-library.googlecode.com/git-history/b75212a4258f8190d08fd518e16efe764d9d/closure_goog_dom_classes.js.html
> 
> 
> goog.dom.classes.toggle with a CSS display none class should get the job done.
> 
> 
> That or you can use goog.dom.style
> 
> 
> goog.dom.style.setStyle(el, "display", "none");
> 
> 
> 
> David
> 
> 
> On Sun, Jan 11, 2015 at 7:01 PM, Jonathon McKitrick  
> wrote:
> On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu wrote:
> 
> > Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
> > Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
> > Google Closure provides a ton of advanced compilation compatible 
> > functionality you would otherwise be using jQuery for.
> 
> 
> 
> I almost have it figured out.  If I can show/hide elements via Closure, I can 
> jettison jQuery.  I just can't seem to find any decent examples of that 
> yet
> 
> 
> 
> 
> 
> --
> 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> 
> ---
> 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> 
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojurescrip...@googlegroups.com.
> 
> To post to this group, send email to clojur...@googlegroups.com.
> 
> Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread David Nolen
Use goog.dom.classes

http://docs.closure-library.googlecode.com/git-history/b75212a4258f8190d08fd518e16efe764d9d/closure_goog_dom_classes.js.html

goog.dom.classes.toggle with a CSS display none class should get the job
done.

That or you can use goog.dom.style

goog.dom.style.setStyle(el, "display", "none");

David

On Sun, Jan 11, 2015 at 7:01 PM, Jonathon McKitrick 
wrote:

> On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu
> wrote:
> > Hmm, perhaps the minified jQuery is doing its own munging. I have no
> idea. Sorry. :( If you don't *really* need jQuery, you should probably
> elide it. Google Closure provides a ton of advanced compilation compatible
> functionality you would otherwise be using jQuery for.
>
> I almost have it figured out.  If I can show/hide elements via Closure, I
> can jettison jQuery.  I just can't seem to find any decent examples of that
> yet
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
On Sunday, January 11, 2015 at 7:01:55 PM UTC-5, Jonathon McKitrick wrote:
> On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu wrote:
> > Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
> > Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
> > Google Closure provides a ton of advanced compilation compatible 
> > functionality you would otherwise be using jQuery for. 
> 
> I almost have it figured out.  If I can show/hide elements via Closure, I can 
> jettison jQuery.  I just can't seem to find any decent examples of that 
> yet

Javascript interop 'set!' might do it.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
On Sunday, January 11, 2015 at 7:01:55 PM UTC-5, Jonathon McKitrick wrote:
> On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu wrote:
> > Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
> > Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
> > Google Closure provides a ton of advanced compilation compatible 
> > functionality you would otherwise be using jQuery for. 
> 
> I almost have it figured out.  If I can show/hide elements via Closure, I can 
> jettison jQuery.  I just can't seem to find any decent examples of that 
> yet

Javascript interop might do it

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
On Sunday, January 11, 2015 at 5:24:13 PM UTC-5, adrian...@mail.yu.edu wrote:
> Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
> Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
> Google Closure provides a ton of advanced compilation compatible 
> functionality you would otherwise be using jQuery for. 

I almost have it figured out.  If I can show/hide elements via Closure, I can 
jettison jQuery.  I just can't seem to find any decent examples of that yet

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] ClojureScript Google Closure Module support

2015-01-11 Thread David Nolen
Currently looking into supporting Google Closure Modules. They allow
breaking up advanced compiled builds so everything need not be loaded all
at once. This would help a lot with load latency in larger ClojureScript
applications.

A basic sketch underway here:

https://gist.github.com/swannodette/0eaf17815d49b7b77a95

Feedback welcome.

David

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Rum: new ClojureScript wrapper for React. Decomplected, extensible, simple

2015-01-11 Thread Mike Haney
First, I want to point out that I am NOT knocking Reagent at all.  I have used 
it for months now and I like the library and have been a very vocal proponent 
of it on this group and elsewhere.  For many if not most apps, it's all you 
will ever need.

That being said, there are 2 challenges I am facing on this project that Rum 
seems to be a better fit for.  Not that I wasn't "making do" with Reagent, but 
Rum seems to provide some advantages for my use case, enough so that I was 
willing to take on the risk of switching to it mid-project.

First, I really need Datascript.  We are using Firebase for the back end, and 
although it provides numerous advantages, one disadvantage is that for 
performance to be acceptable, your data has to be highly de-normalized.  This 
presents some challenges with coordinating queries and updates, and Datascript 
really helps me to model data in a sane way for my app to consume.  And as I 
pointed out earlier, it is much easier to integrate Datascript with Rum.

Second, I want leverage in the form of a more data-driven approach to the UI.  
I have completed about 20% of the functionality for this project, addressing 
the most critical needs of the customer.  I have been working on building a 
data model over the current functionality so that the rest of the app can be 
data driven, and Rum looks really promising in this area.

Not that I couldn't do this in Reagent - it's definitely possible to 
dynamically build components by composing lifecycle functions and building a 
map to pass to reagent/create-class.  But in Rum there is a well-defined API 
for doing this, and in fact the entire library is built on the same 
abstractions you use when creating your own mix-ins.  This seems to me like a 
more solid foundation on which to build my abstractions.

On Sunday, January 11, 2015 at 10:41:15 AM UTC-6, Matt Ho wrote:
> Could you describe some of these cases where the Reagent model isn't 
> expressive enough?  I'm having a hard time understanding the use case.
> 
> Thanks!
> 
> M

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread adrian . medina
Hmm, perhaps the minified jQuery is doing its own munging. I have no idea. 
Sorry. :( If you don't *really* need jQuery, you should probably elide it. 
Google Closure provides a ton of advanced compilation compatible functionality 
you would otherwise be using jQuery for. 

On Sunday, January 11, 2015 at 4:29:01 PM UTC-5, Jonathon McKitrick wrote:
> On Sunday, January 11, 2015 at 4:22:08 PM UTC-5, adrian...@mail.yu.edu wrote:
> > That's almost certainly an externs issue. Looks to me like you need to 
> > supply externs for react.js. 
> 
> When I add "reagent/react.js" to the externs vector, I get this error:
> 
> Jan 11, 2015 4:27:43 PM com.google.javascript.jscomp.LoggerErrorManager 
> println
> SEVERE: ERROR - Duplicate extern input: 
> /Users/jmckitrick/devel/cljs/pts/resources/reagent/react.js

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Mike Fikes
Hi Jonathon, try the :pseudo-names compiler option [1] to get more insight into 
what might be going wrong with your "is not a function" error.

[1] https://github.com/clojure/clojurescript/wiki/Compiler-Options#pseudo-names

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
On Sunday, January 11, 2015 at 4:22:08 PM UTC-5, adrian...@mail.yu.edu wrote:
> That's almost certainly an externs issue. Looks to me like you need to supply 
> externs for react.js. 

When I add "reagent/react.js" to the externs vector, I get this error:

Jan 11, 2015 4:27:43 PM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: ERROR - Duplicate extern input: 
/Users/jmckitrick/devel/cljs/pts/resources/reagent/react.js

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread adrian . medina
That's almost certainly an externs issue. Looks to me like you need to supply 
externs for react.js. 

On Sunday, January 11, 2015 at 4:00:19 PM UTC-5, Jonathon McKitrick wrote:
> Let's try this again, with more isolated cases.  I now have 2 working build 
> profiles, prod and dev.  The dev code is working the way I want, but I want 
> full optimizations for the prod build.  Currently, I get this error in an 
> event handler of my app:
> 
> TypeError: kt.a(...).Hf is not a function
> 
> This is deep inside the CLJS code, I believe, as opposed to jQuery or 
> Reagent.  It must be a munging issue, but I'm not sure if I need an 
> adjustment in externs or somewhere else.
> 
> Build profiles:
> 
> {:dev
>{:source-paths ["src/cljs"]
> :compiler {:output-to "resources/public/js/main.js"
>:preamble ["reagent/react.js"]
>:optimizations :simple
>:pretty-print true
>:output-dir "resources/public/js/"
>:source-map "resources/public/js/main.js.map"
>:cache-analysis true}}
>:prod
>{:source-paths ["src/cljs"]
> :compiler {:output-to "resources/public/js/main.js"
>:preamble ["reagent/react.js"]
>:optimizations :advanced
>:externs ["jquery/jquery-2.1.1.min.js"]}}}

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Let's try this again, with more isolated cases.  I now have 2 working build 
profiles, prod and dev.  The dev code is working the way I want, but I want 
full optimizations for the prod build.  Currently, I get this error in an event 
handler of my app:

TypeError: kt.a(...).Hf is not a function

This is deep inside the CLJS code, I believe, as opposed to jQuery or Reagent.  
It must be a munging issue, but I'm not sure if I need an adjustment in externs 
or somewhere else.

Build profiles:

{:dev
   {:source-paths ["src/cljs"]
:compiler {:output-to "resources/public/js/main.js"
   :preamble ["reagent/react.js"]
   :optimizations :simple
   :pretty-print true
   :output-dir "resources/public/js/"
   :source-map "resources/public/js/main.js.map"
   :cache-analysis true}}
   :prod
   {:source-paths ["src/cljs"]
:compiler {:output-to "resources/public/js/main.js"
   :preamble ["reagent/react.js"]
   :optimizations :advanced
   :externs ["jquery/jquery-2.1.1.min.js"]}}}

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Rum: new ClojureScript wrapper for React. Decomplected, extensible, simple

2015-01-11 Thread Nikita Prokopov
Matt,

if you keep all your state in Reagent atoms, that’s perfectly fine, you’ll 
probably get no benefits from moving to Rum.

Rum idea is not to lock you down to a single storage model. Sometimes your 
dataflow is trickier that just atoms, e.g. you need components to react to 
DataScript events, core.async channels, ajax/websocket/webworker callbacks. In 
that case Rum provides well-defined API and set of basic building blocks to 
write components you need to.

Conceptually Rum is on the same level of abstraction as Reagent or Om, but it 
offers additional promise: lower-level details are well-defined and open for 
extensions.

Nikita.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread adrian . medina
That looks like it is almost there; try uncommenting :optimizations :advanced 
as well as :externs and remove the trailing slash from :output-dir. I don't 
think the latter actually matters, but for the purposes of debugging I like to 
isolate sources of uncertainty. 

On Sunday, January 11, 2015 at 1:54:08 PM UTC-5, Jonathon McKitrick wrote:
> > Specify :source-map "path/to/source.map.js" in your :compiler options.
> 
> I'm making progress.  I couldn't get source-map to work with output-dir and a 
> simple filename.  It needed the entire path, as you posted.
> 
> Next, I had to disable :closure-warnings because of this error:
> 
> Compiling "resources/public/js/main.js" failed.
> java.lang.NullPointerException
> at 
> com.google.javascript.jscomp.DiagnosticGroupWarningsGuard.disables(DiagnosticGroupWarningsGuard.java:42)
> at 
> com.google.javascript.jscomp.ComposeWarningsGuard.enables(ComposeWarningsGuard.java:154)
> 
> Here's my current setup.  Don't mind the commented-out lines.  The current 
> issue is that Safari is showing the source maps, but not Firefox or Chrome.  
> Source maps are enabled in both browsers.
> 
>   :cljsbuild {:builds
>   {:prod
>{:source-paths ["src/cljs"]
> :compiler {;:output-to "main.js"
>:output-to "resources/public/js/main.js"
>:output-dir "resources/public/js/"
>;:optimizations :advanced
>;:pretty-print false
>:preamble ["jquery/jquery-2.1.1.min.js" 
> "reagent/react.js"]
>;:externs ["jquery/jquery-2.1.1.min.js"]
>:source-map "resources/public/js/main.js.map"
>;:source-map "main.js.map"
>;:closure-warnings {:extern-validations :off 
> :non-standard-jsdoc :off}
>;:cache-analysis true
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
> Specify :source-map "path/to/source.map.js" in your :compiler options.

I'm making progress.  I couldn't get source-map to work with output-dir and a 
simple filename.  It needed the entire path, as you posted.

Next, I had to disable :closure-warnings because of this error:

Compiling "resources/public/js/main.js" failed.
java.lang.NullPointerException
at 
com.google.javascript.jscomp.DiagnosticGroupWarningsGuard.disables(DiagnosticGroupWarningsGuard.java:42)
at 
com.google.javascript.jscomp.ComposeWarningsGuard.enables(ComposeWarningsGuard.java:154)

Here's my current setup.  Don't mind the commented-out lines.  The current 
issue is that Safari is showing the source maps, but not Firefox or Chrome.  
Source maps are enabled in both browsers.

  :cljsbuild {:builds
  {:prod
   {:source-paths ["src/cljs"]
:compiler {;:output-to "main.js"
   :output-to "resources/public/js/main.js"
   :output-dir "resources/public/js/"
   ;:optimizations :advanced
   ;:pretty-print false
   :preamble ["jquery/jquery-2.1.1.min.js" 
"reagent/react.js"]
   ;:externs ["jquery/jquery-2.1.1.min.js"]
   :source-map "resources/public/js/main.js.map"
   ;:source-map "main.js.map"
   ;:closure-warnings {:extern-validations :off 
:non-standard-jsdoc :off}
   ;:cache-analysis true
   

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread adrian . medina
On Sunday, January 11, 2015 at 1:01:33 PM UTC-5, Jonathon McKitrick wrote:
> Let's start with source maps.  How can I get them working while still 
> optimizing the output from the compiler?
> 
> On Sunday, January 11, 2015 at 11:39:35 AM UTC-5, David Nolen wrote:
> > OK, but you have not explained what exactly is not working for each of them?

Specify :source-map "path/to/source.map.js" in your :compiler options. 

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Let's start with source maps.  How can I get them working while still 
optimizing the output from the compiler?

On Sunday, January 11, 2015 at 11:39:35 AM UTC-5, David Nolen wrote:
> OK, but you have not explained what exactly is not working for each of them?

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Rum: new ClojureScript wrapper for React. Decomplected, extensible, simple

2015-01-11 Thread Matt Ho
Could you describe some of these cases where the Reagent model isn't expressive 
enough?  I'm having a hard time understanding the use case.

Thanks!

M

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread David Nolen
OK, but you have not explained what exactly is not working for each of them?

David

On Sun, Jan 11, 2015 at 11:27 AM, Jonathon McKitrick 
wrote:

> Here's one set
>
>   :cljsbuild {:builds
>   {:prod
>{:source-paths ["src/cljs"]
> :compiler {:output-to "resources/public/js/main.js"
>:optimizations :advanced
>;;:pretty-print true
>:preamble ["jquery/jquery-2.1.1.min.js"
> "reagent/react.js"]
>:externs ["jquery/jquery-2.1.1.min.js"]
>;:closure-warnings {:extern-validations :off
> :non-standard-jsdoc :off}
>
>
> And another I'm comparing:
>
> cljsbuild {:builds
>   {:prod
>{:source-paths ["src/cljs"]
> :compiler {:output-to "resources/public/js/main.js"
>:optimizations :simple
>:pretty-print true
>:preamble ["reagent/react.js"]
>:cache-analysis true
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
This does not include my attempts to get source maps working.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Here's one set

  :cljsbuild {:builds
  {:prod
   {:source-paths ["src/cljs"]
:compiler {:output-to "resources/public/js/main.js"
   :optimizations :advanced
   ;;:pretty-print true
   :preamble ["jquery/jquery-2.1.1.min.js" 
"reagent/react.js"]
   :externs ["jquery/jquery-2.1.1.min.js"]
   ;:closure-warnings {:extern-validations :off 
:non-standard-jsdoc :off}
   

And another I'm comparing:

cljsbuild {:builds
  {:prod
   {:source-paths ["src/cljs"]
:compiler {:output-to "resources/public/js/main.js"
   :optimizations :simple
   :pretty-print true
   :preamble ["reagent/react.js"]
   :cache-analysis true

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] ANN: Om 0.8.0

2015-01-11 Thread David Nolen
I really didn't put that much thought into it and it can easily be changed
later if/when Om has a web presence other than the GitHub repository.

David

On Sun, Jan 11, 2015 at 9:16 AM, Daniel Kersten  wrote:

> I don't see the benefit of putting the "org" in at all if its nothing to
> do with a domain name. I mean, what does "org.om" even mean and what
> benefit does it add over just "om" if its not a reference to a domain name?
> At the end of the day it doesn't really matter though, I guess.
>
>
> Anyway, thanks for the great work on Om, David!
>
> On 11 January 2015 at 00:47, Dom from (paren)  wrote:
>
>> It probably doesn't really matter. My background is not in Java so
>> everything I "know" about Maven is from my experience in the Clojure
>> ecosystem and is purely observational.
>>
>> I was initially intrigued because two-letter domain names are very hard
>> to come by and my assumption was that, when the group id is a reverse
>> domain name, the domain is associated with the entity that created the
>> project. Some of my work has to do with domains, so, out of curiosity, I
>> take a peek at the associated website whenever I use a library that has a
>> reverse domain group id. I don't recall ever finding a completely unrelated
>> website, which led to me developing my previously stated assumption.
>>
>> As you said, this probably doesn't matter for a Maven artifact group id.
>> The only potential problems I see are 1. people like me might be confused
>> and 2. there is a chance, however small, that om.org will start using
>> Clojure and dispute your use of their group id. I'm not sure what would
>> happen in the latter case, but the Clojars about doc (
>> https://github.com/ato/clojars-web/wiki/About#what-do-i-do-if-someones-taken-my-group-name)
>> says that one of the criteria for dispute resolution is demonstrated domain
>> ownership.
>>
>> Anyway, thanks again for Om and sorry for being a downer regarding the
>> new group id.
>>
>>
>>
>> On Sat, Jan 10, 2015 at 3:24 PM, David Nolen 
>> wrote:
>>
>>> No, and not sure why this matters for group id for a Maven artifact.
>>>
>>> David
>>>
>>> On Sat, Jan 10, 2015 at 4:10 PM, Dom from (paren)  wrote:
>>>
 Cool! Thanks, David.

 I'm curious about the new dependency namespace. It looks like om.org is
 registered to OM International Services Ltd. Are you associated with them?

 On Sat, Jan 10, 2015 at 12:27 PM, David Nolen 
 wrote:

> I'm happy to announce the release of Om 0.8.0. There's nothing much to
> say over the last rc1 release. The biggest change is how you include Om as
> a dependency:
>
> [org.om/om "0.8.0"]
>
> https://github.com/swannodette/om
>
> Have fun!
> David
>
> --
> Note that posts from new members are moderated - please be patient
> with your first post.
> ---
> You received this message because you are subscribed to the Google
> Groups "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

  --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google
 Groups "ClojureScript" group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescript@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.

>>>
>>>  --
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "ClojureScript" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojurescript+unsubscr...@googlegroups.com.
>>> To post to this group, send email to clojurescript@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>
>>  --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojurescript@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
>

Re: [ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread David Nolen
We need more information. What do your build settings look like?

Thanks,
David

On Sun, Jan 11, 2015 at 10:53 AM, Jonathon McKitrick 
wrote:

> Is there a guide on how to combine optimization settings, source maps,
> externs, and maybe the preamble in the same project and/or build
> configuration?  It seems when I change one, I inadvertently break the
> others.
>
> I'm using jQuery and React in my preamble, and I would like to enable
> advanced optimizations while still having source maps accessible. But maybe
> there is a better way?
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Is there a guide on how to combine optimization settings, source maps, externs, 
and maybe the preamble in the same project and/or build configuration?  It 
seems when I change one, I inadvertently break the others.

I'm using jQuery and React in my preamble, and I would like to enable advanced 
optimizations while still having source maps accessible. But maybe there is a 
better way?

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] Making sense of cljs compiler settings

2015-01-11 Thread Jonathon McKitrick
Is there a guide on how to combine optimization settings, source maps, externs, 
and maybe the preamble in the same project and/or build configuration?  It 
seems when I change one, I inadvertently break the others.

I'm using jQuery and React in my preamble, and I would like to enable advanced 
optimizations while still having source maps accessible. But maybe there is a 
better way?

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] Re: Material Design

2015-01-11 Thread Daniel Kersten
It's pretty new so I guess it really is still a work in progress, but I
find the text confusing as it makes it sounds like the "documentation site"
is what's still a work in progress.

In any case, I'm also very interested in porting this to Om. I'm thinking
an auto generated wrapper like what bootstrap-cljs does for react-bootstrap
is probably the way to go. I'll take a stab at it next weekend, if I get
time.

On Sun, 11 Jan 2015 05:24 Timothy Washington  wrote:

> Hi Sam,
>
> I recently tried integrating Google's Polymer
>  web component library with clojurescript.
> You *can't* use it with Om (or at least I couldn't) because it uses
> React's prescribed HTML tags
> .
> Freactive is another Clojurescript / React library where you *can* use
> Polymer. As far as I can tell, that's because inserting a node is done 
> directly
> on the DOM
> .
> That's all to say that "*web components*" are still new ground, being
> fleshed out in Clojurescript and React.
>
> There is a way to have your own custom "*web components*" with React. You
> just need to i) create those web components (shadow dom and all) and
> register them with React proper. It looks like that's what Material UI
>  is trying to do. So in theory, yes you should
> be able to use it with Om, Reagent, Freactive, etc.
>
> Material UI looks very much like what I currently need (marrying web
> components and clojurescript / react). I wish I had known about it last
> month. So not having used it at all, I can't say that it's ready for
> production. Their own github site
>  describes it as a
> "work in progress".  So I would just experiment with it for now.
>
>
> Hth
>
> Tim Washington
> Interruptsoftware.com 
>
>
> On Thu, Jan 8, 2015 at 9:47 PM, sam pendleton  wrote:
>
>> I don't think I was clear... I prefer Material-Ui because React.js /
>> virtual DOM implementations are what I want to use. See [A] for more
>> details.
>>
>> 1. I would like to use Material-UI and Clojurescript. Is it possible?
>> 2. Would it be possible to use Material-Ui with one of the react.js
>> wrappers already available?
>> 3. Would using Material-UI in this way cause any issues such that this
>> setup shouldn't be in production?
>>
>> Thank you for your time, and thanks for this great language.
>>
>> [A]
>>
>> http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-is-Awesome
>> "Aren't you tired of having to query the DOM tree and manually manage the
>> structure to create UIs? Web Components doesn't solve this at all, it just
>> tries to encapsulate the work. The problem is that building apps is
>> building components, so you inevitably are forced back into the manual DOM
>> management to create your app-specific components (like how you constantly
>> have to create directives in Angular). You also need to jump into
>> JavaScript to configure and wire up any Web Components you used. It's a
>> very messy abstraction, and fools you into desiring a pure HTML-based
>> declarative way to write apps, which is like wanting steak but eating
>> liver."
>>
>> On Thursday, January 8, 2015 at 9:30:47 PM UTC-5, sam pendleton wrote:
>> > Is it possible to use one of these material design libraries?
>> >
>> > Material-UI
>> > http://material-ui.com/
>> > https://github.com/callemall/material-ui
>> >
>> > Material Design for Bootstrap
>> > https://fezvrasta.github.io/bootstrap-material-design/
>> > https://github.com/FezVrasta/bootstrap-material-design
>> >
>> > I am new to Clojurescript, and I don't know how to do this or if it's
>> even possible. If it is possible, how do you use one of these projects with
>> Clojurescript?
>>
>> --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojurescript@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this 

Re: [ClojureScript] ANN: Om 0.8.0

2015-01-11 Thread Daniel Kersten
I don't see the benefit of putting the "org" in at all if its nothing to do
with a domain name. I mean, what does "org.om" even mean and what benefit
does it add over just "om" if its not a reference to a domain name? At the
end of the day it doesn't really matter though, I guess.


Anyway, thanks for the great work on Om, David!

On 11 January 2015 at 00:47, Dom from (paren)  wrote:

> It probably doesn't really matter. My background is not in Java so
> everything I "know" about Maven is from my experience in the Clojure
> ecosystem and is purely observational.
>
> I was initially intrigued because two-letter domain names are very hard to
> come by and my assumption was that, when the group id is a reverse domain
> name, the domain is associated with the entity that created the project.
> Some of my work has to do with domains, so, out of curiosity, I take a peek
> at the associated website whenever I use a library that has a reverse
> domain group id. I don't recall ever finding a completely unrelated
> website, which led to me developing my previously stated assumption.
>
> As you said, this probably doesn't matter for a Maven artifact group id.
> The only potential problems I see are 1. people like me might be confused
> and 2. there is a chance, however small, that om.org will start using
> Clojure and dispute your use of their group id. I'm not sure what would
> happen in the latter case, but the Clojars about doc (
> https://github.com/ato/clojars-web/wiki/About#what-do-i-do-if-someones-taken-my-group-name)
> says that one of the criteria for dispute resolution is demonstrated domain
> ownership.
>
> Anyway, thanks again for Om and sorry for being a downer regarding the new
> group id.
>
>
>
> On Sat, Jan 10, 2015 at 3:24 PM, David Nolen 
> wrote:
>
>> No, and not sure why this matters for group id for a Maven artifact.
>>
>> David
>>
>> On Sat, Jan 10, 2015 at 4:10 PM, Dom from (paren)  wrote:
>>
>>> Cool! Thanks, David.
>>>
>>> I'm curious about the new dependency namespace. It looks like om.org is
>>> registered to OM International Services Ltd. Are you associated with them?
>>>
>>> On Sat, Jan 10, 2015 at 12:27 PM, David Nolen 
>>> wrote:
>>>
 I'm happy to announce the release of Om 0.8.0. There's nothing much to
 say over the last rc1 release. The biggest change is how you include Om as
 a dependency:

 [org.om/om "0.8.0"]

 https://github.com/swannodette/om

 Have fun!
 David

 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google
 Groups "ClojureScript" group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescript@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.

>>>
>>>  --
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "ClojureScript" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojurescript+unsubscr...@googlegroups.com.
>>> To post to this group, send email to clojurescript@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>
>>  --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojurescript@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.