Figwheel Main provides tooling for developing ClojureScript applications
New React Native support which includes support for React Native CLI and Expo as well as MacOS. See the docs here: https://figwheel.org/docs/react-native.html
:ssl-valid-hosts
allows you to specify what hosts the generated certificate should support:use-ssl
now creates a local dev certificate if one isn't supplied:use-ssl
figwheel configuration option as sugar to make
setting up https easierFixed a major bug introduced in 0.2.7 that caused extra-mains to overwrite the builds :output-to.
Also added the :clean-outputs
Figwheel option that will clean the
compiler's output targets before compiling and starting the build.
Also added the --clean
command line option that does the same thing.
Here are some examples of using the --clean
CLI option:
# this cleans before building
clojure -m figwheel.main --clean -b dev -r
# this cleans all the builds
clojure -m figwheel.main --clean
# this only cleans the dev build
clojure -m figwheel.main --clean dev
Pushed :bundle
target support forward a bit further.
:bundle-freq
figwheel-option with :once
, :always
and :smart
which bundles when output-to
or npm_deps.js
changes:auto-bundle
figwheel-option so supply basic default bundle config:output-to
is inside the :output-dir
for the bundle target--install-deps
cli support to the schemaGot extra-mains and auto-testing up and running for the new bundle target along with an intial docs page https://figwheel.org/docs/npm.html to help get started with an NPM based ClojureScript project.
:bundle-cmd
cljs option: it interpolates :output-to
and :final-output-to
:bundle-cmd
only bundles one time when watching and compiling:bundle-once
to false
to have bundling occur on every compile:final-output-to
if you don't want the default of :output-to
+ "_bundle"support for the new :bundle target requires clojurescript >= 1.10.764
The latest ClojureScript updated the Google Closure library which included some breaking changes when it comes to reloading. This release fixes those problems and also fixes fighweel-main problems that interfered with the support of the new :bundle target.
You can currently learn more about the new bundle target in the Clojruescript guide
https://clojurescript.org/guides/webpack
Using the bundle target will break auto-testing and the default index page. You will have to have your own host page.
There still needs to be some work done on Extra mains to get them to work properly with the new bundle target.
The main problem for many of these automated features is that figwheel has no idea of where the output file of webpack is because the webpack config is exterior to figwheel itself.
The new :bundle target probably deprecates the :npm-deps way of doing things. We'll need to take some time with this way of doing things to see what makes sense.
Minor updates
So nothing groundbreaking in this release, just firming things up and pushing out changes because they have sat in the repo long enough.