Not sure why the old code did not get inlined correctly. With this
change `ref` no longer shows up in my profile. (It was the hottest
function before.)
This changes the indexer to only index what we need since without
chunked maps there is too much data to transfer and decode.
The graph is also changed to a line graph since using a bar chart
for this is not very intuitive.
Apparently pushd and popd aren't in whatever very-limited shell travis uses
in its build environment. So, scripts using them (and others for safety) should
she-bang /bin/bash instead of /bin/sh
This patch introduces tools/run_all_build.go, a tool that looks for
files called build.go in our source tree and executes them using
'go run'. Currently, they're run in serial.
Also, some node projects are tweaked to make it clear that 'go run build.go'
is the supported mechanism for installing deps and building code.
To make this happen I updated to Babel 6 and changed to the es2015
preset since Firefox/Safari do NOT support classes, let, generators...
Now that compiled code is not ES6 any more we can run Uglify on it
too.
'Splore is 200k minimized which isn't terrible.
Towards #603
This replaces the fetch polyfill with 2 more targetted functions:
fetchText and fetchArrayBuffer
There is one implementation for node and one for browsers. Browserify
picks the browser version by reading the value out of package.json
Towards #605
It is OK to have an empty package ref when serializing an
UnresolvedType. It can happen when a Package is serialized or if we
ask for the `ref` of an unresolved type.
Fixes#615
We want to explore encoding type information about Noms data in
the Noms database. So, we need some way to describe types. This
takes the shortest path to making a Noms type called "TypeRef" that
is a peer of Set, Map et al and can describe all the types we currently
use.
This uses Karma with mocha+chai and browserify+babel. The tests
currently need to be run in a browser because we currently depend on
non node.js features (Blob and FileReader)
To run the tests go to <noms>/js/ and do `npm run start-test`.
Issue #256