Changelog History
-
v3.2.0 Changes
April 24, 2019π This enables creating plugins with scoped names:
donejs add plugin @bitovi/my-plugin
π will create a folder called
my-plugin
.Ref - #1176
-
v3.1.0
November 30, 2018 -
v3.0.0 Changes
November 28, 2018DoneJS 3.0 is out! But don't tell anyone yet! We are busy updating documentation, writing blog posts, making videos, migration guides, etc.
If you are a current user and feeling adventurous , please check it out. We are hanging out in gitter and watching the forums, eager to help you.
π Once we've finished crossing our
Q
s and dotting ourj
s, we will have on official release. It will be time to celebrate. That's because DoneJS will not only bring together all the goodies from CanJS 5 and StealJS 2, it will include ...π± Incremental server-side rendering (the fastest server rendering solution on the market) π
π± Stay tuned for an announcement blog post, how to take advantage for the π₯super speedyπ₯ incremental SSR, and more!
-
v3.0.0-pre.0
July 23, 2018 -
v2.1.0 Changes
March 23, 20180οΈβ£
--yes
flag passed todonejs add
will use the defaults #1085 -
v2.0.0 Changes
February 22, 2018π This release brings together the best of CanJS 4.0 with a curated list of packages that work well for developing real apps.
-
v2.0.0-pre.1
February 20, 2018 -
v2.0.0-pre.0
December 13, 2017 -
v1.1.0 Changes
November 06, 2017DoneJS 1.1.0 release marks the introduction of done-ssr's new Zones API. This new API makes it possible to customize server-side rendering by using can-zone plugins.
done-ssr Zones
We believe that done-ssr is one of the best server-rendering libraries available for any framework. It was always designed to be able to be used with any framework. This is because it:
- Provides a minimal DOM layer with can-simple-dom.
- π Uses can-zone to know when rendering is complete.
With these two pieces any framework that uses DOM and async APIs; all of them, will work with done-ssr. Nevertheless it has still been somewhat difficult to use done-ssr outside of a DoneJS app because of the dependency on steal.
π For 1.1 we wanted to provide a way to use done-ssr with a DOM layer other than can-simple-dom (such as JSDOM which strives to be spec compliant). We settled on the best way to achieve this would be to provide all of the functionality of done-ssr through a set of Zone plugins. These include:
- Setting up DOM layers.
- Rerouting API requests from
XMLHttpRequest
andfetch
. - Copying cookies from a request to the DOM layer's
document.cookie
and then setting cookies back on the response once finished. - π HTTP/2 PUSH support for
fetch
, XHR, and images. - Incremental Rendering.
You can use it like this:
const Zone = require("can-zone");const requests = require("done-ssr/zones/requests");const dom = require("can-zone-jsdom")const steal = require("done-ssr/zones/steal");require("http").createServer(async function(req, res) {res.writeHead(200, { 'content-type': 'text/html' });var zone = new Zone([// Overrides XHR, fetchrequests(req),// Sets up a DOMdom(req, {executeScripts: false,html: \_\_dirname + '/public/index.html'}),steal({config: \_\_dirname + '/public/package.json!npm',main: 'react-client/main'})]);let {html} = await zone.run();res.end(html);});
React Server rendering guide
π To go with this new API we've also created a new Server rendering React guide on donejs.com. It walks you through building a small React application using its default tools and then using done-ssr, can-zone, and can-zone-jsdom to implement server rendering.
At the end of the guide you have an incrementally rendered React application that looks like this:
-
v1.1.0-beta.0
October 31, 2017