@prisma/accelerate-contract
TypeScript icon, indicating that this package has built-in type declarations

5.14.0 • Public • Published

accelerate-contract

⚠️ Warning: This package is intended for Prisma's internal use. Its release cycle does not follow SemVer, which means we might release breaking changes (change APIs, remove functionality) without any prior warning.

Purpose

Accelerate has ownership of the DataProxyEngine (now AccelerateEngine). This engine is handed over to the Client by the Accelerate extension. The Client uses the engine to communicate with the Accelerate service. Accelerate uses the Client to formulate and execute queries. This means we need some kind of contract between the Client and the Accelerate service.

If the Client breaks this contract, that translates into a breaking change for Accelerate users. This is why we need to be very careful when changing the AccelerateEngine and the AccelerateEngineConfig.

How it works

Both @prisma/client and @prisma/extension-accelerate will both pin this package to an agreed same specific version (eg. 5.10.0-dev.45). In turn this will prevent @prisma/extension-accelerate from deviating from the API provided by @prisma/client, and it will prevent @prisma/client from introducing backwards incompatible changes to the internal AccelerateEngineConfig.

This is one safe-guard to catch breaking changes statically via TypeScript. That's in addition to running all our functional tests as usual.

What it contains

This package contains the AccelerateEngineConfig and AccelerateEngine types. They are the contract that the Client and the Accelerate extension agree upon.

Readme

Keywords

none

Package Sidebar

Install

npm i @prisma/accelerate-contract

Weekly Downloads

1,850

Version

5.14.0

License

Apache-2.0

Unpacked Size

66.2 kB

Total Files

5

Last publish

Collaborators

  • miguelff
  • apolanc
  • jkomyno
  • pirix-gh
  • sevinf
  • aqrln
  • luanvdw
  • jasonkuhrt
  • jolg42
  • nilubava
  • janpio
  • prismabot