commit | 8c159a767d704742b0ac821e09816560d4504d6f | [log] [tgz] |
---|---|---|
author | Todd Wang <toddw@google.com> | Fri Mar 11 16:11:05 2016 -0800 |
committer | Todd Wang <toddw@google.com> | Fri Mar 11 16:11:05 2016 -0800 |
tree | 2ccf92c46b342a7fcf95c6b7b54e2ae05eabbd9a | |
parent | 59b93938c4082a0a1f89f2a10c8017e8fb9185ae [diff] |
js.core: Change vdl go generator to emit a single file. Here's the old behavior. In each vdl package, we generate *.go files that match the *.vdl file names. v.io/x/lib/foo/a.vdl v.io/x/lib/foo/a.vdl.go # genfile v.io/x/lib/foo/b.vdl v.io/x/lib/foo/b.vdl.go #genfile v.io/x/lib/bar/bar.vdl v.io/x/lib/bar/bar.vdl.go # genfile Here's the new behavior. In each vdl package, we generate a single <package name>.vdl.go file. v.io/x/lib/foo/a.vdl v.io/x/lib/foo/b.vdl v.io/x/lib/foo/foo.vdl.go #genfile v.io/x/lib/bar/bar.vdl v.io/x/lib/bar/bar.vdl.go # genfile The purpose of this change is to make it easier to deal with initialization ordering issues in our generated code, and to make the codegen simpler. Those larger goals will be tackled in subsequent CLs; this is the big one with lots of file moves and deletions. Note that the new vdl compiler will automatically delete any old *.vdl.go files after it has successfully generated code. That is only for the transitional step; we will remove that logic after everyone has switched over. Also removed the vdl -exts flag, which used to allow the user to change the set of extensions to consider vdl files. That was used long ago to deal with experimental vdl features, and hasn't been used in a while. MultiPart: 5/7 Change-Id: I8fa92b3543e69281381ea7e2d0e2f5c17cbe8add
This repository defines the JavaScript API for Vanadium. The client and server APIs defined here work both in Node.js and the browser.
npm install --save vanadium/js
The entry point to the API is through a module called vanadium
, everything else is considered private and should not be accessed by the users of the API.
The vanadium
module is exported as a global in the browser JavaScript library and for Browserify and Node.js the “main” property in the package.json
points to /src/vanadium
making it the index module and therefore Browserify and Node.js users can gain access to the API with:
var vanadium = require("vanadium");
One of the goals of this project is to only write the code once and have it run in both Node.js and browsers. Therefore, specific build and testing steps have been designed in the project to ensure this goal.
When run in a browser, vanadium.js
expects that the vanadium extension will be installed.
Bugs and feature requests should be filed in the Vanadium issue tracker.
GNU Make is used to build and test Vanadium.
Build everything:
make build
Test everything:
make test
Run a specific test suite:
make test-unit make test-unit-node make test-unit-browser make test-integration make test-integration-node make test-integration-browser
Remove all build and testing artifacts:
make clean