Pattern Lab Node v3.0.0-alpha.6
Pre-releaseThis is a big release.
BIG!
It's the first time Pattern Lab Node has supported asynchronous rendering. Why does this matter? Pattern Lab Node was written synchronously, with only Mustache in mind, many years ago. Async rendering allows the entire engine to work with PatternEngines / templating languages that require more processing, or only ever supported Promises. Think, React, Liquid, and even Twig powered by a real PHP engine. This is the culmination of a TON of work spearheaded by @geoffp. I cannot thank him enough for his support through the years.
Async rendering also finally put the last nail in the coffin ⚰️ for my original pattern parameter algorithm, exposing it as flawed and naive. I've fixed that in this release. Please report any bugs you encounter with pattern parameters.
KNOWN ISSUE 🙉 🙊 🙈 List Items Not Working Perfectly
Since I updated the pattern parameter algorithm, it became evident that the list item algorithm suffered from the same flaw. Rather than sit on this release longer, which is causing folks problems and then some, I am opting to release now for feedback and as a stagegate.
Follow #772 for progress.
Stay on 2.X if you cannot afford the disruption.
Stable gulp edition: https://github.com/pattern-lab/edition-node-gulp/releases/tag/v1.3.4
CHANGELOG 🎯
Pattern Lab Node Core Alpha 5 and...
- ADD: First couple of unit tests for the React engine | @geoffp
- CHG: Support Async Rendering | @bmuenzenmeyer
- CHG: Rework Pattern Parameter Algorithm | @bmuenzenmeyer
- CHG: Separate
patternlab.js
into two files | @bmuenzenmeyerpatternlab.js
now only contains the classindex.js
will contain a cleaner public entry point.
- FIX: Fix directory duplication when serving files | @raphaelokon, @danwhite85 for issue report
- FIX: Use patterns created by processMetaPattern for rendering | @danwhite85
- DEL: Remove
postinstall.js
| @raphaelokon
UPGRADE INSTRUCTIONS ⌨️
Follow the standard upgrade instructions.
INSTALLATION 📦
DIRECT CONSUMPTION
As of Pattern Lab Node 3.X, patternlab-node
can run standalone, without the need for task runners like gulp or grunt.
npm install @pattern-lab/patternlab-node
See Usage for more information.
See a complete standalone example of working directly with patternlab-node
.
Editions
For users wanting a more pre-packaged experience several editions are available.
- Pattern Lab/Node: Gulp Edition contains info how to get started within a Gulp task running environment.
- Pattern Lab/Node: Grunt Edition contains info how to get started within a Grunt task running environment.
- Pattern Lab/Node: Vanilla Edition contains info how to get started within a pure node environment.
- Pattern Lab/Node: Webpack Edition contains info how to get started within a webpack environment.
Thanks to the team at Comcast for open-sourcing this stellar work!
UNIT TESTS / ASSERTIONS / CODE COVERAGE 🏗
27
unit tests / assertions were added, for a total of513
| travis ciDecreased (-0.4%) to 72.153%
| coveralls
ROADMAP 🗺
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
SUPPORT PATTERN LAB NODE ❤️
I've set up a Patreon account to directly support continued work on the Pattern Lab Node project.
I need help and support to make Pattern Lab Node a sustained success. I devote a lot of free time and would-be sleep to make the project what it is, but nothing compares to hearing back from users. It means the world to me when people find value in Pattern Lab Node. I am ridiculously humbled to hear and see what you all build with it.
If you find yourself here and balk and the idea of supporting open source software monetarily - I understand. Carry on, but please do share what you build - we all learn more together.
The Pattern Lab Node Team 🚀
- @bmuenzenmeyer Brian Muenzenmeyer, Lead Maintainer | Follow Brian on Twitter
- @geoffp Geoff Pursell, Core Contributor | Follow Geoff on Twitter
- @raphaelokon Raphael Okon, CLI Contributor | Follow Raphael on Twitter
- @tburny, Core Contributor