luminus-framework / luminus-framework/luminus-template
Dependency [funcool/cuerdas "2021.05.29-0"] breaks funcool/struct
- Dominant language
- Clojure
- Stars
- 648
- Forks
- 143
- PR merge metrics
- No merged PRs in 30d
Description
When creating a new luminus app with the following command:
`lein new luminus my-app +reitit +re-frame +shadow-cljs +postgres`
And running
`lein uberjar`
The compilation fails:
```
Compiling my-app.config
Compiling my-app.core
Compiling my-app.db.core
Compiling my-app.env
Compiling my-app.handler
Compiling my-app.layout
Compiling my-app.middleware
Compiling my-app.middleware.formats
Compiling my-app.nrepl
Compiling my-app.routes.home
Compiling my-app.validation
Syntax error compiling at (struct/core.cljc:218:31).
Syntax error compiling at (struct/core.cljc:218:31).
No such var: str/parse-number
Full report at:
/tmp/clojure-6721617795244421863.edn
```
There was no such error in an older luminus app I run, so I compared the `project.clj` files and realized that `[funcool/cuerdas "2021.05.29-0"]` overrides a transient dependency of `[funcool/struct "1.4.0"]`, which relies on `[funcool/cuerdas "2.2.0"]`.
If I remove the reference to `cuerdas` from the project.clj file, everything works as expected.
It seems to be a recent addition, so I'd expect only version 4.17 to be affected:
https://github.com/luminus-framework/luminus-template/commit/0ff6cd9170bac6f1d813db80bd7b14e2629907a5
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the template's dependency declarations and the project.clj generated by `lein new luminus my-app +reitit +re-frame +shadow-cljs +postgres`, then inspect the dependency change in commit 0ff6cd9170bac6f1d813db80bd7b14e2629907a. Reproduce with `lein uberjar` and follow the failure at struct/core.cljc:218:31. Done means the generated application compiles successfully without the `str/parse-number` error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100