Fixes#4168.
This button no longer makes sense when we have template projects, as it
encourages keyboard developers to create multiple packages. The template
project should already have a package.
It is also not hard to create a package if you don't already have one;
this does not reduce the complexity significantly, apart from the mini
feature of adding both the .js and the .kmx in a single step (the .kvk
is added also by virtue of the .kmx being added, but that is done in
any case if you manually add a .kmx to a package).
The uninstall actions never ran because the working directory given was
invalid. Also fixed: the success/failure message is presented by the
caller rather than down in the depths of the call.
1. Renamed form UfrmNGrokOptions to UfrmServerOptions
2. Renamed kmdev-server to just plain server
3. Tidied up npm versioning to use VERSION_WITH_TAG
This last point should help avoid confusion as now only CI release
builds will ever generate a package.json with a.b.c, a.b.c-alpha or
a.b.c-beta. Local and test builds will always have the corresponding
-test or -local environment appended. This also helps avoid issues if
we accidentally publish an incorrect version.
Initial commit for Keyman Developer Server, running on Node.
Supports web debugger only at this point.
Extensive rewrite of web debugger, much of it more modern standards,
significantly improved UX:
1. Drop keyboards, packages, fonts, models onto debug page to load them
2. Websocket for instant reload of recompiled keyboards, packages,
models.
3. API for interacting with debug server.
4. Cache of recently used items.
5. Integration with ngrok for public access as desired.
6. Tray icon (currently default icon) for control of server.
7. Server can live after TIKE closes, supports multiple TIKE instances.
8. UI of debug host page rewritten with Bootstrap.
9. Packages downloads integrated into main page, and download link for
Keyman supports all platforms (Linux is just a link to
instructions...)
10. Avoids file locking and contention by managing all files internally.
11. Not yet tested, but should run cross-platform.