Import of "minimal, stand-alone Blaze" experiment
Slice up blaze.js into several files
Oops fix package.js
Move toHTML into html.js
Use underscore, not microscore, in Meteor blaze
Define HTML.isArray
Use refactored html.js in "old" ui-package Blaze

Some failing tests, which are hopefully mostly just tests of the modified code that need to be ported.

The main work was replacing the use of pseudo-attributes $special and $dynamic with the new HTML.Attrs(...) / array representation.  Some functions were also rewritten to use Visitors (`toJS`, old `toHTML`/`toText`/`evaluateAttributes`, `replaceSpecials` in the compiler, but not `optimize` yet or `materialize`).

Create the "blaze-tools" package to hold toJS and other functions that are useful for template parsers/compilers that need to read or generate JS.
Fix some tests
Fix rest of tests (for new version of html.js)

Only tested on Chrome.

The "blaze" package is still separate but it shares even more code with "ui" now.
Combine getQuoted- and getUnquotedAttributeValue
HTMLTools: Kill "Special" as a TemplateTag wrapper

Remove the concept of a "Special" as a generalization of template tags in HTML parsing and the HTMLjs tree.  Just call something that's parsed by hooking the HTML parser a TemplateTag.  Don't wrap the return value of getSpecialTag (now getTemplateTag), just require that it be an instanceof HTMLTools.TemplateTag.

Spacebars.TemplateTag is now a subclass of HTMLTools.TemplateTag.  Both support `.toJS()`.  The same object returned by getTemplateTag is now inserted into the HTMLjs -- that is, the Spacebars compiler creates an HTMLTools.TemplateTag instead of it being created as a wrapper inside HTMLTools.  All usages of the words "special" or "special tag" are replaced with "template tag."
Rewrite Spacebars optimizer to use Visitors
Comments
Move Spacebars compiler to SpacebarsCompiler

The pattern of one package defining Spacebars and another augmenting it with methods like Spacebars.parse is too confusing.

The symbols `parse`, `compile`, `TemplateTag` are now on `SpacebarsCompiler`.  You can now access `SpacebarsCompiler.optimize`, and we can start exposing more symbols.
DOMRange contains (untested)
Modularize DomRange's event support in UI
Rename DomBackend to DOMBackend in ui

Also group the Events backend functions together
Clean up event handlers on DomRange removal

No unit tests, but confirmed on an example.  Existing tests pass.
Start to add events in refactored Blaze
Comment