Source code for the Vanadium playground web client.
As of dec-2014, the playground doc is here.
browser
- JS modules to be compiled/bundle via [browserify]
.bundles
- Default playground examples. Each combination of directory and .bundle
file forms a bundle.node_modules
- JS dependencies created by npm install
.npm install
to resolve and download dependencies.public
- Static assets, including bundle targets for JS/CSS served by make start
.stylesheets
- CSS to be compiled to public/bundle.css
.Build the playground web client:
make
The command above automatically fetches node dependencies, and builds necessary assets for the client bundles to the public
directory for serving.
Start a server on http://127.0.0.1:8088
make start
This command will also install any dependencies and build the required bundles.
To run the local dev server with a different configuration you can use variables:
host=`hostname` port=4080 make start
The client running on localhost needs to have the backend address configured via the pgaddr=
query parameter.
The default make task will build these for you. The Makefile
already has globbing targets for bundling JS and CSS in the browser
and stylesheets
directories. See these directories for entry points (index files). Such files are bundled into single public/bundle.*
files.
The CSS/JS bundles do not rebuild automatically via the server. If you would like the effect of automatic building and seeing your changes on browser refresh you can use the watch
utility.
watch make
If you do not have access to the vanadium-staging GCE account ping jasoncampbell@. Once you have access you will need to login to the account via the command line.
gcloud auth login
To deploy the playground client to https://staging.playground.v.io use the make target deploy-staging
.
make deploy-staging
This will sync the public directory to the private Google Storage bucket gs://staging.playground.v.io
which gets automatically updated to the nginx front-end servers. Currently all static content is protected by OAuth. For more details on the deployment infrastructure see this doc and the infrastructure repository.