@lokalise/projects-engine-contracts
Shared API contracts and domain schemas for the Projects Engine service.
Contents
src/apiContracts/
Typed route contracts built with @lokalise/api-contracts, one file per resource:
projectsContracts.ts (getProjectsContract, getProjectContract, patchProjectContract,
deleteProjectContract), plus languageContracts.ts, projectSettingsContracts.ts,
translationSettingsContracts.ts, defaultReviewersContracts.ts and contributorsContracts.ts.
src/schemas/
The Zod schemas those contracts are assembled from — projectSchemas.ts (PROJECT_SCHEMA,
GET_PROJECTS_QUERY_SCHEMA with limit/after, PROJECTS_DEFAULT_LIMIT, PROJECTS_MAX_LIMIT),
domainSchemas.ts, pathParamsSchemas.ts, and one file per resource alongside them.
The project collection is cursor-paginated: getProjectsContract responds with the shared
@lokalise/api-common envelope (data array plus meta: { count, cursor, hasMore }).
Publishing
This package is published to NPM automatically when a PR that modifies packages/** is merged to main. The version bump is driven by the PR label:
| Label | Effect |
|---|---|
major |
Bumps major version and publishes |
minor |
Bumps minor version and publishes |
patch |
Bumps patch version and publishes |
skip-release |
Skips publishing entirely |
Every PR touching this package must carry exactly one of these labels (enforced by CI).
Peer dependencies
This package requires zod@^4.0.0 as a peer dependency.
Installation
npm install @lokalise/projects-engine-contracts