@mks2508/better-logger 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{Logger-Cbi1f10o.js → Logger-CKqzXDh3.js} +2 -2
- package/dist/chunks/{Logger-Cbi1f10o.js.map → Logger-CKqzXDh3.js.map} +1 -1
- package/dist/chunks/{Logger-BZ7B7OXE.js → Logger-D_vuKP4l.js} +2 -2
- package/dist/chunks/{Logger-BZ7B7OXE.js.map → Logger-D_vuKP4l.js.map} +1 -1
- package/dist/chunks/cli-module-B-njrTWb.js +2 -0
- package/dist/chunks/cli-module-B-njrTWb.js.map +1 -0
- package/dist/chunks/{cli-module-ClIJmaT8.js → cli-module-Cx7qotPY.js} +16 -9
- package/dist/chunks/cli-module-Cx7qotPY.js.map +1 -0
- package/dist/cli.cjs +1 -1
- package/dist/cli.js +1 -1
- package/dist/exports.cjs +1 -1
- package/dist/exports.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +3 -3
- package/dist/styling.cjs +1 -1
- package/dist/styling.js +2 -2
- package/dist/terminal/formatter.d.ts.map +1 -1
- package/package.json +5 -1
- package/.claude/settings.local.json +0 -48
- package/.github/workflows/ci-quality.yml +0 -357
- package/.github/workflows/docs-demo.yml +0 -119
- package/.github/workflows/releases-core.yml +0 -512
- package/.github/workflows/releases-full.yml +0 -582
- package/.github/workflows-backup/ci.yml +0 -221
- package/.github/workflows-backup/nightly.yml +0 -196
- package/.github/workflows-backup/release-optimized.yml +0 -373
- package/.github/workflows-backup/release.yml +0 -269
- package/.release-notes-0.2.0.md +0 -129
- package/.yamllint +0 -28
- package/CHANGELOG.json +0 -1076
- package/CHANGELOG.md +0 -209
- package/CLAUDE.md +0 -217
- package/bun.lock +0 -333
- package/demo.html +0 -847
- package/dist/chunks/cli-module-CadqgZ1Z.js +0 -2
- package/dist/chunks/cli-module-CadqgZ1Z.js.map +0 -1
- package/dist/chunks/cli-module-ClIJmaT8.js.map +0 -1
- package/docs/API.md +0 -918
- package/docs/CORE.md +0 -264
- package/docs/DEVELOPMENT.md +0 -731
- package/docs/EXPORTS.md +0 -467
- package/docs/PACKAGES.md +0 -244
- package/docs/STYLING.md +0 -405
- package/docs/_config.yml +0 -36
- package/docs/index.md +0 -179
- package/examples/README.md +0 -208
- package/examples/basic-logging.js +0 -75
- package/examples/data-export.js +0 -234
- package/examples/package.json +0 -16
- package/examples/performance-timing.js +0 -170
- package/examples/simplified-api.js +0 -124
- package/examples/styling-themes.js +0 -207
- package/index.html +0 -358
- package/packages/core/package.json +0 -57
- package/packages/exports/package.json +0 -41
- package/packages/nodejs-opentui/README.md +0 -232
- package/packages/nodejs-opentui/package.json +0 -72
- package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
- package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
- package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
- package/packages/nodejs-opentui/src/index.ts +0 -133
- package/packages/nodejs-opentui/src/types.ts +0 -158
- package/packages/nodejs-opentui/tsconfig.json +0 -20
- package/packages/styling/package.json +0 -41
- package/playground/demo-all.ts +0 -95
- package/playground/demo-box.ts +0 -85
- package/playground/demo-levels.ts +0 -56
- package/playground/demo-real-world.ts +0 -98
- package/playground/demo-spinner.ts +0 -77
- package/playground/demo-steps.ts +0 -72
- package/playground/demo-table.ts +0 -83
- package/project-utils/README.md +0 -172
- package/project-utils/auto-release-gemini.ts +0 -1193
- package/project-utils/auto-release-ui.ts +0 -1329
- package/project-utils/commit-generator.ts +0 -1385
- package/project-utils/commit-ui.ts +0 -264
- package/project-utils/git-utils.ts +0 -199
- package/project-utils/github-release-manager.ts +0 -466
- package/project-utils/project-config.ts +0 -260
- package/project-utils/prompt-templates.js +0 -345
- package/project-utils/prompt-templates.ts +0 -422
- package/project-utils/version-manager.ts +0 -1078
- package/public/vite.svg +0 -1
- package/src/Logger.ts +0 -1858
- package/src/ScopedLogger.ts +0 -256
- package/src/cli/CommandProcessor.ts +0 -248
- package/src/cli/commands/ConfigCommand.ts +0 -93
- package/src/cli/commands/ExportCommand.ts +0 -276
- package/src/cli/commands/HistoryCommand.ts +0 -117
- package/src/cli/commands/StatusCommand.ts +0 -112
- package/src/cli/commands/ThemeCommand.ts +0 -88
- package/src/cli/help.ts +0 -127
- package/src/cli/index.ts +0 -71
- package/src/cli-module.ts +0 -21
- package/src/cli-primitives/box.ts +0 -86
- package/src/cli-primitives/cli-table.ts +0 -62
- package/src/cli-primitives/divider.ts +0 -17
- package/src/cli-primitives/header.ts +0 -18
- package/src/cli-primitives/index.ts +0 -13
- package/src/cli-primitives/server-fallback.ts +0 -54
- package/src/cli-primitives/spinner.ts +0 -133
- package/src/cli-primitives/step.ts +0 -22
- package/src/constants.ts +0 -313
- package/src/core.ts +0 -397
- package/src/example.ts +0 -210
- package/src/exports-module.ts +0 -311
- package/src/handlers/AnalyticsLogHandler.ts +0 -22
- package/src/handlers/ExportLogHandler.ts +0 -610
- package/src/handlers/FileLogHandler.ts +0 -169
- package/src/handlers/RemoteLogHandler.ts +0 -42
- package/src/handlers/index.ts +0 -8
- package/src/hooks/HookManager.ts +0 -177
- package/src/hooks/index.ts +0 -1
- package/src/index.ts +0 -395
- package/src/main.ts +0 -196
- package/src/serializers/SerializerRegistry.ts +0 -173
- package/src/serializers/index.ts +0 -1
- package/src/style.css +0 -96
- package/src/styling/LogStyleBuilder.ts +0 -355
- package/src/styling/SemanticStyles.ts +0 -380
- package/src/styling/SmartPresets.ts +0 -288
- package/src/styling/StyleBuilder.ts +0 -319
- package/src/styling/StyleCache.ts +0 -131
- package/src/styling/banners.ts +0 -168
- package/src/styling/index.ts +0 -27
- package/src/styling/themes.ts +0 -235
- package/src/styling-module.ts +0 -244
- package/src/terminal/color-converter.ts +0 -315
- package/src/terminal/formatter.ts +0 -236
- package/src/terminal/terminal-renderer.ts +0 -342
- package/src/transports/ConsoleTransport.ts +0 -28
- package/src/transports/FileTransport.ts +0 -53
- package/src/transports/HttpTransport.ts +0 -56
- package/src/transports/TransportManager.ts +0 -130
- package/src/transports/index.ts +0 -4
- package/src/types/core.ts +0 -417
- package/src/types/handlers.ts +0 -95
- package/src/types/hooks.ts +0 -45
- package/src/types/index.ts +0 -83
- package/src/types/serializers.ts +0 -30
- package/src/types/transports.ts +0 -52
- package/src/typescript.svg +0 -1
- package/src/utils/adapter.ts +0 -291
- package/src/utils/ansi-colors.ts +0 -333
- package/src/utils/environment-detector.ts +0 -170
- package/src/utils/environment.ts +0 -94
- package/src/utils/formatting.ts +0 -332
- package/src/utils/index.ts +0 -33
- package/src/utils/opentui-detection.ts +0 -138
- package/src/utils/output.ts +0 -227
- package/src/utils/stackTrace.ts +0 -144
- package/src/utils/timestamps.ts +0 -80
- package/src/vite-env.d.ts +0 -1
- package/src/writers/BufferWriter.ts +0 -157
- package/src/writers/index.ts +0 -6
- package/test-core-browser.html +0 -237
- package/test-core-node.js +0 -63
- package/tests/test-conflict-resolution.ts +0 -391
- package/tests/validate-workflows.sh +0 -131
- package/tests/yaml-autofix.sh +0 -146
- package/tsconfig.json +0 -50
- package/vite.config.ts +0 -256
package/src/types/core.ts
DELETED
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Definiciones de tipos principales para Better Logger
|
|
3
|
-
* @version 0.3.0
|
|
4
|
-
* @since 2024
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Niveles de log soportados en orden jerárquico (debug < info < warn < error < critical)
|
|
9
|
-
*
|
|
10
|
-
* @constant {Object} LOG_LEVELS
|
|
11
|
-
* @property {number} debug - Nivel 0: Información de depuración detallada
|
|
12
|
-
* @property {number} info - Nivel 1: Mensajes informativos generales
|
|
13
|
-
* @property {number} warn - Nivel 2: Advertencias que no detienen la ejecución
|
|
14
|
-
* @property {number} error - Nivel 3: Errores que pueden afectar funcionalidad
|
|
15
|
-
* @property {number} critical - Nivel 4: Errores críticos que requieren atención inmediata
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // Verificar si un nivel debe mostrarse
|
|
19
|
-
* if (LOG_LEVELS[currentLevel] >= LOG_LEVELS.warn) {
|
|
20
|
-
* // Mostrar solo warn, error y critical
|
|
21
|
-
* }
|
|
22
|
-
*/
|
|
23
|
-
export const LOG_LEVELS = {
|
|
24
|
-
debug: 0,
|
|
25
|
-
info: 1,
|
|
26
|
-
warn: 2,
|
|
27
|
-
error: 3,
|
|
28
|
-
critical: 4,
|
|
29
|
-
} as const;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Tipo de nivel de log derivado de las claves de LOG_LEVELS
|
|
33
|
-
* @typedef {'debug' | 'info' | 'warn' | 'error' | 'critical'} LogLevel
|
|
34
|
-
*/
|
|
35
|
-
export type LogLevel = keyof typeof LOG_LEVELS;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Tipo de nivel de verbosidad para filtrar logs
|
|
39
|
-
* @typedef {LogLevel | 'silent'} Verbosity
|
|
40
|
-
* @description 'silent' desactiva completamente todos los logs
|
|
41
|
-
*/
|
|
42
|
-
export type Verbosity = LogLevel | 'silent';
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Variantes de tema para diferentes estilos visuales
|
|
46
|
-
* @typedef {'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk'} ThemeVariant
|
|
47
|
-
*
|
|
48
|
-
* @description
|
|
49
|
-
* - default: Tema adaptativo automático (claro/oscuro)
|
|
50
|
-
* - dark: Tema oscuro con colores vibrantes
|
|
51
|
-
* - light: Tema claro con colores suaves
|
|
52
|
-
* - neon: Colores neón brillantes con efectos de resplandor
|
|
53
|
-
* - minimal: Diseño minimalista y limpio
|
|
54
|
-
* - cyberpunk: Estilo futurista con neón y efectos
|
|
55
|
-
*/
|
|
56
|
-
export type ThemeVariant = 'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk';
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Detección de tema de DevTools del navegador
|
|
60
|
-
* @typedef {'light' | 'dark'} DevToolsTheme
|
|
61
|
-
*/
|
|
62
|
-
export type DevToolsTheme = 'light' | 'dark';
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Tipos de banner para diferentes enfoques visuales
|
|
66
|
-
* @typedef {'simple' | 'ascii' | 'unicode' | 'svg' | 'animated'} BannerType
|
|
67
|
-
*
|
|
68
|
-
* @description
|
|
69
|
-
* - simple: Texto simple sin decoración
|
|
70
|
-
* - ascii: Arte ASCII tradicional
|
|
71
|
-
* - unicode: Caracteres Unicode decorativos
|
|
72
|
-
* - svg: Gráfico SVG embebido
|
|
73
|
-
* - animated: Banner con animación CSS
|
|
74
|
-
*/
|
|
75
|
-
export type BannerType = 'simple' | 'ascii' | 'unicode' | 'svg' | 'animated';
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Formatos de exportación para datos de log
|
|
79
|
-
* @typedef {'json' | 'csv' | 'markdown' | 'plain' | 'html'} ExportFormat
|
|
80
|
-
*
|
|
81
|
-
* @description
|
|
82
|
-
* - json: Formato JSON estructurado
|
|
83
|
-
* - csv: Valores separados por comas para Excel/Sheets
|
|
84
|
-
* - markdown: Formato Markdown para documentación
|
|
85
|
-
* - plain: Texto plano sin formato
|
|
86
|
-
* - html: HTML con estilos para visualización web
|
|
87
|
-
*/
|
|
88
|
-
export type ExportFormat = 'json' | 'csv' | 'markdown' | 'plain' | 'html';
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Formatos de salida para diferentes entornos
|
|
92
|
-
* @typedef {'auto' | 'plain' | 'ansi' | 'build' | 'ci'} OutputFormat
|
|
93
|
-
*
|
|
94
|
-
* @description
|
|
95
|
-
* - auto: Detección automática basada en entorno (recomendado)
|
|
96
|
-
* - plain: Texto plano sin colores (máxima compatibilidad)
|
|
97
|
-
* - ansi: Colores ANSI para terminales modernos
|
|
98
|
-
* - build: Formato optimizado para builds (Next.js, webpack, etc.)
|
|
99
|
-
* - ci: Formato optimizado para CI/CD (sin emojis, texto simple)
|
|
100
|
-
*/
|
|
101
|
-
export type OutputFormat = 'auto' | 'plain' | 'ansi' | 'build' | 'ci';
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Output modes for controlling where logs are written
|
|
105
|
-
* @typedef {'console' | 'silent' | 'custom'} OutputMode
|
|
106
|
-
*
|
|
107
|
-
* @description
|
|
108
|
-
* - console: Standard console.log output (default)
|
|
109
|
-
* - silent: No output at all
|
|
110
|
-
* - custom: Use custom OutputWriter for advanced scenarios
|
|
111
|
-
*/
|
|
112
|
-
export type OutputMode = 'console' | 'silent' | 'custom';
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Custom output writer interface for redirecting log output
|
|
116
|
-
*
|
|
117
|
-
* @interface OutputWriter
|
|
118
|
-
* @since 4.0.0
|
|
119
|
-
*
|
|
120
|
-
* @description
|
|
121
|
-
* Allows redirecting log output to custom destinations like:
|
|
122
|
-
* - DraftLog for CLI spinners with concurrent logging
|
|
123
|
-
* - Buffers for collecting logs during operations
|
|
124
|
-
* - Custom streams or transports
|
|
125
|
-
*
|
|
126
|
-
* @example
|
|
127
|
-
* class BufferWriter implements OutputWriter {
|
|
128
|
-
* private buffer: string[] = [];
|
|
129
|
-
*
|
|
130
|
-
* write(message: string, level: LogLevel, styles: string[]): void {
|
|
131
|
-
* this.buffer.push(message);
|
|
132
|
-
* }
|
|
133
|
-
*
|
|
134
|
-
* flush(): void {
|
|
135
|
-
* this.buffer.forEach(msg => console.log(msg));
|
|
136
|
-
* this.buffer = [];
|
|
137
|
-
* }
|
|
138
|
-
* }
|
|
139
|
-
*/
|
|
140
|
-
export interface OutputWriter {
|
|
141
|
-
write(message: string, level: LogLevel, styles: string[]): void;
|
|
142
|
-
flush?(): void;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Interfaz de configuración para instancias del logger
|
|
147
|
-
*
|
|
148
|
-
* @interface LoggerConfig
|
|
149
|
-
* @since 0.3.0
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* const config: LoggerConfig = {
|
|
153
|
-
* globalPrefix: 'MiApp',
|
|
154
|
-
* verbosity: 'info',
|
|
155
|
-
* enableColors: true,
|
|
156
|
-
* enableTimestamps: true,
|
|
157
|
-
* enableStackTrace: false,
|
|
158
|
-
* theme: 'cyberpunk',
|
|
159
|
-
* bannerType: 'animated',
|
|
160
|
-
* bufferSize: 500,
|
|
161
|
-
* autoDetectTheme: true
|
|
162
|
-
* };
|
|
163
|
-
*/
|
|
164
|
-
export interface LoggerConfig {
|
|
165
|
-
globalPrefix?: string;
|
|
166
|
-
verbosity: Verbosity;
|
|
167
|
-
enableColors: boolean;
|
|
168
|
-
enableTimestamps: boolean;
|
|
169
|
-
enableStackTrace: boolean;
|
|
170
|
-
theme?: ThemeVariant;
|
|
171
|
-
bannerType?: BannerType;
|
|
172
|
-
bufferSize?: number;
|
|
173
|
-
autoDetectTheme?: boolean;
|
|
174
|
-
outputFormat?: OutputFormat;
|
|
175
|
-
/** Output mode: 'console' (default), 'silent', or 'custom' @since 4.0.0 */
|
|
176
|
-
outputMode?: OutputMode;
|
|
177
|
-
/** Custom writer when outputMode is 'custom' @since 4.0.0 */
|
|
178
|
-
outputWriter?: OutputWriter;
|
|
179
|
-
/** CLI verbosity level for controlling primitive output @since 5.0.0 */
|
|
180
|
-
cliLevel?: CLILogLevel;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Información parseada del stack trace
|
|
185
|
-
*
|
|
186
|
-
* @interface StackInfo
|
|
187
|
-
* @description Contiene la ubicación exacta donde se originó el log
|
|
188
|
-
*/
|
|
189
|
-
export interface StackInfo {
|
|
190
|
-
file: string;
|
|
191
|
-
line: number;
|
|
192
|
-
column: number;
|
|
193
|
-
function?: string;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Entrada de temporizador para medición de rendimiento
|
|
198
|
-
*
|
|
199
|
-
* @interface TimerEntry
|
|
200
|
-
* @description Usado internamente para rastrear temporizadores activos
|
|
201
|
-
*/
|
|
202
|
-
export interface TimerEntry {
|
|
203
|
-
label: string;
|
|
204
|
-
startTime: number;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Opciones para estilizar componentes
|
|
209
|
-
*
|
|
210
|
-
* @interface StyleOptions
|
|
211
|
-
* @description Configuración de dimensiones y espaciado para elementos visuales
|
|
212
|
-
*/
|
|
213
|
-
export interface StyleOptions {
|
|
214
|
-
width?: number;
|
|
215
|
-
height?: number;
|
|
216
|
-
padding?: string;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Configuración de colores adaptativos para temas claro/oscuro
|
|
221
|
-
*
|
|
222
|
-
* @interface AdaptiveColors
|
|
223
|
-
* @description Define colores que se ajustan automáticamente al tema del navegador
|
|
224
|
-
*/
|
|
225
|
-
export interface AdaptiveColors {
|
|
226
|
-
light: string;
|
|
227
|
-
dark: string;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Configuración de espaciado para elementos del log
|
|
232
|
-
* @typedef {'compact' | 'normal' | 'spacious'} SpacingType
|
|
233
|
-
*
|
|
234
|
-
* @description
|
|
235
|
-
* - compact: Espaciado mínimo para más densidad
|
|
236
|
-
* - normal: Espaciado estándar balanceado
|
|
237
|
-
* - spacious: Espaciado amplio para mejor legibilidad
|
|
238
|
-
*/
|
|
239
|
-
export type SpacingType = 'compact' | 'normal' | 'spacious';
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Configuración de layout para la estructura del log
|
|
243
|
-
*
|
|
244
|
-
* @interface LogLayout
|
|
245
|
-
* @description Define cómo se organizan visualmente los elementos del log
|
|
246
|
-
*/
|
|
247
|
-
export interface LogLayout {
|
|
248
|
-
spacing: SpacingType;
|
|
249
|
-
innerPadding?: string;
|
|
250
|
-
outerMargin?: string;
|
|
251
|
-
separator?: string;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Configuración para partes individuales del log
|
|
256
|
-
*
|
|
257
|
-
* @interface LogPartConfig
|
|
258
|
-
* @description Permite personalizar cada elemento del log por separado
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* const timestampConfig: LogPartConfig = {
|
|
262
|
-
* show: true,
|
|
263
|
-
* color: '#888',
|
|
264
|
-
* font: 'Monaco',
|
|
265
|
-
* size: '11px'
|
|
266
|
-
* };
|
|
267
|
-
*/
|
|
268
|
-
export interface LogPartConfig {
|
|
269
|
-
show?: boolean;
|
|
270
|
-
style?: string;
|
|
271
|
-
font?: string;
|
|
272
|
-
size?: string;
|
|
273
|
-
color?: string; // Automatically adaptive by default
|
|
274
|
-
background?: string;
|
|
275
|
-
padding?: string;
|
|
276
|
-
margin?: string;
|
|
277
|
-
border?: string;
|
|
278
|
-
shadow?: string;
|
|
279
|
-
uppercase?: boolean;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Configuración completa de estilos del log
|
|
284
|
-
*
|
|
285
|
-
* @interface LogStyles
|
|
286
|
-
* @description Agrupa todas las opciones de estilo en una sola configuración
|
|
287
|
-
* @since 0.3.0
|
|
288
|
-
*/
|
|
289
|
-
export interface LogStyles {
|
|
290
|
-
layout?: LogLayout;
|
|
291
|
-
timestamp?: LogPartConfig;
|
|
292
|
-
level?: LogPartConfig;
|
|
293
|
-
prefix?: LogPartConfig;
|
|
294
|
-
message?: LogPartConfig;
|
|
295
|
-
location?: LogPartConfig;
|
|
296
|
-
backdrop?: string;
|
|
297
|
-
transparency?: number;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
export interface TimerResult {
|
|
301
|
-
label: string;
|
|
302
|
-
duration: number;
|
|
303
|
-
startTime: number;
|
|
304
|
-
endTime: number;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
export interface IScopedLogger {
|
|
308
|
-
debug(...args: any[]): void;
|
|
309
|
-
info(...args: any[]): void;
|
|
310
|
-
warn(...args: any[]): void;
|
|
311
|
-
error(...args: any[]): void;
|
|
312
|
-
success(...args: any[]): void;
|
|
313
|
-
critical(...args: any[]): void;
|
|
314
|
-
trace(...args: any[]): void;
|
|
315
|
-
|
|
316
|
-
badges(badges: string[]): this;
|
|
317
|
-
badge(badge: string): this;
|
|
318
|
-
clearBadges(): this;
|
|
319
|
-
|
|
320
|
-
time(label: string): void;
|
|
321
|
-
timeEnd(label: string): number | undefined;
|
|
322
|
-
|
|
323
|
-
style(presetName: string): this;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
export interface IAPILogger extends IScopedLogger {
|
|
327
|
-
slow(message: string, duration?: number): void;
|
|
328
|
-
rateLimit(message: string): void;
|
|
329
|
-
auth(message: string): void;
|
|
330
|
-
deprecated(message: string): void;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
export interface IComponentLogger extends IScopedLogger {
|
|
334
|
-
lifecycle(event: string, message?: string): void;
|
|
335
|
-
stateChange(from: string, to: string, data?: any): void;
|
|
336
|
-
propsChange(changes: Record<string, any>): void;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
export interface Bindings {
|
|
340
|
-
scope?: string;
|
|
341
|
-
badges?: string[];
|
|
342
|
-
type?: 'scope' | 'api' | 'component';
|
|
343
|
-
context?: string[];
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
export type BadgeStyle = 'brackets' | 'rounded' | 'plain' | 'unicode' | 'pill';
|
|
347
|
-
|
|
348
|
-
export type TimestampFormat = 'iso' | 'time' | 'timeMs' | 'relative' | 'elapsed' | 'date' | 'custom';
|
|
349
|
-
|
|
350
|
-
export type ColumnAlign = 'left' | 'right' | 'center';
|
|
351
|
-
|
|
352
|
-
export interface ColumnConfig {
|
|
353
|
-
content: string;
|
|
354
|
-
width?: number;
|
|
355
|
-
align?: ColumnAlign;
|
|
356
|
-
color?: string;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
export interface LogOptions {
|
|
360
|
-
rightAlign?: string;
|
|
361
|
-
columns?: ColumnConfig[];
|
|
362
|
-
maxWidth?: number;
|
|
363
|
-
keyValue?: boolean;
|
|
364
|
-
badgeStyle?: BadgeStyle;
|
|
365
|
-
timestampFormat?: TimestampFormat;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// ===== CLI PRIMITIVES (v5.0) =====
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* CLI verbosity levels for controlling primitive output
|
|
372
|
-
* @since 5.0.0
|
|
373
|
-
*/
|
|
374
|
-
export type CLILogLevel = 'silent' | 'quiet' | 'normal' | 'verbose' | 'debug';
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Handle returned by logger.spinner() for controlling spinner lifecycle
|
|
378
|
-
* @since 5.0.0
|
|
379
|
-
*/
|
|
380
|
-
export interface ISpinnerHandle {
|
|
381
|
-
/** Start the spinner animation */
|
|
382
|
-
start(): void;
|
|
383
|
-
/** Stop the spinner without a status message */
|
|
384
|
-
stop(): void;
|
|
385
|
-
/** Stop the spinner with a success message */
|
|
386
|
-
succeed(msg?: string): void;
|
|
387
|
-
/** Stop the spinner with a failure message */
|
|
388
|
-
fail(msg?: string): void;
|
|
389
|
-
/** Update the spinner text while running */
|
|
390
|
-
text(msg: string): void;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
/**
|
|
394
|
-
* Options for logger.box() output
|
|
395
|
-
* @since 5.0.0
|
|
396
|
-
*/
|
|
397
|
-
export interface IBoxOptions {
|
|
398
|
-
/** Title displayed in the top border */
|
|
399
|
-
title?: string;
|
|
400
|
-
/** Color of the border (hex, CSS name, or ANSI name) */
|
|
401
|
-
borderColor?: string;
|
|
402
|
-
/** Border character style */
|
|
403
|
-
borderStyle?: 'single' | 'double' | 'rounded' | 'bold';
|
|
404
|
-
/** Inner padding lines (default: 0) */
|
|
405
|
-
padding?: number;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Options for logger.cliTable() output
|
|
410
|
-
* @since 5.0.0
|
|
411
|
-
*/
|
|
412
|
-
export interface ITableOptions {
|
|
413
|
-
/** Column names to display (overrides auto-detection) */
|
|
414
|
-
columns?: string[];
|
|
415
|
-
/** Header labels (defaults to column names) */
|
|
416
|
-
head?: string[];
|
|
417
|
-
}
|
package/src/types/handlers.ts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Handler and metadata type definitions for Advanced Logger
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { LogLevel, StackInfo } from './core.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Metadata associated with each log entry
|
|
9
|
-
*/
|
|
10
|
-
export interface LogMetadata {
|
|
11
|
-
timestamp: string;
|
|
12
|
-
level: LogLevel;
|
|
13
|
-
prefix?: string;
|
|
14
|
-
stackInfo?: StackInfo;
|
|
15
|
-
group?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Interface for custom log handlers (extensibility)
|
|
20
|
-
*/
|
|
21
|
-
export interface ILogHandler {
|
|
22
|
-
handle(level: LogLevel, message: string, args: any[], metadata: LogMetadata): void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Stored log entry for export functionality
|
|
27
|
-
*/
|
|
28
|
-
export interface LogEntry {
|
|
29
|
-
id: string;
|
|
30
|
-
timestamp: string;
|
|
31
|
-
level: LogLevel;
|
|
32
|
-
prefix?: string;
|
|
33
|
-
message: string;
|
|
34
|
-
args: any[];
|
|
35
|
-
location?: StackInfo;
|
|
36
|
-
groupInfo?: {
|
|
37
|
-
depth: number;
|
|
38
|
-
groupName?: string;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Export filter options
|
|
44
|
-
*/
|
|
45
|
-
export interface ExportFilters {
|
|
46
|
-
levels?: LogLevel[];
|
|
47
|
-
since?: Date | string | number; // Date, ISO string, or hours ago
|
|
48
|
-
until?: Date | string | number;
|
|
49
|
-
prefixes?: string[];
|
|
50
|
-
excludePrefixes?: string[];
|
|
51
|
-
withStackTrace?: boolean;
|
|
52
|
-
errorsOnly?: boolean;
|
|
53
|
-
last?: number;
|
|
54
|
-
first?: number;
|
|
55
|
-
search?: string;
|
|
56
|
-
groupBy?: 'level' | 'prefix' | 'hour' | 'date';
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Export options for different formats
|
|
61
|
-
*/
|
|
62
|
-
export interface ExportOptions {
|
|
63
|
-
minimal?: boolean;
|
|
64
|
-
compact?: boolean;
|
|
65
|
-
styled?: boolean;
|
|
66
|
-
includeMetadata?: boolean;
|
|
67
|
-
groupBy?: ExportFilters['groupBy'];
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Export result with metadata
|
|
72
|
-
*/
|
|
73
|
-
export interface ExportResult {
|
|
74
|
-
format: string;
|
|
75
|
-
data: string;
|
|
76
|
-
metadata: {
|
|
77
|
-
totalLogs: number;
|
|
78
|
-
filteredLogs: number;
|
|
79
|
-
exportedAt: string;
|
|
80
|
-
filters?: ExportFilters;
|
|
81
|
-
options?: ExportOptions;
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Buffer statistics for log management
|
|
87
|
-
*/
|
|
88
|
-
export interface BufferStats {
|
|
89
|
-
size: number;
|
|
90
|
-
maxSize: number;
|
|
91
|
-
usage: number; // percentage
|
|
92
|
-
oldestLog?: Date;
|
|
93
|
-
newestLog?: Date;
|
|
94
|
-
levelCounts: Record<LogLevel, number>;
|
|
95
|
-
}
|
package/src/types/hooks.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { LogLevel, StackInfo } from './core.js';
|
|
2
|
-
|
|
3
|
-
export interface HookLogEntry {
|
|
4
|
-
level: LogLevel;
|
|
5
|
-
message: string;
|
|
6
|
-
args: any[];
|
|
7
|
-
timestamp: string;
|
|
8
|
-
prefix?: string;
|
|
9
|
-
stackInfo?: StackInfo;
|
|
10
|
-
correlationId?: string;
|
|
11
|
-
context?: Record<string, any>;
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type HookEvent = 'beforeLog' | 'afterLog' | 'onError';
|
|
16
|
-
|
|
17
|
-
export type HookCallback = (entry: HookLogEntry) => void | HookLogEntry | Promise<void | HookLogEntry>;
|
|
18
|
-
|
|
19
|
-
export type MiddlewareFn = (
|
|
20
|
-
entry: HookLogEntry,
|
|
21
|
-
next: () => void | Promise<void>
|
|
22
|
-
) => void | Promise<void>;
|
|
23
|
-
|
|
24
|
-
export interface HookRegistration {
|
|
25
|
-
id: string;
|
|
26
|
-
event: HookEvent;
|
|
27
|
-
callback: HookCallback;
|
|
28
|
-
priority: number;
|
|
29
|
-
once: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface MiddlewareRegistration {
|
|
33
|
-
id: string;
|
|
34
|
-
fn: MiddlewareFn;
|
|
35
|
-
priority: number;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface IHookManager {
|
|
39
|
-
on(event: HookEvent, callback: HookCallback, priority?: number): () => void;
|
|
40
|
-
once(event: HookEvent, callback: HookCallback, priority?: number): () => void;
|
|
41
|
-
off(event: HookEvent, callback: HookCallback): boolean;
|
|
42
|
-
use(middleware: MiddlewareFn, priority?: number): () => void;
|
|
43
|
-
emit(event: HookEvent, entry: HookLogEntry): Promise<HookLogEntry>;
|
|
44
|
-
process(entry: HookLogEntry): Promise<HookLogEntry>;
|
|
45
|
-
}
|
package/src/types/index.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Type definitions exports for Advanced Logger
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
// Core types
|
|
6
|
-
export type {
|
|
7
|
-
LogLevel,
|
|
8
|
-
Verbosity,
|
|
9
|
-
ThemeVariant,
|
|
10
|
-
DevToolsTheme,
|
|
11
|
-
BannerType,
|
|
12
|
-
ExportFormat,
|
|
13
|
-
OutputFormat,
|
|
14
|
-
LoggerConfig,
|
|
15
|
-
StackInfo,
|
|
16
|
-
TimerEntry,
|
|
17
|
-
TimerResult,
|
|
18
|
-
StyleOptions,
|
|
19
|
-
AdaptiveColors,
|
|
20
|
-
SpacingType,
|
|
21
|
-
LogLayout,
|
|
22
|
-
LogPartConfig,
|
|
23
|
-
LogStyles,
|
|
24
|
-
IScopedLogger,
|
|
25
|
-
IAPILogger,
|
|
26
|
-
IComponentLogger,
|
|
27
|
-
Bindings,
|
|
28
|
-
BadgeStyle,
|
|
29
|
-
TimestampFormat,
|
|
30
|
-
ColumnAlign,
|
|
31
|
-
ColumnConfig,
|
|
32
|
-
LogOptions,
|
|
33
|
-
CLILogLevel,
|
|
34
|
-
ISpinnerHandle,
|
|
35
|
-
IBoxOptions,
|
|
36
|
-
ITableOptions,
|
|
37
|
-
} from './core.js';
|
|
38
|
-
|
|
39
|
-
export { LOG_LEVELS } from './core.js';
|
|
40
|
-
|
|
41
|
-
// Handler types
|
|
42
|
-
export type {
|
|
43
|
-
LogMetadata,
|
|
44
|
-
ILogHandler,
|
|
45
|
-
LogEntry,
|
|
46
|
-
ExportFilters,
|
|
47
|
-
ExportOptions,
|
|
48
|
-
ExportResult,
|
|
49
|
-
BufferStats,
|
|
50
|
-
} from './handlers.js';
|
|
51
|
-
|
|
52
|
-
// Serializer types
|
|
53
|
-
export type {
|
|
54
|
-
SerializerFn,
|
|
55
|
-
SerializerContext,
|
|
56
|
-
SerializerEntry,
|
|
57
|
-
SerializerConfig,
|
|
58
|
-
ISerializerRegistry,
|
|
59
|
-
} from './serializers.js';
|
|
60
|
-
|
|
61
|
-
// Hook types
|
|
62
|
-
export type {
|
|
63
|
-
HookLogEntry,
|
|
64
|
-
HookEvent,
|
|
65
|
-
HookCallback,
|
|
66
|
-
MiddlewareFn,
|
|
67
|
-
HookRegistration,
|
|
68
|
-
MiddlewareRegistration,
|
|
69
|
-
IHookManager,
|
|
70
|
-
} from './hooks.js';
|
|
71
|
-
|
|
72
|
-
// Transport types
|
|
73
|
-
export type {
|
|
74
|
-
TransportRecord,
|
|
75
|
-
TransportOptions,
|
|
76
|
-
TransportTarget,
|
|
77
|
-
ITransport,
|
|
78
|
-
IBufferedTransport,
|
|
79
|
-
ITransportManager,
|
|
80
|
-
} from './transports.js';
|
|
81
|
-
|
|
82
|
-
// Style Cache types
|
|
83
|
-
export type { StyleCacheConfig } from '../styling/StyleCache.js';
|
package/src/types/serializers.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from './core.js';
|
|
2
|
-
|
|
3
|
-
export type SerializerFn<T = any> = (value: T, context: SerializerContext) => any;
|
|
4
|
-
|
|
5
|
-
export interface SerializerContext {
|
|
6
|
-
depth: number;
|
|
7
|
-
maxDepth: number;
|
|
8
|
-
path: string[];
|
|
9
|
-
seen: WeakSet<object>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface SerializerEntry<T = any> {
|
|
13
|
-
type: new (...args: any[]) => T;
|
|
14
|
-
serializer: SerializerFn<T>;
|
|
15
|
-
priority: number;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface SerializerConfig {
|
|
19
|
-
maxDepth?: number;
|
|
20
|
-
circular?: 'error' | 'skip' | 'placeholder';
|
|
21
|
-
preserveUndefined?: boolean;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface ISerializerRegistry {
|
|
25
|
-
add<T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number): void;
|
|
26
|
-
remove<T>(type: new (...args: any[]) => T): boolean;
|
|
27
|
-
has<T>(type: new (...args: any[]) => T): boolean;
|
|
28
|
-
serialize(value: any, config?: SerializerConfig): any;
|
|
29
|
-
getAll(): SerializerEntry[];
|
|
30
|
-
}
|