Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roadmap #35

Open
3 tasks
jonschlinkert opened this issue Aug 28, 2016 · 12 comments
Open
3 tasks

roadmap #35

jonschlinkert opened this issue Aug 28, 2016 · 12 comments

Comments

@jonschlinkert
Copy link
Member

jonschlinkert commented Aug 28, 2016

I'd like to see the following on a formal roadmap (feedback, suggestions, ideas, requests, are all very welcome!):

  • improve prompts: This is a top priority. Node.js needs a fast, pluggable prompt library that isn't bloated and dog slow. We might have some ideas here :)
  • persisted data this needs to be easier and more consistent. Generate broke new ground by supporting chained generators (which means you can run multiple generators in a row from the command line, resulting in an experience that feels like one generator). While awesome, it introduces challenges regarding how data and state are managed from one generator to the next during prompts. Each generator has its own instance of generate, along with its own options, data, and so on. Generate also exposes a special "base" instance, on the app.base property, which can be used for shared data. This has turned out to be a really nice solution (since, after all, generators are used for scaffolding out projects, and not serving up web pages or apps etc). But we still have some rough edges around how "hints" are displayed and answers are pre-populated from successive prompts from multiple generators.
  • docs: we know this is a problem with Verb, Assemble and Generate, but we're working on docs for all three and will be releasing them soon, along with new websites and resources for finding plugins, and more

TBC...

@jamen
Copy link

jamen commented Aug 28, 2016

I like how generate's generators share an environment when ran. In fact, I initially added the ability to run multiple generators with yo under the same environment from the commandline; however, they didn't like the idea of having them share data on it (for justifiable reasons). I think at the very least it is useful for sub-generators and composing them together. So to me, that is one of the strong points of generate, because in my eyes it allows for more powerful composability (simpler prompting that scaffolds better and more normalized projects)

To give you an example of a place I wanted to use this in, I was going to make this "generator suite" for yeoman that scaffolded out multiple types of projects (called generator-devjs) using sub-generators that share a global.devjs object (or this.env.devjs)... so the main idea was that it only prompted once for certain information then reused it in the other sub-generators. That generator has since been discontinued because I've been content enough with generate's packages, though.

@jonschlinkert
Copy link
Member Author

awesome! yeah we plan to expand on how generators share data. This is also a favorite feature of mine because of how intuitive it is (to reiterate for anyone who might be joining the convo, every generator is created with a new instance of generate, but we also expose a special "shared" instance that can be used to pass specific data or options back between generators).

@tunnckoCore
Copy link

Node.js needs a fast, pluggable prompt library that isn't bloated and dog slow. We might have some ideas here :)

Sounds great! keypress looks good as starting point for this job. I have some very old shit thingy with it https://github.com/tunnckoCore/prompt-promise. Let me know if can help or suggest something more - the word "pluggable" is enough.

Let's do it.

@jonschlinkert
Copy link
Member Author

K you ready for this? :) I think we can simplify further, but it's just a start.

@jonschlinkert
Copy link
Member Author

progress here: https://github.com/enquirer

@tunnckoCore
Copy link

awesome! i'll look.

@jonschlinkert
Copy link
Member Author

@tunnckoCore can you check gitter? I left a msg

@tunnckoCore
Copy link

Yea, no problem. I'm on slack rooms of toolkit too. :)

@jonschlinkert
Copy link
Member Author

I didn't know toolkit had one lol. I do now!

@jonschlinkert
Copy link
Member Author

I just commented there

@tunnckoCore
Copy link

I didn't know toolkit had one lol. I do now!

Yea, I don't see you there https://[generatejs/basejs/verbjs/etc].slack.com/messages/general :)

@jonschlinkert
Copy link
Member Author

you don't? I should be. I thought you meant an actual toolkit room.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants