Releases: candid82/joker
Releases · candid82/joker
v0.8.1
General improvements
- added
joker.core/doto
macro - added some Clojure 1.9 functions:
boolean?
,any?
,int?
,pos-int?
,neg-int?
,nat-int?
,double?
,simple-ident?
,qualified-ident?
,simple-symbol?
,qualified-symbol?
,simple-keyword?
,qualified-keyword?
,seqable?
,indexed?
,bounded-count
,
Linter improvements
- warning on
if
withoutelse
branch. See #9. The warning is off by default. To enable it, add:if-without-else
rule in.joker
file:
{:known-macros [...]
:rules {:if-without-else true}}
- added
:ignored-unused-namespaces
option in.joker
file to hide a warning on an unused namespace (thanks @joelash for this contribution). If you want Joker to ignore some unused namespaces (i.e. if they are required for their side effects), you can list them in:ignored-unused-namespaces
vector. For example:
{:known-macros [...]
:rules {...}
:ignored-unused-namespaces [foo.bar]}
- more warnings on invalid function calls (i.e.
("oops")
will now result in a warning)
Fixes
- fixed unused binding warning in desctructured maps
- fixed
recur
intry
,catch
andfinally
v0.8.0
General improvements
- new
joker.os/exit
function - support Clojure 1.9 namespaced destructuring (#6)
- many new functions in joker.string namespace. It is now roughly equivalent to
clojure.string
Linter improvements
- warning on duplicate
require
- linter now tries to find
.joker
file in the directory of the file it's linting, as well as all parent directories up to the root. Falls back to~/.joker
. See #7.
Fixes
- fix
require
of standard namespaces
v0.7.2
v0.7.1
General improvements
- partial support for reader conditionals (no splicing)
- new core functions:
pr-err
,prn-err
,print-err
,println-err
- new joker.string function:
trim-space
- binaries are built with Go 1.8
Linter improvements
- warning on
let
with empty bindings vector - understand common core.async macros
- much better error reporting for standard macros (
defn
,fn
,for
,ns
etc) - warning on empty
cond
- warning on threading macros with no forms
- understand more standard Clojure(Script) vars (i.e.
*clojure-version*
) - understand all standard ClojureScript macros (i.e.
this-as
)
Fixes
re-find
now returnsnil
if there is no match- namespaced keywords are now fully supported
v0.7.0
- linter now assumes that external vars hold functions, not macros, and therefore performs symbol resolution inside the calls of external vars. PLEASE NOTE that this may lead to false positives unless you specify known macros in
~/.joker
file. Please see Reducing false positives for more details. --lint
option now automatically detects Clojure dialect by file extension.- standard namespaces now have
joker.
prefix in their names:joker.core
,joker.string
etc instead ofcore
,string
. This is a BREAKING CHANGE.