Skip to content

Releases: donejs/donejs

Handle creating folder structure for scoped projects

24 Apr 13:59
Compare
Choose a tag to compare

This enables creating plugins with scoped names:

donejs add plugin @bitovi/my-plugin

will create a folder called my-plugin.

Ref - #1176

DoneJS 3.0 Release (don't tell anyone yet)

28 Nov 13:16
Compare
Choose a tag to compare

DoneJS 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 Qs and dotting our js, 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!

v2.1.0

23 Mar 23:41
Compare
Choose a tag to compare

--yes flag passed to donejs add will use the defaults #1085

DoneJS 2.0

22 Feb 15:05
Compare
Choose a tag to compare

This release brings together the best of CanJS 4.0 with a curated list of packages that work well for developing real apps.

1.1.0 - SSR Zones API

06 Nov 19:14
Compare
Choose a tag to compare

DoneJS 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 and fetch.
  • 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, fetch
    requests(req),

    // Sets up a DOM
    dom(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:

ssr react example

v1.0.1 — npm 5 support!

07 Jul 20:37
Compare
Choose a tag to compare

DoneJS now supports creating new apps with npm 5! 🏁 ✨ 🎊

To upgrade, run npm install -g donejs@1.0.1

This repo also contains the website, so the full diff shows hundreds of other changes: v1.0.0...v1.0.1

1.0.0

24 May 20:31
Compare
Choose a tag to compare

DoneJS 1.0.0 is here! It is the culmination of the releases of CanJS 3.0 and StealJS 1.0. You can read more about DoneJS 1.0 is the release article.

Features

In addition to bringing together the two major projects of DoneJS, there are also a few new features:

  • can-connect replaces can.Model as the method for creating typed models.
  • Electron is replacing NW.js as the default desktop native app runtime through donejs-electron. NW.js is still supported and has been upgraded for use in DoneJS 1.0.
  • can-define replaces can.Map as the utility for creating observable types. Using DefineMaps you can create types that do not require using the .attr() method!
  • CanJS now embraces modularity and a variety of 3rd party plugins have been created, such as can-validate, can-connect-feathers, and can-connect-signalr.
  • steal-conditional is a new extension for StealJS that allows conditional loading of modules. See the introductory blog post.