> **Key takeaway:**  ☞   The renaming of "Ledger Live" to "Ledger Wallet" and\
>      "wallet" (in the hardware sense) to "signer" is still in progress.\
>      This page may contain legacy references that will be updated.

# Working with Ledger Wallet

This page documents how to link the local packages of the wallet-api monorepo in order to work with  locally (or any other application using the Wallet-API) without having to deploy a new version to the npm registry.

## In the Wallet-API folder

First you want to start the dev server to have every packages built and ready to be used by the application but also to have the watcher in place whenever we make changes in the Wallet-API.

```sh
pnpm dev
```

## In the Ledger Wallet monorepo

> **Note:** Tip: Search for all places to modify with `"@ledgerhq/wallet-api`

### Step 1

Update all `package.json` file containing a wallet-api lib with the following version:\
`"@ledgerhq/wallet-api-<LIB>": "link:PATH_TO_WALLET_API/wallet-api/packages/<LIB>",`

For example with the client lib:\
`"@ledgerhq/wallet-api-client": "link:/Users/dave/Documents/Projects/wallet-api/packages/client"`

### Step 2

When you are done updating all `package.json` files, you can run `pnpm i` to update the dependencies with the local ones.

### Step 3

Then you can start developping as usual with `pmpm dev:lld` and any modification in the wallet-api sources will be reflected automatically.

### Step 4 (Optional)

You might also want to run `pnpm watch:common` to keep it up to date, as we have a lot of code shared in the common folder.

> **Warning:** Don't forget to revert the changes in `package.json` and `pnpm-lock.yaml`
> before committing
