joystick icon indicating copy to clipboard operation
joystick copied to clipboard

Split optional functionality into packages

Open rglover opened this issue 3 years ago • 2 comments

I'm still on the fence about doing this, but my gut is telling me it's right. As time passes, I'm finding a lot of different use cases for Joystick, each with their own set of technical requirements. I'm hesitant to take the "package all the things" approach because it usually creates a mess.

There are some things, though, that could be split off without any impact. For example, if you want to use PostgreSQL, install @joystick.js/postgresql or if you don't need to handle any uploads, remove the @joystick.js/upload package.

Where this starts to make sense is in updating the joystick create <app> function to offer a wizard style UI where you can customize the resulting project, selecting which features you want to have those packages installed.

rglover avatar Oct 14 '22 16:10 rglover

Would also be handy to integrate some sort of warning system into stuff like @joystick.js/node. For example, if you add the uploaders option to node.app() and @joystick.js/upload isn't installed, throw a warning in the console.

rglover avatar Oct 14 '22 16:10 rglover

I was against this at first but the further I get I think there's some merit. Some projects need stuff, some don't. May do this post-1.0 but if I have time would be good to get a solution implemented.

rglover avatar Jul 18 '23 03:07 rglover