Skip to content

Installation

All packages are published independently; install only what your side of the wire needs. @rapiq/core is a peer dependency of every other package, so it is always part of the mix.

Caller (client) side

To build typed queries and encode them as URL query strings:

sh
npm install @rapiq/core @rapiq/codec-url

That's everything a frontend needs. If you only build queries and hand them to an in-process consumer (no URL), @rapiq/core alone is enough.

Receiver (server) side

To decode and validate incoming URL query input (a raw query string or a pre-parsed object like express' req.query):

sh
npm install @rapiq/core @rapiq/codec-url

Then add the backend that executes queries against your data:

sh
npm install @rapiq/adapter-sql @rapiq/adapter-typeorm
sh
npm install @rapiq/adapter-prisma
sh
npm install @rapiq/adapter-drizzle
sh
npm install @rapiq/adapter-sql
sh
npm install @rapiq/adapter-memory

Optional packages

PackageInstall when…
@rapiq/parser-simplenon-URL input already uses canonical parameter keys (filters, pagination, …)
@rapiq/parser-expressionnon-URL input contains function-call filter expressions like and(eq(name, 'John'), gte(age, '18'))
@rapiq/parser-mongoyou want to accept MongoDB-style filter documents like { age: { $gte: 18 } }
@rapiq/adapter-memoryyou want to evaluate a Query against in-memory objects, e.g. authorization guards or mock backends

Not sure which combination you need? The package overview walks through the decision.

Requirements

  • Node.js ≥ 22 for the server-side packages; the client-side packages run in any modern bundler/browser environment.
  • TypeScript is optional but strongly recommended: typed field paths are a core feature.

Next steps

  • Quick Start: wire everything together in one walkthrough.

Released under the MIT License.