Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 3.62 KB

File metadata and controls

73 lines (51 loc) · 3.62 KB
layout default
title Node (reserved)
permalink /node/

Node (reserved)

El subpath @mks2508/better-logger/node es un namespace reservado sin exports. Existe como plaza de aterrizaje para futuras features Node-only sin contaminar el bundle default (cross-runtime).

Estado actual

./node no expone nada exportable: el archivo src/node-module.ts es un placeholder con solo docstring.

// src/node-module.ts
/**
 * Reserved namespace for Node-only utilities. Use the main entry
 * (`@mks2508/better-logger`) for cross-runtime APIs.
 */

Cualquier intento de importar desde ./node resuelve a un módulo vacío: TypeScript no marca error, runtime no expone símbolos. Esto es deliberado — el subpath está preparado pero todavía sin contenido.

Por que existe

F6.2 (consolidación de bridges y dead-surface trim) eliminó los exports Node-específicos anteriores que no justificaban quedarse: helpers de BufferWriter, variantes de file capture que duplicaban FileTransport, etc. Lo que quedó se fusionó en ./transports (File, Http, Otlp).

./node queda como punto de entrada para lo que venga después y tenga sentido Node-only:

  • File-based log capture con rotación fs-backed (logrotate-style streams).
  • Integración con process.stdout/stderr crudos para escenarios donde console está monkey-patched.
  • Pipes a net.Socket o dgram para log shipping sin HTTP.
  • Workers / worker_threads log routing.

Mantener ./node vacío es preferible a filtrar código Node en el bundle default — preserva el dual runtime (browser + Node) sin pagar peso extra en builds browser.

Alternativas actuales

Hoy toda la funcionalidad Node-compatible vive en el entry default o en ./transports:

Necesidad Usar
Logger cross-runtime (browser + Node) @mks2508/better-logger (entry default)
File logging con rotation / buffer ./transportsFileTransport
Ingestion HTTP con retry y backoff ./transportsHttpTransport
OTLP → SigNoz / collector OTLP/HTTP ./transportsOtlpTransport
Spinners, boxes, tables para scripts CLI ./playground
// El entry default funciona en Node sin configuración extra
import logger from '@mks2508/better-logger';
logger.info('Node process started');

// Transports Node-specific sí requieren subpath
import { FileTransport, OtlpTransport } from '@mks2508/better-logger/transports';

logger.addTransport({
  target: new FileTransport({ destination: 'logs/app.log' })
});

El entry default detecta el runtime y adapta el rendering automáticamente: ANSI para terminales Node, CSS %c para DevTools del browser. No hace falta subpath separado para "modo Node".

Si necesitas algo Node-only

Si tienes un caso de uso Node-específico que no encaje en ./transports (rotación custom, pipes a net, integración con worker_threads, lo que sea), abre un issue describiendo el caso. Las features que aterricen en ./node necesitan justificación por separación clara de los subpaths ya existentes — duplicar lo que ya hace ./transports no es razón suficiente.

Referencia API