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 proporciona la superficie pública de decoradores para controladores y canalizaciones de rutas. Es el lenguaje que usa el resto del framework para expresar metadata de middleware, guards y eventos, e incluye el Logger usado en adaptadores y servicios.

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 admite persistencia opcional en archivo mediante logger.file.enabled y logger.file.path.
  • El formato de salida del Logger incluye nombre de app, pid, contexto opcional y delta de tiempo por línea.
  • 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.
  • Suele combinarse con middleware de petición que propaga un header de correlation id para trazabilidad de extremo a extremo.

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.

Relacionados

Paquetes que suelen usarse junto a este