Skip to content
Stephan Herzog edited this page Aug 14, 2016 · 6 revisions

This package is more about an idea than an implementation. For its motivation take a look at the README. If the goals appeal to you, read on.

Thinking about implementations lead us to three approaches:

  1. Bake functionality into Yeoman's cli client (yeoman-yo),
  2. Write your generator as a custom adapter on yeoman-env
  3. Provide a CLI tool that handles activating and deactivating external subgens

1) Bake functionality into Yeoman's cli client

Find more information in The Fully Integrated Happy Path.

Dependencies: requires Yo's maintainers to approve of the idea and merge changes into their packages (or implement them on their own)


2) Write your generator as a custom adapter on yeoman-env

yeoman-yo is nothing other than a tool that implements an adapter for yeoman-env, which in turn does most of Yeoman's infrastructure-related tasks. If we wanted to write an umbrella generator with custom lookup-patterns, we might opt to implement this adapter on our own, gaining maximum flexibility but presumably losing much of the niceties baked into the yo cli already.

Dependencies: requires a generator's author to implement their generator differently than simply using what yo cli and yeoman-generator provides. It may still be valuable to research if it is possible to provide a bridge between yeoman-envand yo-cli, and thus providing a nice and lossless integration path for generator authors.


3) Provide a CLI tool that handles activating and deactivating external subgens

Neither requires any changes in Yeoman's core nor existing generators and thus is the actionable start of writing a proof-of-concept for this idea. It is what's available in master and described in the README.