Skip to content

omnyway-labs/clojurescript-amplified

 
 

Repository files navigation

ClojureScript. Amplified.

In this repo, you will find examples on how to setup a ClojureScript web app with tools from the JavaScript ecosystem.

Up and running

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.

Want to try out Storybook or Material-UI, without having to setup AWS Amplify?

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.

Commands
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

About ClojureScript and AWS Amplify, using Webpack

Hey Webpack, Hey ClojureScript

About ClojureScript and Storybook

Component Driven ClojureScript with Storybook

About Clojurescript and Material-UI

Material Design in a Functional World

More example code, tools setup and blog posts in the making ...

About

Examples on how to setup a ClojureScript web app with tools from the JavaScript ecosystem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 56.4%
  • JavaScript 26.4%
  • HTML 17.2%