Concatapult / pult

Jump start your app with lego-like boilerplate modules.
MIT License
34 stars 7 forks source link

Roadmap #7

Open Nathan-Schwartz opened 7 years ago

Nathan-Schwartz commented 7 years ago

I really love this project and I would like to contribute more. One thing that I think could make the contribution process easier would be sharing some sort of roadmap. It is a little tricky to determine what needs to be done and what the current priorities are based on what is available in the repo.

Here are some the questions I have had so far:

Thanks! 🙂

gilbert commented 7 years ago

Hi Nathan, great questions! Here are some quick answers:

Long answer to the roadmap: I've been meaning to explore a project structure that uses TypeScript or Flow on both the frontend and backend to increase productivity and maintainability. My ideas around it are:

Basically, I'm interested in having a single model definition, and from that generate as much as you can from it. I'm not sure exactly what it will look like, but these are the rough goals in mind :)

Nathan-Schwartz commented 7 years ago

@mindeavor Thanks for the response!

Testing seems like it will be really involved. I was brainstorming a little earlier and I think we could utilize Jest snapshots for testing the generated files and the content that is served. I might give it a shot and see how it works.

I really like the idea of sharing model definitions between frontend and backend 👍

runtime-types (or something like it) could be a good solution to validating data at run-time using flow types.

Do you have any thoughts on a pult remove command?

gilbert commented 7 years ago

runtime-types looks interesting, thanks for the link :)

Because pult modifies files, pult remove would be difficult to do 100%. But I think it would be useful to have pult remove remove generated files, since they would not have been checked into git yet, and removing them manually can be annoying.