Skip to content

leather-io/mono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leather Mono

The purpose of this monorepo is to provide a single home for core Leather functionality. The monorepo uses pnpm workspaces and Turborepo. Packages are found under packages/*. Apps are found under apps/*.

Installation

  1. pnpm i at the mono root
  2. Run pnpm build

Architecture

Leather architecture diagram

Coding standards are enforced through the use of

  • eslint
  • prettier
  • typescript
  • syncpack
  • ls-lint

Monorepo core packages

The current packages are listed below

Running code quality checks with git hooks

Configure code checks to run during pre-commit and/or pre-push hooks. Each check maps directly to a script in the root package.json.

  1. Copy .env.example to .env.
  2. Enable specific checks for each hook::
PRE_COMMIT=format,lint
PRE_PUSH=syncpack:lint,typecheck,lint:filenames

In most cases, setting PRE_COMMIT is sufficient, as errors from remaining checks are uncommon, and typechecking is handled by editors.

Local checks are optional and configurable to suit developer preferences. On GitHub, these checks run automatically on every push through Code checks, as part of the CI workflow.

Documentation

Documentation has been provided from the outset and can be found in docs/tools/ along with a TEMPLATE.md file

Development with extension

To be able to develop packages and test those in extension, check out this guide

License

MIT © Leather Wallet LLC