| layout | default |
|---|---|
| title | Node (reserved) |
| permalink | /node/ |
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).
./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.
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/stderrcrudos para escenarios dondeconsoleestá monkey-patched. - Pipes a
net.Socketodgrampara log shipping sin HTTP. - Workers /
worker_threadslog 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.
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 | ./transports → FileTransport |
| Ingestion HTTP con retry y backoff | ./transports → HttpTransport |
| OTLP → SigNoz / collector OTLP/HTTP | ./transports → OtlpTransport |
| 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 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.
Logger— entry default cross-runtimeFileTransport·HttpTransport·OtlpTransport— transports Node-specific en./transports- Volver al inicio