If you haven’t try Closure Tools before, setup can be time consuming and painful. I recommend to read Michael Bolin book’s Closure: The Definitive Guide. A good understanding of closure coding pattern is necessary to understand and follow this library codes.
Apache ant is used to build javascript compiler. ydn-base repo
build.xml defines compiler
and others tools setting. You must change according to your local machine setting.
Specifically check property values of closure-library.dir
and closure-compiler.dir
, which
point to respective directries.
Downloads the following three repos a directory.
svn checkout http://closure-library.googlecode.com/svn/trunk/
git clone git@bitbucket.org:ytkyaw/ydn-db.git
git clone https://bitbucket.org/ytkyaw/ydn-base.git
that should create three directories for closure-library, ydn-base and ydn-db.
Run local apache (recommended) or a static server on that directory.
Go to ydn-db folder and run ant deps
and ant ydn-base.deps
to generate closure dependency tree.
Use HTML files in the /test folder for getting started. These files are also used for debug development.
Note: we use master track version of closure tools. Compiling with pre-build jar may encounter compile error.
Note: precompile files are built by using custom compiler to strip debug messages. See detail on ydn-base/tools/strip_debug.txt.
Additional features requires the following optional repos.
You should able to run /ydn-db/test/all-test.html or run individually. Since all test are async, disable run inparallel check box. These test files are for basic testing and debugging.
Coverage test is performed by JsTestDriver
test. Notice that ant gen-alltest-js
generate jsTestDriver.conf to prepare testing
configuration.
java -jar JsTestDriver.jar --tests all
End-to-end testing for disteribution can be found in test/qunit folder as well as online [qunit test kits] (/ydn-db/index/demos.html).
Sending pull request is easiest way. For more, email to one of the authors in the source code.
We follow Google JavaScript Style Guide. All commit on master branch must pass most stringent setting compilation and all unit tests.
Few coding dialect we have as follow:
like_this
notLikeThis
. For function name, useLikeThis
as usual.undefined
. Using undefined
for missing value in native type
is encourage over null
.Please file an issue for bug report describing how we could reproduce the problem. Any subtle problem, memory/speed performance issue and missing feature from stand point of IndexedDB API will be considered.
You may also ask question in Stackoverflow #ydn-db with ydb-db hash, or follow on Twitter @yathit.
Licensed under the Apache License, Version 2.0