Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukaszkorecki/rumble
Clojure REPL helpers
https://github.com/lukaszkorecki/rumble
Last synced: 14 days ago
JSON representation
Clojure REPL helpers
- Host: GitHub
- URL: https://github.com/lukaszkorecki/rumble
- Owner: lukaszkorecki
- License: other
- Created: 2022-02-14T17:37:38.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-15T17:26:15.000Z (3 months ago)
- Last Synced: 2024-10-04T18:21:12.793Z (about 1 month ago)
- Language: Clojure
- Size: 47.9 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rumble
A set of helpers and tools for a smoother development REPL workflow.
## Installation
[![Clojars Project](https://img.shields.io/clojars/v/org.clojars.lukaszkorecki/rumble.svg)](https://clojars.org/org.clojars.lukaszkorecki/rumble)
### Lein
Add it to `~/.lein/profiles.clj`:
```clojure
{
:user {:dependencies [[org.clojars.lukaszkorecki/rumble "RELEASE"]]}
:repl {:dependencies [[org.clojars.lukaszkorecki/rumble "RELEASE"]]}
}
```### `deps.edn`
This is more flexible approach, as you'd set up a `:dev/rumble` alias and then include it in the REPL-launching command.
## Usage
Best to alias it in some way:
```clojure
(ns scratch) ;; or whatever
(require 'r)
```From there you can run `(r/help)` and get all of the info
## Managing application lifecycle during development
Rumble assumes a couple of things:
- you're using Component
- your dev system lives in `.user` namespace by defaultThese assumptions make for typing fewer lines, because you can pass your own namespace symbol and ensure that the ns exports `start` and `stop` functions to manage the system lifecycle, it *might* work.
From there, you have a lot sorts of tools to pull out components out of the running system, get a reference to it and all of that good stuff.
## Tests
Depends on Kaocha. Usage is as simple as:
- `(r/t!)` to run all tests
- `(r/t! (r/tests #.*bananas.*"))` to run only a matching subsetTests will not refresh changed namespaces if the dev system is running!
If you have a custom config for Kaocha, set `KAOCHA_CONFIG` environment variable to point to it.## Taps
A couple of helpers to get data out of taps defined in the code.
## License
Copyright © 2019 - 2023 Łukasz Korecki
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the Eclipse
Public License, v. 2.0 are satisfied: GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or (at your
option) any later version, with the GNU Classpath Exception which is available
at https://www.gnu.org/software/classpath/license.html.