v4.0 · Angular 17+ · signals, no RxJS

Query state as signals.
Lists in the URL.

@qubeejs/angular is the Angular adapter for @qubeejs/core. It makes the core's query builder and paginator injectable, reads them as signals, and keeps a list's filters, sorts and page in the address bar.

These pages cover only what the adapter adds. Filters, operators, sorting, drivers and the builder's semantics are documented once, in the core docs ↗.

Get startedAdapter API$ npm i @qubeejs/angular @qubeejs/core
@qubeejs/angular

Signals all the way down

The URI, the query state and every page flag — uri(), state(), hasNextPage() — are computed signals. No RxJS, no subscriptions.

Lists in the URL

injectQubeeList() keeps filters, sorts and the page in the address bar as typed signals, through the Angular Router, the History API or memory.

HttpClient-native fetching

qubeeHttpResource() is built on httpResource(): your HttpClient, your interceptors, stale requests aborted.

One driver in the bundle

Pass a driver definition — STRAPI_DRIVER, LARAVEL_DRIVER, … — and the other nineteen tree-shake out of your bundle.

One provider, then inject

Register a driver once with provideQubee() — or QubeeModule.forRoot() — and inject the query builder anywhere. Everything the core exports comes from the same import.

entry pointfor
@qubeejs/angularproviders, services, lists
@qubeejs/angular/routerthe Angular Router adapter
@qubeejs/angular/httpqubeeHttpResource(), Angular 19.2+
app.config.ts
import { ApplicationConfig } from '@angular/core';
import { provideHttpClient } from '@angular/common/http';
import { STRAPI_DRIVER, provideQubee } from '@qubeejs/angular';

export const appConfig: ApplicationConfig = {
  providers: [
    provideHttpClient(),
    provideQubee({
      baseUrl: 'https://api.example.com',
      driver: STRAPI_DRIVER
    })
  ]
};

Everything else lives in the core docs

The adapter documents nothing the core already documents. Query semantics are the same in every framework binding — read them once, over there.

Rule of thumbIf a symbol also exists in @qubeejs/core — @qubeejs/angular re-exports all of it — its reference page is in the core docs, not here.