Martin, I just use the leiningen.cljsbuild hook like you said.

I don't use :resource-paths, but I think it still works because the default 
:resource-paths is ["resources"]
https://github.com/technomancy/leiningen/blob/491c2c9595a90afb2653b085be03bf312b8d3e5d/leiningen-core/src/leiningen/core/project.clj#L175

There's no need to check any JavaScript file into version control. 
ClojureScript will be transpiled to JavaScript by Heroku when deploying.

I also have an :uberjar-name entry in the project.clj like in Heroku's Clojure 
article
https://devcenter.heroku.com/articles/getting-started-with-clojure#project-clj


Xavi


On Monday, March 17, 2014 6:11:49 PM UTC+1, Travis Vachon wrote:
> Hey Martin
> 
> 
> 
> I haven't done this before, but just took a quick look at
> 
> https://devcenter.heroku.com/articles/getting-started-with-nodejs
> 
> 
> 
> At a high level, my understanding is that you'll need to check a
> 
> JavaScript file into version control and push the relevant branch up
> 
> to heroku. What you might want to do is follow the pattern GitHub uses
> 
> for project pages - maintain a separate branch that contains only the
> 
> files you'll want to deploy to heroku (a package.json file, a Procfile
> 
> and the JavaScript file containing your application code) and push
> 
> that. When you want to deploy to Heroku you would:
> 
> 
> 
> 1) check out your master branch (the one with ClojureScript) and build
> 
> (lein cljsbuild once) to a temporary location
> 
> 2) check out your deployment branch and move the generated JavaScript
> 
> file into the appropriate location
> 
> 3) commit the generated JavaScript file
> 
> 4) push the deployment branch to Heroku
> 
> 
> 
> You could write a short script that made this very easy.
> 
> 
> 
> To be clear, this mean that the deployment branch will have entirely
> 
> different content from the development branch. It would also be
> 
> possible to keep them all in the same branch, and just commit the
> 
> generated JavaScript whenever you'd like to deploy to Heroku. This
> 
> might have more overhead, but, hard to say. Yet another option would
> 
> be to have a submodule within your ClojureScript repository that
> 
> looked like a normal Heroku node.js project. Submodules are kind of a
> 
> pain though.
> 
> 
> 
> Good luck! Very interested to hear what you end up doing.
> 
> 
> 
> Travis
> 
> 
> 
> On Thu, Mar 13, 2014 at 3:23 PM, Martin Klepsch
> 
> <[email protected]> wrote:
> 
> > Hey,
> 
> >
> 
> > I was looking for a simple way to deploy a clojurescript app to 
> > heroku/dokku.
> 
> > Seemed like the proper way to do that is using something like 
> > `:resource-paths ["resources"]`
> 
> > and use that as target directory for the cljs compilation.
> 
> >
> 
> > I now wonder how I can integrate cljsbuild into leiningens uberjar command. 
> > As I understand the leiningen.cljsbuild hook it should do exactly this.
> 
> >
> 
> > Would love to hear how you do it (and more general how do you deploy 
> > clojurescript)?
> 
> >
> 
> > Martin
> 
> >
> 
> > ps. I have some project here with the configuration I described in case 
> > something is unclear https://github.com/mklappstuhl/suggest
> 
> >
> 
> > --
> 
> > 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.

Reply via email to