Thank you for helping improve @nestm/storage.
- Node.js 22.12 or newer
- Corepack
- Git
Enable the package manager declared by the repository:
corepack enable-
Fork and clone the repository.
-
Create a focused branch from
main. -
Install the locked dependencies:
pnpm install --frozen-lockfile
-
Make the change and add or update tests.
-
Run:
pnpm run check pnpm run test pnpm run verify:pack -
Add a Changeset for user-visible changes:
pnpm changeset
- Keep root public contracts owned by
@nestm/storage; upstreamfiles-sdktypes belong only in the explicitfiles-sdkbridge. - Preserve streaming and backpressure. Do not buffer an object unless the method name and a tested byte limit make that behavior explicit.
- Keep provider-specific dependencies optional and outside the build output.
- Fail closed when a requested capability cannot be honored.
- Keep the HTTP gateway optional, deny-by-default, and protected by Nest guards.
- Keep
StorageModulelocal by default. - Include
.jssuffixes for local imports compiled as Node ESM.
Tests should cover the memory driver contract, named Nest registration, duplicate isolation, transfer/sync behavior, and both Express and Fastify for gateway changes. Keep tests deterministic and close every Nest application.
The first prerelease must be published interactively from a clean checkout of
main:
npm publish --access public --tag alphaThen configure npm Trusted Publishing:
npm trust github @nestm/storage \
--file release.yml \
--repository nestm-dev/storage \
--environment release \
--allow-publishSubsequent releases use GitHub OIDC with provenance and keep prereleases on the
alpha dist-tag.
Do not open a public issue for a suspected vulnerability. Follow SECURITY.md.