Go to file
2020-11-25 16:35:19 +01:00
.vscode add typescript build task 2020-08-20 13:54:52 +05:30
build-system submodule 2020-11-25 16:05:48 +01:00
contrib comment 2020-11-25 16:35:19 +01:00
packages clearer name 2020-11-25 16:05:50 +01:00
.dir-locals.el Add a .dir-locals,el for configuring emacs for this project 2019-03-15 21:44:02 +01:00
.eslintrc.js upgrade rollup; bundle TS directly 2020-07-17 18:00:34 +05:30
.gitattributes don't distribute ./bootstrap 2020-11-13 22:32:49 +01:00
.gitignore docker-based build instructions 2020-11-25 16:30:31 +01:00
.gitlab-ci.yml Remove old tests from CI runs 2020-08-12 16:43:59 -03:00
.gitmodules update url of build-common. 2019-11-02 15:54:15 +00:00
.prettierrc add config for code formatter (prettier) 2019-06-26 15:29:59 +02:00
AUTHORS authors file 2016-02-29 18:04:08 +01:00
bootstrap remove configure first 2020-11-04 12:11:04 +01:00
CHANGELOG.md changelog 2020-11-17 18:04:25 +01:00
COPYING add license 2016-03-15 20:12:35 +01:00
INSTALL install file 2016-03-18 15:50:24 +01:00
package.json fix bank invocation, skip tests when not present. 2020-09-18 19:15:20 +02:00
pnpm-lock.yaml update version and dependencies 2020-11-17 12:28:51 +01:00
pnpm-workspace.yaml modularize repo, use pnpm, improve typechecking 2020-08-03 13:01:05 +05:30
README docker-based build instructions 2020-11-25 16:30:31 +01:00
tsconfig.build.json add typescript build task 2020-08-20 13:54:52 +05:30

# GNU Taler Wallet

This repository contains the implementation of a wallet for GNU Taler written
in TypeScript.


## Dependencies

The following dependencies are required to build the wallet:

* python>=3.8
* nodejs>=12
* jq
* npm
* pnpm
* zip


## Installation

The CLI version of the wallet supports the normal GNU installation process.

```shell
./configure [ --prefix=$PREFIX ] && make install
```

### Building the WebExtension

The WebExtension can be built via the 'webextension' make target:

```shell
./configure && make webextension
```

This will create the zip file with the WebExtension in the location

```
packages/taler-wallet-webextension/taler-wallet-webextension-$VERSION.zip
```

We also provide a `Dockerfile` for a container that can build the WebExtension:

```shell
# Build the image
(host)$ docker build --tag walletbuilder contrib/wallet-docker

# Run container with wallet source mounted
(host)$ docker run -it -v $PWD:wallet-core walletbuilder

# Run build inside container
(container)$ cd wallet-core
(container)$ ./configure && make webextension
```


### Compiling from Git

If you are compiling the code from git, you have to run `./bootstrap` before
running `./configure`.


# Integration Tests

This repository comes with integration tests for GNU Taler.  To run them,
install the wallet first.  Then use the test runner from the
taler-integrationtests package:

```shell
cd packages/taler-integrationtests/
./testrunner '*'
```

The test runner accepts a bash glob pattern as parameter.  Individual tests can
be run by specifying their name.

To check coverage, use nyc from the root of the repository and make sure that the taler-wallet-cli
from the source tree is executed, and not the globally installed one:

```
PATH="$PWD/packages/taler-wallet-cli/bin:$PATH" \
  nyc ./packages/taler-integrationtests/testrunner '*'
```