This is a post by team member Addy Osmani.
In this issue we cover generators for React, ES6, desktop apps and more.
Allo! Allo! April is a special month for us as it represents 3 years since the project first started and almost 2 years since we decided to rename the binary from yeoman to yo. This month also saw Yeoman grow to 1.3 million total installs and 1635 community generators.
A huge thank you to all our contributors and a special call-out to all the global event organisers that featured Yeoman at their events. YeomanTO, the Codepen Meetups, IBM Design Camp, OttawaJS, JSMontreal and others all have our ❤. We couldn't be doing this without you.
Some of our recent highlights have been increased use of Yeoman for scaffolding in the React community, folks trying out ES6 to write their own generators and Internet Explorer PM Ade Bateman using yo to scaffold out technical specifications. Crazy cool.
We're excited to see so much passion for project scaffolding and are working on some new features to enable generators to extend and build on top of each other.
React is a library for creating user-interfaces by Facebook. It creates its own Virtual DOM, where components live. This approach provides the potential for performance gains as React calculates what work needs to be done in the DOM beforehand, updating the DOM tree in a batch accordingly. React avoids costly DOM operations and aims to update in an efficient way.
A number of new generators are also now available for quickly turning your ES6+ code into ES5 code. There are generators available for Babel, Angular2 and Aurelia - a new framework using ES6 and Web Components. A few more ES6 generators can be found over on my es6-tools project.
Electron, formerly atom-shell, allows you to build cross-platform desktop apps using JS/CSS/HTML. Some of the apps built using it that you may already be using include Slack, Atom Editor (of course) and Photoshop/Sketch export tool Avocode.
Electron is based on io.js and Chromium and to help you get started with projects using it, Sindre Sorhus has written a quick Electron generator you can try out. He also maintains a list of awesome-electron projects in case you're looking for inspiration.
While many of us are used to just using
npm init for fleshing out our new Node modules, some might prefer a more opinionated alternative. Cue node-module-boilerplate and generator-nm by Sindre Sorhus. His starting point includes EditorConfig, Travis and a unit testing starting point out of the box.
On a related note, if you find yourself needing to automate debugging a Yeoman generator with node-inspector, Hemanth on the team has written up a useful script you can also check out.
Below is a round-up of community authored articles about or mentioning Yeoman which we enjoyed reading this month. Learn how to build a complete WebRTC client, a Slack bot or automate your Wordpress theme tooling workflow. This and more below.
Some generators we liked
Announcements from core
npm@3 plans to introduce a number of improvements, including a caching rewrite and no longer installing
peerDependencies by default. This particular change will have an impact on
yo as it means you end up needing to resolve peerDep conflicts yourself manually. We may end up having our sub-generators in
dependencies instead, but look forward to taking full advantage of npm@3 where it'll benefit our users.
As Simon mentioned in our 0.19 release notes for the generator system, we're currently looking to deprecate a set of methods as we work on cleaning up our API towards an eventual 1.0 release. As always, please test your generators against the latest version of
yeoman-generator to ensure everything continues to run smoothly.
It's been pleasant to see an increasing number of developers using our composability feature for their generators. This enables building upon common ground so that a generator can be run inside another generator, rather than having to replicate functionality. E.g call out to a generator for scaffolding Karma tests rather than doing this inside your AngularApp one.
Tipping our hat
That's about it for this round-up. We would like to remind folks that we're always checking out @yeoman and enjoy hearing suggestions for anything we can be doing better, news, new generators you've written or even just doodles of your favorite man in a hat. If you have ideas for the next post, you can also drop 'em in this thread.
Until next time,