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/*
.
pnpm i
at themono
root- Run
pnpm build
Coding standards are enforced through the use of
eslint
prettier
typescript
syncpack
ls-lint
The current packages are listed below
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.
- Copy
.env.example
to.env
. - 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 has been provided from the outset and can be found in docs/tools/
along with a TEMPLATE.md file
To be able to develop packages and test those in extension, check out this guide