beemojs / beemo

🤖 Centralized configuration layer for dev tools. Beep boop.
https://beemo.dev
MIT License
143 stars 9 forks source link

Adding custom drivers #64

Open moltar opened 5 years ago

moltar commented 5 years ago

First of all, great package, and really solves a huge pain point. Something I've been struggling to cleanly abstract for a while. I created a "holder" package with various configs and a hacky solution to add them to the consuming package via postinstall hook, but this seems like a much cleaner solution!


Now on to the question.

Do you have any guidance for creating custom drivers? Shall they be part of the Beemo repo, or shall they be separate NPM packages?

I'm interested in the following drivers:

Thanks!

milesj commented 5 years ago

@moltar Thanks for your interest in this project!

Do you have any guidance for creating custom drivers?

I haven't gotten around to writing the docs (no one has requested them yet), so at minimum you'll need to reverse engineer the current drivers. At minimum, you should extend Driver and define metadata. That may cover most use cases. https://github.com/beemojs/beemo/blob/master/packages/driver-babel/src/BabelDriver.ts#L10

Shall they be part of the Beemo repo, or shall they be separate NPM packages?

It would be a huge maintenance burden to include everything in Beemo core, so I'm leaning towards core only containing very large/common tools. As for your list, most of them can be third-party packages in the form of beemo-driver-<name>.