xTaskjs 1.0 ya está disponible: cuentas por rol, documentación y una interfaz personalizable.

Paquetes

@xtaskjs/common

Decoradores transversales, metadata de rutas, logger y tipos de ejecución compartidos.

npm install @xtaskjs/common reflect-metadata Ruta del paquete: packages/common

Resumen

Qué controla este paquete en el runtime

Common provides the public decorator surface for controllers and route pipelines. It is the language the rest of the framework uses to express middleware, guard, and event metadata, and it includes the Logger used across adapters and services.

Qué ofrece

  • Los decoradores Controller, Get, Post, Patch y Delete describen rutas.
  • UseGuards, UseMiddlewares y UsePipes componen el orden de ejecución de la ruta.
  • Los tipos del logger y la metadata de rutas se comparten entre los paquetes del framework.
  • Logger supports optional file persistence through logger.file.enabled and logger.file.path.
  • Logger output format includes app name, pid, optional context, and per-line delta time.
  • La metadata del ciclo de vida alimenta runners y listeners OnEvent.

Cómo encaja

  • Lo consume @xtaskjs/core durante el registro y la ejecución de rutas.
  • Lo amplía @xtaskjs/security mediante decoradores y guards adicionales.
  • Often paired with request middleware that propagates a correlation id header for end-to-end tracing.

Mapa de uso

Qué peso tiene este paquete dentro del runtime

Arranque

3/5

Inyección de dependencias

4/5

Entrega HTTP

5/5

Seguridad

3/5

Integraciones

4/5

Flujo del paquete

Cómo atraviesa este paquete las fases del runtime de xtaskjs

Antes del arranque

Los decoradores de common adjuntan metadata de rutas, guards, middlewares, pipes y ciclo de vida mientras se importan los módulos.

Durante CreateApplication()

Core lee la metadata de @xtaskjs/common para registrar rutas de controlador, listeners del ciclo de vida y canalizaciones de ejecución.

Durante app.close()

Common no mantiene recursos por sí mismo, pero su metadata de ciclo de vida sigue determinando cómo se ejecutan los listeners de apagado.

Superficie API

Exports representativos del paquete original

Decoradores de rutas

  • Controller
  • Get
  • Post
  • Patch
  • Delete
  • Body
  • Param
  • Query
  • Req
  • Res
  • UseGuards
  • UseMiddlewares
  • UsePipes

Decoradores de ciclo de vida

  • OnEvent
  • ApplicationRunner
  • CommandLineRunner

Validación y tipos

  • Logger
  • ValidationPipe
  • HANDLERS_KEY
  • ROUTES_KEY
  • RunnerMeta

Uso

Flujo típico de adopción

1. Define controladores

Usa Controller, Get, Post, Patch y Delete para describir la superficie HTTP pública de tu aplicación.

2. Compón la canalización

Adjunta UseGuards, UseMiddlewares y UsePipes para mantener la autenticación, la lógica transversal y la validación cerca de la ruta.

3. Añade hooks del ciclo de vida

Usa ApplicationRunner, CommandLineRunner y OnEvent cuando el trabajo de arranque o los eventos de ejecución deban expresarse con el mismo modelo guiado por decoradores.

Ejemplo

Fragmento de referencia

Metadata del controlador y composición de la canalización
import { Controller, Get, Post, UseGuards } from "@xtaskjs/common";

@Controller("/users")
@UseGuards((context) => Boolean(context))
export class UsersController {
  @Get("/")
  list() {
    return [];
  }

  @Post("/")
  create() {
    return { created: true };
  }
}

Ejemplos

Ejemplos oficiales para revisar después

Ejemplos de referencia: All samples use controller decorators from @xtaskjs/common.