Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Gonzih/cljs-electron
ClojureScript + Electron + Figwheel + Reagent = ❤❤❤
https://github.com/Gonzih/cljs-electron
clojure clojurescript electron figwheel reagent
Last synced: 3 months ago
JSON representation
ClojureScript + Electron + Figwheel + Reagent = ❤❤❤
- Host: GitHub
- URL: https://github.com/Gonzih/cljs-electron
- Owner: Gonzih
- License: mit
- Created: 2015-01-02T20:03:37.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2020-04-07T16:20:37.000Z (almost 5 years ago)
- Last Synced: 2024-08-03T13:04:58.607Z (6 months ago)
- Topics: clojure, clojurescript, electron, figwheel, reagent
- Language: Clojure
- Homepage:
- Size: 110 KB
- Stars: 598
- Watchers: 28
- Forks: 52
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![License](http://img.shields.io/:license-mit-blue.svg)](https://github.com/Gonzih/cljs-electron/blob/master/LICENSE.md)
![Build](https://github.com/Gonzih/cljs-electron/workflows/CI/badge.svg)# Clojurified Electron
![](https://raw.githubusercontent.com/Gonzih/cljs-electron/master/demo.gif)
My attempt to recreate ClojureScript development workflow while developing desktop apps with [electron](http://electron.atom.io/).
## What is currently included
* ClojureScript (init script and ui code)
* Figwheel for interactive development
* Reagent for UI
* Advanced compilation with externs inference in release compilation targets## Running it
```shell
npm install electron -g # install electron binaries```
### Terminal
```shell
lein cooper # compile cljs and start figwheel
electron . # start electron from another terminal
```### Emacs REPL
```shell
lein cljsbuild once
```M-x cider-jack-in-cljs
figwheel```shell
electron .
```## Releasing
```shell
lein do clean, cljsbuild once frontend-release, cljsbuild once electron-release
electron . # start electron to test that everything works
```After that you can follow [distribution guide for the electron.](https://github.com/atom/electron/blob/master/docs/tutorial/application-distribution.md)
The easiest way to package an electron app is by using [electron-packager](https://github.com/maxogden/electron-packager):
```shell
npm install electron-packager -g # install electron packager
electron-packager . HelloWorld --platform=darwin --arch=x64 --electron-version=1.4.8 # package it!
```