diff --git a/README.md b/README.md new file mode 100644 index 0000000..68ee1e5 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# Airsonic Web Client + +This is just meant for exploration. If you want to see something more serious, take a look at [airsonic-ui](https://github.com/airsonic/airsonic-ui). + +## Development + +The project is written in [ClojureScript](https://clojurescript.org/) and uses [re-frame](https://github.com/Day8/re-frame) for structure and peace of mind. The build tool is [shadow-cljs](https://shadow-cljs.github.io/docs/UsersGuide.html), which offers nice editor integration and interoparibility with the whole JavaScript ecosystem. + +To build the project make sure you have Node.js (v6.0.0), npm and Java 8 installed in your system. + +``` +# after cloning the project, first install all dependencies +$ npm install +# start a continuous build with hot-code-reloading; first build takes a while +$ npm run dev +# build and optimize the code once for production +$ npm run build +``` + +**Note:** In dev mode this project comes with re-frame-10x. You can hit `Ctrl + h` to display the overlay and have a time traveling debugger. + +## Build artifacts + +Everything you need to serve the app can be found inside the `public` folder. diff --git a/package.json b/package.json index df7459a..87af941 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "description": "Airsonic UI written with re-frame", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "shadow-cljs watch app", + "build": "rm -r public/app/js; shadow-cljs release app" }, "author": "Arne Schlüter", "license": "ISC",