ignite icon indicating copy to clipboard operation
ignite copied to clipboard

Consider replacing the generator template engine with plop

Open joshuayoes opened this issue 2 years ago • 3 comments
trafficstars

One of the nice features of Ignite is being able to use EJS to create components via the CLI.

However, the current implementation has a few drawbacks:

  • CLI commands cannot accept new props without a release
  • The CLI is coupled to existing folders

See plop library for more info https://github.com/plopjs/plop

Pros of moving to plop:

  • generator commands live in project and can change with time instead of being tied to boilerplate structure
  • The project seems more mature, more features, more docs
  • plop seems to have feature parity with ignite generators
  • easier to maintain since it is an external library

Cons of moving to plop:

  • we do not maintain it, so if we need different things, we can't control the source code
  • upfront cost of extra work to implement existing functionality

joshuayoes avatar May 22 '23 19:05 joshuayoes

Originally suggested here https://github.com/infinitered/ignite/pull/2317#issuecomment-1427171617

joshuayoes avatar May 22 '23 19:05 joshuayoes

Some issues that are prompting this:

  • https://github.com/infinitered/ignite/issues/2253
  • https://github.com/infinitered/ignite/issues/2367

Historically, it appears the generator functionality has been the source of 100+ issues, not an insignificant source of maintenance cost: https://github.com/infinitered/ignite/issues?q=is%3Aissue+generate+generator

joshuayoes avatar May 22 '23 19:05 joshuayoes

Team met on this topic and will first do a cookbook version for test runs before thinking about incorporating it into Ignite

frankcalise avatar May 26 '23 15:05 frankcalise