Packages and repos
Packages of the main monorepoΒ :
vovkΒ
The main library that provides the core functionality of Vovk.ts. It includes decorators, utilities, types and other features that are going to be imported by server-side and client-side code. Itβs dependent on a few libraries that provide TypeScript types and shows 100% self-composition on BundlephobiaΒ .
npm install vovk
vovk-cliΒ
The CLI package. Can be installed globally or as a dev dependency. Provides vovk
binary.
npm install vovk-cli --save-dev
npx vovk <command>
vovk-clientΒ
The client package that re-exports the composed TypeScript client, by default located at node_modules/.vovk-client. It can be imported in the client-side code in NodeJS or in another JavaScript environment to access the RPC methods and schemas.
npm install vovk-client
vovk-initΒ
The shortcut for vovk-cli init
command that initializes the Vovk.ts project with config.
npx vovk-init
vovk-zodΒ
The Zod validation library that provides withZod
function to validate HTTP requests on the server with Zod 4 and withZod
function that supports Zod 3 and can be imported as vovk-zod/v3
.
npm install vovk-zod
vovk-dtoΒ
The DTO validation library that provides withDto
function to validate HTTP requests on the server side with class-validatorΒ and validateOnClient
function (as vovk-dto/validateOnClient
module) to validate data on the client side with class-validator instead of Ajv.
npm install vovk-dto
vovk-yupΒ
The Yup validation library that provides withYup
function to validate HTTP requests on the server.
npm install vovk-yup
vovk-ajvΒ
Exports validateOnClient
function that validates input data on the client-side with emitted JSON schema.
npm install vovk-ajv
vovk-pythonΒ
Provides Python client templates and utilities to generate the Python client library.
npm install vovk-python --save-dev
vovk-rustΒ
Provides Rust client templates and utilities to generate the Rust client library.
npm install vovk-rust --save-dev
Other repos and packages
vovk-hello-worldΒ
A βminimalβ example of using Vovk.ts. See βHello Worldβ page for more details.
vovk-multitenant-exampleΒ
Demonstrates multitenancy with Vovk.ts.
vovk-examplesΒ
Random examples and proofs of concepts.
dto-mapped-typesΒ
A fork of @nestjs/mapped-typesΒ package without @nestjs/commonΒ dependency and can be used in Edge Runtime. It also imports reflect-metadata/lite and fixes some other issues appeared in Edge.
vovk.devΒ
This documentation. Feel free to contribute!