@mks2508/better-logger 0.14.0-alpha.2 → 0.18.2-alpha.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/README.md +50 -244
- package/dist/Logger.d.ts +662 -202
- package/dist/Logger.d.ts.map +1 -1
- package/dist/ScopedLogger.d.ts +434 -175
- package/dist/ScopedLogger.d.ts.map +1 -1
- package/dist/chunks/HookBridge-C-AvXmPD.cjs +504 -0
- package/dist/chunks/HookBridge-C-AvXmPD.cjs.map +1 -0
- package/dist/chunks/HookBridge-CI2PH79S.js +487 -0
- package/dist/chunks/HookBridge-CI2PH79S.js.map +1 -0
- package/dist/chunks/LogContext-BaMXleWj.cjs +105 -0
- package/dist/chunks/LogContext-BaMXleWj.cjs.map +1 -0
- package/dist/chunks/LogContext-DjlITOzZ.js +100 -0
- package/dist/chunks/LogContext-DjlITOzZ.js.map +1 -0
- package/dist/chunks/SerializerBridge-Ba43Mk7j.js +393 -0
- package/dist/chunks/SerializerBridge-Ba43Mk7j.js.map +1 -0
- package/dist/chunks/SerializerBridge-C4a9Z37F.cjs +410 -0
- package/dist/chunks/SerializerBridge-C4a9Z37F.cjs.map +1 -0
- package/dist/chunks/StyleManager-DQ6UNRB-.cjs +118 -0
- package/dist/chunks/StyleManager-DQ6UNRB-.cjs.map +1 -0
- package/dist/chunks/StyleManager-DjwAYbxE.js +113 -0
- package/dist/chunks/StyleManager-DjwAYbxE.js.map +1 -0
- package/dist/chunks/core-Blfi2klP.js +31 -0
- package/dist/chunks/core-Blfi2klP.js.map +1 -0
- package/dist/chunks/core-CqS_UBzJ.cjs +36 -0
- package/dist/chunks/core-CqS_UBzJ.cjs.map +1 -0
- package/dist/chunks/environment-detector-7NvnYUfr.js +110 -0
- package/dist/chunks/environment-detector-7NvnYUfr.js.map +1 -0
- package/dist/chunks/environment-detector-D-tHkKWA.cjs +163 -0
- package/dist/chunks/environment-detector-D-tHkKWA.cjs.map +1 -0
- package/dist/chunks/server-fallback-CaCPjWby.cjs +119 -0
- package/dist/chunks/server-fallback-CaCPjWby.cjs.map +1 -0
- package/dist/chunks/server-fallback-jj0T6XaK.js +114 -0
- package/dist/chunks/server-fallback-jj0T6XaK.js.map +1 -0
- package/dist/chunks/spinner-BHyYEXsM.cjs +1029 -0
- package/dist/chunks/spinner-BHyYEXsM.cjs.map +1 -0
- package/dist/chunks/spinner-BtkwpzYv.js +982 -0
- package/dist/chunks/spinner-BtkwpzYv.js.map +1 -0
- package/dist/chunks/styling-CRw3KQW4.js +1592 -0
- package/dist/chunks/styling-CRw3KQW4.js.map +1 -0
- package/dist/chunks/styling-Cel2wPRy.cjs +1645 -0
- package/dist/chunks/styling-Cel2wPRy.cjs.map +1 -0
- package/dist/chunks/transports-BGfwwakw.js +1237 -0
- package/dist/chunks/transports-BGfwwakw.js.map +1 -0
- package/dist/chunks/transports-yK6CL0Ml.cjs +1278 -0
- package/dist/chunks/transports-yK6CL0Ml.cjs.map +1 -0
- package/dist/chunks/utils-W_cxqriN.cjs +705 -0
- package/dist/chunks/utils-W_cxqriN.cjs.map +1 -0
- package/dist/chunks/utils-tKfBAWUM.js +586 -0
- package/dist/chunks/utils-tKfBAWUM.js.map +1 -0
- package/dist/cli/CommandProcessor.d.ts +166 -19
- package/dist/cli/CommandProcessor.d.ts.map +1 -1
- package/dist/cli/commands/ConfigCommand.d.ts +36 -1
- package/dist/cli/commands/ConfigCommand.d.ts.map +1 -1
- package/dist/cli/commands/ExportCommand.d.ts +54 -26
- package/dist/cli/commands/ExportCommand.d.ts.map +1 -1
- package/dist/cli/commands/ThemeCommand.d.ts +62 -3
- package/dist/cli/commands/ThemeCommand.d.ts.map +1 -1
- package/dist/cli/help.d.ts +30 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.d.ts +30 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli-module.d.ts +13 -0
- package/dist/cli-module.d.ts.map +1 -0
- package/dist/cli.cjs +11 -0
- package/dist/cli.js +3 -0
- package/dist/constants.d.ts +16 -47
- package/dist/constants.d.ts.map +1 -1
- package/dist/context/LogContext.d.ts +245 -0
- package/dist/context/LogContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +6 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context-module.d.ts +6 -0
- package/dist/context-module.d.ts.map +1 -0
- package/dist/context.cjs +3 -0
- package/dist/context.js +2 -0
- package/dist/core.cjs +304 -2
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +56 -34
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +281 -314
- package/dist/core.js.map +1 -1
- package/dist/hooks/HookBridge.d.ts +32 -0
- package/dist/hooks/HookBridge.d.ts.map +1 -0
- package/dist/hooks/HookManager.d.ts +319 -0
- package/dist/hooks/HookManager.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks-module.d.ts +7 -0
- package/dist/hooks-module.d.ts.map +1 -0
- package/dist/hooks.cjs +5 -0
- package/dist/hooks.js +2 -0
- package/dist/index.cjs +3402 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +42 -130
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3327 -158
- package/dist/index.js.map +1 -1
- package/dist/node-module.d.ts +10 -0
- package/dist/node-module.d.ts.map +1 -0
- package/dist/node.cjs +13 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.js +12 -0
- package/dist/node.js.map +1 -0
- package/dist/playground/TerminalBridge.d.ts +53 -0
- package/dist/playground/TerminalBridge.d.ts.map +1 -0
- package/dist/playground/box.d.ts +45 -0
- package/dist/playground/box.d.ts.map +1 -0
- package/dist/playground/cli-table.d.ts +50 -0
- package/dist/playground/cli-table.d.ts.map +1 -0
- package/dist/playground/divider.d.ts +29 -0
- package/dist/playground/divider.d.ts.map +1 -0
- package/dist/playground/header.d.ts +28 -0
- package/dist/playground/header.d.ts.map +1 -0
- package/dist/playground/index.d.ts +11 -0
- package/dist/playground/index.d.ts.map +1 -0
- package/dist/playground/server-fallback.d.ts +114 -0
- package/dist/playground/server-fallback.d.ts.map +1 -0
- package/dist/playground/spinner.d.ts +197 -0
- package/dist/playground/spinner.d.ts.map +1 -0
- package/dist/playground/step.d.ts +33 -0
- package/dist/playground/step.d.ts.map +1 -0
- package/dist/playground-module.d.ts +11 -0
- package/dist/playground-module.d.ts.map +1 -0
- package/dist/playground.cjs +9 -0
- package/dist/playground.js +2 -0
- package/dist/serializers/SerializerBridge.d.ts +28 -0
- package/dist/serializers/SerializerBridge.d.ts.map +1 -0
- package/dist/serializers/SerializerRegistry.d.ts +252 -0
- package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
- package/dist/serializers/index.d.ts +7 -0
- package/dist/serializers/index.d.ts.map +1 -0
- package/dist/serializers-module.d.ts +7 -0
- package/dist/serializers-module.d.ts.map +1 -0
- package/dist/serializers.cjs +5 -0
- package/dist/serializers.js +2 -0
- package/dist/styles/StyleManager.d.ts +190 -0
- package/dist/styles/StyleManager.d.ts.map +1 -0
- package/dist/styles/index.d.ts +7 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles-module.d.ts +7 -0
- package/dist/styles-module.d.ts.map +1 -0
- package/dist/styles.cjs +7 -0
- package/dist/styles.js +3 -0
- package/dist/styling/SmartPresets.d.ts +100 -6
- package/dist/styling/SmartPresets.d.ts.map +1 -1
- package/dist/styling/StyleBuilder.d.ts +453 -32
- package/dist/styling/StyleBuilder.d.ts.map +1 -1
- package/dist/styling/banners.d.ts +85 -5
- package/dist/styling/banners.d.ts.map +1 -1
- package/dist/styling/index.d.ts +8 -3
- package/dist/styling/index.d.ts.map +1 -1
- package/dist/styling/themes.d.ts +41 -2
- package/dist/styling/themes.d.ts.map +1 -1
- package/dist/terminal/color-converter.d.ts +73 -0
- package/dist/terminal/color-converter.d.ts.map +1 -0
- package/dist/terminal/formatter.d.ts +23 -0
- package/dist/terminal/formatter.d.ts.map +1 -0
- package/dist/transports/ConsoleTransport.d.ts +104 -0
- package/dist/transports/ConsoleTransport.d.ts.map +1 -0
- package/dist/transports/FileTransport.d.ts +137 -0
- package/dist/transports/FileTransport.d.ts.map +1 -0
- package/dist/transports/HttpTransport.d.ts +180 -0
- package/dist/transports/HttpTransport.d.ts.map +1 -0
- package/dist/transports/OtlpTransport.d.ts +165 -0
- package/dist/transports/OtlpTransport.d.ts.map +1 -0
- package/dist/transports/TransportBridge.d.ts +43 -0
- package/dist/transports/TransportBridge.d.ts.map +1 -0
- package/dist/transports/TransportManager.d.ts +251 -0
- package/dist/transports/TransportManager.d.ts.map +1 -0
- package/dist/transports/index.d.ts +6 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports-module.d.ts +10 -0
- package/dist/transports-module.d.ts.map +1 -0
- package/dist/transports.cjs +7 -0
- package/dist/transports.js +2 -0
- package/dist/types/core.d.ts +295 -17
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/handlers.d.ts +0 -67
- package/dist/types/handlers.d.ts.map +1 -1
- package/dist/types/hooks.d.ts +138 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/serializers.d.ts +97 -0
- package/dist/types/serializers.d.ts.map +1 -0
- package/dist/types/transports.d.ts +132 -0
- package/dist/types/transports.d.ts.map +1 -0
- package/dist/utils/ansi-colors.d.ts +115 -0
- package/dist/utils/ansi-colors.d.ts.map +1 -0
- package/dist/utils/environment-detector.d.ts +53 -0
- package/dist/utils/environment-detector.d.ts.map +1 -0
- package/dist/utils/formatting.d.ts +9 -8
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/output.d.ts +14 -17
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/stackTrace.d.ts +2 -2
- package/dist/utils/stackTrace.d.ts.map +1 -1
- package/dist/utils/timestamps.d.ts +0 -12
- package/dist/utils/timestamps.d.ts.map +1 -1
- package/package.json +95 -21
- package/.claude/settings.local.json +0 -39
- 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 -865
- package/CLAUDE.md +0 -204
- package/bun.lock +0 -323
- package/demo.html +0 -847
- package/dist/.tsbuildinfo +0 -1
- package/dist/Logger.js +0 -1124
- package/dist/ScopedLogger.js +0 -426
- package/dist/chunks/Logger-Crw1woqR.js +0 -3464
- package/dist/chunks/Logger-Crw1woqR.js.map +0 -1
- package/dist/chunks/Logger-D_p3xnbq.js +0 -2
- package/dist/chunks/Logger-D_p3xnbq.js.map +0 -1
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +0 -33
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +0 -1
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +0 -2
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +0 -1
- package/dist/chunks/environment-Bxbnw4pd.js +0 -544
- package/dist/chunks/environment-Bxbnw4pd.js.map +0 -1
- package/dist/chunks/environment-Dm66zOML.js +0 -4
- package/dist/chunks/environment-Dm66zOML.js.map +0 -1
- package/dist/chunks/formatting-C0riPC5_.js +0 -95
- package/dist/chunks/formatting-C0riPC5_.js.map +0 -1
- package/dist/chunks/formatting-DNCAV66-.js +0 -2
- package/dist/chunks/formatting-DNCAV66-.js.map +0 -1
- package/dist/cli/CommandProcessor.js +0 -184
- package/dist/cli/commands/ConfigCommand.js +0 -88
- package/dist/cli/commands/ExportCommand.js +0 -243
- package/dist/cli/commands/HistoryCommand.d.ts +0 -50
- package/dist/cli/commands/HistoryCommand.d.ts.map +0 -1
- package/dist/cli/commands/HistoryCommand.js +0 -96
- package/dist/cli/commands/StatusCommand.d.ts +0 -33
- package/dist/cli/commands/StatusCommand.d.ts.map +0 -1
- package/dist/cli/commands/StatusCommand.js +0 -93
- package/dist/cli/commands/ThemeCommand.js +0 -79
- package/dist/cli/help.js +0 -118
- package/dist/cli/index.js +0 -46
- package/dist/constants.js +0 -159
- package/dist/example.d.ts +0 -18
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -154
- package/dist/exports-module.d.ts +0 -203
- package/dist/exports-module.d.ts.map +0 -1
- package/dist/exports-module.js +0 -260
- package/dist/exports.cjs +0 -2
- package/dist/exports.cjs.map +0 -1
- package/dist/exports.js +0 -238
- package/dist/exports.js.map +0 -1
- package/dist/handlers/AnalyticsLogHandler.d.ts +0 -11
- package/dist/handlers/AnalyticsLogHandler.d.ts.map +0 -1
- package/dist/handlers/AnalyticsLogHandler.js +0 -19
- package/dist/handlers/ExportLogHandler.d.ts +0 -103
- package/dist/handlers/ExportLogHandler.d.ts.map +0 -1
- package/dist/handlers/ExportLogHandler.js +0 -516
- package/dist/handlers/FileLogHandler.d.ts +0 -36
- package/dist/handlers/FileLogHandler.d.ts.map +0 -1
- package/dist/handlers/FileLogHandler.js +0 -156
- package/dist/handlers/RemoteLogHandler.d.ts +0 -14
- package/dist/handlers/RemoteLogHandler.d.ts.map +0 -1
- package/dist/handlers/RemoteLogHandler.js +0 -37
- package/dist/handlers/index.d.ts +0 -8
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -7
- package/dist/main.d.ts +0 -2
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js +0 -139
- package/dist/styling/LogStyleBuilder.d.ts +0 -149
- package/dist/styling/LogStyleBuilder.d.ts.map +0 -1
- package/dist/styling/LogStyleBuilder.js +0 -289
- package/dist/styling/SemanticStyles.d.ts +0 -181
- package/dist/styling/SemanticStyles.d.ts.map +0 -1
- package/dist/styling/SemanticStyles.js +0 -339
- package/dist/styling/SmartPresets.js +0 -276
- package/dist/styling/StyleBuilder.js +0 -280
- package/dist/styling/banners.js +0 -155
- package/dist/styling/index.js +0 -9
- package/dist/styling/themes.js +0 -231
- package/dist/styling-module.d.ts +0 -185
- package/dist/styling-module.d.ts.map +0 -1
- package/dist/styling-module.js +0 -199
- package/dist/styling.cjs +0 -2
- package/dist/styling.cjs.map +0 -1
- package/dist/styling.js +0 -146
- package/dist/styling.js.map +0 -1
- package/dist/types/Logger.d.ts +0 -700
- package/dist/types/Logger.d.ts.map +0 -1
- package/dist/types/ScopedLogger.d.ts +0 -310
- package/dist/types/ScopedLogger.d.ts.map +0 -1
- package/dist/types/cli/CommandProcessor.d.ts +0 -100
- package/dist/types/cli/CommandProcessor.d.ts.map +0 -1
- package/dist/types/cli/commands/ConfigCommand.d.ts +0 -14
- package/dist/types/cli/commands/ConfigCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/ExportCommand.d.ts +0 -48
- package/dist/types/cli/commands/ExportCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/HistoryCommand.d.ts +0 -47
- package/dist/types/cli/commands/HistoryCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/StatusCommand.d.ts +0 -30
- package/dist/types/cli/commands/StatusCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/ThemeCommand.d.ts +0 -30
- package/dist/types/cli/commands/ThemeCommand.d.ts.map +0 -1
- package/dist/types/cli/help.d.ts +0 -12
- package/dist/types/cli/help.d.ts.map +0 -1
- package/dist/types/cli/index.d.ts +0 -15
- package/dist/types/cli/index.d.ts.map +0 -1
- package/dist/types/constants.d.ts +0 -119
- package/dist/types/constants.d.ts.map +0 -1
- package/dist/types/core.js +0 -28
- package/dist/types/example.d.ts +0 -18
- package/dist/types/example.d.ts.map +0 -1
- package/dist/types/exports-module.d.ts +0 -196
- package/dist/types/exports-module.d.ts.map +0 -1
- package/dist/types/handlers/AnalyticsLogHandler.d.ts +0 -8
- package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/ExportLogHandler.d.ts +0 -100
- package/dist/types/handlers/ExportLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/FileLogHandler.d.ts +0 -33
- package/dist/types/handlers/FileLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/RemoteLogHandler.d.ts +0 -11
- package/dist/types/handlers/RemoteLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/index.d.ts +0 -8
- package/dist/types/handlers/index.d.ts.map +0 -1
- package/dist/types/handlers.js +0 -4
- package/dist/types/index.js +0 -4
- package/dist/types/main.d.ts +0 -2
- package/dist/types/main.d.ts.map +0 -1
- package/dist/types/styling/LogStyleBuilder.d.ts +0 -146
- package/dist/types/styling/LogStyleBuilder.d.ts.map +0 -1
- package/dist/types/styling/SemanticStyles.d.ts +0 -178
- package/dist/types/styling/SemanticStyles.d.ts.map +0 -1
- package/dist/types/styling/SmartPresets.d.ts +0 -22
- package/dist/types/styling/SmartPresets.d.ts.map +0 -1
- package/dist/types/styling/StyleBuilder.d.ts +0 -140
- package/dist/types/styling/StyleBuilder.d.ts.map +0 -1
- package/dist/types/styling/banners.d.ts +0 -42
- package/dist/types/styling/banners.d.ts.map +0 -1
- package/dist/types/styling/index.d.ts +0 -10
- package/dist/types/styling/index.d.ts.map +0 -1
- package/dist/types/styling/themes.d.ts +0 -7
- package/dist/types/styling/themes.d.ts.map +0 -1
- package/dist/types/styling-module.d.ts +0 -178
- package/dist/types/styling-module.d.ts.map +0 -1
- package/dist/types/types/core.d.ts +0 -221
- package/dist/types/types/core.d.ts.map +0 -1
- package/dist/types/types/handlers.d.ts +0 -85
- package/dist/types/types/handlers.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -7
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/utils/environment.d.ts +0 -47
- package/dist/types/utils/environment.d.ts.map +0 -1
- package/dist/types/utils/formatting.d.ts +0 -37
- package/dist/types/utils/formatting.d.ts.map +0 -1
- package/dist/types/utils/index.d.ts +0 -7
- package/dist/types/utils/index.d.ts.map +0 -1
- package/dist/types/utils/opentui-detection.d.ts +0 -34
- package/dist/types/utils/opentui-detection.d.ts.map +0 -1
- package/dist/types/utils/output.d.ts +0 -41
- package/dist/types/utils/output.d.ts.map +0 -1
- package/dist/types/utils/stackTrace.d.ts +0 -6
- package/dist/types/utils/stackTrace.d.ts.map +0 -1
- package/dist/types/utils/timestamps.d.ts +0 -20
- package/dist/types/utils/timestamps.d.ts.map +0 -1
- package/dist/utils/environment.d.ts +0 -47
- package/dist/utils/environment.d.ts.map +0 -1
- package/dist/utils/environment.js +0 -85
- package/dist/utils/formatting.js +0 -117
- package/dist/utils/index.js +0 -6
- package/dist/utils/opentui-detection.d.ts +0 -34
- package/dist/utils/opentui-detection.d.ts.map +0 -1
- package/dist/utils/opentui-detection.js +0 -116
- package/dist/utils/output.js +0 -150
- package/dist/utils/stackTrace.js +0 -81
- package/dist/utils/timestamps.js +0 -71
- package/dist/vite.svg +0 -1
- package/docs/API.md +0 -691
- 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/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 -1276
- package/src/ScopedLogger.ts +0 -454
- 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/constants.ts +0 -171
- package/src/core.ts +0 -393
- 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 -609
- package/src/handlers/FileLogHandler.ts +0 -169
- package/src/handlers/RemoteLogHandler.ts +0 -42
- package/src/handlers/index.ts +0 -8
- package/src/index.ts +0 -209
- package/src/main.ts +0 -196
- 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/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/types/core.ts +0 -236
- package/src/types/handlers.ts +0 -95
- package/src/types/index.ts +0 -35
- package/src/typescript.svg +0 -1
- package/src/utils/environment.ts +0 -94
- package/src/utils/formatting.ts +0 -142
- package/src/utils/index.ts +0 -21
- package/src/utils/opentui-detection.ts +0 -138
- package/src/utils/output.ts +0 -185
- package/src/utils/stackTrace.ts +0 -95
- package/src/utils/timestamps.ts +0 -80
- package/src/vite-env.d.ts +0 -1
- 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 -223
package/dist/ScopedLogger.d.ts
CHANGED
|
@@ -1,318 +1,577 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview ScopedLogger con badges y logging contextual
|
|
3
|
-
* @version 0.3.0
|
|
4
|
-
* @since 2024
|
|
5
|
-
*
|
|
6
|
-
* Proporciona loggers especializados con contexto, badges automáticos
|
|
7
|
-
* y características avanzadas para componentes y APIs.
|
|
8
|
-
*/
|
|
9
1
|
import { Logger } from './Logger.js';
|
|
10
|
-
import type {
|
|
2
|
+
import type { ISpinnerHandle, IBoxOptions, ITableOptions, CLILogLevel } from './types/index.js';
|
|
11
3
|
/**
|
|
12
|
-
* Logger
|
|
4
|
+
* Logger prefijado por un scope nominal. Mantiene su propio stack de badges
|
|
5
|
+
* y contextos y delega el envío de mensajes al {@link Logger} padre a través
|
|
6
|
+
* de bindings (`{ scope, badges }`).
|
|
7
|
+
*
|
|
8
|
+
* Es la base de la jerarquía temática: {@link APILogger} y
|
|
9
|
+
* {@link ComponentLogger} extienden de ella, y {@link ContextLogger} la
|
|
10
|
+
* consume para apilar/subdesapilar sub-prefijos en el scope.
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
* @extends Logger
|
|
16
|
-
* @description Logger contextual que añade prefijos y badges automáticamente
|
|
12
|
+
* No se construye directamente: se obtiene con `logger.scope('name')`.
|
|
17
13
|
*
|
|
18
14
|
* @example
|
|
19
|
-
*
|
|
20
|
-
*
|
|
15
|
+
* // El factory method del Logger raíz devuelve un ScopedLogger
|
|
16
|
+
* import logger from '@mks2508/better-logger';
|
|
21
17
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* // [
|
|
18
|
+
* const http = logger.scope('HTTP');
|
|
19
|
+
* http.badge('OUTBOUND').info('Request enviada');
|
|
20
|
+
* // salida: [HTTP] [OUTBOUND] Request enviada
|
|
25
21
|
*
|
|
26
|
-
* @
|
|
22
|
+
* @example
|
|
23
|
+
* // Anidar contextos dentro de un scope (el prefijo se compone con ':')
|
|
24
|
+
* const retry = http.context('retry');
|
|
25
|
+
* retry.run(() => http.warn('Reintentando petición'));
|
|
26
|
+
* // salida: [HTTP:retry] Reintentando petición
|
|
27
|
+
*
|
|
28
|
+
* @see {@link Logger.scope}
|
|
29
|
+
* @see {@link APILogger}
|
|
30
|
+
* @see {@link ComponentLogger}
|
|
31
|
+
* @see {@link ContextLogger}
|
|
27
32
|
*/
|
|
28
|
-
export declare class ScopedLogger
|
|
29
|
-
private
|
|
30
|
-
private scopeName;
|
|
33
|
+
export declare class ScopedLogger {
|
|
34
|
+
private readonly parent;
|
|
35
|
+
private readonly scopeName;
|
|
31
36
|
private badgeList;
|
|
32
37
|
private contextStack;
|
|
33
|
-
|
|
38
|
+
private _timers?;
|
|
39
|
+
/**
|
|
40
|
+
* Construye un ScopedLogger vinculado a un {@link Logger} padre.
|
|
41
|
+
*
|
|
42
|
+
* Los clientes no deben llamar a este constructor directamente: usen
|
|
43
|
+
* `logger.scope(name)`, que configura correctamente la instancia.
|
|
44
|
+
*
|
|
45
|
+
* @param {Logger} parent - Logger raíz al que se delegan los mensajes.
|
|
46
|
+
* @param {string} scopeName - Etiqueta del scope; se renderiza como
|
|
47
|
+
* prefijo `[scopeName]` en cada línea.
|
|
48
|
+
*/
|
|
49
|
+
constructor(parent: Logger, scopeName: string);
|
|
50
|
+
private get timers();
|
|
51
|
+
private getBindings;
|
|
52
|
+
private getScopePrefix;
|
|
34
53
|
/**
|
|
35
|
-
*
|
|
54
|
+
* Reemplaza la lista actual de badges por la pasada y la aplica a todos
|
|
55
|
+
* los mensajes posteriores de este scope.
|
|
36
56
|
*
|
|
37
|
-
* @param {string[]} badges -
|
|
38
|
-
*
|
|
57
|
+
* @param {string[]} badges - Etiquetas a mostrar como badges adyacentes
|
|
58
|
+
* al prefijo (p. ej. `['OUTBOUND', 'CACHED']`).
|
|
59
|
+
* @returns {this} La misma instancia, para encadenar llamadas.
|
|
39
60
|
*
|
|
40
61
|
* @example
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* .info('Respuesta desde caché');
|
|
44
|
-
* // [v2] [beta] [cached] [API] Respuesta desde caché
|
|
62
|
+
* logger.scope('HTTP').badges(['OUTBOUND', 'CACHED']).info('Cache hit');
|
|
63
|
+
* // salida: [HTTP] [OUTBOUND] [CACHED] Cache hit
|
|
45
64
|
*
|
|
46
|
-
* @
|
|
65
|
+
* @see {@link badge} para añadir sin reemplazar los existentes.
|
|
66
|
+
* @see {@link clearBadges} para vaciar la lista.
|
|
47
67
|
*/
|
|
48
|
-
badges(badges: string[]):
|
|
68
|
+
badges(badges: string[]): this;
|
|
49
69
|
/**
|
|
50
|
-
* Añade un badge
|
|
70
|
+
* Añade un badge al scope de forma idempotente (no lo duplica si ya existe).
|
|
51
71
|
*
|
|
52
|
-
* @param {string} badge -
|
|
53
|
-
* @returns {
|
|
72
|
+
* @param {string} badge - Etiqueta a añadir a la lista de badges.
|
|
73
|
+
* @returns {this} La misma instancia, para encadenar llamadas.
|
|
54
74
|
*
|
|
55
75
|
* @example
|
|
56
|
-
*
|
|
57
|
-
*
|
|
76
|
+
* logger.scope('API')
|
|
77
|
+
* .badge('OUTBOUND')
|
|
78
|
+
* .badge('RETRY')
|
|
79
|
+
* .warn('Reintentando');
|
|
80
|
+
* // salida: [API] [OUTBOUND] [RETRY] Reintentando
|
|
81
|
+
*/
|
|
82
|
+
badge(badge: string): this;
|
|
83
|
+
/**
|
|
84
|
+
* Vacía la lista de badges del scope.
|
|
58
85
|
*
|
|
59
|
-
* @
|
|
86
|
+
* @returns {this} La misma instancia, para encadenar llamadas.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* const http = logger.scope('HTTP');
|
|
90
|
+
* http.badge('OUTBOUND').info('uno');
|
|
91
|
+
* http.clearBadges().info('dos');
|
|
92
|
+
* // [HTTP] [OUTBOUND] uno / [HTTP] dos
|
|
60
93
|
*/
|
|
61
|
-
|
|
94
|
+
clearBadges(): this;
|
|
62
95
|
/**
|
|
63
|
-
*
|
|
96
|
+
* Aplica un theme preset al logger padre. El preset afecta a toda la
|
|
97
|
+
* instancia raíz (no solo a este scope) porque el style es compartido.
|
|
64
98
|
*
|
|
65
|
-
* @
|
|
99
|
+
* @param {string} presetName - Nombre del preset registrado en el StyleManager.
|
|
100
|
+
* @returns {this} La misma instancia, para encadenar llamadas.
|
|
66
101
|
*
|
|
67
102
|
* @example
|
|
68
|
-
*
|
|
69
|
-
*
|
|
103
|
+
* logger.scope('UI').style('cyberpunk').info('neon');
|
|
104
|
+
* @see {@link Logger.setTheme}
|
|
105
|
+
*/
|
|
106
|
+
style(presetName: string): this;
|
|
107
|
+
/**
|
|
108
|
+
* Crea un {@link ContextLogger} vinculado a este scope. Los contextos se
|
|
109
|
+
* apilan en el prefijo separados por `:`, permitiendo agrupar bloques de
|
|
110
|
+
* logs relacionados (reintentos, sub-etapas, etc.) sin `console.group`.
|
|
70
111
|
*
|
|
71
|
-
* @
|
|
112
|
+
* @param {string} contextName - Nombre del contexto a apilar.
|
|
113
|
+
* @returns {ContextLogger} Handler con `run`, `runAsync`, `start`/`end`.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* const retry = logger.scope('HTTP').context('retry');
|
|
117
|
+
* retry.run(() => logger.warn('Reintentando'));
|
|
118
|
+
* // salida: [HTTP:retry] Reintentando
|
|
119
|
+
* @see {@link ContextLogger}
|
|
72
120
|
*/
|
|
73
|
-
|
|
121
|
+
context(contextName: string): ContextLogger;
|
|
74
122
|
/**
|
|
75
|
-
*
|
|
123
|
+
* Inicia un timer etiquetado bajo el namespace `<scopeName>:<label>`.
|
|
124
|
+
* El label es local a este scope, así que dos scopes pueden reutilizar el
|
|
125
|
+
* mismo nombre sin colisión.
|
|
76
126
|
*
|
|
77
|
-
* @param {string}
|
|
78
|
-
* @returns {ScopedLogger} Esta instancia para encadenamiento
|
|
127
|
+
* @param {string} label - Identificador del timer.
|
|
79
128
|
*
|
|
80
129
|
* @example
|
|
81
|
-
* const
|
|
82
|
-
*
|
|
130
|
+
* const http = logger.scope('HTTP');
|
|
131
|
+
* http.time('request');
|
|
132
|
+
* // ... trabajo ...
|
|
133
|
+
* http.timeEnd('request'); // imprime "Timer: request - 12.34ms"
|
|
134
|
+
* @see {@link timeEnd}
|
|
135
|
+
*/
|
|
136
|
+
time(label: string): void;
|
|
137
|
+
/**
|
|
138
|
+
* Detiene un timer previamente iniciado con {@link time} y registra la
|
|
139
|
+
* duración con nivel `success`. Si el label no existe, emite un `warn`
|
|
140
|
+
* y devuelve `undefined`.
|
|
141
|
+
*
|
|
142
|
+
* @param {string} label - Mismo label pasado a {@link time}.
|
|
143
|
+
* @returns {number | undefined} Milisegundos transcurridos, o `undefined`
|
|
144
|
+
* si el timer no estaba registrado.
|
|
83
145
|
*
|
|
84
|
-
* @
|
|
146
|
+
* @example
|
|
147
|
+
* const http = logger.scope('HTTP');
|
|
148
|
+
* http.time('fetch');
|
|
149
|
+
* await fetch(url);
|
|
150
|
+
* const ms = http.timeEnd('fetch');
|
|
151
|
+
* if (ms && ms > 1000) http.warn('Latencia alta');
|
|
85
152
|
*/
|
|
86
|
-
|
|
153
|
+
timeEnd(label: string): number | undefined;
|
|
87
154
|
/**
|
|
88
|
-
*
|
|
155
|
+
* Emite un mensaje a nivel `debug` con los bindings actuales del scope.
|
|
89
156
|
*
|
|
90
|
-
* @param {
|
|
91
|
-
*
|
|
157
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales (objetos,
|
|
158
|
+
* errores, etc.) serializados igual que en el logger raíz.
|
|
92
159
|
*
|
|
93
160
|
* @example
|
|
94
|
-
*
|
|
161
|
+
* logger.scope('DB').debug('query', { sql, params });
|
|
162
|
+
*/
|
|
163
|
+
debug(...args: unknown[]): void;
|
|
164
|
+
/**
|
|
165
|
+
* Emite un mensaje a nivel `info` con los bindings actuales del scope.
|
|
95
166
|
*
|
|
96
|
-
*
|
|
97
|
-
* db.context('Migration').run(() => {
|
|
98
|
-
* db.info('Iniciando migración');
|
|
99
|
-
* db.success('Tablas creadas');
|
|
100
|
-
* });
|
|
101
|
-
* // Contexto automáticamente limpiado
|
|
167
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
102
168
|
*
|
|
103
|
-
* @
|
|
169
|
+
* @example
|
|
170
|
+
* logger.scope('AUTH').info('Login exitoso', { userId });
|
|
104
171
|
*/
|
|
105
|
-
|
|
172
|
+
info(...args: unknown[]): void;
|
|
173
|
+
/**
|
|
174
|
+
* Emite un mensaje a nivel `warn` con los bindings actuales del scope.
|
|
175
|
+
*
|
|
176
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* logger.scope('CACHE').warn('Cache miss', { key });
|
|
180
|
+
*/
|
|
181
|
+
warn(...args: unknown[]): void;
|
|
106
182
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* @param {
|
|
110
|
-
*
|
|
183
|
+
* Emite un mensaje a nivel `error` con los bindings actuales del scope.
|
|
184
|
+
*
|
|
185
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales (típicamente
|
|
186
|
+
* un `Error` o contexto del fallo).
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* logger.scope('DB').error('Conexión rechazada', err);
|
|
111
190
|
*/
|
|
112
|
-
|
|
191
|
+
error(...args: unknown[]): void;
|
|
113
192
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
193
|
+
* Emite un mensaje con badge visual `SUCCESS` a nivel `info`. Úselo para
|
|
194
|
+
* hitos positivos dentro del scope (conexión establecida, sync completo,
|
|
195
|
+
* commit aplicado).
|
|
196
|
+
*
|
|
197
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* logger.scope('SYNC').success('Sincronización completa', { count: 42 });
|
|
117
201
|
*/
|
|
118
|
-
|
|
202
|
+
success(...args: unknown[]): void;
|
|
119
203
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
204
|
+
* Emite un mensaje a nivel `critical` con los bindings actuales del scope.
|
|
205
|
+
* Reservado para fallos que detienen el flujo de la aplicación.
|
|
206
|
+
*
|
|
207
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* logger.scope('PAY').critical('Pasarela inaccesible', err);
|
|
123
211
|
*/
|
|
124
|
-
|
|
212
|
+
critical(...args: unknown[]): void;
|
|
213
|
+
/**
|
|
214
|
+
* Emite un mensaje a nivel `trace` (verbosidad máxima) con los bindings
|
|
215
|
+
* actuales del scope. Solo aparece si la verbosity global lo permite.
|
|
216
|
+
*
|
|
217
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* logger.scope('NET').trace('packet', { bytes });
|
|
221
|
+
*/
|
|
222
|
+
trace(...args: unknown[]): void;
|
|
223
|
+
/**
|
|
224
|
+
* Delegación a {@link Logger.step}: dibuja una barra de progreso discreta
|
|
225
|
+
* `current/total` para este scope.
|
|
226
|
+
*
|
|
227
|
+
* @param {number} current - Paso actual (1-indexed).
|
|
228
|
+
* @param {number} total - Total de pasos.
|
|
229
|
+
* @param {string} message - Texto mostrado junto al contador.
|
|
230
|
+
* @see {@link Logger.step}
|
|
231
|
+
*/
|
|
232
|
+
step(current: number, total: number, message: string): void;
|
|
233
|
+
/**
|
|
234
|
+
* Delegación a {@link Logger.header}: imprime un título con separadores visuales.
|
|
235
|
+
*
|
|
236
|
+
* @param {string} title - Texto del título.
|
|
237
|
+
* @param {string} [subtitle] - Subtítulo opcional bajo el título.
|
|
238
|
+
* @see {@link Logger.header}
|
|
239
|
+
*/
|
|
240
|
+
header(title: string, subtitle?: string): void;
|
|
125
241
|
/**
|
|
126
|
-
*
|
|
242
|
+
* Delegación a {@link Logger.divider}: imprime una línea separadora horizontal.
|
|
243
|
+
* @see {@link Logger.divider}
|
|
244
|
+
*/
|
|
245
|
+
divider(): void;
|
|
246
|
+
/**
|
|
247
|
+
* Delegación a {@link Logger.blank}: inserta una línea en blanco.
|
|
248
|
+
* @see {@link Logger.blank}
|
|
249
|
+
*/
|
|
250
|
+
blank(): void;
|
|
251
|
+
/**
|
|
252
|
+
* Delegación a {@link Logger.box}: dibuja un recuadro ANSI alrededor de `content`.
|
|
253
|
+
*
|
|
254
|
+
* @param {string} content - Texto a enmarcar.
|
|
255
|
+
* @param {IBoxOptions} [options] - Opciones de estilo del box.
|
|
256
|
+
* @see {@link Logger.box}
|
|
257
|
+
*/
|
|
258
|
+
box(content: string, options?: IBoxOptions): void;
|
|
259
|
+
/**
|
|
260
|
+
* Delegación a {@link Logger.cliTable}: renderiza `rows` como tabla ASCII.
|
|
261
|
+
*
|
|
262
|
+
* @param {Record<string, unknown>[]} rows - Filas a mostrar.
|
|
263
|
+
* @param {ITableOptions} [options] - Opciones de columnas y estilo.
|
|
264
|
+
* @see {@link Logger.cliTable}
|
|
265
|
+
*/
|
|
266
|
+
cliTable(rows: Record<string, unknown>[], options?: ITableOptions): void;
|
|
267
|
+
/**
|
|
268
|
+
* Delegación a {@link Logger.spinner}: arranca un spinner con `message`.
|
|
269
|
+
*
|
|
270
|
+
* @param {string} message - Texto a mostrar al lado del spinner.
|
|
271
|
+
* @returns {ISpinnerHandle} Handle para detener/actualizar el spinner.
|
|
272
|
+
* @see {@link Logger.spinner}
|
|
273
|
+
*/
|
|
274
|
+
spinner(message: string): ISpinnerHandle;
|
|
275
|
+
/**
|
|
276
|
+
* Delegación a {@link Logger.setCLILevel}: ajusta el nivel mínimo de las
|
|
277
|
+
* primitivas CLI visibles.
|
|
278
|
+
*
|
|
279
|
+
* @param {CLILogLevel} level - Nivel CLI (`silent` … `verbose`).
|
|
280
|
+
* @see {@link Logger.setCLILevel}
|
|
281
|
+
*/
|
|
282
|
+
setCLILevel(level: CLILogLevel): void;
|
|
283
|
+
/**
|
|
284
|
+
* Apila un contexto en el prefijo del scope. Invocado por
|
|
285
|
+
* {@link ContextLogger}; los clientes no deben llamarlo directamente.
|
|
286
|
+
*
|
|
287
|
+
* @param {string} context - Nombre del contexto a apilar.
|
|
127
288
|
* @internal
|
|
128
289
|
*/
|
|
129
290
|
_pushContext(context: string): void;
|
|
130
291
|
/**
|
|
131
|
-
*
|
|
292
|
+
* Desapila el último contexto del prefijo del scope. Invocado por
|
|
293
|
+
* {@link ContextLogger}; los clientes no deben llamarlo directamente.
|
|
294
|
+
*
|
|
132
295
|
* @internal
|
|
133
296
|
*/
|
|
134
297
|
_popContext(): void;
|
|
135
298
|
}
|
|
136
299
|
/**
|
|
137
|
-
* Logger
|
|
300
|
+
* Logger especializado para llamadas a APIs y servicios externos.
|
|
138
301
|
*
|
|
139
|
-
* @
|
|
140
|
-
* @
|
|
141
|
-
* @
|
|
302
|
+
* Extiende {@link ScopedLogger} pre-seteando el badge `API` y exponiendo
|
|
303
|
+
* atajos para eventos típicos de integración: llamadas lentas ({@link slow}),
|
|
304
|
+
* rate limiting ({@link rateLimit}), fallos de autenticación ({@link auth}) y
|
|
305
|
+
* APIs deprecadas ({@link deprecated}).
|
|
306
|
+
*
|
|
307
|
+
* Se obtiene con `logger.api(name)` y no se construye directamente.
|
|
142
308
|
*
|
|
143
309
|
* @example
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
310
|
+
* import logger from '@mks2508/better-logger';
|
|
311
|
+
*
|
|
312
|
+
* const stripe = logger.api('Stripe');
|
|
313
|
+
* stripe.info('Consultando customer', { id });
|
|
314
|
+
* // salida: [API:Stripe] [API] Consultando customer
|
|
147
315
|
*
|
|
148
|
-
*
|
|
149
|
-
* // [API] [
|
|
316
|
+
* stripe.slow('customer.retrieve', 1250);
|
|
317
|
+
* // salida: [API:Stripe] [API] [SLOW] customer.retrieve (1250ms)
|
|
150
318
|
*
|
|
151
|
-
* @
|
|
319
|
+
* @see {@link Logger.api}
|
|
320
|
+
* @see {@link ScopedLogger}
|
|
152
321
|
*/
|
|
153
322
|
export declare class APILogger extends ScopedLogger {
|
|
154
|
-
constructor(parentLogger: Logger, apiName: string, config?: Partial<LoggerConfig>);
|
|
155
323
|
/**
|
|
156
|
-
*
|
|
324
|
+
* Construye un APILogger con scope `API:<apiName>` y badge `API` ya aplicado.
|
|
157
325
|
*
|
|
158
|
-
*
|
|
159
|
-
* @param {number} duration - Duración en milisegundos (opcional)
|
|
326
|
+
* Los clientes deben usar `logger.api(name)`.
|
|
160
327
|
*
|
|
161
|
-
* @
|
|
162
|
-
*
|
|
163
|
-
|
|
328
|
+
* @param {Logger} parent - Logger raíz al que se delegan los mensajes.
|
|
329
|
+
* @param {string} apiName - Nombre del servicio/API (se prefija con `API:`).
|
|
330
|
+
*/
|
|
331
|
+
constructor(parent: Logger, apiName: string);
|
|
332
|
+
/**
|
|
333
|
+
* Registra una llamada lenta con badge `SLOW` a nivel `warn`.
|
|
334
|
+
*
|
|
335
|
+
* @param {string} message - Descripción de la operación lenta.
|
|
336
|
+
* @param {number} [duration] - Duración medida en ms; si se pasa, se
|
|
337
|
+
* anexa al mensaje como `(Nms)`.
|
|
164
338
|
*
|
|
165
|
-
* @
|
|
339
|
+
* @example
|
|
340
|
+
* const t0 = performance.now();
|
|
341
|
+
* await stripe.customers.retrieve(id);
|
|
342
|
+
* logger.api('Stripe').slow('retrieve', performance.now() - t0);
|
|
166
343
|
*/
|
|
167
344
|
slow(message: string, duration?: number): void;
|
|
168
345
|
/**
|
|
169
|
-
* Registra
|
|
346
|
+
* Registra un evento de rate limiting (HTTP 429) con badge `RATE_LIMIT`.
|
|
170
347
|
*
|
|
171
|
-
* @param {string} message -
|
|
348
|
+
* @param {string} message - Detalle del límite golpeado.
|
|
172
349
|
*
|
|
173
350
|
* @example
|
|
174
|
-
* api.rateLimit('
|
|
175
|
-
*
|
|
176
|
-
* @since 0.3.0
|
|
351
|
+
* logger.api('GitHub').rateLimit('Secondary rate limit on /search');
|
|
177
352
|
*/
|
|
178
353
|
rateLimit(message: string): void;
|
|
179
354
|
/**
|
|
180
|
-
* Registra
|
|
355
|
+
* Registra un fallo de autenticación (401/403) con badge `AUTH` a nivel
|
|
356
|
+
* `error`.
|
|
181
357
|
*
|
|
182
|
-
* @param {string} message -
|
|
358
|
+
* @param {string} message - Detalle del fallo de credenciales/token.
|
|
183
359
|
*
|
|
184
360
|
* @example
|
|
185
|
-
* api.auth('Token
|
|
186
|
-
* api.auth('Credenciales incorrectas');
|
|
187
|
-
*
|
|
188
|
-
* @since 0.3.0
|
|
361
|
+
* logger.api('OAuth').auth('Token expirado');
|
|
189
362
|
*/
|
|
190
363
|
auth(message: string): void;
|
|
191
364
|
/**
|
|
192
|
-
*
|
|
365
|
+
* Marca una API como deprecada con badge `DEPRECATED` a nivel `warn`.
|
|
193
366
|
*
|
|
194
|
-
* @param {string} message - Mensaje
|
|
367
|
+
* @param {string} message - Mensaje guiando a la migración (endpoint
|
|
368
|
+
* alternativo, versión retirada, etc.).
|
|
195
369
|
*
|
|
196
370
|
* @example
|
|
197
|
-
* api.deprecated('
|
|
198
|
-
* api.deprecated('Usar /v2/users en lugar de /users');
|
|
199
|
-
*
|
|
200
|
-
* @since 0.3.0
|
|
371
|
+
* logger.api('Legacy').deprecated('Usar v3; v2 se retira en Q4');
|
|
201
372
|
*/
|
|
202
373
|
deprecated(message: string): void;
|
|
203
374
|
}
|
|
204
375
|
/**
|
|
205
|
-
* Logger
|
|
376
|
+
* Logger para componentes UI, módulos o cualquier unidad con ciclo de vida.
|
|
206
377
|
*
|
|
207
|
-
* @
|
|
208
|
-
* @
|
|
209
|
-
* @
|
|
378
|
+
* Extiende {@link ScopedLogger} pre-seteando el badge `COMPONENT` y exponiendo
|
|
379
|
+
* atajos para eventos típicos: {@link lifecycle}, {@link stateChange} y
|
|
380
|
+
* {@link propsChange}.
|
|
381
|
+
*
|
|
382
|
+
* Se obtiene con `logger.component(name)` y no se construye directamente.
|
|
210
383
|
*
|
|
211
384
|
* @example
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
385
|
+
* import logger from '@mks2508/better-logger';
|
|
386
|
+
*
|
|
387
|
+
* const cart = logger.component('Cart');
|
|
388
|
+
* cart.lifecycle('mount');
|
|
389
|
+
* // salida: [Cart] [COMPONENT] [LIFECYCLE] mount
|
|
215
390
|
*
|
|
216
|
-
*
|
|
391
|
+
* cart.stateChange('empty', 'has-items', { count: 3 });
|
|
392
|
+
* // salida: [Cart] [COMPONENT] [STATE] empty → has-items { count: 3 }
|
|
393
|
+
*
|
|
394
|
+
* @see {@link Logger.component}
|
|
395
|
+
* @see {@link ScopedLogger}
|
|
217
396
|
*/
|
|
218
397
|
export declare class ComponentLogger extends ScopedLogger {
|
|
219
|
-
constructor(parentLogger: Logger, componentName: string, config?: Partial<LoggerConfig>);
|
|
220
398
|
/**
|
|
221
|
-
*
|
|
399
|
+
* Construye un ComponentLogger con badge `COMPONENT` ya aplicado.
|
|
222
400
|
*
|
|
223
|
-
*
|
|
224
|
-
* @param {string} message - Mensaje adicional (opcional)
|
|
401
|
+
* Los clientes deben usar `logger.component(name)`.
|
|
225
402
|
*
|
|
226
|
-
* @
|
|
227
|
-
*
|
|
228
|
-
|
|
403
|
+
* @param {Logger} parent - Logger raíz al que se delegan los mensajes.
|
|
404
|
+
* @param {string} componentName - Nombre del componente (scope label).
|
|
405
|
+
*/
|
|
406
|
+
constructor(parent: Logger, componentName: string);
|
|
407
|
+
/**
|
|
408
|
+
* Registra un evento de ciclo de vida con badge `LIFECYCLE` a nivel `info`.
|
|
229
409
|
*
|
|
230
|
-
* @
|
|
410
|
+
* @param {string} event - Nombre del evento (`mount`, `unmount`,
|
|
411
|
+
* `update`, ...).
|
|
412
|
+
* @param {string} [message] - Detalle opcional; si se omite, solo se
|
|
413
|
+
* registra el nombre del evento.
|
|
414
|
+
*
|
|
415
|
+
* @example
|
|
416
|
+
* logger.component('Cart').lifecycle('mount', 'Modal abierto');
|
|
231
417
|
*/
|
|
232
418
|
lifecycle(event: string, message?: string): void;
|
|
233
419
|
/**
|
|
234
|
-
* Registra
|
|
420
|
+
* Registra una transición de estado con badge `STATE` a nivel `info`.
|
|
235
421
|
*
|
|
236
|
-
* @param {string} from - Estado
|
|
237
|
-
* @param {string} to - Estado nuevo
|
|
238
|
-
* @param {
|
|
422
|
+
* @param {string} from - Estado previo.
|
|
423
|
+
* @param {string} to - Estado nuevo.
|
|
424
|
+
* @param {unknown} [data] - Payload opcional asociado a la transición.
|
|
239
425
|
*
|
|
240
426
|
* @example
|
|
241
|
-
* component
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* @since 0.3.0
|
|
427
|
+
* const fsm = logger.component('FSM');
|
|
428
|
+
* fsm.stateChange('idle', 'loading');
|
|
429
|
+
* fsm.stateChange('loading', 'success', { items: 3 });
|
|
245
430
|
*/
|
|
246
|
-
stateChange(from: string, to: string, data?:
|
|
431
|
+
stateChange(from: string, to: string, data?: unknown): void;
|
|
247
432
|
/**
|
|
248
|
-
* Registra cambios
|
|
433
|
+
* Registra cambios de props/debug del componente con badge `PROPS` a nivel
|
|
434
|
+
* `debug`.
|
|
249
435
|
*
|
|
250
|
-
* @param {Record<string,
|
|
436
|
+
* @param {Record<string, unknown>} changes - Mapa prop → valor (típicamente
|
|
437
|
+
* el diff de props entre renders).
|
|
251
438
|
*
|
|
252
439
|
* @example
|
|
253
|
-
* component.propsChange({
|
|
254
|
-
* user: newUser,
|
|
255
|
-
* isActive: true
|
|
256
|
-
* });
|
|
257
|
-
*
|
|
258
|
-
* @since 0.3.0
|
|
440
|
+
* logger.component('Cart').propsChange({ itemCount: 5, currency: 'EUR' });
|
|
259
441
|
*/
|
|
260
|
-
propsChange(changes: Record<string,
|
|
442
|
+
propsChange(changes: Record<string, unknown>): void;
|
|
261
443
|
}
|
|
262
444
|
/**
|
|
263
|
-
*
|
|
445
|
+
* Handler de contexto apilable sobre un {@link ScopedLogger}.
|
|
446
|
+
*
|
|
447
|
+
* Permite agrupar bloques de logs bajo un sub-prefijo separado por `:`,
|
|
448
|
+
* manteniendo la correlación visual sin necesidad de `console.group`. El
|
|
449
|
+
* prefijo compuesto se forma como `<scopeName>:<contextName>`.
|
|
264
450
|
*
|
|
265
|
-
*
|
|
266
|
-
* @
|
|
451
|
+
* Se crea con `scopedLogger.context(name)`. El patrón idiomático es
|
|
452
|
+
* {@link run}/{@link runAsync} (auto push/pop con try/finally); {@link start}
|
|
453
|
+
* y {@link end} permiten control manual cuando el bloque no cierra
|
|
454
|
+
* léxicamente (event handlers distribuidos, promesas de larga duración).
|
|
267
455
|
*
|
|
268
456
|
* @example
|
|
269
|
-
*
|
|
457
|
+
* import logger from '@mks2508/better-logger';
|
|
270
458
|
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
459
|
+
* const http = logger.scope('HTTP');
|
|
460
|
+
*
|
|
461
|
+
* // Bloque síncrono auto-cerrado
|
|
462
|
+
* http.context('retry').run(() => {
|
|
463
|
+
* http.warn('Reintentando petición');
|
|
464
|
+
* });
|
|
465
|
+
* // salida: [HTTP:retry] Reintentando petición
|
|
466
|
+
*
|
|
467
|
+
* // Bloque async auto-cerrado
|
|
468
|
+
* await http.context('refresh').runAsync(async () => {
|
|
469
|
+
* await refreshToken();
|
|
470
|
+
* http.info('Token refrescado');
|
|
275
471
|
* });
|
|
276
472
|
*
|
|
277
|
-
* @
|
|
473
|
+
* @see {@link ScopedLogger.context}
|
|
278
474
|
*/
|
|
279
475
|
export declare class ContextLogger {
|
|
280
476
|
private parentLogger;
|
|
281
477
|
private contextName;
|
|
478
|
+
/**
|
|
479
|
+
* @param {ScopedLogger} parentLogger - Scope sobre el que se apila el contexto.
|
|
480
|
+
* @param {string} contextName - Sub-prefijo a apilar en el scope padre.
|
|
481
|
+
*/
|
|
282
482
|
constructor(parentLogger: ScopedLogger, contextName: string);
|
|
283
483
|
/**
|
|
284
|
-
* Ejecuta
|
|
484
|
+
* Ejecuta `fn` síncrona dentro del contexto, garantizando el pop del
|
|
485
|
+
* prefijo incluso si `fn` lanza. El contexto solo está activo durante la
|
|
486
|
+
* ejecución de `fn`.
|
|
285
487
|
*
|
|
286
|
-
* @
|
|
287
|
-
* @param {
|
|
288
|
-
* @returns {T}
|
|
488
|
+
* @typeParam T - Tipo de retorno de `fn`.
|
|
489
|
+
* @param {() => T} fn - Función a ejecutar bajo el contexto.
|
|
490
|
+
* @returns {T} Lo que devuelva `fn`.
|
|
491
|
+
* @throws {unknown} Relanza cualquier excepción de `fn` tras desapilar.
|
|
289
492
|
*
|
|
290
493
|
* @example
|
|
291
|
-
*
|
|
292
|
-
* logger.info('
|
|
293
|
-
* return processData();
|
|
494
|
+
* logger.scope('HTTP').context('warmup').run(() => {
|
|
495
|
+
* logger.info('Pre-cargando caché');
|
|
294
496
|
* });
|
|
295
|
-
*
|
|
296
|
-
* @since 0.3.0
|
|
297
497
|
*/
|
|
298
498
|
run<T>(fn: () => T): T;
|
|
299
499
|
/**
|
|
300
|
-
*
|
|
500
|
+
* Variante async de {@link run}: mantiene el contexto activo mientras se
|
|
501
|
+
* awaiting la promesa de `fn`, incluyendo awaits internos.
|
|
502
|
+
*
|
|
503
|
+
* @typeParam T - Tipo resuelto por la promesa de `fn`.
|
|
504
|
+
* @param {() => Promise<T>} fn - Función async a ejecutar bajo el contexto.
|
|
505
|
+
* @returns {Promise<T>} Promesa que resuelve al valor de `fn`.
|
|
506
|
+
* @throws {unknown} Relanza cualquier rechazo de `fn` tras desapilar.
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* await logger.scope('HTTP').context('fetch').runAsync(async () => {
|
|
510
|
+
* const r = await fetch(url);
|
|
511
|
+
* logger.info('Recibido', { status: r.status });
|
|
512
|
+
* });
|
|
301
513
|
*/
|
|
302
514
|
runAsync<T>(fn: () => Promise<T>): Promise<T>;
|
|
303
515
|
/**
|
|
304
|
-
*
|
|
516
|
+
* Apila el contexto manualmente. Útil cuando el bloque que lo consume no
|
|
517
|
+
* cierra léxicamente (event handlers, timeouts, streams). Debe emparejarse
|
|
518
|
+
* con un {@link end} posterior; olvidarlo deja el prefijo contaminado para
|
|
519
|
+
* los logs siguientes del scope.
|
|
520
|
+
*
|
|
521
|
+
* @example
|
|
522
|
+
* const ctx = logger.scope('WS').context('subscribe');
|
|
523
|
+
* socket.onopen = () => { ctx.start(); ctx.info('connected'); };
|
|
524
|
+
* socket.onclose = () => { ctx.info('disconnected'); ctx.end(); };
|
|
525
|
+
* @see {@link end}
|
|
305
526
|
*/
|
|
306
527
|
start(): void;
|
|
307
528
|
/**
|
|
308
|
-
*
|
|
529
|
+
* Desapila el último contexto abierto con {@link start}.
|
|
530
|
+
*
|
|
531
|
+
* @see {@link start}
|
|
309
532
|
*/
|
|
310
533
|
end(): void;
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
534
|
+
/**
|
|
535
|
+
* Atajo a `scopedLogger.debug(...)`. El contexto se aplica al prefijo del
|
|
536
|
+
* scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
537
|
+
*
|
|
538
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
539
|
+
*/
|
|
540
|
+
debug(...args: unknown[]): void;
|
|
541
|
+
/**
|
|
542
|
+
* Atajo a `scopedLogger.info(...)`. El contexto se aplica al prefijo del
|
|
543
|
+
* scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
544
|
+
*
|
|
545
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
546
|
+
*/
|
|
547
|
+
info(...args: unknown[]): void;
|
|
548
|
+
/**
|
|
549
|
+
* Atajo a `scopedLogger.warn(...)`. El contexto se aplica al prefijo del
|
|
550
|
+
* scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
551
|
+
*
|
|
552
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
553
|
+
*/
|
|
554
|
+
warn(...args: unknown[]): void;
|
|
555
|
+
/**
|
|
556
|
+
* Atajo a `scopedLogger.error(...)`. El contexto se aplica al prefijo del
|
|
557
|
+
* scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
558
|
+
*
|
|
559
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
560
|
+
*/
|
|
561
|
+
error(...args: unknown[]): void;
|
|
562
|
+
/**
|
|
563
|
+
* Atajo a `scopedLogger.success(...)`. El contexto se aplica al prefijo del
|
|
564
|
+
* scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
565
|
+
*
|
|
566
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
567
|
+
*/
|
|
568
|
+
success(...args: unknown[]): void;
|
|
569
|
+
/**
|
|
570
|
+
* Atajo a `scopedLogger.critical(...)`. El contexto se aplica al prefijo
|
|
571
|
+
* del scope padre solo si se invoca dentro de un bloque {@link run}/{@link start}.
|
|
572
|
+
*
|
|
573
|
+
* @param {...unknown[]} args - Mensaje y argumentos adicionales.
|
|
574
|
+
*/
|
|
575
|
+
critical(...args: unknown[]): void;
|
|
317
576
|
}
|
|
318
577
|
//# sourceMappingURL=ScopedLogger.d.ts.map
|