Skip to content

Latest commit

 

History

History
58 lines (37 loc) · 1.46 KB

File metadata and controls

58 lines (37 loc) · 1.46 KB

Contributing to YDB JavaScript SDK

Thanks for your interest in contributing! This monorepo contains multiple @ydbjs/* packages.

Prerequisites

  • Node >= 20.19, npm >= 10
  • Docker (for integration/e2e tests using local YDB)

Setup

git clone https://github.com/ydb-platform/ydb-js-sdk.git
cd ydb-js-sdk
npm ci

Development

  • Build all packages: npm run build
  • Run unit tests: npm run test:uni
  • Run integration tests (requires Docker): npm run test:int
  • Run all tests: npm run test:all
  • Lint: npm run lint

Commit & PR Guidelines

  • Keep changes scoped and minimal per PR
  • Update relevant READMEs when changing public APIs
  • Add/adjust tests alongside code changes
  • For breaking changes, include migration notes in the PR description

Release Process

We use Changesets to manage versions and changelogs.

  • Add a changeset: npx @changesets/cli
  • After merging to main, the Release workflow will create a release PR or publish (see .github/workflows/release.yml)

Running Local YDB for Tests

Integration tests use a local YDB container. CI spins it automatically; locally you can set env vars to reuse your own instance, or rely on the test setup script.

Key envs:

  • YDB_CONNECTION_STRING, YDB_STATIC_CREDENTIALS_*

See vitest.setup.ydb.ts for details.

Code Style

  • TypeScript strict mode
  • Avoid one-letter variable names
  • Prefer explicit types in public APIs

Questions?

Open an issue or start a discussion in the repository.