This works for me - conceptually, I think this means that the "preamble" is the part of the file between the (optional) hashbang and the JavaScript generated by the ClojureScript compiler, which feels coherent. I have this patch on my todo list but won't be upset if someone beats me to it ;-D
Thanks Michael! Travis On Tue, Mar 4, 2014 at 9:17 AM, Michael Glaesemann <[email protected]> wrote: > > On Feb 26, 2014, at 14:48, Michael Glaesemann wrote: > >> >> On Feb 26, 2014, at 14:33, Travis Vachon wrote: >> >>> oh! I totally missed :hashbang "" - I'm pretty sure that'll do what I >>> want yep - thanks! I'll let you know if that doesn't do the trick. >> >> Actually, I don't think it does, as the code prepends the #! to the path to >> node. :/ >> >> What I'd like to make sure is that if you're targeting node, you either >> always use :target :nodejs or you don't. I wouldn't want to get in a state >> where if you're targeting node you use :target :nodejs unless you're in some >> certain environment, then you don't target node, and you just use a >> preamble. That'd be confusing, at least to me. >> >> Perhaps just update the code to prepend #! unless :hashbang is "", or omit >> if :hashbang is false? > > I've opened a ticket omitting hashbang for nodejs targets and submitted a > patch: http://dev.clojure.org/jira/browse/CLJS-779 > > I chose to omit the hashbang if :hashbang false is included in the compiler > options. I think this is clearer than requiring the user to include the > hashbang in a preamble if one is provided (though I can see it possibly > abusing the term preamble in this case). > > In summary: > > {:target :nodejs} => default hashbang of #!/usr/bin/env node > {:target :nodejs > :hashbang "/bin/env node"} => #!/bin/env node > {:target :nodejs > :hashbang false} => hashbang omitted > > Any preamble follows the hashbang. > > > >> >>> >>> On Wed, Feb 26, 2014 at 2:23 PM, Michael Glaesemann >>> <[email protected]> wrote: >>>> >>>> On Feb 26, 2014, at 13:58, Travis Vachon wrote: >>>> >>>>> Hm - sorry to chime in late on this, but I'm not sure I follow the >>>>> logic in the original question - :preamble and :target :nodejs weren't >>>>> mutually exclusive, it was just the case that the default :preamble >>>>> was the hashbang when using :target :nodejs >>>>> >>>>> As patched, it's no longer possible to exclude the hashbang when >>>>> targetting nodejs, which breaks deployment in the parse.com cloud code >>>>> environment. Couldn't you have used :target :nodejs and included both >>>>> the hashbang and the sourcemap comment in the preamble? >>>> >>>> That'd be an option, though it's also possible to set the value of the >>>> hashbang. Does :hashbang "" do what you want? >>>> >>>>> >>>>> On Fri, Feb 21, 2014 at 2:14 PM, Michael Glaesemann >>>>> <[email protected]> wrote: >>>>>> >>>>>> On Feb 21, 2014, at 13:56, David Nolen wrote: >>>>>> >>>>>>> JIRA ticket + patch welcome. Make sure to send in your Clojure CA, >>>>>>> thanks! >>>>>> >>>>>> http://dev.clojure.org/jira/browse/CLJS-771 >>>>>> >>>>>> As for the CA, I'm already listed on http://clojure.org/contributing. >>>>>> >>>>>> Cheers! >>>>>> >>>>>> >>>>>>> >>>>>>> David >>>>>>> >>>>>>> >>>>>>> On Fri, Feb 21, 2014 at 1:52 PM, Michael Glaesemann >>>>>>> <[email protected]>wrote: >>>>>>> >>>>>>>> Currently the :preamble and :target :nodejs compiler options are >>>>>>>> mutually >>>>>>>> exclusive. >>>>>>>> >>>>>>>> I recently had a situation where I wanted to use a preamble with node: >>>>>>>> I >>>>>>>> came across >>>>>>>> a nodejs module for [source map support]( >>>>>>>> http://github.com/evanw/node-source-map-support). >>>>>>>> >>>>>>>> It requires adding a bit of code at the top of the compiled file to >>>>>>>> >>>>>>>> //# sourceMappingURL=path/to/source.map >>>>>>>> require('source-map-support').install(); >>>>>>>> >>>>>>>> While the source map support is still rudimentary, I don't see a reason >>>>>>>> not to allow >>>>>>>> nodejs targets to have a preamble. >>>>>>>> >>>>>>>> I've attached a patch that adds the preamble directly after the node >>>>>>>> hashbang. >>>>>>>> >>>>>>>> If this looks like something that would be generally useful, I'm happy >>>>>>>> to >>>>>>>> create a JIRA issue and attach the patch. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> Michael Glaesemann >>>>>>>> grzm seespotcode net >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 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 [email protected]. >>>>>>>> To post to this group, send email to [email protected]. >>>>>>>> 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 [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/clojurescript. >>>>>> >>>>>> Michael Glaesemann >>>>>> grzm seespotcode net >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> 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 [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/clojurescript. >>>> >>>> Michael Glaesemann >>>> grzm seespotcode net >>>> >>>> >>>> >>>> -- >>>> 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 [email protected]. >>>> To post to this group, send email to [email protected]. >>>> 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 [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/clojurescript. >> >> Michael Glaesemann >> grzm seespotcode net >> >> >> > > Michael Glaesemann > grzm seespotcode net > > > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
