Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 2.6 KB

File metadata and controls

79 lines (53 loc) · 2.6 KB

@objectstack/nestjs

NestJS adapter for ObjectStack — installs the auto-generated REST API as a dynamic NestJS module.

npm License: Apache-2.0

Overview

Provides ObjectStackModule — a DynamicModule that registers ObjectStackService, a catch-all ObjectStackController (routes under /api), and a DiscoveryController for service self-description. The module injects ObjectKernel via the OBJECT_KERNEL DI token so controllers and guards can resolve it normally.

Installation

pnpm add @objectstack/nestjs @nestjs/common @nestjs/core

Quick Start

import { Module } from '@nestjs/common';
import { ObjectStackModule } from '@objectstack/nestjs';
import { kernel } from './my-kernel';

@Module({
  imports: [ObjectStackModule.forRoot({ kernel })],
})
export class AppModule {}

Inject the kernel elsewhere

import { Inject, Injectable } from '@nestjs/common';
import { OBJECT_KERNEL } from '@objectstack/nestjs';
import type { ObjectKernel } from '@objectstack/runtime';

@Injectable()
class MyService {
  constructor(@Inject(OBJECT_KERNEL) private kernel: ObjectKernel) {}
}

Key Exports

Export Kind Description
ObjectStackModule dynamic module ObjectStackModule.forRoot({ kernel }).
ObjectStackService injectable Exposes dispatcher and getKernel().
ObjectStackController controller Catch-all under /api delegating to HttpDispatcher.
DiscoveryController controller Serves /api/v1/discovery and /.well-known/objectstack.
OBJECT_KERNEL DI token Resolves the bootstrapped kernel.
ConnectReq param decorator Retrieves the raw request for custom handlers.

Middleware order

NestJS global ValidationPipe MUST NOT run on ObjectStack routes — the protocol owns its validation. Use @UsePipes only on NestJS-owned controllers.

When to use

  • ✅ NestJS monoliths that need ObjectStack as a module alongside domain controllers.
  • ✅ Teams standardized on NestJS DI and decorators.

When not to use

Related Packages

Links

License

Apache-2.0 © ObjectStack