Skip to content

Releases: candid82/joker

v0.8.1

28 May 05:07
Compare
Choose a tag to compare
v0.8.1 Pre-release
Pre-release

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 without else 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 in try, catch and finally

v0.8.0

07 May 05:14
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release

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

08 Apr 23:59
Compare
Choose a tag to compare
v0.7.2 Pre-release
Pre-release

Linter improvements

  • warning on unused namespaces, vars and bindings
  • understand 3-arity deref

Fixes

  • fix reading .joker file on Windows
  • allow interning vars with the same names as built-in types
  • fix reading regexes with quotes

v0.7.1

22 Mar 04:18
Compare
Choose a tag to compare
v0.7.1 Pre-release
Pre-release

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 returns nil if there is no match
  • namespaced keywords are now fully supported

v0.7.0

19 Feb 06:05
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release
  • 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 of core, string. This is a BREAKING CHANGE.

v0.6.2

09 Feb 05:23
Compare
Choose a tag to compare
v0.6.2 Pre-release
Pre-release
  • many linter improvement

v0.6.1

26 Jan 06:50
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release
  • fixes in linter's symbol resolution

v0.6.0

24 Jan 06:57
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release
  • bug fixes
  • linter mode is now triggered by --lint flag, not --parse
  • linter now outputs an error if it cannot resolve a symbol

v0.5.0

11 Dec 07:48
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release
Update readme, add LICENSE file