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

CLI #43

Closed
yoshuawuyts opened this issue Jul 29, 2016 · 8 comments
Closed

CLI #43

yoshuawuyts opened this issue Jul 29, 2016 · 8 comments

Comments

@yoshuawuyts
Copy link
Member

having one would be grand

@marionebl
Copy link
Contributor

marionebl commented Jul 29, 2016

Is this a "help wanted" issue?

@yoshuawuyts
Copy link
Member Author

yoshuawuyts commented Jul 29, 2016

@marionebl ooh, if you're offering to help - yes please!

edit: To elaborate: my original idea for bankai was as follows:

  • create a "batteries included" Node streams based compilation solution, that can be plugged to the http module with no friction
  • have a dev mode which performs live reloading and the like
  • have a prod mode which optimizes all bundles (e.g. use expose optimizations as browserify transform, plugin bendrucker/bundleify#5)
  • create a standalone CLI that can be used to interface with bankai if no server is used
  • allow the standalone CLI to write all files to a directory so they can be deployed to production
  • allow bankai to be extensible so people can use their own transforms and plugins if they so desire

@marionebl
Copy link
Contributor

I do! I'll shell out a minimal prototype as common ground for discussion this weekend; a sentence or two about the primary usecase you have in mind would help, though! 🚀

@yoshuawuyts
Copy link
Member Author

Wooh, rad! I updated my previous post with what I had envisioned, let me know how that sounds to you.

Probably worth noting is that livereload should probs be its own endpoint so the script can be served ✨

@marionebl
Copy link
Contributor

Sounds good to me. To clarify things, I understood the following:

  • the cli provides means to start a server (http) or dump artifacts on disk (fs); think bankai start vs bankai build
  • in the fs case, there would be distinct one-off and watch modes
  • as a library, bankai becomes agnostic to the question if it streams to http or fs or at least learns to cater for both
  • NODE_ENV enables different default configurations
  • cli and programatic interface allow for full customization
  • livereload should be added using the same port on a distinct endpoint

I'd begin with the bankai start bit, get livereload working and integrate options to allow for the same level of configurability the programatic integration currently allows.

That should sum up to a big-enough PR to get an impression on how to collaborate on this. What do you think?

@yoshuawuyts
Copy link
Member Author

Ooh, yeah I like bankai start & bankai build. Your summary sounds excellent; real excited to see this happen! 🚲

The only suggestion I have is that perhaps in addition to NODE_ENV it'd be nice to allow toggling based on a direct flag (e.g. --optimize or similar). Not too fussed to get a first pass perfect though, but I like the idea of having all CLI switches be enumerable in the API itself. Heaps thanks again! 😁

@yoshuawuyts
Copy link
Member Author

Ooh, also we could totes turn this into something closer to https://twitter.com/_developit/status/759178282570887168 in the long term hah

@marionebl marionebl mentioned this issue Jul 31, 2016
7 tasks
@yoshuawuyts
Copy link
Member Author

Welp, we got a CLI now 😁

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

2 participants