browser: Remove dependence on Vanadium JS

This proposal changes our code so that it will build again with npm/
browserify.

Note: The minifier still doesn't work, so NOMINIFY=1 is required.

We also depend on a local server to perform all of our namespace
client (and RPC-related) requests.

To run locally:
  NOMINIFY=1 make start
  make start-browserd

You can visit the namespace browser at localhost:9001, and the go
program will support it at localhost:9002.

Tracking Issue: https://github.com/vanadium/issues/issues/1268

Change-Id: Ib0dc34fb8638cbd71580f4740975ff71ba50842e
14 files changed
tree: 03c70e00d573dd96bb6c775d495b666707df0491
  1. go/
  2. public/
  3. src/
  4. test/
  5. .gitignore
  6. .jshintignore
  7. .jshintrc
  8. AUTHORS
  9. bower.json
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. css-transform.js
  13. LICENSE
  14. main-transform.js
  15. Makefile
  16. md-transform.js
  17. package.json
  18. PATENTS
  19. README.md
  20. VERSION
  21. web-component-dependencies.html
README.md

Vanadium Namespace Browser

The namespace browser is a web application that lets developers and other users view and interact with the Vanadium world. Starting from their namespace root or other mount table, users can browse through the mount table hierarchy and see where services are mounted. The user can select a service to see more detailed information about it, and can also interact with the service, invoking methods to examine or modify the state of the service.

Installing the Vanadium Extension

As a Vanadium web application, the Namespace Browser requires that users install the Vanadium Extension from the Chrome Web Store. If you try to run the web app without the extension, it will prompt you to install it.

Here is the link to the Vanadium Extension: https://chrome.google.com/webstore/detail/vanadium-extension/jcaelnibllfoobpedofhlaobfcoknpap

Hosted Namespace Browser

The Vanadium Namespace Browser lives online at https://browser.v.io/

Building the Namespace Browser

You do not need to build your own copy of the namespace browser in order to use it, unless you want to modify it or see how it works.

To build a local copy, install the Vanadium environment and be sure to include the web profile.

Next, to build your own copy of the namespace browser, run:

cd $JIRI_ROOT/release/projects/browser
make build

This compiles the relevant bundle files in the ‘public’ folder. The assets inside must be served as your own instance of the web app.

Running locally for development

You can serve a local instance of the Namespace Browser by executing the following command:

make start

Navigate to http://localhost:9001 to launch the namespace browser. You can quit by using CTRL-C on the console running make start.

If you have any problems after updating the code, try cleaning the build.

make clean
make start

Testing

The namespace browser has some unit and integration tests that verify basic functionality. Run these tests with the following command:

make test

Contributing

The code repository for the Namespace Browser is on GitHub.

Bugs and other issues can be submitted to the Namespace Browser Issue Tracker.