Libreria Gratis Activo

@mswjs/source

Para crear mocks de red automáticamente a partir de especificaciones OpenAPI o grabaciones de tráfico HAR.

Genera handlers de Mock Service Worker a partir de archivos HAR y documentos OpenAPI.

Notas y contexto

Qué es

@mswjs/source es una librería de la familia Mock Service Worker (MSW) que genera automáticamente los request handlers de mocking a partir de fuentes ya existentes. Está escrita en TypeScript y mantenida por el equipo de mswjs. En lugar de escribir cada handler a mano, lo deriva de un documento OpenAPI/Swagger o de una grabación de tráfico en formato HAR.

Para qué sirve

  • Generar handlers de MSW a partir de un documento OpenAPI (2.0 o 3.0) sin escribirlos uno a uno.
  • Reproducir tráfico real grabado en un archivo HAR como mocks deterministas.
  • Acelerar la puesta en marcha del mocking en proyectos con APIs grandes ya documentadas.
  • Mantener los mocks alineados con la especificación de la API de origen.

Cuándo usarlo

Útil cuando ya usas MSW y tienes una fuente de verdad (un contrato OpenAPI o capturas HAR) de la que partir, en lugar de definir los handlers manualmente. Si tu API es pequeña o no tienes esas fuentes, escribir los handlers directamente con MSW puede ser más simple. Requiere MSW como dependencia, ya que solo produce los handlers que luego consume setupServer o setupWorker.

Ejemplo

npm install @mswjs/source
// A partir de un documento OpenAPI
import { fromOpenApi } from '@mswjs/source/open-api';
import { setupServer } from 'msw/node';
import api from './api.json';

const handlers = await fromOpenApi(api);
const server = setupServer(...handlers);
server.listen();
// A partir de una grabación de tráfico HAR
import { fromTraffic } from '@mswjs/source/traffic';
import { setupServer } from 'msw/node';
import traffic from './recording.har';

const handlers = fromTraffic(traffic);
const server = setupServer(...handlers);

Puntos clave

  • Soporta como fuentes documentos OpenAPI 2.0/3.0 y archivos HAR.
  • Entradas de importación separadas por fuente: @mswjs/source/open-api y @mswjs/source/traffic.
  • Al reproducir tráfico HAR respeta el orden de las peticiones y los tiempos de respuesta grabados.
  • Proyecto open source con licencia MIT, escrito íntegramente en TypeScript.

Ten en cuenta

No reemplaza a MSW: es complementario y necesita que MSW esté instalado para usar los handlers generados. La calidad de los mocks depende de la fuente (un OpenAPI incompleto o un HAR parcial dará handlers limitados). Es un proyecto activo pero todavía en versión 0.x (v0.6.1), por lo que la API puede cambiar entre versiones.

Volver al directorio
Volver al directorio