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 iat themonoroot- Run
pnpm build
Coding standards are enforced through the use of
eslintprettiertypescriptsyncpackls-lint
The current packages are listed below
You can configure code checks to run during pre-commit and/or pre-push hooks. Available checks include:
- lint: runs ESLint.
- format: formats code with prettier
- syncpack: ensures consistent dependency versions across packages.
- test: runs the test suite.
- typecheck: validates TypeScript types.
- Copy
.env.exampleto.env. - Define the checks for each hook (default settings shown below):
PRE_COMMIT=format,lint PRE_PUSH=syncpack,typecheck,lint:filenames
In most cases, setting PRE_COMMIT is sufficient, as syncpack and file name linting errors are uncommon, and typechecking is handles 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