This is intended to replace simpler uses of .npm_run_helper.py, then
I'll continually migrate views until they can use the simpler form.
Currently it will only be Splore that uses it.
For performance reasons, Package objects for generated Noms Types are
side-loaded when reading Values. This means that the
opportunistically-populated chunk->Type map used by DataStore when
validating writes won't see these chunks in a number of cases. This
can lead to false negatives and erroneous validation failures. This
patch special-cases RefOfPackage when caching the Chunks reachable
from a newly-read Value, manually fetching them from the
types.PackageRegistry and crawling their reachable Chunks.
Fixes#1229.
* Make noms-webpack-config export an object not a function
* V2
* Add noms-webpack-config to build.py
* Update other build.py files, fix webpack config issue
* Don't effectively exclude out.js
A novel chunk may contain references to any other novel chunk, as long
as there are no cycles. This means that breaking up the stream of
novel chunks being written to the server into batches risks creating
races -- chunks in one batch might reference chunks in another,
meaning that the server would somehow need to be able to
cross-reference batches. This seems super hard, so we've just forced
the code to write in one massive batch upon Commit(). We'll evaluate
the performance of this solution and see what we need to change.
Also, there's a terrible hack in HandleWriteValue to make it so that
pulls can work by back-channeling all their chunks via postRefs/ and
then writing the final Commit object via writeValue/
This can be fixed once we fix issue 822
This patch is unfortunately large, but it seemed necessary to make all
these changes at once to transition away from having an HTTP
ChunkStore that could allow for invalid state in the DB. Now, we have
a RemoteDataStoreClient that allows for reading and writing of Values,
and performs validation on the server side before persisting chunks.
The semantics of DataStore are that written values can be read back
out immediately, but are not guaranteed to be persistent until after
Commit() The semantics are now that Put() blocks until the Chunk is
persisted, and the new PutMany() can be used to write a number of
Chunks all at once.
From a command-line tool point of view, -h and -h-auth still work as
expected.
* Implement noms-view and make splore compatible
* Comments
* npm test
* Fewer changes to readme/build/etc
* comment in noms_view.go
* More updates
* Typo
When the version in js/package.json is updated, publish a new version.
This does not yet do the actual publish. If this works it will be
updated in a later commit.
Issue #1200
This reverts commit af72024d35.
The computed version number is not good because `git log` does not
contain the full history so the number of rows is wrong.
This computes a new version based on the number of changes to the
js directory.
This does not yet actually publish the new version. I need to see how
Travis behaves before I can do that.
Towards #1200
type.js no longer exports makePrimitiveType. It is recommended to use
the type constants directly. There are a few cases where we had a
NomsKind and needed a Type. For those cases there is now a
getPrimitiveType but it is not exported by noms.
Fixes#1168
Now the generated code is tested and most things work.
To generate a .noms.js file use the codegen go binary
Things that are not complete/needs improvements include:
- Recursive structs
- Structs with annonymous unions
- Enum -- constants for the values
Issue #1081