This monorepo uses pnpm for package management. To get started:
# Install dependencies
pnpm install
# Run tests across all packages
pnpm test
# Run tests for a specific package
pnpm --filter @_all_docs/partition testWhen you make changes that should be released, you need to create a changeset:
# Create a new changeset
pnpm changeset
# Follow the prompts to:
# 1. Select which packages have changed
# 2. Choose the version bump type (patch/minor/major)
# 3. Write a summary of your changesThis will create a file in .changeset/ describing your changes. Commit this file along with your code changes.
- patch: Bug fixes and minor updates (0.0.x)
- minor: New features that are backward compatible (0.x.0)
- major: Breaking changes (x.0.0)
Releases are automated via GitHub Actions when changes are merged to the main branch:
- When changesets are merged to
main, the GitHub Action creates a "Version Packages" PR - This PR updates the package versions and changelogs
- When the Version Packages PR is merged, packages are automatically published to npm
src/- Core packagescache/- Cache managementconfig/- Configurationexec/- Execution utilitiesframe/- Frame utilitiespackument/- Package document handlingpartition/- Partition management
cli/- Command-line interfaces
Each package should have its own tests. Run tests with:
# All packages
pnpm test
# Specific package
pnpm --filter @_all_docs/partition test