Files
nym/ts-packages
Fouad 47f7a5f795 Feature/changing wallet currency types frontend work (#1455)
* Introduced concept of denom details

No longer exposing plain 'DENOM'

Denom registration + conversion

Generating typescript type for DecCoin

'New' API on 'send'

Further WIP work on transforming usages of MajorCurrencyAmount into DecCoin

Further replacements of MajorCurrencyAmount into DecCoin

Attempt at dec-coinifying get_all_mix_delegations

Finished purge of MajorCurrencyAmount

Display for Fee

More unification for conversion methods

Fixed up tests and made clippy happier

Minor post-merge fixes

Removed explicit Arc and RwLock from all tauri commands

Fixed conversion to display coin

More type-restrictive exported denom type

Regenerated rust => ts types

* post-rebase fixes

* update frontend

* fix lint errors

* Adjusted Display implementation of DecCoin to include space between amount and denom

* Adding separate base and display denoms for account

* Fixed account constructor

* Using CurrencyDenom for display_mix_denom

* uppercase denom on frontend

* Changed AutoFeeGrant constructor

Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
2022-07-15 15:30:40 +01:00
..
2022-07-12 14:46:48 +01:00

Nym Typescript (and Javascript) packages

This directory has shared Typescript (and Javascript) libraries using yarn workspaces.

Why ts-packages?

Naming stuff is hard. The ts- part means Typescript, because this monorepo also contains Rust crates. So we needed some way to indicate: "put your Typescript here".

Now you know! So, please, put your Typescript here. And your Javascript.

How does it work?

In the root of this repository is package.json that specifies an array of globs for packages that are shared:

{
  "name": "@nymproject/nymsphere",
  "version": "1.0.0",
  "private": true,
  "license": "Apache 2.0",
  "workspaces": ["ts-packages/*", "nym-wallet"] <-------
}

There are some caveats:

  • this only works with yarn and not npm
  • yarn creates a single node_modules in the root for shared dependencies
  • packages that use shared packages, need to be in a path specified in workspaces
  • local packages take precedence over published packages on npm

Building

From the root of the repository run:

yarn
yarn build

This will build all libraries.

Now you can try out react-webpack-with-theme-example by running:

cd ts-packages/react-webpack-with-theme-example
yarn start

Our React components have a Storybook in react-components:

cd ts-packages/react-components
yarn storybook

Development

Watch mode is available in some packages with yarn watch.

See mui-theme for an example.