cljs-devtools
portal
cljs-devtools | portal | |
---|---|---|
2 | 12 | |
1,100 | 838 | |
0.0% | - | |
2.4 | 9.5 | |
about 1 year ago | 6 days ago | |
Clojure | Clojure | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cljs-devtools
-
DevTools Tips
> The very first tip I see is "Customize the way objects look" which is ok... cool you can do that, is this where it should start?
I mean, why not? It's not all for fun and giggles, it's actually a very useful feature, I use it a lot when working with data structures I've created myself (which are ultimately usually Objects in the JS world, but custom algorithms for get/set/sort and so on) and I want to render them differently in the console.
Another real-life example of it's usefulness is https://github.com/binaryage/cljs-devtools which formats Clojure/Script data structures into a more useful format when printing them to the console. It literally uses that feature: https://github.com/search?q=repo%3Abinaryage%2Fcljs-devtools...
- Clojurescript stack traces
portal
-
What I Have Changed My Mind About in Software Development
Tracing debuggers give you the best of both worlds. I've recently started using Flow-storm [0], by @jpmonettas), and it's been quite transformative. You can still easily see the values flowing through your system (better than just "prints"), and it can handle multi-threaded / async scenarios quite nicely. You don't need to manually step through code, you can just "see" your data flow, and when you have loops or some other form of iteration, you can see the data for each pass. Coupling this with a good data visualization tool (such as Portal [1]) really feels like magic. I've been doing Clojure for quite a few years now, and was very happy with my plain REPL-driven workflow, but this is way better.
[0] https://github.com/jpmonettas/flow-storm-debugger
[1] https://github.com/djblue/portal
-
Visual-tools meeting 16 - Calva Notebooks & Portal - summary & recording
In this meeting, Lukas Domagala of the Calva team and Chris Badahdah, Portal's creator, presented Calva Notebooks, their integration with Portal, and other Portal updates.
- Clojure at the REPL: Data Visualization
-
Request Support for Clojure in JetBrains new Fleet IDE
Also my dot-clojure and vscode-calva-setup repos have some interesting stuff in for using/customizing Portal for use with VS Code: * https://github.com/seancorfield/dot-clojure * https://github.com/seancorfield/vscode-calva-setup * https://github.com/djblue/portal
-
Book recommendation focusing on tooling?
One thing that really helps with debugging is learning to use tap>. Even after a decade of using Clojure, I found it game changing. I personally use it with djblue/portal, which has a lot of bells and whistles, but isn't too hard to get going with the basics. You don't need an UI for tap>, though, if you don't want it.
-
Best practices for maintaining REPL "hygiene"?
You may want to try using tap> for debugging, which avoids this problem and is generally more convenient in my experience. I use it to log values with either an atom or Portal.
-
Things about clojure or tooling, you found out way too late.
Portal makes deving so much easier! Having your tapped data available to inspect and transform in the Portal UI is much easier, cleaner, and faster than in the REPL/output window.
-
Clay, a way to write Clojure data science notebook value renderers that are portable across the landscape of Clojure notebook & dataviz tools
Clay is an attempt to create compatibility across data science notebook plugin scripts. Today, Clojure's data viz tools (e.g. Clerk, djbue/Portal) offer similar abstractions for scientists to 1) create notebook documents and 2) enable dynamic exploration of data. These tools all work by attaching rendering metadata to values. But the render code is not portable across tools, which means a script written for one tool is not compatible with all the others, and this inhibits scientific work and makes the toolchain inaccessible to scientists who don't know Clojure.
-
Love Clojure, challenged by discoverability
tag / stick into something like https://github.com/djblue/portal makes this problem instantly go away, and I get a whole bunch extra stuff at the same time: https://www.youtube.com/watch?v=gIoadGfm5T8 If you MUST have it codified somewhere, probably the next highest leverage point is to use specs. Typically we do this when you've a single set of data structures that are widely reused (as opposed to, say, a map that's only used between a single SPA component and an API call). I've tried both clojure.spec and Malli. Clojure's spec is satisfactory. Malli's ergonomics and performance are fantastic. https://github.com/metosin/malli
-
Sublime (love) Clojure
;; :main-opts ["-m" "cognitect.rebl"]}
Into your '~/.clojure/deps.edn'.
From there I can just add 'rebl' as a profile to my Intellj when you start a REPL it starts automatically.
There are also alternative tools like Portal to do the same things: https://github.com/djblue/portal
Or: https://vlaaad.github.io/reveal/
What are some alternatives?
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
reveal - Read Eval Visualize Loop for Clojure
clj-kondo - Static analyzer and linter for Clojure code that sparks joy
dot-clojure - My .clojure/deps.edn file
re-frame - A ClojureScript framework for building user interfaces, leveraging React
clerk - ⚡️ Moldable Live Programming for Clojure
devtools-tips - A collection of useful cross-browser DevTools tips
truss - Assertions micro-library for Clojure/Script
vivaldi-clear-engagement.sh - Bash script to clear engagement data in Vivaldi profiles
flow-storm-debugger - A debugger for Clojure and ClojureScript with some unique features.
obb - Ad-hoc ClojureScript scripting of Mac applications via Apple's Open Scripting Architecture.
quickdoc - Quick and minimal API doc generation for Clojure