{"id":15503432,"url":"https://github.com/rickmoynihan/nrebl.middleware","last_synced_at":"2025-10-31T07:31:13.362Z","repository":{"id":62434451,"uuid":"160894603","full_name":"RickMoynihan/nrebl.middleware","owner":"RickMoynihan","description":"An nREPL and cider middleware for capturing and browsing data in REBL","archived":false,"fork":false,"pushed_at":"2019-10-31T09:27:38.000Z","size":32,"stargazers_count":63,"open_issues_count":9,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-16T07:20:22.396Z","etag":null,"topics":["clojure","nrepl"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RickMoynihan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-08T02:01:47.000Z","updated_at":"2024-02-12T09:41:53.000Z","dependencies_parsed_at":"2022-11-01T21:16:15.912Z","dependency_job_id":null,"html_url":"https://github.com/RickMoynihan/nrebl.middleware","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fnrebl.middleware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fnrebl.middleware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fnrebl.middleware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickMoynihan%2Fnrebl.middleware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RickMoynihan","download_url":"https://codeload.github.com/RickMoynihan/nrebl.middleware/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239137375,"owners_count":19587992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","nrepl"],"created_at":"2024-10-02T09:13:09.343Z","updated_at":"2025-10-31T07:31:06.084Z","avatar_url":"https://github.com/RickMoynihan.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nrebl.middleware\n\n[![Clojars Project](https://img.shields.io/clojars/v/rickmoynihan/nrebl.middleware.svg)](https://clojars.org/rickmoynihan/nrebl.middleware)\n\n*VERY ALPHA*\n\nThe start of an nREPL middleware that will spy on an nREPL connection\nand capture the results of evaluation for browsing in\n[REBL](https://github.com/cognitect-labs/REBL-distro).\n\n**NOTE: REBL requires a commercial license if it's to be used for commercial work**\n\n## Installation (tools.deps)\n\n1. Install [clojure](https://clojure.org/)\n2. Install REBL to a known path\n3. Include some aliases either in your `~/.clojure/deps.edn` or your projects `deps.edn` respectively.  Note the `:rebl-8` and `:rebl-11` aliases are for running either on Oracle's JDK 8 (which bundles JavaFX) or OpenJDK 11 which doesn't.  \n\n```clojure\n{:aliases {\n           :nrebl {:extra-deps {nrepl {:mvn/version \"RELEASE\"}\n                                cider/cider-nrepl {:mvn/version \"0.21.0\"}\n                                refactor-nrepl {:mvn/version \"2.4.0\"}\n                                rickmoynihan/nrebl.middleware {:mvn/version \"0.2.0\"}}\n          :main-opts [\"-e\" \"((requiring-resolve,'cognitect.rebl/ui))\" \"-m\" \"nrepl.cmdline\" \"-i\" \"--middleware\" \"[nrebl.middleware/wrap-nrebl,cider.nrepl/cider-middleware]\"]}\n\t  \n           :nrepl {:extra-deps {nrepl/nrepl {:mvn/version \"0.6.0\"}}}\n           ;; - see https://github.com/cognitect-labs/REBL-distro\n           ;; - you need to download the REBL JAR (and update the local/root below)\n           ;; - you need to be using Clojure 1.10 and either\n           ;; - - Oracle JDK 8 -- use :rebl-8\n           ;; - - OpenJDK 11 -- use :rebl-11\n           :rebl-8\n           {:extra-deps {org.clojure/core.async {:mvn/version \"0.4.490\"}\n                         ;; deps for file datafication (0.9.149 or later)\n                         org.clojure/data.csv {:mvn/version \"0.1.4\"}\n                         org.clojure/data.json {:mvn/version \"0.2.3\"}\n                         org.yaml/snakeyaml {:mvn/version \"1.23\"}\n                         com.cognitect/rebl\n                         ;; adjust to match your install location\n                         {:local/root \"/Developer/REBL/latest/REBL.jar\"}}\n            :main-opts [\"-m\" \"cognitect.rebl\"]}\n            :rebl-11\n            {:extra-deps {org.clojure/core.async {:mvn/version \"0.4.490\"}\n                          ;; deps for file datafication (0.9.149 or later)\n                          org.clojure/data.csv {:mvn/version \"0.1.4\"}\n                          org.clojure/data.json {:mvn/version \"0.2.3\"}\n                          org.yaml/snakeyaml {:mvn/version \"1.23\"}\n                          com.cognitect/rebl\n                          ;; adjust to match your install location\n                          {:local/root \"/Developer/REBL/latest/REBL.jar\"}\n                          org.openjfx/javafx-fxml     {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-controls {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-graphics {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-media    {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-swing    {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-base     {:mvn/version \"11.0.1\"}\n                          org.openjfx/javafx-web      {:mvn/version \"11.0.1\"}}\n             :main-opts [\"-m\" \"cognitect.rebl\"]}\n\n             :cider {:extra-deps {cider/cider-nrepl {:mvn/version \"0.22.1\"\n                                  refactor-nrepl {:mvn/version \"2.4.0\"}}}}}}}}\n```\n\n## Usage\n\nAssuming OpenJDK 11:\n\n```\nclj -R:nrepl:cider:rebl-11 -A:nrebl\n```\n\nOr Oracle JDK 8:\n\n```\nclj -R:nrepl:cider:rebl-8 -A:nrebl\n```\n\n\nYou should now be able to connect to your nREPL through your editor or via an nREPL client and have nREBL capture the evaluation of forms.\n\n## Installation (leiningen)\n\nAssuming you're running a recent leiningen (2.9.1) follow the steps:\n\n1. Install REBL to a known path.\n2. Add the following to your `~/.lein/profiles.clj` file in order to configure nrebl as part of your `:user` profile:\n\n```clojure\n :nrebl  {:repl-options {:nrepl-middleware [nrebl.middleware/wrap-nrebl]}\n         :dependencies [[rickmoynihan/nrebl.middleware \"0.2.0\"] ;; set this to the latest nrebl version\n                        [org.clojure/core.async \"0.4.490\"]]\n         :resource-paths [\"/Users/rick/Software/rebl/REBL-0.9.157.jar\"] ;; set this to where your REBL jar is installed\n         :injections [(require '[cognitect.rebl :as rebl])]\n         }\n\n :user [:nrebl\n        ;;:other-tool-profiles...]\n```\n\nNOTE: the above configuration stores all `:nrebl` config in a single profile which is then merged into the `:user` profile, which will be available in dev/repl environments.  It is usually cleaner to do it this way as it makes it explicit what configuration belongs to each tool.\n\n## Usage (lein)\n\n1. Run `lein repl` and/or connect to  nREPL with your Editor.\n2. Evaluate `(rebl/ui)` (the :injections should make this available in every namespace)\n3. The REBL UI should appear\n4. Evaluate more forms in the REPL, they should each then appear in REBL.\n\n## Help Wanted\n\nThere's lots that can be done to improve this.  Help \u0026 suggestions welcome.\n\n## Thanks to\n\n- *@seancorfield* for the [dot-clojure](https://github.com/seancorfield/dot-clojure/blob/master/deps.edn) aliases.\n- ...\n\n## License\n\nCopyright © 2018 Rick Moynihan\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickmoynihan%2Fnrebl.middleware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickmoynihan%2Fnrebl.middleware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickmoynihan%2Fnrebl.middleware/lists"}