You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been frustrated lately. I've found it important to reduce the size of my uberjar to a minimum (this has to do with using the free plan on Heroku, where lower slug-sizes makes your app start up faster), but when I look at what is actually included in the uberjar, I find dependencies that (i think) are only used at compile-time. Dependencies like Clojurescript.
In fact, It's impossible to use any cross-platform dependency without ClojureScript and Google Closure finding their way into your uberjar, which is often completely unnecessary as my frontend code is compiled before being inserted into the uberjar.
Could we set some guidelines regarding use of build-time dependencies (like cljs)? Add some information to the README or make minor changes which makes this easy to manage? I don't know exactly this should be like, but would at least like to start the discussion. I think small uberjars is a good goal in general, not only for my use-case.
The text was updated successfully, but these errors were encountered:
I think we cover adding :dev dependencies in the docs already. I don't want to add cljs-specific documentation to Leiningen itself, since I think that should be handled in the documentation for the plugins. But if you have other specific suggestions of what should be added, please let us know.
We have also added a development dependency, ring-devel. ring-devel will not be available in uberjars, and will not be considered a dependency if you publish this project to a repository.
I've been frustrated lately. I've found it important to reduce the size of my uberjar to a minimum (this has to do with using the free plan on Heroku, where lower slug-sizes makes your app start up faster), but when I look at what is actually included in the uberjar, I find dependencies that (i think) are only used at compile-time. Dependencies like Clojurescript.
In fact, It's impossible to use any cross-platform dependency without ClojureScript and Google Closure finding their way into your uberjar, which is often completely unnecessary as my frontend code is compiled before being inserted into the uberjar.
Could we set some guidelines regarding use of build-time dependencies (like cljs)? Add some information to the README or make minor changes which makes this easy to manage? I don't know exactly this should be like, but would at least like to start the discussion. I think small uberjars is a good goal in general, not only for my use-case.
The text was updated successfully, but these errors were encountered: