Install PNPM: https://pnpm.io/installation, see which version in package.json.
PNPM is a fast, disk space efficient package manager that uses hard links and symlinks to save space. It is also optimized for monorepos.
pnpm install
To develop apps and packages, run the following command:
pnpm dev
# or just developer portal
pnpm dev --filter=developer
# To install a dependency for a certain app/package
pnpm add wagmi --filter=@monerium/sdkNote: use pnpm dev --log-order stream for a more traditional log output. Or set "ui": "stream" in the turbo.json file to make it the default.
- Developer portal: http://localhost:3333/
- OpenAPI standalone: http://localhost:8080/
- Demo app: http://localhost:5001
To build all apps and packages, run the following command:
pnpm buildThis Turborepo includes the following packages/apps:
customer: a Docusaurus developer portal, served on https://docs.monerium.com.@monerium/sdk: an SDK for interacting with the Monerium API@monerium/sdk-react-provider: a React provider for the Monerium SDK@monerium/openapi: OpenAPI specification using Redocly.customer: a Next.js app, an open source Monerium client demo@repo/eslint-config:eslintconfigurations (includeseslint-config-nextandeslint-config-prettier)@repo/postcss-config:postcssconfigurations@repo/stylelint-config:stylelintconfigurations@repo/typescript-config:tsconfig.json's used throughout the monorepo@repo/ui: a sharable stub React component library - not used currently
SDK 3.0.0 and React Provider 1.0.0 SDK Migration Guide
- TurboRepo for monorepo management, Turbo.md for more details
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- PostCSS for CSS processing
- Stylelint for CSS linting
- Jest for testing
- Commitlint for commit message linting
- Husky for Git hooks
- Lint-Staged for running linters on staged files
- Release Please for automated releases
Releases are automated with release-please and published to npm via OIDC Trusted Publisher — no tokens stored anywhere.
See docs/release.md for the full details.
Verify that the package version is not set to a specific version with "release-as" in the release-please-config.json file. If it is, remove it and merge the PR again.