Pattern Lab Node v2.7.1 Alpha
This release is significant to me - mostly because it prominently features the work of the Pattern Lab Node community. Indeed - more commits from the community than from me or Geoff feels like the start of something special. Thank you all. I am constantly, utterly, amazed at the contributions. And across many vectors - better plugin support, better UX, better performance and stability.
For speeding up Pattern Lab, a new feature called incremental builds has been added in Patternlab Node 2.7.0. Instead of rebuilding the whole Pattern Lab tree, only changed patterns (and files including these) will be rebuilt.
- Also an export to GraphViz has been added.
- Pattern Lab will now print which patterns have been built yet, so correctness of the build can be verified.
Enabling/Disabling Incremental Builds
The feature is enabled automatically when building Pattern Lab with the cleanPublic option set to false on the patternlab-config.json file found within editions.
Enabling/Disabling GraphViz Export
Setting the exportToGraphViz configuration option to true will export a graph showing which patterns include other patterns to public/dependencyGraph.dot. You can generate an SVG file via dot -Tsvg dependencyGraph.dot -o dependencyGraph.svg and open dependencyGraph.svg in your browser or favourite SVG viewer.
Here's a sample file!
- Pattern Lab remembers which patterns already have been compiled via the public/dependencyGraph.json file, which might eventually become out of sync. A quick fix is to clean the public directory. Deleting the file is not enough, because Pattern Lab will detect that the source files were not modified after the template output files in public.
- patternDependencyGraph.json has an internal version. During Pattern Lab upgrades, the structure might change, which will trigger a full rebuild and a warning is shown.
- When changing a Markdown file, the pattern is not recompiled.
Please report any problems and ask questions to @tburny or the Pattern Lab team. Thanks!
Because so much is going on with this release, I've marked it alpha. Please help test!
- ADD: Implement Build Algorithm for Only Changed/Affected Patterns | @tburny
- ADD: Add test cases for @block-partial issue in Handlebars engine | @teehemkay
- ADD: Expose the pattern engines as a property of the patternlab object | @bleathem
- ADD: Add chalk and use it to make the build and engine loading process prettier | @geoffp
- FIX: Default plugins array if none found | @giuseppepaul
- FIX: Fix link to help wanted and up for grabs issues | @scottgruber
- CHG: Finish #565 by replacing our lo-tech color solution found within core/lib/utilities.js | @bmuenzenmeyer
Follow the standard upgrade instructions.
It's now suggested to use an edition with Pattern Lab Node. Editions package up core, shared frontend assets, and a means to communicate with the API.
12 unit tests/assertions were added this release for a total of 383
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.