KLIPSE 
KLIPSE is both an app and a plugin
The app is live here.
And it looks like this:
Basically, KLIPSE is made of 4 rectangles:
- Top left rectangle: you insert your cljs code
- Top right rectangle: you see the generated javascript code from the cljs code
- Bottom left rectangle: you see the evaluation of the cljs code as a clojure object
- Bottom right rectangle: you see what you print in your code
By the way, if you go to this KLIPSE with clojure code, you will be able to modify the code in the screenshot and see it in action.
Have fun!
Usage - App
Here is an introductory blog post: KLIPSE: why? what? how? Here are the details of the url parameters and hotkeys
Insert your code in the top left area. Press Ctrl-Enter to evaluate.
Run Locally: figwheel + devcards
rlwrap lein run -m clojure.main scripts/figwheel.cljFor the app, open the browser http://localhost:5014/index-dbg.html
For the plugin, open a test page e.g. http://localhost:5014/js-dbg.html
Tutorial
Read KLIPSE Magic to discover how we made KLIPSE.
Deploy to Production
####1. Build
lein clean
lein cljsbuild once app plugin plugin-prod####2. Test
Test that dev build works properly =>
Open the browser http://localhost:5014/test.html
####3. Deploy to Google Storage
Make sure gsutil is installed.
./scripts/deployUpdate clojurescript analysis cache
Analysis cache and macro precompiled files are stored under docs/cache-cljs.
The cache files are generated with lumo.
There are two kind of namespaces:
- namespaces bundled in lumo e.g
cljs.test,cljs.spec - namepsaces not bundled in lumo e.g.
om.next,reagent
For #1, you need to add the namespace in scripts/generate-clojure-spec-cache.cljs and run
lumo scripts/generate-clojure-spec-cache.cljs
For #2, you need to:
-
cd docs/cache-cljs -
run
lein deps -
open lumo with the appropriate cache folder and class path:
export cp=`lein classpath`
lumo -k . -c $cp- inside lumo, you need to require your namespaces, and the cache will be stored under
docs/cache-cljse.g.:
cljs.user=> (require 'clojure.test.check)- commit
docs/cache-cljs
