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 January 2017.
Notable releases
After announcing the release of CanJS 3 last month, we released CanJS 3.4, which features can-connect-feathers for seamless integration with FeathersJS.
Hot on the heels of StealJS 1.0 release last month, Steal 1.1 and Steal-Tools 1.1 were published! The former includes a new feature which simplifies the use of steal-clone with default exports, while the latter adds support for minifying JavaScript files with a custom function.
Community projects
The following projects were released by various members in our community.
Adam L Barrett published a 0.10 release of react-view-models, which connects “observable view-models to React presentational components to create auto-rendering container components.” The project is in its infancy, but if you’re interested in contributing, check out the project’s issues on GitHub.
Juan Orozco published a few validation-related modules for CanJS:
- can-validate-legacy is the previous version of can-validate for CanJS 2.3 projects.
- can-validate has been updated for CanJS 3
- can-define-validate-validatejs integrates can-define with Validate.js
Matthew Phillips released a couple different modules:
- can-custom-elements is the start of an exploration into how CanJS can integrate with Custom Elements
- steal-parse-amd is “a parsing version of SystemJS’s AMD extension”
Nico R. published donejs-select, which is a component for “KnockoutJS-style select for DoneJS.”
Marshall published can-route-react, which “is a collection of React components that help with routing… modeled after the ones found in React Router.” It’s still an experiment, so if you’re interested in contributing, check out the project’s issues on GitHub.
Blog posts, talks & trainings
I published a blog post on How to Upgrade to StealJS 1. If you’re migrating a project from a previous version to StealJS 1, you’ll enjoy the improved Migration Guide.
Manuel Mujica has done some incredible work on steal-conditional. He recorded a video with Matthew Phillips and published a blog post on How To Conditionally Load Modules with StealJS. It was even featured by JavaScript Daily!
Steve Domino published a blog post on creating a DoneJS app with Nanobox.
Justin Meyer hosted a training on How DefineMap Works.
We also hosted and were involved in a few local meetups:
Additionally, Adam Barrett hosted a StealJS Overview & Walkthrough. It’s now available to any Forward Courses subscribers.
Contributors
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:
Brad Momberger made some contributions to CanJS:
- Allow numbers (literals and variables like %index) to be the value of bracket expressions
- Fix for Call expressions inside of Bracket expressions
- Use two-level extend to prevent subclasses from overwriting parent defines
- Ensure sync of child and parent in two-way bindings
Colin Leong made a contribution to DoneJS:
Curtis Cummings made a few contributions to FuncUnit and Testee:
- Upgrade Syn to 0.2.2 to fix
- Fixing example code blocks in actions and getters docs
- Adding state to passed and failed tests so Mocha reporters work properly
Ilya Fadeev made some contributions to CanJS:
- Support `init` or `setup` returning something other than new instance
- Add constructor/hydrate behaviour
- Maximum call stack if two instances without id are created (can/constructor-hydrate)
- In can/map/map behavior check whether other behavior methods are available
jcarbou made a contribution to StealJS:
Juan Orozco made a contribution to CanJS:
Kevin Dillon made a contribution to Syn:
Manuel Mujica made a ton of contributions to StealJS:
- Prevent streams to mutate recycle's cached data
- Minify JS bundles instead of individual nodes
- Test conditional builds using `~` lookup scheme
- Fix trace detection with commented out import statements
- Merge system-trace into core
- Support custom globals configuration
Mike ‘mitch’ Mitchel made a contribution to CanJS:
Nitin Pasumarthy made a few contributions to CanJS
- Change scope object in Call expressions example
- Fix a typo in example of DefineMap
- Incorrect param explanation
What’s next
The core team is focused on the DoneJS 1.0 release, which will include CanJS 3 and StealJS 1.
We’re also starting to think about issues we’ll tackle after the DoneJS 1 release. One of those issues is improving templating in CanJS. We have a request for proposals open to collect ideas from the community. If you have thoughts on templating within CanJS, join the conversation!
This month we’ll be hosting a couple local meetups:
Keep up with the latest in the community by following us on Twitter or joining us on our forums or Gitter chat!
Previous Post