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

Paquetes

Referencia de los paquetes e integraciones del runtime de xtaskjs.

Esta página describe los paquetes principales del monorepo xtask, qué aporta cada uno, cómo encaja en el runtime y qué ejemplos oficiales lo demuestran en la práctica, incluidos cache, scheduler, queues y value objects.

16 paquetes documentados

Runtime principal

Bootstrap, contenedor DI, orquestación del ciclo de vida y arranque de la aplicación HTTP.

Capa de adaptadores

Los adaptadores de Express y Fastify mantienen los mismos contratos de controlador y vista.

Integraciones

TypeORM, security, mailer, cache, scheduler y queues añaden persistencia, autenticación, trabajo en segundo plano y entrega compatibles con el ciclo de vida.

Catálogo

Paquetes del framework en el monorepo xtask

packages/core

@xtaskjs/core

Bootstrap, kernel, contenedor DI, ciclo de vida y primitivas de aplicación HTTP.

Core controla el arranque de la aplicación. Inicia el kernel, analiza componentes, resuelve adaptadores y coordina integraciones opcionales como TypeORM y security durante CreateApplication().

Cobertura de ejemplos: 01-new_app, 02-express_app, 03-fastify_app, 04-typeorm_app, 06-security_app, 07-security_express_app

Abrir página del paquete

packages/common

@xtaskjs/common

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

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.

Cobertura de ejemplos: All samples use controller decorators from @xtaskjs/common.

Abrir página del paquete

packages/value-objects

@xtaskjs/value-objects

Primitivas de value objects, utilidades de conversión, decoradores para DTO y helpers de integración con fábricas DI.

Value objects ofrece a los proyectos xtaskjs una forma coherente de modelar primitivas de dominio y envoltorios de payload estructurados. Estandariza la conversión desde entrada cruda, cadenas JSON y payloads serializados, y además puede enlazar la transformación de DTO con la creación de fábricas gestionadas por DI.

Cobertura de ejemplos: Package README examples and package tests currently provide the primary reference.

Abrir página del paquete

packages/express-http

@xtaskjs/express-http

Adaptador de Express con recursos estáticos e integración de motor de plantillas.

El adaptador de Express traduce las rutas del framework al manejo de peticiones de Express. Añade archivos estáticos, motores de plantillas y respuestas JSON o renderizadas sin cambiar el código de los controladores.

Cobertura de ejemplos: 02-express_app and 07-security_express_app

Abrir página del paquete

packages/fastify-http

@xtaskjs/fastify-http

Adaptador de Fastify para el mismo modelo de controladores usado por core y Express.

El soporte de Fastify refleja el de Express, pero mantiene el servido, el renderizado de vistas y el comportamiento de archivos estáticos específicos de Fastify tras los mismos contratos del framework.

Cobertura de ejemplos: 03-fastify_app and 04-typeorm_app

Abrir página del paquete

packages/typeorm

@xtaskjs/typeorm

Integración de TypeORM con registro de datasources, migrations y seeders en arranque, y utilidades de inyección de repositorios.

El soporte de TypeORM conecta el ciclo de vida del datasource al arranque y apagado de xtask. Proporciona una forma estándar de inyectar datasources y repositorios, además de registros de migrations y seeders que pueden ejecutarse durante el bootstrap.

Cobertura de ejemplos: 04-typeorm_app

Abrir página del paquete

packages/cqrs

@xtaskjs/cqrs

Command, query, and event buses with handler decorators, read or write datasource aliases, and lifecycle-managed projection workflows.

CQRS adds message buses, handler discovery, read or write repository injection, process managers, projection rebuilders, and idempotent command execution to xtaskjs. It builds on @xtaskjs/typeorm so the container can expose read and write datasources and repositories without hard-coding infrastructure details into handlers.

Cobertura de ejemplos: 19-cqrs_app and 20-cqrs_postgres_replication_app

Abrir página del paquete

packages/event-source

@xtaskjs/event-source

Event-sourced aggregates, optimistic stream persistence, stored-event subscribers, and optional queue publication.

Event source adds aggregate rehydration, stream persistence, optimistic concurrency checks, and stored-event publication to xtaskjs. It keeps event application inside aggregate roots while exposing repositories, stores, publishers, and subscribers through the same DI lifecycle used by the rest of the framework.

