Skip to content

Releases: bigpipe/bigpipe.js

0.7

17 Jun 12:17
Compare
Choose a tag to compare

AsyncAsset

One of the major changes in the client is the extraction and rewrite of our loader.js resource loader. It ensured that all assets were loaded on the page before we started rendering the received pagelets. We always wanted to have library moved out of the pipe.js core and released as stand alone framework as we believe it can be useful for others. When we encountered an horrible race condition when were started using one pagelet on 2 parts on a page it required a substantial refactor in order to fix this. It was the ideal moment to refactor and release it as stand alone module: https://github.com/bigpipe/async-asset

It's still a bit light on the documentation side of things, but it's a great step forward to a more modular codebase.

Client side template rendering

We've made some changes to the pagelet.render method so it will automatically render your specified views when you supply the method with an object instead of string. (Please note that you need to set streaming to true on your Pagelet instance on the server). When an error occurs while rendering your template we will automatically render the error template and use that instead.

Internal refactors

As mentioned above we ran in to some issues when loading pagelets twice on the same page. This required us to some internal refactors. The pagelets that we receive are no longer stored in an Object but in an array to prevent possible name clashes for happening.

Recursive, nested pagelets

See the 0.7 release of BigPipe for more information about this. It required some changes like making sure that nested pagelets have the correct root elements for searching for the data-pagelet placeholder attributes.

0.6.0

16 May 16:24
Compare
Choose a tag to compare

Consistency

This is something that was lacking the previous 0.5 releases, consistency between the different packages (pagelet, pipe.js and bigpipe). Some functions were written as initialise and other as initialize. Same as the emitting of events within these modules some use double colons: :: to namespace events, others used single. This has been normalized to a single colon. These are breaking changes. So make sure you are now listening to the correct events with one single colon!

Remove no-js and no_js from HTML

We've been removing the no_js className from the HTML by default for a while now but we're not also supporting no-js as class name. This allows you to easily build and change layouts for when JavaScript is not enabled.