Skip to content

Latest commit

 

History

History
187 lines (109 loc) · 6.31 KB

File metadata and controls

187 lines (109 loc) · 6.31 KB

Cherry: Experimental ClojureScript to ES6 module compiler

Unreleased

  • Accept plain await as a special form, in anticipation of CLJS next. The legacy js-await and js/await spellings continue to work as aliases for now and may be deprecated in a future version.
  • Multiple :require-macros clauses with :refer now properly accumulate instead of overwriting each other
  • Add cherry.test with clojure.test-compatible testing API: deftest, is, testing, are, use-fixtures, async, run-tests (no-args defaults to current ns; also accepts quoted ns symbols). Macros are compiler built-ins (shared with squint) — no :require-macros plumbing needed in user code. Per-namespace fixtures, counter isolation per run-tests call, ^:async test support, and (async done body) form for tests that resolve when done is called.

0.5.34 (2025-12-18)

  • Fix cherry compile CLI command not receiving file arguments
  • Bump shadow-cljs to 3.3.4

0.5.33 (2025-11-27)

0.4.32 (2025-10-21)

  • Bump squint compiler common component and standard library
  • Bump other deps
  • Optimize =, str, not=

0.4.31 (2025-10-20)

  • Support :macros option + :refer so you can use unqualified macros using compiler state (see macro-state-test)

0.4.30 (2025-07-15)

  • Bump squint common compiler code, fixes bugs

0.4.29 (2025-07-11)

  • Fix #156: not=, used incorrectly inlined version of squint

0.4.28 (2025-05-12)

  • Fix #154: cherry.embed/eval-form

0.4.27 (2025-05-09)

  • #151: Bump squint compiler common which fixes several issues, among which pragma support

0.4.26 (2025-03-18)

  • Add cljs.pprint/pprint

0.4.25 (2025-03-17)

  • Add add-tap

0.4.24 (2025-03-13)

  • Bump squint compiler common which brings in new #html id and class shortcuts + additional features and optimizations, such as an optimization for aset

0.3.23 (2024-10-05)

  • Fix referring to vars in other namespaces globally

0.3.22 (2024-09-13)

  • Allow defclass to be referenced through other macros, e.g. as cherry.core/defclass

0.3.21 (2024-09-12)

  • Fix emitting keyword in HTML

0.3.20 (2024-09-12)

  • #138: Support #html literals, ported from squint

0.2.19 (2024-07-04)

  • #135: Fix UMD build

0.2.18 (2024-06-02)

  • Fix #130: fix predefined :aliases for cherry.embed
  • Support IDeref, ISwap, IReset in deftype

0.1.17 (2024-04-16)

  • #127: fix duplicate cherry-cljs property in package.json which caused issues with some bundlers
  • Bump squint common compiler code

0.1.16 (2023-12-07)

  • Support clojure.set
  • Support bit-shift-left and more
  • #119: Add a bb task for serving the playground

0.1.15 (2023-12-05)

  • Support coercive-boolean etc

0.1.14

  • Playground improvements

0.1.13 (2023-12-03)

  • Fix varargs, allow Math to be used unqualified

0.1.12 (2023-11-30)

  • Alas, the previous build didn't pick up the added vars

0.1.11 (2023-11-30)

  • Add Clojure 1.11 functions like parse-long, etc (notice how the version numbers align!)

0.1.10 (2023-11-30)

  • Catch up with newest squint common compiler enhancements
  • Support js-await (rather than js/await)
  • Update playground!

0.1.9 (2023-10-04)

  • Fix reading :cljs branches from .cljc files

0.1.8 (2023-09-18)

  • Bump shared compiler code with squint, optimizes truthiness checks and fixes and and or wrt/ truthiness

0.1.7 (2023-08-18)

  • Fix overriding core vars

0.1.6 (2023-08-18)

  • Add clojure.string and clojure.walk

0.1.5 (2023-08-15)

  • Support defclass and js-template, same as squint. See squint docs.

0.0.4 (2023-06-03)

  • #101: include lib/cherry.umd.js fallback for Firefox web worker

0.0.3 (2023-05-13)

  • Adjust core package in standard import

0.0.2 (2023-05-13)

  • #93: optimize if + zero?
  • #98: fix $default import

0.0.1

  • Support cherry.embed namespace to embed cherry into a CLJS/shadow app. See docs.
  • Many other small fixes

0.0.0-alpha.60

  • #78: fix macro call with more than 20 arguments
  • #79: fix issue with advanced compilation and _EQ_ symbol

0.0.0-alpha.59

  • #78: fix macro call with more than 20 arguments
  • #79: fix (workaround) issue with advanced compilation and _EQ_ symbol

0.0.0-alpha.58

  • #71: support alias with dashes
  • #77: support async/await in variadic function s
  • #67: support namespaced components in JSX

0.0.0-alpha.57

  • Fix rendering of number attributes in JSX