31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
# Releasing
|
|
|
|
ditto.site is pre-1.0. The repository is MIT-licensed, but the npm workspaces are
|
|
marked `private` until the package boundaries and distribution story are ready
|
|
for public npm publishing.
|
|
|
|
## Release Checklist
|
|
|
|
1. Start from a clean `main` checkout.
|
|
2. Run `npm ci` and `npx playwright install chromium`.
|
|
3. Run `npm run typecheck` and `npm test`.
|
|
4. Run `npm audit --omit=dev --audit-level=moderate` for runtime dependencies.
|
|
5. For compiler-output changes, run focused fixtures or benchmarks and record
|
|
the result in the pull request.
|
|
6. Update [CHANGELOG.md](../CHANGELOG.md), moving relevant entries out of
|
|
`Unreleased`.
|
|
7. Update package versions if a source release is being tagged.
|
|
8. Create an annotated Git tag and GitHub release.
|
|
|
|
## Versioning
|
|
|
|
Until `1.0.0`, minor and patch versions may include breaking changes. Document
|
|
user-facing breakage in the changelog and prefer migration notes when the change
|
|
affects generated output, API shape, database schema, or deployment settings.
|
|
|
|
## Publishing
|
|
|
|
Do not remove `private: true` from workspaces as part of a routine source
|
|
release. Publishing to npm needs a separate review of package names, build
|
|
artifacts, export maps, provenance, and long-term API compatibility.
|