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.
npm install vovk-cli --save-dev
vovk-clientβ
The client package that re-exports the generated RPC 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 the default configuration and templates.
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.
vovk-multitenant-exampleβ
Demonstrates multi-tenancy 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!