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.

Reply via email to