Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

Releases: mAAdhaTTah/brookjs

v0.8.5

06 Aug 00:27
Compare
Choose a tag to compare
  • Fix bug when updating root blackboxed element

v0.8.4

16 Jul 16:44
Compare
Choose a tag to compare
  • Update dependencies
  • Switch to useBuiltins for all transforms.

v0.8.3

17 Jun 16:34
Compare
Choose a tag to compare

Bugfix: Fix mutation actions dedupe algorithm.

Fixes bug causing children to become inert.

v0.8.2

17 Jun 16:24
Compare
Choose a tag to compare

Busted previous release.

v0.8.1

17 Jun 16:24
Compare
Choose a tag to compare

Bugfix: Curry the renderFactory function

Introducing Animation Support

15 Jun 02:05
Compare
Choose a tag to compare
  • New Feature: Animation support
  • New rendering engine: diffhtml
  • Allow mounting DOM without template
  • Export Kefir through the
    • Extend the library with custom ActionObservable
  • Internal: Test improvements

Deprecation Cleanup

09 Apr 21:31
Compare
Choose a tag to compare
  • BREAKING: All deprecated code removed. If you saw no warnings in your console, this release comes with no changes. If not, you'll need to update your deprecated code before v0.8.0, which will introduce animations.
  • Major Documentation Overhaul: All docs have been written and should cover everything you need to write a brookjs application.

0.6.0

29 Mar 02:30
Compare
Choose a tag to compare
  • Add ProxyEvent to wrap DOM events
    • This provides an abstraction we can build upon, as well as 2 new properties: containerTarget & decoratedTarget
  • Modify behavior of mapActionTo to use meta instead of adding source directly to the action
    • Deprecate the source property currently added to the action
  • Deprecate component in favor of view in domDelta

All deprecated code will be removed in the next release.

Update rendering context

26 Mar 22:18
Compare
Choose a tag to compare

Published under the beta tag on npm.

Use npm i brookjs@beta to install.

A number of breaking changes in this release. The first is data-brk-container no longer provides blackboxing; that's handled explicitly through the new data-brk-blackbox attribute, which protects a node from being updated by the rendering process.

The rendering process is also handled by the root node, rather than streaming props into individual components. This reduces the mismatch in how you think about the props provided to the template; you no longer end up with props coming in either from the parent template (on page loader) rather than through modifyChildProps (during the FE application lifecycle).

If you're heavily relying on modifyChildProps to thread the needle between the FE context & BE context, you're going to have a rough time upgrading. The best way to go about it is update all your modifyChildProps streams to pass the same props the template passes in through the Handlebars template. From there, if there's no onMount in the child component, you can just remove modifyChildProps entirely. If you have components which you heavily relied on an internal implementation (often handled through onMount), you'll just need to blackbox your component with data-brk-blackbox and maintain modifyChildProps to whatever the onMount needs.

  • BREAKING: Remove render$ from combinator in component. This is a result of a change in the internals, which we're sets up an incoming change in the rendering context.
  • BREAKING: Rendering now happens from the root component down, rather than streaming individual values into individual components. This allows Handlebars to be the only context through which the developer has to understand the data flow into the DOM.
  • BREAKING: Blackboxing is now handled explicitly through the use of dat-brk-blackbox. This can be used to carve out sections of the DOM from being updated, rather than the "container hack."

ofType & domDelta

26 Mar 16:00
Compare
Choose a tag to compare
  • Adds ofType method, cribbed from redux-observable, to the actions$ stream passed to the delta. This should make writing deltas a lot cleaner.
  • Add domDelta. This should be used to mount the dom on page loads. Waits until DOM is ready to mount the component.
  • Add some documentation for domDelta.