Visualize re-frame pattern data or reagent ratom data as a tree structure, watch re-frame events and export state.
If re-frisk makes your work with re-frame applications easier and you like it please take a moment and support it:
💎BTC: 3K37vEEyBsKSat2rS74CXUA3LnVR9QPztD
💎ETH: 0x612E124d922a6DE46953226965C8e773166891E9
In-app re-frisk debugger. The debugger will be embedded into the interface of your application.
-
Add re-frisk as a dev dependency by placing
[re-frisk "0.5.0"]
within:profiles :dev :dependencies
. For example::profiles {:dev {:dependencies [[some-other-package "0.0.0"] [re-frisk "0.5.0"]] }}
-
Locate the
:compiler
map under:dev
and add::preloads [re-frisk.preload]
For example:
{:builds [{:id "dev" :source-paths ["src" "dev"] :compiler {... :preloads [re-frisk.preload]}}]}
ENJOY!
Run remote re-frisk debugger server using leiningen re-frisk plugin following next steps:
-
Add
[lein-re-frisk "0.5.0"]
into your global Leiningen config (~/.lein/profiles.clj
) like so:{:user {:plugins [[lein-re-frisk "0.5.0"]]}}
or into the
:plugins
vector of your project.clj(defproject your-project "0.1.1" {:plugins [[lein-re-frisk "0.5.0"]]})
-
Start a web server in the current directory on the default port (4567):
$ lein re-frisk
Or select a different port by supplying the port number on the command line:
$ lein re-frisk 8095
-
Add
[re-frisk-remote "0.5.0"]
to the dev:dependencies
in your project.cljrun re-frisk using
enable-re-frisk-remote!
function on the localhost and default port (4567)(:require [re-frisk-remote.core :refer [enable-re-frisk-remote!]]) (enable-re-frisk-remote!)
Or select a different host and port by supplying the host and port number:
(enable-re-frisk-remote! {:host "192.168.1.1:8095"})
This is just an example, it's better to enable re-frisk in the dev environment
Run an application
ENJOY!
See also Using re-frisk with re-natal
You can provide starting position for the re-frisk panel
(enable-re-frisk! {:x 100 :y 500})
(enable-frisk! {:x 100 :y 500})
also, it will be helpful for the IE, because it doesn't support resize property, you can provide width and height
(enable-re-frisk! {:width "400px" :height "400px"})
(enable-frisk! {:width "400px" :height "400px"})
You can provide external window dimensions
(enable-re-frisk! {:ext_height 1000 :ext_width 1200})
If you don't want to watch events you can turn it off providing settings {:events? false}
(enable-re-frisk! {:events? false})
Also you can watch interceptor's context providing re-frisk.core/watch-context
in the reg-event interceptors list
(reg-event-db
:timer-db
[re-frisk.core/watch-context]
(fn
[db [_ value]]
(assoc db :timer value)))
Export works only for the cljs data structures.
If you are not using re-frame in your app, you can run re-frisk without re-frame by enable-frisk!
function
(enable-frisk!)
If you want to watch ratom or log any data, you can add it using add-data
or add-in-data
functions
(add-data :data-key your-data)
(add-in-data [:data-key1 :data-key2] your-data)
re-frame dev/re_frisk/demo.cljs. reagent dev/re_frisk/reagent_demo.cljs.
Works weird in the Internet Explorer which doesn't support css resize property. Debugger doesn't work in IE.
Copyright © 2016-2017 Andrey Shovkoplyas [andre]
Distributed under the MIT License (MIT)