babel/generator-babel-boilerplate

Update documentation to more accurately explain how this is useful?

Closed this issue · 3 comments

All that anti-boilerplate chatter from a few weeks back had me thinking: is this project bad? Should I remove it from the Babel organization? Based on some tweets (@gaearon 's stand out), I'm led to believe that some people might think that this project does more harm than good.

I don't really think that someone should just pull this down and get building an application with it, even though the README is currently worded that way. Sure, I use it that way, and I know a few others that do as well, but without prior experience with all of the tools in this project, you're bound to get lost. With that said, I think it's valuable for other reasons.

I think that boilerplates can be valuable reference materials for folks learning to set up their own tooling. I admit that I've never used anyone else's boilerplate, but I've looked at plenty of boilerplates to see how people do things. And I've learned a lot from those exercises. Sure, I ignore large portions of those boilerplates, but it's still valuable to see how things work in the context of a build system.

tl;dr; I think boilerplates are like any other learning material. Different people will respond differently to them. Just like how some people may prefer videos to blogs, others might prefer other ways to learn to boilerplates. Or they might use a number of different resources to learn from.

Without more data, it's hard to say for sure if this is helping anyone out, or just confusing people. But I'm hopeful that it has the potential to be a help to the community. Perhaps it just needs some updates to the README to make that more clear?

What do folks think?

If you're maintaining multiple other libraries I think it is nice to have the boilerplate. It helps create a clear update path when necessary, and you can always look back at your library and understand where it is. It helps keep me from taking 10 projects in 10 different directions.

That said, I find this much more useful for building a library where standards are important, vs an application which can be much more customized.

If you're open-sourcing a project, this boilerplate will help get your project to a point where people might feel better about using it. Additionally if you are looking for contributors it is easy to dive in, if the build tools are the same, and the boilerplate helps with that as well.

Can babel create a decently well structure project for an ES6 library so that you can run tests & do a build with simple commands? Ideally it should. As long as it doesn't, this boilerplate is great for people like me that don't care much for tooling and want to get coding asap.

In the Ruby world, we went through a couple of different boilerplates to create gems, until the gem managing utility bundler added a command to create a new gem from scratch. The boilerplates were very helpful to get to that point.

Thanks for the feedback, @marcandre ! It's good to hear that someone other than @paulfalgout / myself find this thing useful :)

I'll be sure to keep those comments in mind if I end up making tweaks to the README. ✌️