Releases: pattern-lab/patternlab-node
Pattern Lab Node Core 2.7.1
Pattern Lab Node v2.7.1
For the full release of 2.7.1 - @tburny delivered a slew of bug fixes to incremental builds that bring it into a much more polished, dev-ready state. I highly suggest upgrading to 2.7.1 as soon as possible to realize major performance improvements.
@tburny has also accepted an invite to become an official core contributor to the Pattern Lab Node project. Congratulations, and thank you.
Incremental Builds!
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!
Possible Issues
- 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 thepublic
directory. Deleting the file is not enough, because Pattern Lab will detect that the source files were not modified after the template output files inpublic
. 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.
Reporting Problems
Please report any problems and ask questions to @tburny or the Pattern Lab team. Thanks!
Sample Output
3.2.1. 🚀 >>>>>>>>>>>>>>>>>>>>>🎯 💣
CHANGELOG
- ADD: Hide "All" nav item if JSON flag is set | @tommcc
- Requires a new version of styleguide-assets-default
- ADD: add .npmignore file to exclude
test/
and a few other files | @bmuenzenmeyer - FIX: Fix batch of pattenGraph bugs | @tburny
- FIX: Updating an individual pattern breaks viewall page rendering | @tburny
- CHG: Updated repo badge to svg | @amilajack
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
102 unit tests/assertions were added this release wow for a total of 485
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
Pattern Lab Node Core 2.7.1 Alpha
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.
Special shoutout to @tburny for stepping up and shouldering a big burden, only to deliver in spades...
Incremental Builds!
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!
Possible Issues
- 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 thepublic
directory. Deleting the file is not enough, because Pattern Lab will detect that the source files were not modified after the template output files inpublic
. 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.
Reporting Problems
Please report any problems and ask questions to @tburny or the Pattern Lab team. Thanks!
Sample Output
3.2.1. 🚀 >>>>>>>>>>>>>>>>>>>>>🎯 💣
Because so much is going on with this release, I've marked it alpha. Please help test!
CHANGELOG
- 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
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
12 unit tests/assertions were added this release for a total of 383
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
Pattern Lab Node Core 2.6.2
Pattern Lab Node v2.6.2
I promised to get more releases out at a better clip, however small. This release fixes two small bugs, the later causing navigation 404's when a certain combination of flat patterns and patterns with subtypes were parsed.
CHANGELOG
- FIX: Fix relativeDepth check | @tommcc
- FIX: View All is not working on some patterns | @bmuenzenmeyer
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
1 unit test/assertion was added this release for a total of 371
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
Follow Brian on Twitter | Follow Geoff on Twitter | Follow Raphael on Twitter
Pattern Lab Node Core 2.6.1
Pattern Lab Node v2.6.1
Plugins
This is a CRAZY exciting release in the world of Pattern Lab Node. We've finally implemented support to hook into the frontend plugin architecture @dmolsen created for PL 2. Backend plugins are now also possible. I've documented plugins best I can in the wiki and released one plugin for people to review. Give that a shot and report any issues you encounter. I cannot wait to see what sort of plugins you create! Read more about plugins below.
On top of all this comes a whole slew of bug fixes and littler improvements, as well as Hacktoberfest spikes across documentation and unit tests. Thanks to everyone that helped out, old and new.
Hidden Pattern Inclusion
A notable syntax change was made to hidden pattern template inclusion.
Prior to this release, to include a hidden pattern, one would have to do the following:
{{> atoms-_icon }}
This was off-spec. Now these patterns may be directly included:
{{> atoms-icon }}
A number of bugs have piled up while I got buried and dug out of this release. I look forward to releasing smaller fixes now that this push is complete.
CHANGELOG
from 2.6.0-alpha
- ADD: Basic support for frontend and backend plugins | @bmuenzenmeyer
- Wiki: https://github.com/pattern-lab/patternlab-node/wiki/Creating-Plugins
- First Plugin / Reference Plugin: Plugin Node Tab
- ADD: Add ability to beautify code pane output | @gael-boyenval
- FIX: defaultPattern is not rendering on styleguide view | @bmuenzenmeyer
- FIX: styleModifiers are not included in pseudo patterns | @bmuenzenmeyer
- FIX: Alter postinstall to support editions being installed as dependencies | @bmuenzenmeyer
- CHG: Make listStarterkits return an array of repo objects | @raphaelokon
- CHG: Make the absence of source/_data/listitems.json a warning instead of an error | @bmuenzenmeyer
Hacktoberfest!
- ADD: Add tap support for unit tests | @dbradf
- ADD: Added patternlab-pattern-before-data-merge event | @DavidEmanuelsen
- ADD: Allow engines to control how output files' code is formatted | @geoffp
- FIX: Fix hidden pattern references across all engines | @geoffp
- SYNTAX CHANGE
- This means that the previous workaround to include a hidden pattern:
{{> atoms-_icon }}
may now be directly included:{{> atoms-icon }}
- This means that the previous workaround to include a hidden pattern:
- SYNTAX CHANGE
- CHG: Better Handle Errors Thrown When Looking for a Deleted/Missing Pattern | @bmuenzenmeyer
- CHG: Convert lineage_hunter_tests.js to use tap/tape | @bmuenzenmeyer
- CHG: Convert list_item_hunter_tests.js to use tap/tape | @bmuenzenmeyer
- CHG: Convert markdown_parser_tests.js to use tap/tape | @bmuenzenmeyer
- CHG: Convert object_factory_tests.js to use tap/tape | @bmuenzenmeyer
- CHG: Convert parameter_hunter_tests.js to use tap/tape to use tap/tape | @bmuenzenmeyer
- CHG: Convert pattern_assembler_tests.js to use tap/tape | @bmuenzenmeyer
- CHG: Convert pattern_engines_tests.js to use tap/tape | @bmuenzenmeyer
- CHG:
Convert patternlab_tests.js to use tap/tape | @bmuenzenmeyer - CHG:
Convert pseudopattern_hunter_tests.js to use tap/tape | @bmuenzenmeyer - CHG:
Convert style_modifier_hunter_tests.js to use tap/tape | @bmuenzenmeyer - CHG:
Convert ui_builder_tests.js to use tap/tape | @bmuenzenmeyer - CHG: Convert engine_handlebars_tests.js to use tape | @alexbenic
- CHG: Convert engine_mustache_tests.js to use tape
| @alexbenic - CHG: Convert engine_twig_tests.js to use tape | @alexbenic
- CHG: Convert engine_underscore_tests.js to use tape | @alexbenic
- CHG: Add proper jsdoc comments to core/lib/starterkit_manager.js | @spezzino
- CHG: Add proper jsdoc comments to core/lib/pattern_exporter.js | @spezzino
- CHG: Add proper jsdoc comments to core/lib/style_modifier_hunter.js | @spezzino
- CHG: Add proper jsdoc comments to core/lib/plugin_manager.js | @spezzino
- DEL: Removed Node 5 from Travis builds per my understanding of https://github.com/nodejs/LTS | @bmuenzenmeyer
- DEL: Removed nodeunit as a devDependency | @bmuenzenmeyer
- DEL: Grunt no longer needed as a devDependency | @bmuenzenmeyer
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
3 unit tests/assertions were added this release for a total of 370
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
Follow Brian on Twitter | Follow Geoff on Twitter | Follow Raphael on Twitter
Pattern Lab Node Core 2.6.0 Alpha
Pattern Lab Node v2.6.0 Alpha
This is a CRAZY exciting release in the world of Pattern Lab Node. We've finally implemented support to hook into the frontend plugin architecture @dmolsen created for PL 2. Backend plugins are now also possible. I've documented plugins best I can in the wiki and released one plugin for people to review. Give that a shot and report any issues you encounter. I cannot wait to see what sort of plugins you create! Read more about plugins below.
I've also tried to address concerns about running Pattern Lab Node Editions as dependencies. At time of this writing, I've only done the Gulp edition, but if that is met positively the Grunt will follow suit.
There is also some exciting news on the team front: @raphaelokon has joined the team after sparking a conversation and committing to work on a true CLI for Pattern Lab Node. I've given it a spin and am very excited to see how it shapes up.
On top of all this comes a whole slew of bug fixes and littler improvements.
Because so much is going on with this release, I've marked it alpha. Please help test!
CHANGELOG
- ADD: Basic support for frontend and backend plugins | @bmuenzenmeyer
- Wiki: https://github.com/pattern-lab/patternlab-node/wiki/Creating-Plugins
- First Plugin / Reference Plugin: Plugin Node Tab
- ADD: Add ability to beautify code pane output | @gael-boyenval
- FIX: defaultPattern is not rendering on styleguide view | @bmuenzenmeyer
- FIX: styleModifiers are not included in pseudo patterns | @bmuenzenmeyer
- FIX: Alter postinstall to support editions being installed as dependencies | @bmuenzenmeyer
- CHG: Make listStarterkits return an array of repo objects | @raphaelokon
- CHG: Make the absence of source/_data/listitems.json a warning instead of an error | @bmuenzenmeyer
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
3 unit tests/assertions were added this release for a total of 367
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Of note are two large features:
- Plugin Support - in alpha with this release
- CLI - in progress thanks to @raphaelokon
The Pattern Lab Node Team
Follow Brian on Twitter | Follow Geoff on Twitter | Follow Raphael on Twitter
Pattern Lab Node Core 2.5.1
Pattern Lab Node v2.5.1
This release addresses stability in 2.5.0
, covered with another unit test and more thorough whole-pattern-tree testing.
CHANGELOG
- REFIX: StyleModifier included patterns pollute other pattern inclusions
- FIX: blank page display with deep included patterns
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions to migrate from 1.X to 2.X, which now requires an edition.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
7 unit tests/assertions were added this release for a total of 364
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Of note are two large features:
- Plugin Support
- CLI - in progress thanks to @raphaelokon
Brian and Geoff
Unstable: Pattern Lab Node Core 2.5.0
Pattern Lab Node v2.5.0 (Unstable)
Major Bug Reported: Suggest you do not install this version, and wait for 2.5.1 >>read more
This release brings back support for pattern inclusion and mustache data parsing of the _meta/
head and foot patterns. Useful!
CHANGELOG
- FIX: Allow pattern includes and data within pattern meta/head and meta/foot | @bmuenzenmeyer
- FIX: Pattern Type View All not working | @bmuenzenmeyer
- FIX: Typo in README | @jeremykenedy
- ADD: Add warning about too-deep-nested patterns | @bmuenzenmeyer
- FIX: StyleModifier included patterns pollute other pattern inclusions | @bmuenzenmeyer
- FIX: Pseudo-Pattern links 404 on the styleguide | @bmuenzenmeyer
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions to migrate from 1.X to 2.X, which now requires an edition.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
4 unit tests/assertions were added this release for a total of 357
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Of note are two large features:
Brian and Geoff
Pattern Lab Node Core 2.4.4
Pattern Lab Node v2.4.4
This release attempts to stabilize successive builds and better handle builds kicked off one after the other. It appears as if many common editors were wreaking havoc on gulp.watch()
.
It's my hope that this release plus https://github.com/pattern-lab/edition-node-gulp/releases/tag/v1.3.1 will make periodic Styleguide navigation duplication not occur. (please report this issue if you see it in the wild)
Special thanks to @asupsiri for some great initial analysis of this issue. 👍
I've also primed the pump for an upcoming change to Styleguidekit Assets Default once that releases.
CHANGELOG
- FIX: Attempt to single-thread pattern lab builds and clean up between them | @bmuenzenmeyer
- CHG: Support patternengine name rather than file extension in the template tab | @geoffp
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions to migrate from 1.X to 2.X, which now requires an edition.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
3 unit tests/assertions were added this release for a total of 353
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Brian and Geoff
Pattern Lab Node Core 2.4.3
Pattern Lab Node v2.4.3
This release further closes gaps introdocued in the 2.4
release and should come close to providing a stable experience again.
CHANGELOG
- FIX: Fix regression with styleguideExcludes not rendering on the menu | @bmuenzenmeyer
- FIX: Fix unstable file watches by making file writes synchronous | @bmuenzenmeyer
- FIX: Tests for Underscore, Handlebars, and Twig fail | @bmuenzenmeyer
- ADD: Added all patternengines as part of travis pre-install | @bmuenzenmeyer
- FIX: Pattern Links in "view all" ignore configured outputFilePaths | @geoffp
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions to migrate from 1.X to 2.X, which now requires an edition.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
86 unit tests/assertions were added this release for a total of 350 - which now includes all engine tests too!
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Brian and Geoff
Pattern Lab Node Core 2.4.2
Pattern Lab Node v2.4.2
This fixes a bug introduced with 2.4.1
CHANGELOG
UPGRADE INSTRUCTIONS
Follow the standard upgrade instructions to migrate from 1.X to 2.X, which now requires an edition.
EDITIONS
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.
- Edition Node Gulp
- Edition Node Grunt - less tested
UNIT TESTS/ASSERTIONS
0 unit tests/assertions were added this release for a total of 264 - plus more for engines that are not included yet.
ROADMAP
Keep an eye on the milestones for a clearer understanding of where the project is going in the next few releases.
Brian and Geoff