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 watchEmacs 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 packIf you want to run Storybook and the stories available in this repo, there is a script ready for you:
npm run storybookHey 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 ...