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@draft
vovk-cli
The CLI package. Can be installed globally or as a dev dependency. Provides vovk
binary.
npm install vovk-cli@draft --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@draft
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@draft
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@draft
vovk-yup
The Yup validation library that provides withYup
function to validate HTTP requests on the server.
npm install vovk-yup@draft
vovk-ajv
Exports validateOnClient
function that validates input data on the client-side with emitted JSON schema.
npm install vovk-ajv@draft
vovk-python
Provides Python client templates and utilities to generate the Python client library.
npm install vovk-python@draft --save-dev
vovk-rust
Provides Rust client templates and utilities to generate the Rust client library.
npm install vovk-rust@draft --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!