Mapa de uso
Qué peso tiene este paquete dentro del runtime
Flujo del paquete
Cómo atraviesa este paquete las fases del runtime de xtaskjs
Antes del arranque
Importa reflect-metadata y decora controladores, servicios y runners para que el kernel pueda descubrirlos durante el arranque.
Durante CreateApplication()
Core construye el ciclo de vida de la aplicación, selecciona el adaptador HTTP, carga el contenedor DI e inicializa integraciones opcionales como TypeORM, security, mailer, scheduler e internationalization.
Durante app.close()
Core emite eventos de apagado, cierra el adaptador activo y pide a las integraciones instaladas que liberen recursos en un orden predecible.
Superficie API
Exports representativos del paquete original
Arranque y aplicación
- CreateApplication
- Bootstrap
- XTaskHttpApplication
- createHttpAdapter
DI y componentes
- Component
- Service
- Controller
- Repository
- AutoWired
- Qualifier
- PostConstruct
- PreDestroy
Primitivas HTTP
- HttpAdapter
- HttpRequestLike
- HttpResponseLike
- HttpViewResult
- view
- NodeHttpAdapter
- FastifyAdapter
Uso
Flujo típico de adopción
1. Instala e importa
Instala @xtaskjs/core con reflect-metadata y usa CreateApplication() como único punto de entrada del arranque.
2. Elige un adaptador
Empieza con node-http para el runtime más pequeño, o combina core con los adaptadores de Express o Fastify cuando necesites middleware o renderizado propios del ecosistema.
3. Añade integraciones después
Añade persistencia, security, correo, localización o trabajos programados sin cambiar los patrones de controlador y DI con los que empezaste.
Ejemplo
Fragmento de referencia
import "reflect-metadata";
import { CreateApplication } from "@xtaskjs/core";
async function main() {
await CreateApplication({
adapter: "node-http",
autoListen: true,
server: { host: "127.0.0.1", port: 3000 },
});
}
main().catch(console.error);
Ejemplos
Ejemplos oficiales para revisar después
Ejemplos de referencia: 01-new_app, 02-express_app, 03-fastify_app, 04-typeorm_app, 06-security_app, 07-security_express_app
Relacionados
Paquetes que suelen usarse junto a este