Runtime principal
Bootstrap, contenedor DI, orquestación del ciclo de vida y arranque de la aplicación HTTP.
Paquetes
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.
21 paquetes documentados
Bootstrap, contenedor DI, orquestación del ciclo de vida y arranque de la aplicación HTTP.
Los adaptadores de Express y Fastify mantienen los mismos contratos de controlador y vista.
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
No hay paquetes que coincidan con el filtro actual.
packages/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 paquetepackages/common
Decoradores transversales, metadata de rutas, logger y tipos de ejecución compartidos.
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.
Cobertura de ejemplos: All samples use controller decorators from @xtaskjs/common.
Abrir página del paquetepackages/config
Typed, fail-fast environment configuration with Zod-powered schema validation.
Config centralizes environment loading and validation so applications fail fast when required variables are missing or invalid. It exposes a typed ConfigService through DI and supports env-file loading plus optional prefixed variable mapping.
Cobertura de ejemplos: 01-new_app, 03-fastify_app, 06-security_app, 09-internationalization_app, 18-value_objects_app, 26-bots_app, 27-bots_webhook_security_app
Abrir página del paquetepackages/validation
Schema-first request validation for controllers using Zod or Valibot adapters.
Validation integrates schema-based request validation into the xtaskjs HTTP pipeline. It offers parameter decorators and route-level schema decorators, returns structured validation issues, and plugs into DI for adapter and error customization.
Cobertura de ejemplos: Package README and package tests currently provide the primary reference.
Abrir página del paquetepackages/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 paquetepackages/testing
Testing runtime and module builder for isolated DI containers and provider overrides.
Testing provides a focused testing module API for xtaskjs services and controllers. It builds isolated DI containers, supports provider overrides, and helps teams write unit and integration tests without booting a full HTTP runtime.
Cobertura de ejemplos: 25-testing_app
Abrir página del paquetepackages/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 paquetepackages/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 paquetepackages/typeorm
Integración con TypeORM, registro de datasources 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 al contenedor una forma estándar de inyectar datasources y repositorios mientras reexporta la superficie de TypeORM.
Cobertura de ejemplos: 04-typeorm_app
Abrir página del paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/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 paquetepackages/bots
Unified bots runtime for Telegram, Slack, and WhatsApp adapters with gateway decorators.
Bots adds a multi-platform messaging runtime to xtaskjs. It uses decorated gateway classes, adapter registration, and lifecycle-managed dispatch so bot workflows stay DI-friendly and consistent with the rest of the framework.
Cobertura de ejemplos: 26-bots_app and 27-bots_webhook_security_app
Abrir página del paquetepackages/mcp
Decorator-based MCP server builder, lifecycle hooks, and SDK transport adapters.
MCP adds a decorator-driven server builder for Model Context Protocol servers. It registers tools, prompts, resources, and lifecycle hooks inside the xtaskjs runtime, and it can bridge the official @modelcontextprotocol/sdk transports for stdio or Streamable HTTP.
Cobertura de ejemplos: 28-mcp_server_app and 29-mcp_auth_http_app
Abrir página del paquete