In this repo, you will find examples on how to setup a ClojureScript
web app with tools from the JavaScript
ecosystem.
If you want to try out the AWS Amplify
specific code, you will need to install a CLI from AWS
and run some initialization steps. Everything is described in the official Amplify docs.
If so, then you can safely skip the Amplify init stuff, delete the aws
specific requires and the initialization in the app.core
namespace.
I plan to split the example code into branches (something like with-amplify
and with-storybook
) shortly.
npm install
npm run watch
Emacs user? You can add a .dir-locals.el
to the root of this repo to wire up the shadow-cljs
commands,
instead of running the npm run watch
command.
Emacs .dir-locals.el example:
((nil . ((cider-default-cljs-repl . shadow)
(cider-shadow-default-options . ":app")
(cider-shadow-watched-builds . (":app" ":stories")))))
Because of AWS Amplify, I had to split the Clojure compilation from the 3rd party JavaScript build by
using both shadow-cljs
and Webpack
. Explained in the blog post Hey Webpack, Hey ClojureScript
To build the JavaScript libraries, run this in a separate terminal:
npm run pack
If you want to run Storybook
and the stories available in this repo, there is a script ready for you:
npm run storybook
Hey Webpack, Hey ClojureScript
Component Driven ClojureScript with Storybook
Material Design in a Functional World
More example code, tools setup and blog posts in the making ...