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

Turn bin/build into a command line tool #269

Closed
TechplexEngineer opened this issue Jul 4, 2013 · 15 comments
Closed

Turn bin/build into a command line tool #269

TechplexEngineer opened this issue Jul 4, 2013 · 15 comments
Assignees
Milestone

Comments

@TechplexEngineer
Copy link
Member

rather than having a number of different tools to satisfy all the build requirements, bin/build should have flags added to satisfy the different needs.

Here is a list of functions:

@TechplexEngineer
Copy link
Member Author

Hey @dethe, I was just writing a Makefile here at work, and though that would really be the way to do this.

I'm not sure if that would limit any of our windows friends, but I'll throw one together for kicks.

@dethe
Copy link
Member

dethe commented Oct 2, 2013

Hi @TechplexEngineer, did you ever make progress with your Makefile?

@dethe dethe closed this as completed Oct 2, 2013
@dethe dethe reopened this Oct 2, 2013
@TechplexEngineer
Copy link
Member Author

I never got the Makefile working.

@dethe
Copy link
Member

dethe commented Dec 31, 2013

It would be nice to make bin/build be a npm run command like documented here: http://www.substack.net/task_automation_with_npm_run

@CelticMinstrel
Copy link
Contributor

That page seems to be assuming server-side javascript. Maybe it could still work on client-side, I dunno.

@dethe
Copy link
Member

dethe commented Feb 24, 2014

@CelticMinstrel We're talking about server-side (well, command-line) tools for building, linting, validating, and minifying files. Not expected to work client-side.

@CelticMinstrel
Copy link
Contributor

I didn't think Waterbear had any server-side stuff...

@dethe
Copy link
Member

dethe commented Feb 24, 2014

When you run bin/build it runs locally on your machine. That's what this is about. Not server-side so much as command-line.

We're also implementing server-side code for Persona logins and for using Node to talk to other systems (like Minecraft), but that's a different issue.

@dethe
Copy link
Member

dethe commented Mar 23, 2014

Options for parsing the command-line:

https://github.com/chevex/yargs
https://www.npmjs.org/package/minimist

@CelticMinstrel
Copy link
Contributor

Yargs looks quite nice.

@dethe
Copy link
Member

dethe commented Mar 24, 2014

README for updates to bin/build and file layout

Goals:

Steps to get there:

  • Move [language].html -> languages/[language]/index.html
  • Point links in index.html to new locations for languages/[language]/index.html
  • Move iframeRunner.html -> languages/[language]/runtime.html
  • Move examples/[language]/* -> languages/[language]/examples/
  • Move languages/[language]/* -> languages/[language]/blocks/
  • Move languages/[language]/blocks/[language]* -> languages/[language]/
  • Move template/[language].stage -> languages/[language]/templates/stage.html
  • Move template/[language].examples -> languages/[language]/templates/examples.html
  • Move languages/[language]/[language].js -> languages/[language]/ide.js
  • Move languages/[language]/[language]_runtime.js -> languages/[language]/runtime.js
  • Move languages/[language]/blocks/[plugin].js -> languages/[language]/blocks/[plugin]_ide.js
  • Move languages/[language]/blocks/[plugin].json -> languages/[language]/blocks/[plugin]_blockmenu.js (pre-wrap in wb.menu() call)
  • Move wrapper code from javascript wb.wrap() to runtime
  • Tighter definition of what is needed for language ide, which methods need to be implemented/overridden (Define requirements for a language wrapper #733)
  • Take advantage of custom runtime.html to simplify interactions between ide and runtime and simplify runtime loading (When running a script, be sure previous script is fully cleared #734)
  • Fix problem with reloading script without clearing previous script
  • Add support for runtime CSS (in config.js, bin/build, and templates) (Support runtime CSS #732)

@stretchyboy
Copy link
Member

Not sure about "Not having a stage also implies not having _runtime.js files" I was thinking about using the runtime files for waterbear specific wrappers for libraries but haven't needed one just yet.

stretchyboy added a commit that referenced this issue Apr 18, 2014
stretchyboy added a commit to EduMake/RPi-WaterbearNodeJS that referenced this issue Apr 18, 2014
@dethe
Copy link
Member

dethe commented Apr 18, 2014

Good point, maybe better to keep stage and runtime explicit and not have one magically include the other.

@dethe
Copy link
Member

dethe commented Apr 18, 2014

Up until now, all runtime files were Javascript, but @nosman raised an interesting issue because he wants to include Scheme runtime files for his scheme-in-browser blocks. We should add support for non-JS runtime files.

@dethe
Copy link
Member

dethe commented Apr 19, 2014

I've got most of the remaining work in separate issues. If I've missed anything, feel free to create another issue. Going to close this umbrella issue and track the rest under their own, smaller issues.

@dethe dethe closed this as completed Apr 19, 2014
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

4 participants