A pnpm and Turborepo monorepo for small, focused React libraries. Each library is independently versioned and published to npm under the @zemd scope, so consumers install only what they need.
| Package | Version | Description |
|---|---|---|
@zemd/react-modals |
Lightweight modal-stack management | |
@zemd/react-slottable |
Typed customization of nested component slots |
Both packages are ESM-only, include TypeScript declarations, and are licensed under Apache-2.0. See each package README for its installation, compatibility, and API documentation.
npm install --global corepack@latest
corepack enable pnpm
git clone https://github.com/zemd/react.git
cd react
pnpm installThe checked-in Dev Container configuration provides the repository's pinned Node.js, pnpm, and zizmor versions. In VS Code, run Dev Containers: Reopen in Container. The first container creation installs the frozen workspace dependencies.
Commands run from the repository root and apply to the workspace packages that define the corresponding task.
| Command | Description |
|---|---|
pnpm build |
Build workspace projects through Turborepo |
pnpm test |
Run package test suites |
pnpm test-coverage |
Run package tests and write V8 coverage as LCOV |
pnpm typecheck |
Type-check package source without emitting files |
pnpm format |
Format the repository with oxfmt |
pnpm format-check |
Check formatting without writing changes |
pnpm lint-fix |
Run type-aware linting and auto-fix with oxlint |
pnpm lint-check |
Run type-aware linting and fail on warnings |
pnpm lint-publish |
Validate publishable package metadata with publint |
pnpm pre-commit |
Format, lint-fix, validate, and stage all files |
pnpm pre-push |
Run the complete local pre-push validation graph |
pnpm run git-hooks-install |
Install this checkout's native Git hooks |
Use a workspace filter to run a package task directly:
pnpm --filter @zemd/react-modals build
pnpm --filter @zemd/react-slottable testReport vulnerabilities through the private channels described in SECURITY.md. Do not open a public issue for a suspected vulnerability.
Issues and pull requests are welcome. Native hooks install automatically during pnpm install. The pre-commit hook runs repository-wide lint fixes and formatting, runs optional workspace pre-commit scripts, then stages all resulting changes. The pre-push hook runs builds, type checks, publication metadata checks, tests, and package pre-push tasks.
Before opening a PR, please make sure that pnpm lint-check, pnpm format-check, pnpm typecheck, pnpm build, pnpm test, and pnpm lint-publish all pass.
Each package declares its own license — see the table above and the LICENSE file inside every package directory. Unless stated otherwise, packages are released under Apache-2.0 😇.