HipsterBrown / xs-dev

The quickest way for getting started with JS on devices
https://xs-dev.js.org
MIT License
41 stars 13 forks source link

imperfect error messages if user ignores "start a new terminal session" #72

Closed phoddie closed 1 year ago

phoddie commented 1 year ago

If the user does a setup and ignores the instructions to "start a new terminal session" and jumps directly to "run" the error message is misleading:

$ xs-dev setup
✔ Moddable SDK successfully set up! Start a new terminal session and run the "helloworld example": xs-dev run --example helloworld
$ xs-dev run --example helloworld
Example project does not exist.
Lookup the available examples: xs-dev run --list-examples
$ xs-dev run --list-examples
/opt/homebrew/lib/node_modules/xs-dev/node_modules/gluegun/build/index.js:15
    throw up;
    ^

Error: At least one choice must be selectable

xs-dev might want to have some preflight checks that it uses consistently to determine if the install is good (for the Moddable SDK itself, and for each device target). This will never be perfect, but some are pretty straightforward - like a missing $MODDABLE environment variable.

Here's an example from the another perspective. The user does a teardown and then tries to use the install:

$ xs-dev teardown
$ xs-dev run --example piu/balls
Example project does not exist.
Lookup the available examples: xs-dev run --list-examples