reitit/doc/development.md
2025-10-24 15:26:20 +03:00

64 lines
1.3 KiB
Markdown

# Development Instructions
## Building
```bash
./scripts/lein-modules do clean, install
```
## Running tests
```bash
./scripts/test.sh clj
./scripts/test.sh cljs
```
## Formatting
```bash
clojure-lsp format
clojure-lsp clean-ns
```
## Documentation
The documentation lives under `doc` and it is hosted on [cljdoc](https://cljdoc.org). See their
documentation for [library authors](https://github.com/cljdoc/cljdoc/blob/master/doc/userguide/for-library-authors.adoc)
## Updating deps
* `lein ancient upgrade`
* Mention non-dev non-test dep upgrades in CHANGELOG.md
* `npm update --save`
* Make a PR, run CI
## Making a release
We use [Break Versioning][breakver]. Remember our promise: patch-level bumps never include breaking changes!
[breakver]: https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md
```bash
# new version
./scripts/set-version "1.0.0"
# create a release commit and a tag
git add -u
git commit -m "Release 1.0.0"
git tag 1.0.0
# works
./scripts/lein-modules install
lein test
# deploy to clojars
CLOJARS_USERNAME=*** CLOJARS_PASSWORD=*** ./scripts/lein-modules do clean, deploy clojars
# push the commit and the tag
git push
git push --tags
```
* Remember to update the changelog!
* Announce the release at least on #reitit in Clojurians.