Skip to content

Instantly share code, notes, and snippets.

Bruce Hauman bhauman

Block or report user

Report or block bhauman

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View keybase
### Keybase proof
I hereby claim:
* I am bhauman on github.
* I am bhauman ( on keybase.
* I have a public key ASBhQeHtmPegp3_31bd9Tlz33dt9MtLWXwjgGFugHrCAkwo
To claim this, I am signing this object:
bhauman /
Last active May 26, 2020
Base Figwheel Main example

Minimal Figwheel Main project

This is the base example project that is the assumed a starting point for most of the examples in the Figwheel Main documentation.

You can run it with the Clojure Tools in your terminal via:

$ clj -m figwheel.main -b dev -r
View figwheel-simple.cljc
(ns figwheel.simple
[clojure.string :as string]
#?@(:cljs [[goog.object :as gobj]])
#?@(:clj [[clojure.walk :as walk]
[cljs.repl.browser :as brow]
[cljs.repl :as repl]
[cljs.env :as env]
[cljs.analyzer :as ana]
[ :as bapi]
bhauman / ClojureScriptLoader.js
Created Sep 26, 2017
Loading a ClojureScript/Figwheel project with fetch instead of writing script tags.
View ClojureScriptLoader.js
* This script provides an example of loading a ClojureScript project
* that has been compiled using optimizations level :none.
* There are many environments that might not support the default
* method of writing script tags to load files.
* I wrote this to solve the problem of loading compiled ClojureScript
* into Chrome extentions.
bhauman / CLJS-REPLThreadIterrupt.patch
Created Feb 10, 2017
demonstrating where to place thread/interupted
View CLJS-REPLThreadIterrupt.patch
From: Bruce Hauman <>
Date: Fri, 10 Feb 2017 11:26:46 -0500
Subject: [PATCH] CLJS-ThreadIterrupt: Check for thread interuptions for
cleaner shutdown in some cases
src/main/clojure/cljs/repl.cljc | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/main/clojure/cljs/repl.cljc b/src/main/clojure/cljs/repl.cljc
bhauman / arrows.js
Last active Feb 6, 2017
Google Closure Stacktrace on "use strict"
View arrows.js
"use strict";
var position_1 = require("../../common/position");
// this value causes popover and target edges to line up on 50px targets
exports.MIN_ARROW_SPACING = 18;
function computeArrowOffset(sideLength, arrowSize, minimum) {
if (minimum === void 0) { minimum = exports.MIN_ARROW_SPACING; }
return Math.max(Math.round((sideLength - arrowSize) / 2), minimum);
exports.computeArrowOffset = computeArrowOffset;
function getPopoverTransformOrigin(position, arrowSize, targetDimensions) {
bhauman / compiler-options-schema.clj
Last active Aug 8, 2017
A Schema for ClojureScript Options
View compiler-options-schema.clj
(ns cljs.compiler-options-schema
[clojure.spec :as s]
[clojure.string :as string]
;; for initial dev
[clojure.test :refer [deftest is testing]]))
(defn non-blank-string? [x] (and (string? x) (not (string/blank? x))))
(defonce ^:private registry-ref (atom {}))
View figwheel_client_socket_repl.clj
(require 'tubular.core)
(tubular.core/connect "" REPL_PORT)
bhauman /
Last active Apr 27, 2016
common cljs build format ideas

A common build configuration format that all ClojureScript tools can consume

bhauman / reagent_errors.cljs
Created Oct 17, 2015
Fixing reagent errors
View reagent_errors.cljs
(ns devdemos.reagent-errors
[reagent.interop :refer-macros [.' .!]]
[reagent.core :as reagent]
[reagent.impl.component :as comp]
[sablono.core :as sab :include-macros true])
[cljs-react-reload.core :refer [defonce-react-class]]
[devcards.core :as dc :refer [defcard deftest]]))
You can’t perform that action at this time.