pooja-docucomb-tink-crypto
Version:
A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
30 lines (20 loc) • 1.25 kB
Markdown
# Hacking Tink for TypeScript/JavaScript
## Building Tink
* Install [Bazel](https://docs.bazel.build/versions/master/install.html).
Bazel is the exclusive build system for Tink for TypeScript/JavaScript
(although you don't need it to merely depend on the `tink-crypto` package
from npm, only to build from source).
* Check out source code and run `bazel build`. It will download dependencies
and do all the other npm-related stuff automatically.
## Updating Dependencies
* Dependency versions are specified in `package.json`.
* After changing dependencies in `package.json`, run `yarn` (or, if you don't
have the Yarn CLI installed globally, `npx yarn`) to update `yarn.lock`.
## Protocol Buffers
We're currently using a pretty ad-hoc method of depending on protos from
TypeScript code; it involves feeding the output from one build toolchain into a
different one. The implementation is in `internal/ts_library_from_closure.bzl`.
Note that it's also necessary to add any new protos to `internal/BUILD.bazel`.
## Code Splitting
There's no support for code splitting right now; `index.ts` is the sole entry
point and everything has to be directly or indirectly exported from there.