Cobertura de ejemplos: 21-event_source_rabbitmq_app and 22-event_source_cqrs_app

Abrir página del paquete

packages/security

@xtaskjs/security

Autenticación JWT y JWE, decoradores de autorización y ciclo de vida de security compatible con DI.

Security se apoya en la canalización base de rutas. Registra estrategias, autentica peticiones mediante flujos compatibles con Passport e inyecta el estado de autenticación en el contexto de ejecución para guards y controladores.

Cobertura de ejemplos: 06-security_app and 07-security_express_app

Abrir página del paquete

packages/mailer

@xtaskjs/mailer

Entrega basada en Nodemailer, renderizado de plantillas, transports con nombre y servicios de correo compatibles con DI.

Mailer integra el correo saliente en el mismo ciclo de vida de xtask usado por controladores y persistencia. Registra transports al arrancar, expone servicios y transporters inyectables y admite plantillas inline, EJS o Handlebars.

Cobertura de ejemplos: 07-security_express_app and 08-email_express_app

Abrir página del paquete

packages/internationalization

@xtaskjs/internationalization

Traducciones dependientes de la petición, fallback de locale, carga de namespaces y servicios de formateo compatibles con DI.

Internationalization añade resolución de locale por petición, búsqueda de traducciones, pluralización y helpers de formato al ciclo de vida de xtask. Registra los servicios de locale antes de que se resuelvan los controladores y expone un servicio inyectable para controladores, vistas y presenters de dominio.

Cobertura de ejemplos: 09-internationalization_app and 10-internationalization_express_app

Abrir página del paquete

packages/scheduler

@xtaskjs/scheduler

Decoradores cron, interval y timeout con descubrimiento y control de trabajos gestionados por el ciclo de vida.

Scheduler añade trabajos recurrentes y diferidos a los servicios xtask. Descubre los métodos decorados cuando el contenedor DI está listo, ejecuta trabajos de arranque durante la inicialización, inicia el trabajo recurrente en el evento ready del ciclo de vida y expone APIs de servicio para inspección y ejecución manual.

Cobertura de ejemplos: 11-scheduler_app

Abrir página del paquete

packages/cache

@xtaskjs/cache

Memory and Redis-backed cache models, method decorators, runtime inspection, and browser cache policies.

Cache adds application-level data caching and client-facing HTTP cache control to xtaskjs. It registers named cache models, exposes injectable repositories and services, layers method decorators for cache read/write behavior, and can publish browser cache headers plus operational endpoints from the same package.

Cobertura de ejemplos: 12-cache_app, 13-cache_redis_app, 14-http_cache_web_app, 15-fastify_http_cache_web_app

Abrir página del paquete

packages/queues

@xtaskjs/queues

Handlers de colas agnósticos del transporte, utilidades para brokers, decoradores de publicación y consumidores gestionados por el ciclo de vida.

Queues incorpora entrega de mensajes con broker y en memoria a xtaskjs. Registra transports con nombre, descubre consumidores decorados desde servicios gestionados por DI, expone APIs de productores inyectables y coordina reintentos, dead-letter routing y el arranque o parada de consumidores mediante el ciclo de vida de la aplicación.

Cobertura de ejemplos: 16-queues_memory_app and 17-queues_rabbitmq_app

Abrir página del paquete

packages/throttler

@xtaskjs/throttler

Per-endpoint and global rate limiting with memory or Redis backing and custom key generators.

Throttler integrates rate limiting into the xtask route pipeline. It limits requests per time window using configurable storage backends, supports custom key generators for IP, user, or API-key-based identification, and applies limits globally or per-method through decorators.

Cobertura de ejemplos: 24-throttler_app

Abrir página del paquete

packages/socket-io

@xtaskjs/socket-io

Gateways de Socket.IO, decoradores de eventos, servicios realtime inyectables y acoplamiento al servidor gestionado por el ciclo de vida.

Socket.IO integra mensajería realtime en xtaskjs sin salir del modelo de DI y ciclo de vida del framework. Descubre servicios gateway decorados, se conecta al servidor HTTP activo durante app.listen(), expone namespaces y utilidades de broadcast mediante DI y se desmonta limpiamente durante app.close().

Cobertura de ejemplos: 23-socket_io_express_app

Abrir página del paquete