pnpm install
pnpm test:watch # tests in watch mode
pnpm build # build to dist/main— stable, tagged releases onlydevelop— active developmentfeat/*— new features, branch offdevelopfix/*— bug fixes, branch offdevelopchore/*— tooling/infra, branch offdevelop
All PRs target develop. Releases merge develop → main.
feat: add processQuery support
fix: correct RETURN_CODE mapping for error 34
chore: update tsup to v8
docs: add JSDoc for EsnekPosClient
test: add coverage for AuthenticationError
refactor: extract response normalizer
feat!: rename pay3D params (breaking)
The ! suffix triggers a major version bump via changesets.
Every PR that changes user-facing behavior needs a changeset:
pnpm changesetSelect the change type (patch / minor / major) and write a one-line summary.
Changesets are committed alongside the PR. CHANGELOG is generated automatically on release.
- Open an issue first (or pick an existing one)
- Branch off
develop:git checkout -b feat/issue-N-short-description - Write code + tests (100% coverage target)
pnpm typecheck && pnpm lint && pnpm test- Add a changeset if user-facing
- Open PR to
develop, fill in the template, link the issue
- TypeScript strict mode — no
any - JSDoc on every public class, method, and interface (
@param,@returns,@throws,@example) - No
console.login library code - PCI-DSS: card numbers and CVV must never appear in logs or error messages