jupl / szyslak

ClojureScript + Rum + DataScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Szyslak ClojureScript + Rum + DataScript

http://img.shields.io/travis/jupl/szyslak.svg?label=travis https://jarkeeper.com/jupl/szyslak/status.svg

Table of Contents

About

This is a boilerplate project for developing client-side code using ClojureScript, DataScript, and Rum. For an example project, visit the example branch. Flavors:

Back to top

Prerequisites

Back to top

Getting Started

  1. Follow the instructions for installing Boot
  2. Clone/download this repository
  3. Start running tasks as described below in the tasks section

Back to top

Project structure

Overview

szyslak/
├─ resources/           # Files to be included in build
│  ├─ assets/           # Static files
│  ├─ app.cljs.edn      # Application entry point
│  ├─ devcards.cljs.edn # Devcards entry point
│  ├─ devcards.html     # HTML to present Devcards
│  └─ index.html        # HTML to present application
├─ src/
│  └─ projectname/            # Project namespace
│     ├─ app/                 # Application namespace
│     │  ├─ components/       # Application components
│     │  │  └─ root.cljs      # Top level application view
│     │  └─ main.cljs         # Application entry point
│     └─ common/              # Shared code namespace
│        ├─ components/       # General components
│        │  └─ container.cljs # Container for top level components
│        ├─ config.cljc       # Configuration data/functions
│        ├─ devcards.cljs     # Devcards entry point
│        ├─ messenger.cljs    # Helpers for basic messenger system
│        └─ reload.cljs       # Helpers for hot reload
├─ boot.properties # Boot properties
└─ build.boot      # Tasks and dependencies for project

Entry Points

When JavaScript code is built, entry points are defined by the .cljs.edn file inside the resources/ directory. The entry point files reference namespaces and functions in the src/ directory.

Back to top

Tasks

Tasks can be executed in the following manner:

boot [command]

Examples:

boot dev -s -p 8000
boot build

boot dev [-d] [-s] [-p PORT]

Create a development build with source maps.

  • If you want to include Devcards, use the -d option.
  • If you want to run a local server with live updates and a REPL, use the -s option. The -p option is also available to specify the port number.

boot build

Create a production build with optimizations.

boot serve build [-p PORT]

Create a production build with optimizations, and serve on a static server.

boot devcards

Create a standalone build of devcards only.

boot test

Run all CLJS tests once. If tests are defined with devcards, those are included.

boot watch test

Run all CLJS tests once and run again on file changes. If tests are defined with devcards, those are included.

boot lint

Check and analyze source code.

Back to top

Project Resources

Back to top

About

ClojureScript + Rum + DataScript


Languages

Language:Clojure 92.8%Language:HTML 7.2%