lafs-wapi: A browser client library for the LAFS "wapi" (aka the LAFS webapi) interface written in JavaScript.
This code is licensed under the GPLv3. It uses a third-party test framework jasmine which is licensed under the MIT license.
There are no application runtime dependencies aside from the standard DOM XMLHttpRequest API. The test framework includes a copy of the jasmine behavioral driven development framework.
For applications using lafs-wapi
, it uses the the Universal Module
Definition to support dependency management with either Asynchronous
Module Definition or "classic" browser management (manually ordered
<script>
tags).
See the LAFS Grid-App Guide for an overview of design considerations when creating LAFS-enabled web applications.
This repository is the new home for lafs-wapi; the previous home and name tahoewapi.js is deprecated.
There are some alternative JavaScript libraries for Tahoe-LAFS; see the Related Projects page.
Here's the planned roadmap:
- example application with step-by-step instructions.
- is written in strict JavaScript; the source includes "use strict"; as the first expression.
- uses UMD to facilitate "traditional browser" or AMD dependency management.
- unittests which run in browsers.
- integration tests which run in browsers against a true LAFS webapi.
- Node support? For now this is only a browser library, but if there is overlap for general JS use, this could be split or abstracted.
- works in whatever JavaScript sandboxing system becomes standard for LAFS.