DoneJS Contributors Meeting – 2017-03-31


Please add topics for discussion (and your status if you’re a contributor).

Live Stream




Last Week:

Next Week:

  • vacation

Topic: deprecation warnings before removing APIs

Last week:

Next week:

  • Today: Publish a blog post about can-util, can-param, & can-deparam
  • Reach out to more blog/tutorial sites
  • More conference & meetup organizing

Topic: An alternative form for can-view-import



Last Week

  • Released DoneJS 1.0 (whoo!) to npm

Next Week


Last week:

  • Fixed memory leaks in can-util/dom/data/data and can-jquery
  • Added support for {{ foo["bar.baz"] }} in can-stache
  • Updated donejs add plugin for DoneJS 1.0 and plugin and generator guides

Next week:

  • Client work

Last Week

Next Week

  • Release steal 1.4

Last Week:

Next Week:

  • bit-docs-website

Attendees: @chasen @daffl @justinbmeyer @leoj3n @m-mujica @matthewp @phillipskevin

Discussed topics:

can-reflect goals:

  1. Simplify our code base; can-observation reader has to know about every type, but with can-reflect, it shouldn’t
  2. Higher-performing observables; can-compute is used everywhere, but we have some compute-like things that are faster, like can-observation; can-stache will use lighter-weight observables but the public API (computes) won’t change; can-define getters can also use can-observation instead of can-compute
  3. Improve compatibility with other data types in an abstract way, e.g. streams can be observable in stache


  • Continuing with our overall goal to isolate state into separate modules
  • can-event/batch/ is just a queue system; that should be pulled out because it’s stateful
  • Lots of discussion around representing stateful processes in phases

Deprecate js/is-array/ and js/is-string/:

  • is-array existed for IE8 support (can deprecate now)
  • is-string existed to help create smaller bundles (can deprecate)
  • is-function isn’t a simple one-liner

Policy around deprecating code:

  • Case-by-case basis, but generally agreed on adding deprecation warnings in minor releases and removing in major

An alternative form for can-view-import:

  • Overview: self-closing can-import is static while using can-import with a separate closing tag is dynamic
  • Problems: it’s confusing to have different behavior based on whether an element is self-closing or not; also in the dynamic syntax, the component isn’t immediately available
  • Potential solutions: teach new syntax (hopefully keep backwards compatibility); maybe add late-binding for components