8575a72a22
* Use shared ts-packages in wallet * Add eslint rules * Formatting: run eslint --fix on all files * Formatting: fix linting errors for dependencies * linting fixes * fix sign in pages * fix breaking change * fix ts errors fix ts and es errors * Fix up typings for image and json modules Add tsconfig for eslint to process webpack config * Use shared webpack config * Use shared logo component * Remove unused images * Allow html path to be passed as an argument in shared webpack config * Fix up webpack config for html template * Build shared ts-packages before starting dev mode * Fix webpack config * use shared logo component Co-authored-by: fmtabbara <fmtabbara@hotmail.co.uk> Co-authored-by: mmsinclair <mmsinclair@users.noreply.github.com>
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
yarnand notnpm yarncreates a singlenode_modulesin 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.