Search code examples
deploymentbuildclojurescriptshadow-cljs

When to use “shadow-cljs release app” vs “shadow-cljs compile app”?


While building the web app for a new firebase deploy, I have been using:

$ shadow-cljs compile app

Actually, even clearing stuff and then re-compiling, such as:

$ rm -rf .shadow-cljs
$ shadow-cljs compile app

Apparently, the release command could also be used:

$ shadow-cljs release app

What is the difference between the two? What are the implications of each choice? On a build before a new deployment, what would be the best practice?

Thanks


Solution

  • The compile command builds a development version and exits: https://shadow-cljs.github.io/docs/UsersGuide.html#_development_mode

    The release command builds a release version and exits: https://shadow-cljs.github.io/docs/UsersGuide.html#_release_mode