A collection of ready to be used SCI configs
22
stars
104
commits
Clojure
primary language
Mar 10, 2026
updated
A collection of ready to be used SCI configs.
This repository provides SCI configurations on the classpath. See the :dev
alias to check against which version of the libraries the configurations are
tested. You should bring in the dependency of targeted libraries yourself.
In general, a configuration can be enabled as in the following example for applied-science.js-interop:
(ns example
(:require [sci.configs.applied-science.js-interop :as j]
[sci.core :as sci]))
(def sci-ctx (doto (sci/init {}) ;; your initial config here
(sci/merge-opts j/config)))
(sci/eval-string* sci-ctx
"(require '[applied-science.js-interop :as j]) (j/assoc! #js {} :foo 1)")
;;=> #js {:foo 1}
or if you like to include the config without calling sci/merge-opts (e.g. for
performance reasons), use the per-namespace values directly:
(ns example
(:require [sci.configs.applied-science.js-interop :as j]
[sci.core :as sci]))
(def sci-ctx (sci/init {:namespaces {'applied-science.js-interop j/js-interop-namespace}}))
In general, only library/*-namespace and library/config vars are intented as the
public API. The rest is subject to breakage, even when vars are public. For
convenience, we list the public API for each library here.
Namespace: sci.configs.applied-science.js-interop
Public API:
configjs-interop-namespacenamespacesNamespace: sci.configs.fulcro.fulcro
Public API:
confignamespacesNamespace: sci.configs.cjohansen.dataspex
Public API:
configdataspex-core-namespacenamespacesNamespace: sci.configs.cjohansen.replicant
Public API:
configreplicant-dom-namespacereplicant-string-namespacereplicant-alias-namespacenamespacesNamespace: sci.configs.funcool.promesa
Public API:
configpromesa-namespacepromesa-protocols-namespacenamespacesNamespace: sci.configs.metosin.reitit
Public API:
configfrontend-namespacefrontend-easy-namespacenamespacesNamespace: sci.configs.reagent.reagent
Public API:
configreagent-namespacereagent-ratom-namespacereagent-debug-namespacenamespacesConfigurations for reagent.dom.server and reagent.dom.client are available seperately via:
Namespace: sci.configs.reagent.reagent-dom-server
Public API:
configreagent-dom-server-namespaceNamespace: sci.configs.reagent.reagent-dom-client
Public API:
configreagent-dom-server-namespaceNamespace: sci.configs.re-frame.re-frame
Public API:
configre-frame-namespacere-frame-db-namespacenamespacesThe configuration for re-frame.alpha is available seperately via:
Namespace: sci.configs.re-frame.re-frame-alpha
Public API:
configre-frame-alpha-namespaceNamespace: sci.configs.mfikes.cljs-bean
Public API:
confignamespacescljs-bean-namespaceNamespace sci.configs.cljs.test
Public API:
confignamespacescljs-test-namespacePublic API:
confignamespacescljs-pprint-namespacePublic API:
confignamespacescore-namespacedb-namespaceNamespace: clojure.core
New functions added to clojure.core in version 1.11
namespacesNamespaces: cljs.spec.alpha, cljs.spec.gen.alpha, cljs.spec.test.alpha
Public API:
confignamespacesnpm install and bb test
You can play with your SCI code and configs in a cljs REPL. In Calva, run Jack-in to a shadow-cljs repl and choose the :dev build. Elsewhere, run bb dev and then connect to its nrepl at port 9000. Access the web page that Shadow serves at http://localhost:8081/ and then eval your code using development.cljs.
The configurations are licensed under the same licenses as the libraries they target. You are free to take the configs from this repository and adapt them as necessary for your projects. See LICENSE for additional info.
Clojure
98.5%
HTML
1.5%
A collection of ready to be used SCI configs
22
stars
104
commits
Clojure
primary language
Mar 10, 2026
updated
A collection of ready to be used SCI configs.
This repository provides SCI configurations on the classpath. See the :dev
alias to check against which version of the libraries the configurations are
tested. You should bring in the dependency of targeted libraries yourself.
In general, a configuration can be enabled as in the following example for applied-science.js-interop:
(ns example
(:require [sci.configs.applied-science.js-interop :as j]
[sci.core :as sci]))
(def sci-ctx (doto (sci/init {}) ;; your initial config here
(sci/merge-opts j/config)))
(sci/eval-string* sci-ctx
"(require '[applied-science.js-interop :as j]) (j/assoc! #js {} :foo 1)")
;;=> #js {:foo 1}
or if you like to include the config without calling sci/merge-opts (e.g. for
performance reasons), use the per-namespace values directly:
(ns example
(:require [sci.configs.applied-science.js-interop :as j]
[sci.core :as sci]))
(def sci-ctx (sci/init {:namespaces {'applied-science.js-interop j/js-interop-namespace}}))
In general, only library/*-namespace and library/config vars are intented as the
public API. The rest is subject to breakage, even when vars are public. For
convenience, we list the public API for each library here.
Namespace: sci.configs.applied-science.js-interop
Public API:
configjs-interop-namespacenamespacesNamespace: sci.configs.fulcro.fulcro
Public API:
confignamespacesNamespace: sci.configs.cjohansen.dataspex
Public API:
configdataspex-core-namespacenamespacesNamespace: sci.configs.cjohansen.replicant
Public API:
configreplicant-dom-namespacereplicant-string-namespacereplicant-alias-namespacenamespacesNamespace: sci.configs.funcool.promesa
Public API:
configpromesa-namespacepromesa-protocols-namespacenamespacesNamespace: sci.configs.metosin.reitit
Public API:
configfrontend-namespacefrontend-easy-namespacenamespacesNamespace: sci.configs.reagent.reagent
Public API:
configreagent-namespacereagent-ratom-namespacereagent-debug-namespacenamespacesConfigurations for reagent.dom.server and reagent.dom.client are available seperately via:
Namespace: sci.configs.reagent.reagent-dom-server
Public API:
configreagent-dom-server-namespaceNamespace: sci.configs.reagent.reagent-dom-client
Public API:
configreagent-dom-server-namespaceNamespace: sci.configs.re-frame.re-frame
Public API:
configre-frame-namespacere-frame-db-namespacenamespacesThe configuration for re-frame.alpha is available seperately via:
Namespace: sci.configs.re-frame.re-frame-alpha
Public API:
configre-frame-alpha-namespaceNamespace: sci.configs.mfikes.cljs-bean
Public API:
confignamespacescljs-bean-namespaceNamespace sci.configs.cljs.test
Public API:
confignamespacescljs-test-namespacePublic API:
confignamespacescljs-pprint-namespacePublic API:
confignamespacescore-namespacedb-namespaceNamespace: clojure.core
New functions added to clojure.core in version 1.11
namespacesNamespaces: cljs.spec.alpha, cljs.spec.gen.alpha, cljs.spec.test.alpha
Public API:
confignamespacesnpm install and bb test
You can play with your SCI code and configs in a cljs REPL. In Calva, run Jack-in to a shadow-cljs repl and choose the :dev build. Elsewhere, run bb dev and then connect to its nrepl at port 9000. Access the web page that Shadow serves at http://localhost:8081/ and then eval your code using development.cljs.
The configurations are licensed under the same licenses as the libraries they target. You are free to take the configs from this repository and adapt them as necessary for your projects. See LICENSE for additional info.
Clojure
98.5%
HTML
1.5%