@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
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Configuraciones de banner para Advanced Logger.
|
|
3
3
|
*/
|
|
4
4
|
import type { BannerType, ThemeVariant } from '../types/index.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Catálogo de variantes del banner de inicialización del logger.
|
|
7
|
+
*
|
|
8
|
+
* Cada variante es un par `{ text, style }` listo para pasar a
|
|
9
|
+
* `console.log(\`%c${text}\`, style)`. Las variantes escalan en complejidad
|
|
10
|
+
* visual según las capacidades del navegador:
|
|
11
|
+
* - `simple` — una sola línea con gradiente.
|
|
12
|
+
* - `ascii` — ASCII art multiníveles (Safari, sin SVG).
|
|
13
|
+
* - `unicode` — caja Unicode con gradiente de fondo.
|
|
14
|
+
* - `svg` — `background-image` SVG con texto vectorial.
|
|
15
|
+
* - `animated` — gradiente animado vía `@keyframes gradientShift`.
|
|
16
|
+
*
|
|
17
|
+
* La función {@link detectBannerCapabilities} elige automáticamente la
|
|
18
|
+
* variante más rica soportada por el entorno actual.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { BANNER_VARIANTS } from '@mks2508/better-logger/styles';
|
|
23
|
+
*
|
|
24
|
+
* const { text, style } = BANNER_VARIANTS.unicode;
|
|
25
|
+
* console.log(`%c${text}`, style);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @see {@link BannerType} para la unión de claves válidas.
|
|
29
|
+
* @see {@link displayInitBanner} para pintar el banner auto-detectado.
|
|
7
30
|
*/
|
|
8
31
|
export declare const BANNER_VARIANTS: {
|
|
9
32
|
simple: {
|
|
@@ -28,18 +51,75 @@ export declare const BANNER_VARIANTS: {
|
|
|
28
51
|
};
|
|
29
52
|
};
|
|
30
53
|
/**
|
|
31
|
-
*
|
|
54
|
+
* Banners de inicialización específicos por {@link ThemeVariant}.
|
|
55
|
+
*
|
|
56
|
+
* Cada theme trae su propio par `{ simple, style }` (banner de una línea
|
|
57
|
+
* + CSS) que combina con la paleta del theme. El texto del banner es
|
|
58
|
+
* siempre una sola línea (sin ASCII art), por lo que es la variante
|
|
59
|
+
* usada por defecto cuando el logger arranca con un theme concreto.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { THEME_BANNERS } from '@mks2508/better-logger/styles';
|
|
64
|
+
*
|
|
65
|
+
* const { simple, style } = THEME_BANNERS.cyberpunk;
|
|
66
|
+
* console.log(`%c${simple}`, style);
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @see {@link THEME_PRESETS} para los estilos de badge por nivel de cada theme.
|
|
70
|
+
* @see {@link ThemeVariant} para la lista de themes disponibles.
|
|
32
71
|
*/
|
|
33
72
|
export declare const THEME_BANNERS: Record<ThemeVariant, {
|
|
34
73
|
simple: string;
|
|
35
74
|
style: string;
|
|
36
75
|
}>;
|
|
37
76
|
/**
|
|
38
|
-
*
|
|
77
|
+
* Detecta la variante de banner más rica que el entorno puede renderizar.
|
|
78
|
+
*
|
|
79
|
+
* Usa `navigator.userAgent` y probes sobre `document` para decidir entre
|
|
80
|
+
* `animated` (Chrome con CSS animations), `svg` (Chrome/Firefox con SVG),
|
|
81
|
+
* `unicode` (Chrome/Firefox fallback), `ascii` (Safari) o `simple`
|
|
82
|
+
* (todo lo demás). En entornos sin `navigator` o `document` retorna
|
|
83
|
+
* `'simple'` inmediatamente (Node, SSR, Web Workers).
|
|
84
|
+
*
|
|
85
|
+
* @returns {BannerType} Variante de banner recomendada para el entorno.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* import { detectBannerCapabilities } from '@mks2508/better-logger/styles';
|
|
90
|
+
*
|
|
91
|
+
* const capable = detectBannerCapabilities();
|
|
92
|
+
* console.log(`Best banner for this env: ${capable}`);
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* @see {@link BANNER_VARIANTS} para el catálogo que indexa este resultado.
|
|
39
96
|
*/
|
|
40
97
|
export declare function detectBannerCapabilities(): BannerType;
|
|
41
98
|
/**
|
|
42
|
-
*
|
|
99
|
+
* Pinta el banner de inicialización del logger en la consola del navegador.
|
|
100
|
+
*
|
|
101
|
+
* Si no se pasa `bannerType`, se auto-detecta vía
|
|
102
|
+
* {@link detectBannerCapabilities}. Además del banner, abre un
|
|
103
|
+
* `console.group` con la lista de features soportadas (styling, stack
|
|
104
|
+
* traces, performance timers, handlers, ...).
|
|
105
|
+
*
|
|
106
|
+
* No-op cuando `document` no está disponible (Node, SSR, Web Workers),
|
|
107
|
+
* para evitar referencias a APIs inexistentes.
|
|
108
|
+
*
|
|
109
|
+
* @param {BannerType} [bannerType] - Variante de banner a pintar. Si se
|
|
110
|
+
* omite, se detecta automáticamente la mejor soportada.
|
|
111
|
+
* @returns {void}
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* import { displayInitBanner } from '@mks2508/better-logger/styles';
|
|
116
|
+
*
|
|
117
|
+
* displayInitBanner(); // auto-detecta
|
|
118
|
+
* displayInitBanner('ascii'); // fuerza ASCII art
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @see {@link BANNER_VARIANTS} para las variantes disponibles.
|
|
122
|
+
* @see {@link THEME_BANNERS} para banners específicos por theme.
|
|
43
123
|
*/
|
|
44
124
|
export declare function displayInitBanner(bannerType?: BannerType): void;
|
|
45
125
|
//# sourceMappingURL=banners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banners.d.ts","sourceRoot":"","sources":["../../src/styling/banners.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"banners.d.ts","sourceRoot":"","sources":["../../src/styling/banners.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAoD3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAyBjF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,IAAI,UAAU,CA8BrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAyC/D"}
|
package/dist/styling/index.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Styling system exports for Advanced Logger
|
|
2
|
+
* @fileoverview Styling system exports for Advanced Logger.
|
|
3
|
+
*
|
|
4
|
+
* Implementation-level primitives consumed by `src/styles/` (the public
|
|
5
|
+
* StyleManager bridge). End users should prefer:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { StyleBuilder, THEME_PRESETS } from '@mks2508/better-logger/styles';
|
|
9
|
+
* ```
|
|
3
10
|
*/
|
|
4
11
|
export { StyleBuilder, $, StylePresets } from './StyleBuilder.js';
|
|
5
12
|
export { THEME_PRESETS } from './themes.js';
|
|
6
13
|
export { BANNER_VARIANTS, THEME_BANNERS, detectBannerCapabilities, displayInitBanner } from './banners.js';
|
|
7
|
-
export { TimestampStyler, LevelStyler, PrefixStyler, MessageStyler, LocationStyler } from './SemanticStyles.js';
|
|
8
|
-
export { LogStyleBuilder, createLogStyleBuilder } from './LogStyleBuilder.js';
|
|
9
14
|
export { SMART_PRESETS, getSmartPreset, getAvailablePresets, hasPreset, PRESET_DESCRIPTIONS } from './SmartPresets.js';
|
|
10
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styling/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styling/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACH,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACtB,MAAM,mBAAmB,CAAC"}
|
package/dist/styling/themes.d.ts
CHANGED
|
@@ -1,10 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Presets de themes visuales para Advanced Logger.
|
|
3
3
|
*/
|
|
4
4
|
import type { ThemeVariant } from '../types/index.js';
|
|
5
5
|
import type { LevelStyleConfig } from '../utils/index.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Catálogo de themes visuales para los badges de cada log level.
|
|
8
|
+
*
|
|
9
|
+
* Cada {@link ThemeVariant} mapea a un record de {@link LevelStyleConfig}
|
|
10
|
+
* indexado por nivel (`debug`, `info`, `warn`, `error`, `success`,
|
|
11
|
+
* `critical`). El {@link StyleManager} consume este mappeo para resolver
|
|
12
|
+
* los estilos CSS del badge que rodea al label del nivel en la consola
|
|
13
|
+
* del navegador.
|
|
14
|
+
*
|
|
15
|
+
* Un {@link LevelStyleConfig} por nivel define seis campos visuales:
|
|
16
|
+
* - `emoji` — glyph que precede al label (vacío en themes minimal).
|
|
17
|
+
* - `label` — texto en mayúsculas renderizado dentro del badge.
|
|
18
|
+
* - `background` — CSS background (típicamente un `linear-gradient`).
|
|
19
|
+
* - `color` — color del texto interior del badge.
|
|
20
|
+
* - `border` — CSS border completo (`<width> <style> <color>`).
|
|
21
|
+
* - `shadow` — box-shadow alrededor del badge; `'none'` lo desactiva.
|
|
22
|
+
*
|
|
23
|
+
* Themes disponibles: `default` (gradientes vivos), `dark` (paleta oscura
|
|
24
|
+
* para DevTools oscuro), `neon` (glow neón sobre fondo oscuro), `minimal`
|
|
25
|
+
* (badges planos sin sombras ni emojis), `light` (paleta pastel para
|
|
26
|
+
* DevTools claro) y `cyberpunk` (cian/magenta con sombras extendidas).
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { THEME_PRESETS } from '@mks2508/better-logger/styles';
|
|
31
|
+
*
|
|
32
|
+
* // Inspeccionar el badge `error` del theme `neon`
|
|
33
|
+
* const { emoji, label, background, color } = THEME_PRESETS.neon.error;
|
|
34
|
+
* console.log(`${emoji} ${label} → ${background}`);
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* // Aplicar un theme al logger entero
|
|
40
|
+
* import logger from '@mks2508/better-logger';
|
|
41
|
+
* logger.configure({ theme: 'cyberpunk' });
|
|
42
|
+
* logger.error('Algo se rompió'); // badge con glow magenta
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @see {@link ThemeVariant} para la lista de claves válidas.
|
|
46
|
+
* @see {@link LevelStyleConfig} para la shape exacta de cada entrada.
|
|
8
47
|
*/
|
|
9
48
|
export declare const THEME_PRESETS: Record<ThemeVariant, Record<string, LevelStyleConfig>>;
|
|
10
49
|
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/styling/themes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/styling/themes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAmQhF,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color Converter - CSS colors to ANSI extended color codes
|
|
3
|
+
* Supports 256-color and truecolor (24-bit) terminals
|
|
4
|
+
*/
|
|
5
|
+
export type ColorCapability = 'full' | 'basic' | 'none';
|
|
6
|
+
export interface RGB {
|
|
7
|
+
r: number;
|
|
8
|
+
g: number;
|
|
9
|
+
b: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function hexToRgb(hex: string): RGB;
|
|
12
|
+
export declare function rgbToHex(r: number, g: number, b: number): string;
|
|
13
|
+
export declare function hexTo256(hex: string): number;
|
|
14
|
+
export declare function colorToHex(color: string): string;
|
|
15
|
+
export declare function getANSIForeground(color: string, capability: ColorCapability): string;
|
|
16
|
+
export declare function getANSIBackground(color: string, capability: ColorCapability): string;
|
|
17
|
+
export declare function getANSI256Foreground(colorIndex: number): string;
|
|
18
|
+
export declare function getANSI256Background(colorIndex: number): string;
|
|
19
|
+
export declare function extractGradientColors(gradient: string): string[];
|
|
20
|
+
export declare function gradientToSingleColor(gradient: string): string;
|
|
21
|
+
export declare function cssColorToANSI(cssColor: string, capability: ColorCapability, isBackground?: boolean): string;
|
|
22
|
+
export declare const ANSI: {
|
|
23
|
+
reset: string;
|
|
24
|
+
bold: string;
|
|
25
|
+
dim: string;
|
|
26
|
+
italic: string;
|
|
27
|
+
underline: string;
|
|
28
|
+
blink: string;
|
|
29
|
+
inverse: string;
|
|
30
|
+
hidden: string;
|
|
31
|
+
strikethrough: string;
|
|
32
|
+
fg: {
|
|
33
|
+
black: string;
|
|
34
|
+
red: string;
|
|
35
|
+
green: string;
|
|
36
|
+
yellow: string;
|
|
37
|
+
blue: string;
|
|
38
|
+
magenta: string;
|
|
39
|
+
cyan: string;
|
|
40
|
+
white: string;
|
|
41
|
+
gray: string;
|
|
42
|
+
brightRed: string;
|
|
43
|
+
brightGreen: string;
|
|
44
|
+
brightYellow: string;
|
|
45
|
+
brightBlue: string;
|
|
46
|
+
brightMagenta: string;
|
|
47
|
+
brightCyan: string;
|
|
48
|
+
brightWhite: string;
|
|
49
|
+
};
|
|
50
|
+
bg: {
|
|
51
|
+
black: string;
|
|
52
|
+
red: string;
|
|
53
|
+
green: string;
|
|
54
|
+
yellow: string;
|
|
55
|
+
blue: string;
|
|
56
|
+
magenta: string;
|
|
57
|
+
cyan: string;
|
|
58
|
+
white: string;
|
|
59
|
+
gray: string;
|
|
60
|
+
brightRed: string;
|
|
61
|
+
brightGreen: string;
|
|
62
|
+
brightYellow: string;
|
|
63
|
+
brightBlue: string;
|
|
64
|
+
brightMagenta: string;
|
|
65
|
+
brightCyan: string;
|
|
66
|
+
brightWhite: string;
|
|
67
|
+
};
|
|
68
|
+
rgb: (r: number, g: number, b: number) => string;
|
|
69
|
+
bgRgb: (r: number, g: number, b: number) => string;
|
|
70
|
+
color256: (n: number) => string;
|
|
71
|
+
bgColor256: (n: number) => string;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=color-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-converter.d.ts","sourceRoot":"","sources":["../../src/terminal/color-converter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,GAAG;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAiED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAUzC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc5C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBhD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAmBpF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAmBpF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAiCD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAehE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW9D;AAED,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAC3B,YAAY,GAAE,OAAe,GAC9B,MAAM,CAcR;AAED,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiDJ,MAAM,KAAK,MAAM,KAAK,MAAM;eAC1B,MAAM,KAAK,MAAM,KAAK,MAAM;kBACzB,MAAM;oBACJ,MAAM;CACzB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Formatter - Alignment, key-value, and advanced terminal formatting
|
|
3
|
+
*/
|
|
4
|
+
import { type ColorCapability } from './color-converter.js';
|
|
5
|
+
import type { ColumnConfig, ColumnAlign, BadgeStyle, TimestampFormat, LogOptions } from '../types/index.js';
|
|
6
|
+
export declare function stripAnsi(str: string): string;
|
|
7
|
+
export declare function getVisibleLength(str: string): number;
|
|
8
|
+
export declare function padToWidth(str: string, width: number, align?: ColumnAlign): string;
|
|
9
|
+
export declare function formatWithRightAlign(leftContent: string, rightContent: string, maxWidth?: number): string;
|
|
10
|
+
export declare function formatColumns(columns: ColumnConfig[], maxWidth?: number, colorCapability?: ColorCapability): string;
|
|
11
|
+
export declare function formatKeyValue(obj: Record<string, unknown>, colorCapability?: ColorCapability, options?: {
|
|
12
|
+
separator?: string;
|
|
13
|
+
keyColor?: string;
|
|
14
|
+
valueColor?: string;
|
|
15
|
+
}): string;
|
|
16
|
+
export declare function isKeyValueObject(obj: unknown): obj is Record<string, unknown>;
|
|
17
|
+
export declare function formatBadge(badge: string, style?: BadgeStyle, colorCapability?: ColorCapability, color?: string): string;
|
|
18
|
+
export declare function formatTimestamp(date?: Date, format?: TimestampFormat): string;
|
|
19
|
+
export declare function formatRelativeTime(date: Date): string;
|
|
20
|
+
export declare function formatElapsedTime(date: Date): string;
|
|
21
|
+
export declare function resetStartTime(): void;
|
|
22
|
+
export declare function applyLogOptions(message: string, options: LogOptions, colorCapability?: ColorCapability): string;
|
|
23
|
+
//# sourceMappingURL=formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/terminal/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5G,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,WAAoB,GAAG,MAAM,CAiB1F;AAED,wBAAgB,oBAAoB,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,wBAAgB,aAAa,CACzB,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,eAAe,GAAE,eAAwB,GAC1C,MAAM,CA2BR;AAED,wBAAgB,cAAc,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,eAAe,GAAE,eAAwB,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7E,MAAM,CA0BR;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAc7E;AAED,wBAAgB,WAAW,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,UAAuB,EAC9B,eAAe,GAAE,eAAwB,EACzC,KAAK,CAAC,EAAE,MAAM,GACf,MAAM,CA4BR;AAED,wBAAgB,eAAe,CAC3B,IAAI,GAAE,IAAiB,EACvB,MAAM,GAAE,eAAwB,GACjC,MAAM,CAmBR;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAgBrD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWpD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,wBAAgB,eAAe,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,eAAe,GAAE,eAAwB,GAC1C,MAAM,CAQR"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { TransportRecord, TransportOptions, ITransport } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Transport por defecto que escribe cada {@link TransportRecord} al `console`
|
|
4
|
+
* global del runtime (navegador o Node.js).
|
|
5
|
+
*
|
|
6
|
+
* Es el transport que el Logger registra automáticamente cuando no se configura
|
|
7
|
+
* ninguno explícito, garantizando que los registros siempre lleguen a un
|
|
8
|
+
* destino visible sin configuración adicional.
|
|
9
|
+
*
|
|
10
|
+
* **Mapeo level → console method**: traduce cada nivel de log al método más
|
|
11
|
+
* cercano de la API `console`, de forma que el filtrado nativo del DevTools /
|
|
12
|
+
* `NODE_DEBUG` siga funcionando:
|
|
13
|
+
*
|
|
14
|
+
* | LogLevel | console method |
|
|
15
|
+
* |--------------|----------------|
|
|
16
|
+
* | `debug` | `console.log` |
|
|
17
|
+
* | `info` | `console.info` |
|
|
18
|
+
* | `warn` | `console.warn` |
|
|
19
|
+
* | `error` | `console.error`|
|
|
20
|
+
* | `critical` | `console.error`|
|
|
21
|
+
*
|
|
22
|
+
* **Formato de output**: cada línea se compone como
|
|
23
|
+
* `[LEVEL] [prefix] message (file:line)`, donde `prefix` y la localización
|
|
24
|
+
* se omiten si el registro no las trae.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // Uso directo como ITransport
|
|
28
|
+
* import { ConsoleTransport } from '@mks2508/better-logger/transports';
|
|
29
|
+
* const transport = new ConsoleTransport();
|
|
30
|
+
* transport.write({
|
|
31
|
+
* level: 'info',
|
|
32
|
+
* msg: 'Arrancando worker',
|
|
33
|
+
* prefix: 'worker',
|
|
34
|
+
* // ... resto del TransportRecord
|
|
35
|
+
* });
|
|
36
|
+
* // → console.info("[INFO] [worker] Arrancando worker (worker.ts:12)")
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* // Registro a través del Logger (típico — el logger lo añade por defecto)
|
|
40
|
+
* logger.addTransport({ target: new ConsoleTransport() });
|
|
41
|
+
*
|
|
42
|
+
* @see {@link ITransport}
|
|
43
|
+
* @see {@link TransportRecord}
|
|
44
|
+
*/
|
|
45
|
+
export declare class ConsoleTransport implements ITransport {
|
|
46
|
+
private options?;
|
|
47
|
+
/** Identificador del transport usado por el Logger para deduplicar y exponer metadatos. */
|
|
48
|
+
readonly name = "console";
|
|
49
|
+
/**
|
|
50
|
+
* Crea una instancia de {@link ConsoleTransport}.
|
|
51
|
+
*
|
|
52
|
+
* El parámetro `options` se acepta para cumplir con la firma canónica de
|
|
53
|
+
* {@link TransportOptions} (filtros de nivel, formateadores, etc.), aunque
|
|
54
|
+
* la implementación actual escribe el registro tal cual llega sin
|
|
55
|
+
* transformaciones adicionales.
|
|
56
|
+
*
|
|
57
|
+
* @param {TransportOptions} [options] - Configuración opcional del transport
|
|
58
|
+
* (nivel mínimo, formatter, etc.).
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* const transport = new ConsoleTransport({ level: 'warn' });
|
|
62
|
+
*/
|
|
63
|
+
constructor(options?: TransportOptions | undefined);
|
|
64
|
+
/**
|
|
65
|
+
* Escribe un {@link TransportRecord} al `console` global.
|
|
66
|
+
*
|
|
67
|
+
* Selecciona el método de console según el nivel del registro, compone el
|
|
68
|
+
* prefijo `[LEVEL] [prefix]` y, si la localización está disponible, añade
|
|
69
|
+
* el sufijo `(file:line)`. No lanza ni retorna errores: si `console[method]`
|
|
70
|
+
* fallara (raro), la excepción propagaría al caller.
|
|
71
|
+
*
|
|
72
|
+
* @param {TransportRecord} record - Registro normalizado producido por el Logger.
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* transport.write({
|
|
77
|
+
* level: 'error',
|
|
78
|
+
* msg: 'DB connection lost',
|
|
79
|
+
* prefix: 'db',
|
|
80
|
+
* location: { file: 'pool.ts', line: 87, function: 'acquire' },
|
|
81
|
+
* // ... resto del TransportRecord
|
|
82
|
+
* });
|
|
83
|
+
* // → console.error("[ERROR] [db] DB connection lost (pool.ts:87)")
|
|
84
|
+
*/
|
|
85
|
+
write(record: TransportRecord): void;
|
|
86
|
+
/**
|
|
87
|
+
* Resuelve el método de `console` apropiado para un {@link LogLevel}.
|
|
88
|
+
*
|
|
89
|
+
* Tabla de mapeo:
|
|
90
|
+
* - `debug` → `log` (sin ruido en DevTools por defecto)
|
|
91
|
+
* - `info` → `info`
|
|
92
|
+
* - `warn` → `warn`
|
|
93
|
+
* - `error` → `error`
|
|
94
|
+
* - `critical` → `error` (no existe `console.critical`)
|
|
95
|
+
* - cualquier otro → `log` (fallback seguro)
|
|
96
|
+
*
|
|
97
|
+
* @internal Método privado; no forma parte de la API pública del transport.
|
|
98
|
+
*
|
|
99
|
+
* @param {LogLevel} level - Nivel del registro a traducir.
|
|
100
|
+
* @returns {'log' | 'info' | 'warn' | 'error'} Nombre del método de `console`.
|
|
101
|
+
*/
|
|
102
|
+
private getConsoleMethod;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=ConsoleTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ConsoleTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAY,MAAM,mBAAmB,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IAkBnC,OAAO,CAAC,OAAO,CAAC;IAjB5B,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,aAAa;IAE1B;;;;;;;;;;;;;OAaG;gBACiB,OAAO,CAAC,EAAE,gBAAgB,YAAA;IAE9C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAUpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,gBAAgB;CAU3B"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { TransportRecord, TransportOptions, IBufferedTransport, HookLogEntry } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Opciones para {@link FileTransport}. El campo `destination` se interpreta
|
|
4
|
+
* como ruta de fichero en Node y como clave de `localStorage` en el browser
|
|
5
|
+
* (componente saneado a `[a-zA-Z0-9_-]`).
|
|
6
|
+
*
|
|
7
|
+
* Hereda los defaults de {@link TransportOptions}: `batchSize=100`,
|
|
8
|
+
* `maxBufferSize=10000`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const transport = new FileTransport({
|
|
12
|
+
* destination: 'logs/app.log',
|
|
13
|
+
* batchSize: 200,
|
|
14
|
+
* flushInterval: 2000,
|
|
15
|
+
* maxBufferSize: 5000,
|
|
16
|
+
* onError: (entry) => captureFailure(entry)
|
|
17
|
+
* });
|
|
18
|
+
*/
|
|
19
|
+
export interface FileTransportOptions extends TransportOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Destino de escritura. En Node es una ruta de fichero (resuelta relativa
|
|
22
|
+
* a `process.cwd()` y saneada contra path traversal). En el browser es una
|
|
23
|
+
* clave de `localStorage` (saneada a alfanumérico + `-_`).
|
|
24
|
+
* @default 'app.log' (Node) | 'better-logger:default' (browser)
|
|
25
|
+
*/
|
|
26
|
+
destination?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Hook opcional que se dispara cuando el transport no puede escribir
|
|
29
|
+
* (error de FS, quota agotada, tab del browser en modo privado, ...).
|
|
30
|
+
* Recibe un {@link HookLogEntry} sintético.
|
|
31
|
+
*/
|
|
32
|
+
onError?: (entry: HookLogEntry) => void | Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Transport que escribe registros a fichero (Node) o `localStorage` (browser).
|
|
36
|
+
*
|
|
37
|
+
* En Node, hace `appendFile` asíncrono vía `fs.promises` cargado con dynamic
|
|
38
|
+
* import (no bloquea el event loop, no envía código Node-only al bundle del
|
|
39
|
+
* browser). En el browser, acumula en `localStorage` con prefijo `better-logger:`
|
|
40
|
+
* y degrada a no-op silencioso si el storage no está disponible (modo privado,
|
|
41
|
+
* sandbox de iframes, quota agotada).
|
|
42
|
+
*
|
|
43
|
+
* El buffer es bounded: al llegar a `maxBufferSize` suelta el registro más
|
|
44
|
+
* viejo (drop-oldest) e invoca `onError` con el payload descartado, de modo
|
|
45
|
+
* que un pico de tráfico sostenido no agota memoria.
|
|
46
|
+
*
|
|
47
|
+
* El `destination` se sanea antes de usarse:
|
|
48
|
+
* - Node: se rechazan rutas con segmentos `..`, `~` o absolutas (path traversal).
|
|
49
|
+
* - Browser: se colapsa a `[a-zA-Z0-9_-]` recortado a 64 caracteres.
|
|
50
|
+
*
|
|
51
|
+
* @implements {IBufferedTransport}
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // Node: append a fichero con flush cada segundo
|
|
55
|
+
* logger.addTransport({
|
|
56
|
+
* target: new FileTransport({
|
|
57
|
+
* destination: 'logs/app.log',
|
|
58
|
+
* batchSize: 100,
|
|
59
|
+
* flushInterval: 1000,
|
|
60
|
+
* onError: (entry) => captureFailure(entry)
|
|
61
|
+
* })
|
|
62
|
+
* });
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* // Browser: persiste en localStorage bajo 'better-logger:audit'
|
|
66
|
+
* logger.addTransport({
|
|
67
|
+
* target: new FileTransport({ destination: 'audit' })
|
|
68
|
+
* });
|
|
69
|
+
*
|
|
70
|
+
* @see {@link FileTransportOptions}
|
|
71
|
+
* @see {@link IBufferedTransport}
|
|
72
|
+
*/
|
|
73
|
+
export declare class FileTransport implements IBufferedTransport {
|
|
74
|
+
/** Identificador del transport dentro del pipeline (`'file'`). */
|
|
75
|
+
readonly name = "file";
|
|
76
|
+
private buffer;
|
|
77
|
+
private flushTimer?;
|
|
78
|
+
private options;
|
|
79
|
+
private closed;
|
|
80
|
+
/**
|
|
81
|
+
* Construye el transport. Si se pasa `flushInterval`, arranca un timer
|
|
82
|
+
* periódico que vacía el buffer al vencimiento; si no, el flush se
|
|
83
|
+
* dispara solo cuando el buffer alcanza `batchSize`.
|
|
84
|
+
*
|
|
85
|
+
* @param {FileTransportOptions} [options] - Configuración. Defaults: `batchSize=100`, `maxBufferSize=10000`.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* const t = new FileTransport({ destination: 'app.log', flushInterval: 1000 });
|
|
89
|
+
*/
|
|
90
|
+
constructor(options?: FileTransportOptions);
|
|
91
|
+
/** Registros pendientes en el buffer (aún sin flush). */
|
|
92
|
+
get bufferSize(): number;
|
|
93
|
+
/** Capacidad máxima del buffer; al superarla se aplica drop-oldest. */
|
|
94
|
+
get maxBufferSize(): number;
|
|
95
|
+
/**
|
|
96
|
+
* Indica si el transport acepta escrituras. Devuelve `false` después de
|
|
97
|
+
* {@link FileTransport.close} — cualquier `write` posterior se descarta.
|
|
98
|
+
*
|
|
99
|
+
* @returns {boolean} `true` mientras el transport no esté cerrado.
|
|
100
|
+
*/
|
|
101
|
+
isReady(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Encola un registro serializado (JSON + `\n`). Si el buffer está a tope,
|
|
104
|
+
* suelta el registro más viejo (drop-oldest) y emite un evento `onError`
|
|
105
|
+
* con el payload descartado para que la pérdida sea observable. Si al
|
|
106
|
+
* encolar se alcanza `batchSize`, dispara un flush asíncrono.
|
|
107
|
+
*
|
|
108
|
+
* No-op silencioso si el transport está cerrado.
|
|
109
|
+
*
|
|
110
|
+
* @param {TransportRecord} record - Registro a escribir.
|
|
111
|
+
*/
|
|
112
|
+
write(record: TransportRecord): void;
|
|
113
|
+
/**
|
|
114
|
+
* Vuelca el buffer al destino. En Node concatena el contenido y hace
|
|
115
|
+
* un único `appendFile`; en browser hace un único `setItem` sobre
|
|
116
|
+
* `localStorage`. El buffer se vacía antes del I/O para que los registros
|
|
117
|
+
* entrantes no esperen al disco. Los errores de escritura se reportan
|
|
118
|
+
* vía `onError` (nunca lanzan al caller).
|
|
119
|
+
*
|
|
120
|
+
* @returns {Promise<void>} Resuelve cuando el I/O terminó o falló.
|
|
121
|
+
*/
|
|
122
|
+
flush(): Promise<void>;
|
|
123
|
+
private flushNode;
|
|
124
|
+
private flushBrowser;
|
|
125
|
+
/**
|
|
126
|
+
* Cierra el transport: detiene el timer de flush y dispara un flush
|
|
127
|
+
* final para no perder registros pendientes. Tras cerrar, `write` y
|
|
128
|
+
* `flush` se vuelven no-op.
|
|
129
|
+
*
|
|
130
|
+
* @returns {Promise<void>} Resuelve cuando el flush final termina.
|
|
131
|
+
*/
|
|
132
|
+
close(): Promise<void>;
|
|
133
|
+
private resolveNodeDestination;
|
|
134
|
+
private resolveBrowserKey;
|
|
135
|
+
private emitError;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=FileTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileTransport.d.ts","sourceRoot":"","sources":["../../src/transports/FileTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EAClB,YAAY,EAEf,MAAM,mBAAmB,CAAC;AAO3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,aAAc,YAAW,kBAAkB;IACpD,kEAAkE;IAClE,QAAQ,CAAC,IAAI,UAAU;IAEvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;;;;;OASG;gBACS,OAAO,CAAC,EAAE,oBAAoB;IAc1C,yDAAyD;IACzD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,uEAAuE;IACvE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA6BpC;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAad,SAAS;YAaT,YAAY;IAc1B;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,SAAS;CAYpB"}
|