- Try handling exceptions in a way that serialization errors are less likely
- Handle exceptions where ex-data can't be serialized
- This should print real exceptions for problematic cases, but the exceptions won't be formatted perfectly.
- Fix setting
:modules
:output-to
automatically (#174) - Fix using Node packages and native requires with Node.js (#175)
- Uses
java.util.Base64
instead ofjavax.xml.bind.DatatypeConverter
, to support Java 9 (#178)- Breaks Java 1.7
- Somehow fixes NPE when using
:infer-externs
(not sure what caused this...) (#172)
- Fix
:source-map
option logic to allow disabling the option when doing optimized build.- If
:source-map
is string (i.e. path), use value as is, instead of setting new value based on:output-to
.
- If
- Fix missing exception message
- Handle new exception location format
- Escape
%
in exception messages if using Boot <2.7.2 (Boot fix)
- Fix
:modules
:output-to
handling
- Require
:main
namespace in our shim ns requires (#139) - Don't set
:source-map-path
automatically (#157, #136) - Use relative path of
.cljs.edn
for asset-path instead of name of the file (#156, #152) - Use provided
:output-dir
and:output-to
and set default values based on path of.cljs.edn
, like previously (#104) - Drop support for
.cljs.edn
:modules
option (with warning) and instead handle:output-to
paths in:modules
under:compiler-options
- If project dependencies have changed, add new dependencies to Boot-cljs pods (#95)
- E.g.
(boot.core/set-env! :dependencies #(conj % '[com.andrewmcveigh/cljs-time "0.4.0"]))
can be used to addcljs-time
dependency and Boot-cljs will find this without restarting the whole Boot process.
- E.g.
- Add validation for Boot-cljs
.cljs.edn
options (#148) - During
:advanced
compilation set the:output-wrapper
option totrue
. This is not the ClojureScript compiler default but more friendly for regular use. This makesboot-cljs
behave similar tolein-cljsbuild
as well. (#64)
- Stop following ClojureScript compiler version number
- Boot-cljs uses the public compiler API
- The API is static and should not change between versions
- ClojureScript compiler versions since 1.7.28 which included change CLJS-1367, should work.
- Expose ClojureScript compiler options in
.cljs.edn
Boot fileset metadata for others tasks (e.g. boot-reload) - Hide stacktraces for Cljs compiler exceptions (reader exception, analysis error)
- Changed the order compiler-options are merged. Task-options are now merged on top of options from .cljs.edn. This allows overriding options per build task invocation.
- Fixed optimization none builds (#115)
- Update default ClojureScript release to 1.7.228
- Improved exception messages in some cases. (#110)
- Added experimental support for Closure Modules using
:modules
option on.cljs.edn
files. (#113)
- Fixed critical bug introduced in the previous release
- Second compilation broke the main shim
- Read
.cljs.edn
always instead of only once- This allows editing
:require
and:compiler-options
in without restarting the build process.
- This allows editing
- Update to match latest ClojureScript release
- Removed workaround related to recompile-dependents which is made unncessary by CLJS-1437.
- Fixed source-map options when
optimizations
is not explicitly set.
- Fixed problem where default main (no
.cljs.edn
files) tried to compiledeps.cljs
files in the fileset.
- Warning messages now display file path without tmp-dir path
- Adds information about warnings and exceptions to fileset so that boot-reload can use the information to display HUD.
- Cljs exceptions are now always rethrown, this is to allow other tasks to catch the exceptions and to see when build failed
- Improved ClojureScript dependency check logic
- If ClojureScript dependency is specific in build.boot, use that
- If no dependency is found but ClojureScript is available in classpath, display a warning
- If no dependency is found and ClojureScript is not available, add dependency
- BREAKING: Changed the way
:ids
option selects the files. Instead of looking only at the basename of file, it looks at the paths. E.g. to usesrc/js/main.cljs.edn
use--ids js/main
instead of just--ids main
. - Fixed advanced optimization caused by generated main namespace not being on classpath
- Fixed where advanced optimization was broken with multiple builds #92.
- Display reader exceptions in pretty format
- Fix #89.
- Fix Cljs version assertion
- Add Cljs output files as resources so they'll be available in classpath
- Support reloading macro namespaces
- Use ClojureScript API
- Builds specified by
.cljs.edn
files are now run parallel in separated environments. - Add
:ids
option to select used.cljs.edn
files - Bug fixes
- Updated to latest ClojureScript version
- Instead automatically adding or updating Clojure 1.7 dependency, display a warning and link to Boot wiki page about setting the Clojure version.
- Broken release
- Path->js fix fir cljc namespaces
- Automatically add Clojure 1.7 dependency to Cljs pod if project is not yet using it.
- Probably breaks stuff: Updated to latest ClojureScript compiler
- Might break stuff: Uses shim created by cljs compiler
- Breaking: Removed *.inc.js, *.ext.js, *.lib.js handling
- Most of use cases are covered by cljsjs
- If you still need to add local js files to the build, you can add deps.cljs file to your local project