Skip to content

Changelog / Migration Guide

0.10.0

This release fixes the blocked NestJS path from 0.9.x and adds a supported adapter contract for custom Prisma schemas.

0.10.0

  • SystemCoreModule is now a proper NestJS @Module() class, which fixes TypeError: metatype is not a constructor.
  • SystemCoreModuleConfig now accepts auth?: AuthDeps, so custom Prisma schemas can register NestJS integration without createPrismaDeps().
  • createSystem() now accepts auth?: AuthDeps; prisma is optional when auth is supplied directly.
  • AuthDeps is now exported from @system-core/core.
  • @nestjs/common is now an optional peer dependency.

0.9.0

  • createSystem() was introduced as the package-owned runtime bootstrap.
  • skipPrismaValidation was added for startup validation.
  • AuthDeps existed as a standalone type, but custom schemas still crashed if they reached createPrismaDeps() at runtime.

Migration: 0.9.x -> 0.10.0

If SystemCoreModule.forRoot({ http }) crashed at startup

No code change is required. Upgrade to 0.10.0 and the module-class fix resolves the NestJS startup crash.

If you used createPrismaDeps() with a custom schema

Replace that call with a manual AuthDeps adapter and pass it into NestJS or createSystem() directly.

ts
import { createSystem } from '@system-core/core'
import type { AuthDeps } from '@system-core/core'

const authDeps: AuthDeps = { /* ... */ }

const system = await createSystem({
  auth: authDeps
})

NestJS apps can also register the adapter directly:

ts
SystemCoreModule.forRoot({
  http: nestjsAdapter,
  auth: authDeps
})

Upgrade Checklist

  1. Upgrade @system-core/core to 0.10.0.
  2. Add @nestjs/common if you consume @system-core/core/integrations/nestjs.
  3. Stop using createPrismaDeps() against custom schemas.
  4. Build an AuthDeps adapter for your existing tables.
  5. Pass that adapter into createSystem({ auth }) or SystemCoreModule.forRoot({ auth, http }).

system-core documentation for maintainers, integrators, and AI build agents.