Releases: AvisoNovate/twixt
Big rewrite
Inspired by some comments by @technomancy, this release is a virtual rewrite of the code that eliminates the Streamable and DependencyTracker protocols. Twixt is now a couple of different pieces of Ring middleware, as well as its own Ring-like asset pipeline. The end result is smaller and simpler, just the way we'd expect in Clojure.
It's just as easy to configure as before, and most applications can use the one-liner from the README to do all their setup.
In addition, the file system cache (used in development) has been improved; it now works for assets that are derived from multiple inputs, such as Less compilation (because a Less file may import another Less file). That means even faster start up after restarting your application.
Exception reporting improvements
Integrated with io.aviso:pretty to pretty print exceptions to the console, and to centralize the logic for de-mangling Java names into Clojure names.
Some improvements to the layout of the HTML exception report.
Sequences in the exception report are truncated after *print-length*
values, (or 10 values, if *print-length*
is nil). This prevents infinite lists from creating an endless markup-producing loop.
Exception Report
Twixt now includes a wrapper that catches and reports uncaught exceptions. It displays the entire exception stack, including all exception properties.
Only the stack trace of the root exception is displayed:
Clicking the toggle button displays the "mangled" Java class names generated by the Clojure compiler.
Fix CoffeeScript
This corrects a bug that allowed CoffeeScript to be delivered without compilation when caching was not enabled.
This also adds a small amount of logging at startup, to confirm the asset path and resource root.
In addition, files requested under the asset path that do not match a resource are now logged as a warning.
Initial Release
This is the initial release of Twixt, containing basic functionality covering CoffeeScript, Less, and Jade.