Lots of notable releases, community projects, and technical content were released in the DoneJS community last month! This post outlines some of the highlights from May 2017.
CanJS 3.6 included dozens of bug fixes and enhancements, most notably the addition of set.props.dotNotation(propertyName) to can-set (which is useful when using MongoDB-style nested property query parameters) and delegated mouse/pointer enter & leave events in can-event and can-util.
CanJS 3.7 added can-connect-cloneable, a module for making mutable clones of can-connect’d maps. Changes to the clone save back to the original; likewise, changes to the original propagate to the clone. This is really useful if you want to allow a user to cancel changes that they’ve made to their data before they’ve saved it.
CanJS 3.8 introduced some changes to can-stache-bindings to allow registered can-stache helpers to work as attribute values for events (e.g.
(some-event)="registeredHelper"). It also supports spaces in the event binding syntax (e.g.
(. some-prop)), which is important to a module we’re working on called can-stache-animate.
Testee 0.5 added the ability to use a
.js config file (e.g.
testee test.html --config=testee.js), while Testee 0.6 uses native Promises instead of Q's Promise API. Additionally, the Grunt task for Testee is now a separate module (grunt-testee); using the Grunt task directly from Testee is deprecated and the task will be removed in Testee 0.7.
Blog posts, talks & trainings
We published a blog post about three new guides:
Justin also hosted a StealJS Workshop at DenverScript, in which he walked attendees through the StealJS Progressive Loading Guide. Check it out to learn how to build a multi-page, progressively loaded site with hot-module swapping with StealJS!
In addition to the projects and releases we’ve already mentioned, we’d like to recognize the following contributions from people outside the core team:
- Adam L Barrett’s contribution to CanJS
- Alfredo Delgado’s contributions to CanJS
- Austin Kurpuis’s contributions to bit-docs, CanJS, and DoneJS
- Blaze Pollard’s contributions to bit-docs and CanJS
- Brad Momberger’s contributions to CanJS
- Chris Andrejewski’s contributions to CanJS, DoneJS, and Testee
- Christopher Baker’s contributions to CanJS
- Colin Leong’s contribution to DoneJS
- Curtis Cummings’s contributions to DoneJS and StealJS
- Darin Tomack’s contributions to CanJS
- Ilya Fadeev’s contributions to CanJS and StealJS
- Jamie McCue’s contributions to CanJS
- Joel Kuzmarski’s contributions to CanJS
- John Gardner’s contributions to CanJS
- Juan Orozco’s contribution to CanJS
- Kai’s contribution to CanJS
- Kyle Gifford’s contribution to DocumentJS
- Manuel Mujica’s contributions to bit-docs and StealJS
- Mark Stahl’s contributions to CanJS and DoneJS
- Marshall Thompson’s contributions to CanJS and DoneJS
- Mick McGrath’s contributions to bit-docs and CanJS
- morrme’s contribution to DoneJS
- Nils Lundquist’s contributions to CanJS
- Shayane Umar’s contributions to FuncUnit
- Sijia Wu’s contribution to DoneJS
This month you can see members of the DoneJS core team present at four different events:
- Raleigh, NC: CanJS Overview and TodoMVC — Full Day Training
- Diamond Bar, CA: Intro to CanJS — Building a Weather Report
- Chicago, IL: Hacknight — Credit Card Payment Form with Stripe
- Irvine, CA: High-Performance Apps with DoneJS
We’re also working on the following projects:
- Minimal production loader for StealJS, which will make production builds smaller and faster
- can-reflect for simplifying the CanJS codebase, making it easier to build debugging tools, faster templates, and enabling React integration
- Improving the can-connect and can-set APIs so they’re easier to use and understand
- can-element for creating custom elements
- react-view-model for connecting observable view-models to React presentational components
- Implementing slot-like replacement for can-component
- Documenting bit-docs so improved versions of DocumentCSS and DocumentJS can be built