Skip to main content

Release Guide

Use this checklist when publishing nest-drizzle-native. A release is worth doing when the package metadata, README, public API, docs shipped in the npm tarball, or runtime behavior has changed in a way users benefit from.

Sample-only changes can usually wait for the next package release unless they also fix package documentation, release metadata, or published files.

Before Bumping

Confirm the package is ready:

npm run ci
npm run security:audit

Review the diff for:

  • CHANGELOG.md entries that describe user-facing changes
  • public API changes
  • dependency and lockfile churn
  • install or lifecycle scripts
  • docs examples that expose secrets or unsafe connection strings
  • sample changes that reveal a package bug

The published package must keep "dependencies": {} empty. Runtime integrations belong in peerDependencies; package-local tooling belongs in devDependencies.

Version Sync

When bumping packages/drizzle/package.json, update every sample dependency on nest-drizzle-native to the exact same version:

npm install
npm run release:check:sample-versions

npm install refreshes the workspace lockfile so samples resolve the same version that will be packed.

Move relevant CHANGELOG.md entries from Unreleased into the new version section before opening the release PR.

Release Checks

Run the release gate before publishing:

npm run release:check
npm ls nest-drizzle-native --workspaces --depth=0
npm run ci

release:check validates README/docs links, sample version sync, workspace resolution, the package tarball, and a temporary consumer app that installs the packed tarball.

Publish

Publish from a clean, reviewed, merged main branch:

git status --short --branch
npm publish --workspace nest-drizzle-native --access public

Do not publish from a feature branch or with uncommitted files.

Tag

After the registry version is confirmed, tag the exact release commit:

git tag nest-drizzle-native@<version>
git push origin nest-drizzle-native@<version>

Post-Publish Verification

Verify the registry artifact, clean consumer path, and samples against the published package:

npm run release:check:published -- <version>

The post-publish check fails if npm does not expose the version as latest, if the published tarball is missing package entrypoints, if a clean consumer cannot compile a Nest testing module with the package, or if samples accidentally resolve a local workspace link instead of the registry package.