State of the Moustache

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.

Spotlight: React

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.

Three new generators for quickly getting started with React are out: React and WebPack (recommended, with support for Flux and react-router), React and Flux (with Browserify), and React and Meteor.

Spotlight: ES6

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.

Spotlight: Electron

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.

Spotlight: Node

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.


Multi-User Video Conference with WebRTC and Yeoman

Writing Yeoman generators in ES6

Putting your bot on #Slack using Yeoman

How to Build an App With AngularJS, Node.js and Stormpath in 15 Minutes

Worflow automation for Wordpress Theme Developers with Yeoman

A Baseline for Front-End [JS] Developers: 2015

Yeoman, Polymer and Gulp

Integrating Yeoman with third-party tools

Using yo webapp via Docker

Node, Yeoman, Bower, and Gulp with PostCSS on OS X Yosemite

Yeoman Tutorial video series

Internationalization of AngularJS Applications

Starting modern Java projects with JHipster and Yeoman

How to set up a modern web app and stay sane

How to Wire Up Ruby on Rails and AngularJS as a Single-Page Application (Gulp Version)

Practical TypeScript Development with Gulp and Sublime Text 3

Some generators we liked

A new generator for Django projects

Mobile Chrome Apps Starter Kit with Polymer

Angular + Gulp generator has a new release

Symphony2 with JSPM and critical-CSS optimisation

Generator for Adobe Brackets extensions

Announcements from core

Exploring npm3

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.

Composition FTW

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, yo awesomeness.

« View More Posts