@mks2508/better-logger 0.14.0-alpha.2 → 0.18.2-alpha.1

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.
Files changed (454) hide show
  1. package/README.md +289 -185
  2. package/dist/Logger.d.ts +576 -205
  3. package/dist/Logger.d.ts.map +1 -1
  4. package/dist/ScopedLogger.d.ts +48 -292
  5. package/dist/ScopedLogger.d.ts.map +1 -1
  6. package/dist/chunks/HookBridge-CiRfR67f.cjs +190 -0
  7. package/dist/chunks/HookBridge-CiRfR67f.cjs.map +1 -0
  8. package/dist/chunks/HookBridge-SgMmbXZB.js +173 -0
  9. package/dist/chunks/HookBridge-SgMmbXZB.js.map +1 -0
  10. package/dist/chunks/LogContext-Cwn-1Zzb.js +85 -0
  11. package/dist/chunks/LogContext-Cwn-1Zzb.js.map +1 -0
  12. package/dist/chunks/LogContext-L7HzynFw.cjs +90 -0
  13. package/dist/chunks/LogContext-L7HzynFw.cjs.map +1 -0
  14. package/dist/chunks/SerializerBridge-BaOQOb8q.cjs +166 -0
  15. package/dist/chunks/SerializerBridge-BaOQOb8q.cjs.map +1 -0
  16. package/dist/chunks/SerializerBridge-BkpQu5c9.js +149 -0
  17. package/dist/chunks/SerializerBridge-BkpQu5c9.js.map +1 -0
  18. package/dist/chunks/StyleManager-CIpd6wbO.cjs +92 -0
  19. package/dist/chunks/StyleManager-CIpd6wbO.cjs.map +1 -0
  20. package/dist/chunks/StyleManager-LCvVlVdx.js +87 -0
  21. package/dist/chunks/StyleManager-LCvVlVdx.js.map +1 -0
  22. package/dist/chunks/core-Dzz7agGa.cjs +39 -0
  23. package/dist/chunks/core-Dzz7agGa.cjs.map +1 -0
  24. package/dist/chunks/core-PoT7RrTK.js +34 -0
  25. package/dist/chunks/core-PoT7RrTK.js.map +1 -0
  26. package/dist/chunks/environment-detector-CI3TrWK_.js +110 -0
  27. package/dist/chunks/environment-detector-CI3TrWK_.js.map +1 -0
  28. package/dist/chunks/environment-detector-Cnn6wr6O.cjs +163 -0
  29. package/dist/chunks/environment-detector-Cnn6wr6O.cjs.map +1 -0
  30. package/dist/chunks/server-fallback-BUKjdLS7.cjs +42 -0
  31. package/dist/chunks/server-fallback-BUKjdLS7.cjs.map +1 -0
  32. package/dist/chunks/server-fallback-BsuWH1Dk.js +37 -0
  33. package/dist/chunks/server-fallback-BsuWH1Dk.js.map +1 -0
  34. package/dist/chunks/spinner-D3FsF78o.js +700 -0
  35. package/dist/chunks/spinner-D3FsF78o.js.map +1 -0
  36. package/dist/chunks/spinner-DNvxbM9a.cjs +747 -0
  37. package/dist/chunks/spinner-DNvxbM9a.cjs.map +1 -0
  38. package/dist/chunks/styling-84N8T97t.js +941 -0
  39. package/dist/chunks/styling-84N8T97t.js.map +1 -0
  40. package/dist/chunks/styling-Cg5saQ46.cjs +994 -0
  41. package/dist/chunks/styling-Cg5saQ46.cjs.map +1 -0
  42. package/dist/chunks/transports-BiDk345e.js +715 -0
  43. package/dist/chunks/transports-BiDk345e.js.map +1 -0
  44. package/dist/chunks/transports-COPWmlF1.cjs +756 -0
  45. package/dist/chunks/transports-COPWmlF1.cjs.map +1 -0
  46. package/dist/chunks/utils-BqlFYocD.cjs +698 -0
  47. package/dist/chunks/utils-BqlFYocD.cjs.map +1 -0
  48. package/dist/chunks/utils-VETbVpkR.js +579 -0
  49. package/dist/chunks/utils-VETbVpkR.js.map +1 -0
  50. package/dist/cli/commands/ExportCommand.d.ts +8 -26
  51. package/dist/cli/commands/ExportCommand.d.ts.map +1 -1
  52. package/dist/cli/index.d.ts +1 -2
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli-module.d.ts +13 -0
  55. package/dist/cli-module.d.ts.map +1 -0
  56. package/dist/cli.cjs +11 -0
  57. package/dist/cli.js +3 -0
  58. package/dist/constants.d.ts +16 -47
  59. package/dist/constants.d.ts.map +1 -1
  60. package/dist/context/LogContext.d.ts +146 -0
  61. package/dist/context/LogContext.d.ts.map +1 -0
  62. package/dist/context/index.d.ts +6 -0
  63. package/dist/context/index.d.ts.map +1 -0
  64. package/dist/context-module.d.ts +6 -0
  65. package/dist/context-module.d.ts.map +1 -0
  66. package/dist/context.cjs +3 -0
  67. package/dist/context.js +2 -0
  68. package/dist/core.cjs +281 -2
  69. package/dist/core.cjs.map +1 -1
  70. package/dist/core.d.ts +6 -7
  71. package/dist/core.d.ts.map +1 -1
  72. package/dist/core.js +258 -314
  73. package/dist/core.js.map +1 -1
  74. package/dist/example.d.ts.map +1 -1
  75. package/dist/hooks/HookBridge.d.ts +26 -0
  76. package/dist/hooks/HookBridge.d.ts.map +1 -0
  77. package/dist/hooks/HookManager.d.ts +26 -0
  78. package/dist/hooks/HookManager.d.ts.map +1 -0
  79. package/dist/hooks/index.d.ts +7 -0
  80. package/dist/hooks/index.d.ts.map +1 -0
  81. package/dist/hooks-module.d.ts +7 -0
  82. package/dist/hooks-module.d.ts.map +1 -0
  83. package/dist/hooks.cjs +5 -0
  84. package/dist/hooks.js +2 -0
  85. package/dist/index.cjs +2522 -2
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.ts +42 -130
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +2447 -158
  90. package/dist/index.js.map +1 -1
  91. package/dist/node-module.d.ts +10 -0
  92. package/dist/node-module.d.ts.map +1 -0
  93. package/dist/node.cjs +13 -0
  94. package/dist/node.cjs.map +1 -0
  95. package/dist/node.js +12 -0
  96. package/dist/node.js.map +1 -0
  97. package/dist/playground/TerminalBridge.d.ts +46 -0
  98. package/dist/playground/TerminalBridge.d.ts.map +1 -0
  99. package/dist/playground/box.d.ts +14 -0
  100. package/dist/playground/box.d.ts.map +1 -0
  101. package/dist/playground/cli-table.d.ts +14 -0
  102. package/dist/playground/cli-table.d.ts.map +1 -0
  103. package/dist/playground/divider.d.ts +10 -0
  104. package/dist/playground/divider.d.ts.map +1 -0
  105. package/dist/playground/header.d.ts +11 -0
  106. package/dist/playground/header.d.ts.map +1 -0
  107. package/dist/playground/index.d.ts +11 -0
  108. package/dist/playground/index.d.ts.map +1 -0
  109. package/dist/playground/server-fallback.d.ts +27 -0
  110. package/dist/playground/server-fallback.d.ts.map +1 -0
  111. package/dist/playground/spinner.d.ts +48 -0
  112. package/dist/playground/spinner.d.ts.map +1 -0
  113. package/dist/playground/step.d.ts +14 -0
  114. package/dist/playground/step.d.ts.map +1 -0
  115. package/dist/playground-module.d.ts +11 -0
  116. package/dist/playground-module.d.ts.map +1 -0
  117. package/dist/playground.cjs +9 -0
  118. package/dist/playground.js +2 -0
  119. package/dist/serializers/SerializerBridge.d.ts +21 -0
  120. package/dist/serializers/SerializerBridge.d.ts.map +1 -0
  121. package/dist/serializers/SerializerRegistry.d.ts +16 -0
  122. package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
  123. package/dist/serializers/index.d.ts +7 -0
  124. package/dist/serializers/index.d.ts.map +1 -0
  125. package/dist/serializers-module.d.ts +7 -0
  126. package/dist/serializers-module.d.ts.map +1 -0
  127. package/dist/serializers.cjs +5 -0
  128. package/dist/serializers.js +2 -0
  129. package/dist/styles/StyleManager.d.ts +83 -0
  130. package/dist/styles/StyleManager.d.ts.map +1 -0
  131. package/dist/styles/index.d.ts +7 -0
  132. package/dist/styles/index.d.ts.map +1 -0
  133. package/dist/styles-module.d.ts +7 -0
  134. package/dist/styles-module.d.ts.map +1 -0
  135. package/dist/styles.cjs +7 -0
  136. package/dist/styles.js +3 -0
  137. package/dist/styling/banners.d.ts +6 -2
  138. package/dist/styling/banners.d.ts.map +1 -1
  139. package/dist/styling/index.d.ts +8 -3
  140. package/dist/styling/index.d.ts.map +1 -1
  141. package/dist/terminal/color-converter.d.ts +73 -0
  142. package/dist/terminal/color-converter.d.ts.map +1 -0
  143. package/dist/terminal/formatter.d.ts +23 -0
  144. package/dist/terminal/formatter.d.ts.map +1 -0
  145. package/dist/transports/ConsoleTransport.d.ts +9 -0
  146. package/dist/transports/ConsoleTransport.d.ts.map +1 -0
  147. package/dist/transports/FileTransport.d.ts +56 -0
  148. package/dist/transports/FileTransport.d.ts.map +1 -0
  149. package/dist/transports/HttpTransport.d.ts +67 -0
  150. package/dist/transports/HttpTransport.d.ts.map +1 -0
  151. package/dist/transports/OtlpTransport.d.ts +148 -0
  152. package/dist/transports/OtlpTransport.d.ts.map +1 -0
  153. package/dist/transports/TransportBridge.d.ts +37 -0
  154. package/dist/transports/TransportBridge.d.ts.map +1 -0
  155. package/dist/transports/TransportManager.d.ts +36 -0
  156. package/dist/transports/TransportManager.d.ts.map +1 -0
  157. package/dist/transports/index.d.ts +6 -0
  158. package/dist/transports/index.d.ts.map +1 -0
  159. package/dist/transports-module.d.ts +10 -0
  160. package/dist/transports-module.d.ts.map +1 -0
  161. package/dist/transports.cjs +7 -0
  162. package/dist/transports.js +2 -0
  163. package/dist/types/core.d.ts +188 -6
  164. package/dist/types/core.d.ts.map +1 -1
  165. package/dist/types/handlers.d.ts +0 -67
  166. package/dist/types/handlers.d.ts.map +1 -1
  167. package/dist/types/hooks.d.ts +60 -0
  168. package/dist/types/hooks.d.ts.map +1 -0
  169. package/dist/types/index.d.ts +7 -3
  170. package/dist/types/index.d.ts.map +1 -1
  171. package/dist/types/serializers.d.ts +25 -0
  172. package/dist/types/serializers.d.ts.map +1 -0
  173. package/dist/types/transports.d.ts +127 -0
  174. package/dist/types/transports.d.ts.map +1 -0
  175. package/dist/utils/ansi-colors.d.ts +115 -0
  176. package/dist/utils/ansi-colors.d.ts.map +1 -0
  177. package/dist/utils/environment-detector.d.ts +53 -0
  178. package/dist/utils/environment-detector.d.ts.map +1 -0
  179. package/dist/utils/formatting.d.ts +1 -0
  180. package/dist/utils/formatting.d.ts.map +1 -1
  181. package/dist/utils/index.d.ts +3 -2
  182. package/dist/utils/index.d.ts.map +1 -1
  183. package/dist/utils/output.d.ts +8 -11
  184. package/dist/utils/output.d.ts.map +1 -1
  185. package/dist/utils/stackTrace.d.ts.map +1 -1
  186. package/dist/utils/timestamps.d.ts +0 -12
  187. package/dist/utils/timestamps.d.ts.map +1 -1
  188. package/package.json +96 -21
  189. package/.claude/settings.local.json +0 -39
  190. package/.github/workflows/ci-quality.yml +0 -357
  191. package/.github/workflows/docs-demo.yml +0 -119
  192. package/.github/workflows/releases-core.yml +0 -512
  193. package/.github/workflows/releases-full.yml +0 -582
  194. package/.github/workflows-backup/ci.yml +0 -221
  195. package/.github/workflows-backup/nightly.yml +0 -196
  196. package/.github/workflows-backup/release-optimized.yml +0 -373
  197. package/.github/workflows-backup/release.yml +0 -269
  198. package/.release-notes-0.2.0.md +0 -129
  199. package/.yamllint +0 -28
  200. package/CHANGELOG.json +0 -865
  201. package/CLAUDE.md +0 -204
  202. package/bun.lock +0 -323
  203. package/demo.html +0 -847
  204. package/dist/.tsbuildinfo +0 -1
  205. package/dist/Logger.js +0 -1124
  206. package/dist/ScopedLogger.js +0 -426
  207. package/dist/chunks/Logger-Crw1woqR.js +0 -3464
  208. package/dist/chunks/Logger-Crw1woqR.js.map +0 -1
  209. package/dist/chunks/Logger-D_p3xnbq.js +0 -2
  210. package/dist/chunks/Logger-D_p3xnbq.js.map +0 -1
  211. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +0 -33
  212. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +0 -1
  213. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +0 -2
  214. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +0 -1
  215. package/dist/chunks/environment-Bxbnw4pd.js +0 -544
  216. package/dist/chunks/environment-Bxbnw4pd.js.map +0 -1
  217. package/dist/chunks/environment-Dm66zOML.js +0 -4
  218. package/dist/chunks/environment-Dm66zOML.js.map +0 -1
  219. package/dist/chunks/formatting-C0riPC5_.js +0 -95
  220. package/dist/chunks/formatting-C0riPC5_.js.map +0 -1
  221. package/dist/chunks/formatting-DNCAV66-.js +0 -2
  222. package/dist/chunks/formatting-DNCAV66-.js.map +0 -1
  223. package/dist/cli/CommandProcessor.js +0 -184
  224. package/dist/cli/commands/ConfigCommand.js +0 -88
  225. package/dist/cli/commands/ExportCommand.js +0 -243
  226. package/dist/cli/commands/HistoryCommand.d.ts +0 -50
  227. package/dist/cli/commands/HistoryCommand.d.ts.map +0 -1
  228. package/dist/cli/commands/HistoryCommand.js +0 -96
  229. package/dist/cli/commands/StatusCommand.d.ts +0 -33
  230. package/dist/cli/commands/StatusCommand.d.ts.map +0 -1
  231. package/dist/cli/commands/StatusCommand.js +0 -93
  232. package/dist/cli/commands/ThemeCommand.js +0 -79
  233. package/dist/cli/help.js +0 -118
  234. package/dist/cli/index.js +0 -46
  235. package/dist/constants.js +0 -159
  236. package/dist/example.js +0 -154
  237. package/dist/exports-module.d.ts +0 -203
  238. package/dist/exports-module.d.ts.map +0 -1
  239. package/dist/exports-module.js +0 -260
  240. package/dist/exports.cjs +0 -2
  241. package/dist/exports.cjs.map +0 -1
  242. package/dist/exports.js +0 -238
  243. package/dist/exports.js.map +0 -1
  244. package/dist/handlers/AnalyticsLogHandler.d.ts +0 -11
  245. package/dist/handlers/AnalyticsLogHandler.d.ts.map +0 -1
  246. package/dist/handlers/AnalyticsLogHandler.js +0 -19
  247. package/dist/handlers/ExportLogHandler.d.ts +0 -103
  248. package/dist/handlers/ExportLogHandler.d.ts.map +0 -1
  249. package/dist/handlers/ExportLogHandler.js +0 -516
  250. package/dist/handlers/FileLogHandler.d.ts +0 -36
  251. package/dist/handlers/FileLogHandler.d.ts.map +0 -1
  252. package/dist/handlers/FileLogHandler.js +0 -156
  253. package/dist/handlers/RemoteLogHandler.d.ts +0 -14
  254. package/dist/handlers/RemoteLogHandler.d.ts.map +0 -1
  255. package/dist/handlers/RemoteLogHandler.js +0 -37
  256. package/dist/handlers/index.d.ts +0 -8
  257. package/dist/handlers/index.d.ts.map +0 -1
  258. package/dist/handlers/index.js +0 -7
  259. package/dist/main.js +0 -139
  260. package/dist/styling/LogStyleBuilder.d.ts +0 -149
  261. package/dist/styling/LogStyleBuilder.d.ts.map +0 -1
  262. package/dist/styling/LogStyleBuilder.js +0 -289
  263. package/dist/styling/SemanticStyles.d.ts +0 -181
  264. package/dist/styling/SemanticStyles.d.ts.map +0 -1
  265. package/dist/styling/SemanticStyles.js +0 -339
  266. package/dist/styling/SmartPresets.js +0 -276
  267. package/dist/styling/StyleBuilder.js +0 -280
  268. package/dist/styling/banners.js +0 -155
  269. package/dist/styling/index.js +0 -9
  270. package/dist/styling/themes.js +0 -231
  271. package/dist/styling-module.d.ts +0 -185
  272. package/dist/styling-module.d.ts.map +0 -1
  273. package/dist/styling-module.js +0 -199
  274. package/dist/styling.cjs +0 -2
  275. package/dist/styling.cjs.map +0 -1
  276. package/dist/styling.js +0 -146
  277. package/dist/styling.js.map +0 -1
  278. package/dist/types/Logger.d.ts +0 -700
  279. package/dist/types/Logger.d.ts.map +0 -1
  280. package/dist/types/ScopedLogger.d.ts +0 -310
  281. package/dist/types/ScopedLogger.d.ts.map +0 -1
  282. package/dist/types/cli/CommandProcessor.d.ts +0 -100
  283. package/dist/types/cli/CommandProcessor.d.ts.map +0 -1
  284. package/dist/types/cli/commands/ConfigCommand.d.ts +0 -14
  285. package/dist/types/cli/commands/ConfigCommand.d.ts.map +0 -1
  286. package/dist/types/cli/commands/ExportCommand.d.ts +0 -48
  287. package/dist/types/cli/commands/ExportCommand.d.ts.map +0 -1
  288. package/dist/types/cli/commands/HistoryCommand.d.ts +0 -47
  289. package/dist/types/cli/commands/HistoryCommand.d.ts.map +0 -1
  290. package/dist/types/cli/commands/StatusCommand.d.ts +0 -30
  291. package/dist/types/cli/commands/StatusCommand.d.ts.map +0 -1
  292. package/dist/types/cli/commands/ThemeCommand.d.ts +0 -30
  293. package/dist/types/cli/commands/ThemeCommand.d.ts.map +0 -1
  294. package/dist/types/cli/help.d.ts +0 -12
  295. package/dist/types/cli/help.d.ts.map +0 -1
  296. package/dist/types/cli/index.d.ts +0 -15
  297. package/dist/types/cli/index.d.ts.map +0 -1
  298. package/dist/types/constants.d.ts +0 -119
  299. package/dist/types/constants.d.ts.map +0 -1
  300. package/dist/types/core.js +0 -28
  301. package/dist/types/example.d.ts +0 -18
  302. package/dist/types/example.d.ts.map +0 -1
  303. package/dist/types/exports-module.d.ts +0 -196
  304. package/dist/types/exports-module.d.ts.map +0 -1
  305. package/dist/types/handlers/AnalyticsLogHandler.d.ts +0 -8
  306. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +0 -1
  307. package/dist/types/handlers/ExportLogHandler.d.ts +0 -100
  308. package/dist/types/handlers/ExportLogHandler.d.ts.map +0 -1
  309. package/dist/types/handlers/FileLogHandler.d.ts +0 -33
  310. package/dist/types/handlers/FileLogHandler.d.ts.map +0 -1
  311. package/dist/types/handlers/RemoteLogHandler.d.ts +0 -11
  312. package/dist/types/handlers/RemoteLogHandler.d.ts.map +0 -1
  313. package/dist/types/handlers/index.d.ts +0 -8
  314. package/dist/types/handlers/index.d.ts.map +0 -1
  315. package/dist/types/handlers.js +0 -4
  316. package/dist/types/index.js +0 -4
  317. package/dist/types/main.d.ts +0 -2
  318. package/dist/types/main.d.ts.map +0 -1
  319. package/dist/types/styling/LogStyleBuilder.d.ts +0 -146
  320. package/dist/types/styling/LogStyleBuilder.d.ts.map +0 -1
  321. package/dist/types/styling/SemanticStyles.d.ts +0 -178
  322. package/dist/types/styling/SemanticStyles.d.ts.map +0 -1
  323. package/dist/types/styling/SmartPresets.d.ts +0 -22
  324. package/dist/types/styling/SmartPresets.d.ts.map +0 -1
  325. package/dist/types/styling/StyleBuilder.d.ts +0 -140
  326. package/dist/types/styling/StyleBuilder.d.ts.map +0 -1
  327. package/dist/types/styling/banners.d.ts +0 -42
  328. package/dist/types/styling/banners.d.ts.map +0 -1
  329. package/dist/types/styling/index.d.ts +0 -10
  330. package/dist/types/styling/index.d.ts.map +0 -1
  331. package/dist/types/styling/themes.d.ts +0 -7
  332. package/dist/types/styling/themes.d.ts.map +0 -1
  333. package/dist/types/styling-module.d.ts +0 -178
  334. package/dist/types/styling-module.d.ts.map +0 -1
  335. package/dist/types/types/core.d.ts +0 -221
  336. package/dist/types/types/core.d.ts.map +0 -1
  337. package/dist/types/types/handlers.d.ts +0 -85
  338. package/dist/types/types/handlers.d.ts.map +0 -1
  339. package/dist/types/types/index.d.ts +0 -7
  340. package/dist/types/types/index.d.ts.map +0 -1
  341. package/dist/types/utils/environment.d.ts +0 -47
  342. package/dist/types/utils/environment.d.ts.map +0 -1
  343. package/dist/types/utils/formatting.d.ts +0 -37
  344. package/dist/types/utils/formatting.d.ts.map +0 -1
  345. package/dist/types/utils/index.d.ts +0 -7
  346. package/dist/types/utils/index.d.ts.map +0 -1
  347. package/dist/types/utils/opentui-detection.d.ts +0 -34
  348. package/dist/types/utils/opentui-detection.d.ts.map +0 -1
  349. package/dist/types/utils/output.d.ts +0 -41
  350. package/dist/types/utils/output.d.ts.map +0 -1
  351. package/dist/types/utils/stackTrace.d.ts +0 -6
  352. package/dist/types/utils/stackTrace.d.ts.map +0 -1
  353. package/dist/types/utils/timestamps.d.ts +0 -20
  354. package/dist/types/utils/timestamps.d.ts.map +0 -1
  355. package/dist/utils/environment.d.ts +0 -47
  356. package/dist/utils/environment.d.ts.map +0 -1
  357. package/dist/utils/environment.js +0 -85
  358. package/dist/utils/formatting.js +0 -117
  359. package/dist/utils/index.js +0 -6
  360. package/dist/utils/opentui-detection.d.ts +0 -34
  361. package/dist/utils/opentui-detection.d.ts.map +0 -1
  362. package/dist/utils/opentui-detection.js +0 -116
  363. package/dist/utils/output.js +0 -150
  364. package/dist/utils/stackTrace.js +0 -81
  365. package/dist/utils/timestamps.js +0 -71
  366. package/dist/vite.svg +0 -1
  367. package/docs/API.md +0 -691
  368. package/docs/CORE.md +0 -264
  369. package/docs/DEVELOPMENT.md +0 -731
  370. package/docs/EXPORTS.md +0 -467
  371. package/docs/PACKAGES.md +0 -244
  372. package/docs/STYLING.md +0 -405
  373. package/docs/_config.yml +0 -36
  374. package/docs/index.md +0 -179
  375. package/examples/README.md +0 -208
  376. package/examples/basic-logging.js +0 -75
  377. package/examples/data-export.js +0 -234
  378. package/examples/package.json +0 -16
  379. package/examples/performance-timing.js +0 -170
  380. package/examples/simplified-api.js +0 -124
  381. package/examples/styling-themes.js +0 -207
  382. package/index.html +0 -358
  383. package/packages/core/package.json +0 -57
  384. package/packages/exports/package.json +0 -41
  385. package/packages/nodejs-opentui/README.md +0 -232
  386. package/packages/nodejs-opentui/package.json +0 -72
  387. package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
  388. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
  389. package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
  390. package/packages/nodejs-opentui/src/index.ts +0 -133
  391. package/packages/nodejs-opentui/src/types.ts +0 -158
  392. package/packages/nodejs-opentui/tsconfig.json +0 -20
  393. package/packages/styling/package.json +0 -41
  394. package/project-utils/README.md +0 -172
  395. package/project-utils/auto-release-gemini.ts +0 -1193
  396. package/project-utils/auto-release-ui.ts +0 -1329
  397. package/project-utils/commit-generator.ts +0 -1385
  398. package/project-utils/commit-ui.ts +0 -264
  399. package/project-utils/git-utils.ts +0 -199
  400. package/project-utils/github-release-manager.ts +0 -466
  401. package/project-utils/project-config.ts +0 -260
  402. package/project-utils/prompt-templates.js +0 -345
  403. package/project-utils/prompt-templates.ts +0 -422
  404. package/project-utils/version-manager.ts +0 -1078
  405. package/public/vite.svg +0 -1
  406. package/src/Logger.ts +0 -1276
  407. package/src/ScopedLogger.ts +0 -454
  408. package/src/cli/CommandProcessor.ts +0 -248
  409. package/src/cli/commands/ConfigCommand.ts +0 -93
  410. package/src/cli/commands/ExportCommand.ts +0 -276
  411. package/src/cli/commands/HistoryCommand.ts +0 -117
  412. package/src/cli/commands/StatusCommand.ts +0 -112
  413. package/src/cli/commands/ThemeCommand.ts +0 -88
  414. package/src/cli/help.ts +0 -127
  415. package/src/cli/index.ts +0 -71
  416. package/src/constants.ts +0 -171
  417. package/src/core.ts +0 -393
  418. package/src/example.ts +0 -210
  419. package/src/exports-module.ts +0 -311
  420. package/src/handlers/AnalyticsLogHandler.ts +0 -22
  421. package/src/handlers/ExportLogHandler.ts +0 -609
  422. package/src/handlers/FileLogHandler.ts +0 -169
  423. package/src/handlers/RemoteLogHandler.ts +0 -42
  424. package/src/handlers/index.ts +0 -8
  425. package/src/index.ts +0 -209
  426. package/src/main.ts +0 -196
  427. package/src/style.css +0 -96
  428. package/src/styling/LogStyleBuilder.ts +0 -355
  429. package/src/styling/SemanticStyles.ts +0 -380
  430. package/src/styling/SmartPresets.ts +0 -288
  431. package/src/styling/StyleBuilder.ts +0 -319
  432. package/src/styling/banners.ts +0 -168
  433. package/src/styling/index.ts +0 -27
  434. package/src/styling/themes.ts +0 -235
  435. package/src/styling-module.ts +0 -244
  436. package/src/types/core.ts +0 -236
  437. package/src/types/handlers.ts +0 -95
  438. package/src/types/index.ts +0 -35
  439. package/src/typescript.svg +0 -1
  440. package/src/utils/environment.ts +0 -94
  441. package/src/utils/formatting.ts +0 -142
  442. package/src/utils/index.ts +0 -21
  443. package/src/utils/opentui-detection.ts +0 -138
  444. package/src/utils/output.ts +0 -185
  445. package/src/utils/stackTrace.ts +0 -95
  446. package/src/utils/timestamps.ts +0 -80
  447. package/src/vite-env.d.ts +0 -1
  448. package/test-core-browser.html +0 -237
  449. package/test-core-node.js +0 -63
  450. package/tests/test-conflict-resolution.ts +0 -391
  451. package/tests/validate-workflows.sh +0 -131
  452. package/tests/yaml-autofix.sh +0 -146
  453. package/tsconfig.json +0 -50
  454. package/vite.config.ts +0 -223
package/dist/core.cjs CHANGED
@@ -1,2 +1,281 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./chunks/environment-Dm66zOML.js"),o=require("./chunks/formatting-DNCAV66-.js");class CoreLogger{config;scopedPrefix;handlers=[];timers=/* @__PURE__ */new Map;groupDepth=0;constructor(o={}){this.config={...e.DEFAULT_CONFIG,...o,enableColors:o.enableColors??!!e.isBrowser,enableTimestamps:o.enableTimestamps??!0,enableStackTrace:o.enableStackTrace??!1,autoDetectTheme:o.autoDetectTheme??!0}}getConfig(){return{...this.config}}setGlobalPrefix(e){this.config.globalPrefix=e}setVerbosity(e){this.config.verbosity=e}scope(e){const o=new CoreLogger(this.config);return o.scopedPrefix=e,o.handlers=[...this.handlers],o}addHandler(e){this.handlers.push(e)}shouldLog(e){if("silent"===this.config.verbosity)return!1;const o={debug:0,info:1,warn:2,error:3,critical:4};return o[e]>=o[this.config.verbosity]}getEffectivePrefix(){const e=[this.config.globalPrefix,this.scopedPrefix].filter(Boolean);return e.length>0?e.join(":"):void 0}log(t,...r){if(!this.shouldLog(t))return;const s=this.getEffectivePrefix(),i=String(r[0]||""),n=this.config.enableStackTrace?e.parseStackTrace():null,c=o.getConsoleMethod(t);if(e.isBrowser&&this.config.enableColors&&e.supportsCSSColors())try{const[o,...l]=e.createStyledOutput(t,e.LEVEL_STYLES,s,i,n,this.config.autoDetectTheme);console[c](o,...l,...r.slice(1))}catch(g){const e=o.createPlainOutput(t,i,s,n);console[c](e,...r.slice(1))}else{const e=" ".repeat(this.groupDepth)+o.createPlainOutput(t,i,s,n);console[c](e,...r.slice(1))}const l=o.createLogEntry(t,i,r,s,n),a={timestamp:l.timestamp,level:t,prefix:s,stackInfo:l.location};this.handlers.forEach(e=>{try{e.handle(t,i,r,a)}catch(g){console.error("Log handler failed:",g)}})}debug(...e){this.log("debug",...e)}info(...e){this.log("info",...e)}warn(...e){this.log("warn",...e)}error(...e){this.log("error",...e)}critical(...e){this.log("critical",...e)}trace(...e){this.log("debug",...e),this.shouldLog("debug")&&console.trace(...e)}table(t,r){if(!this.shouldLog("info"))return;const s=this.getEffectivePrefix(),i=`[TABLE]${s?` [${s}]`:""}:`;if(e.isBrowser&&"function"==typeof console.table)console.log(i),r?console.table(t,r):console.table(t);else{console.log(i);const e=o.formatTablePlain(t,r);console.log(e)}}group(o,t=!1){const r=this.getEffectivePrefix(),s=`${r?`[${r}] `:""}${o}`;if(e.isBrowser&&console.group&&console.groupCollapsed)t?console.groupCollapsed(s):console.group(s);else{const e="┌─ "+s;console.log(e)}this.groupDepth++}groupEnd(){if(this.groupDepth>0){if(e.isBrowser&&console.groupEnd)console.groupEnd();else{const e="└─ (end group)";console.log(e)}this.groupDepth--}}time(e){const t={label:e,startTime:this.getPerformanceNow()};this.timers.set(e,t);const r=this.getEffectivePrefix(),s=`Timer started: ${e}`,i=o.createPlainOutput("info",s,r);console.log(i)}timeEnd(e){const t=this.timers.get(e);if(!t)return void this.warn(`Timer '${e}' does not exist`);const r=this.getPerformanceNow()-t.startTime;this.timers.delete(e);const s=this.getEffectivePrefix(),i=`Timer ended: ${e} - ${r.toFixed(2)}ms`,n=o.createPlainOutput("info",i,s);console.log(n)}getPerformanceNow(){if("undefined"!=typeof performance&&performance.now)return performance.now();if(e.isNode&&process.hrtime){const[e,o]=process.hrtime();return 1e3*e+o/1e6}return Date.now()}}const t=new CoreLogger;exports.CoreLogger=CoreLogger,exports.addHandler=e=>t.addHandler(e),exports.critical=(...e)=>t.critical(...e),exports.debug=(...e)=>t.debug(...e),exports.default=t,exports.error=(...e)=>t.error(...e),exports.group=(e,o)=>t.group(e,o),exports.groupEnd=()=>t.groupEnd(),exports.info=(...e)=>t.info(...e),exports.scope=e=>t.scope(e),exports.setGlobalPrefix=e=>t.setGlobalPrefix(e),exports.setVerbosity=e=>t.setVerbosity(e),exports.table=(e,o)=>t.table(e,o),exports.time=e=>t.time(e),exports.timeEnd=e=>t.timeEnd(e),exports.trace=(...e)=>t.trace(...e),exports.warn=(...e)=>t.warn(...e);
2
- //# sourceMappingURL=core.cjs.map
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_core = require("./chunks/core-Dzz7agGa.cjs");
6
+ const require_utils = require("./chunks/utils-BqlFYocD.cjs");
7
+ const require_environment_detector = require("./chunks/environment-detector-Cnn6wr6O.cjs");
8
+ //#region src/core.ts
9
+ /**
10
+ * Minimal Logger class with core functionality only
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { CoreLogger } from '@mks2508/better-logger/core';
15
+ *
16
+ * const logger = new CoreLogger();
17
+ * logger.info('Hello world');
18
+ * logger.error('Something went wrong', error);
19
+ * ```
20
+ */
21
+ var CoreLogger = class CoreLogger {
22
+ config;
23
+ scopedPrefix;
24
+ handlers = [];
25
+ timers = /* @__PURE__ */ new Map();
26
+ groupDepth = 0;
27
+ /**
28
+ * Creates a new CoreLogger instance
29
+ * @param config - Optional configuration
30
+ */
31
+ constructor(config = {}) {
32
+ this.config = {
33
+ ...require_utils.DEFAULT_CONFIG,
34
+ ...config,
35
+ enableColors: config.enableColors ?? (require_environment_detector.isBrowser ? true : false),
36
+ enableTimestamps: config.enableTimestamps ?? true,
37
+ enableStackTrace: config.enableStackTrace ?? false,
38
+ autoDetectTheme: config.autoDetectTheme ?? true,
39
+ outputFormat: config.outputFormat ?? "auto"
40
+ };
41
+ }
42
+ /**
43
+ * Get current configuration
44
+ */
45
+ getConfig() {
46
+ return { ...this.config };
47
+ }
48
+ /**
49
+ * Sets the global prefix for all log messages
50
+ */
51
+ setGlobalPrefix(prefix) {
52
+ this.config.globalPrefix = prefix;
53
+ }
54
+ /**
55
+ * Sets the verbosity level for filtering log output
56
+ */
57
+ setVerbosity(level) {
58
+ this.config.verbosity = level;
59
+ }
60
+ /**
61
+ * Creates a scoped logger with a specific prefix
62
+ */
63
+ scope(prefix) {
64
+ const scopedLogger = new CoreLogger(this.config);
65
+ scopedLogger.scopedPrefix = prefix;
66
+ scopedLogger.handlers = [...this.handlers];
67
+ return scopedLogger;
68
+ }
69
+ /**
70
+ * Adds a custom log handler for extensibility
71
+ */
72
+ addHandler(handler) {
73
+ this.handlers.push(handler);
74
+ }
75
+ /**
76
+ * Checks if a log level should be output based on current verbosity
77
+ */
78
+ shouldLog(level) {
79
+ if (this.config.verbosity === "silent") return false;
80
+ const verbosity = this.config.verbosity;
81
+ return require_core.LOG_LEVELS[level] >= require_core.LOG_LEVELS[verbosity];
82
+ }
83
+ /**
84
+ * Gets the effective prefix (global + scoped)
85
+ */
86
+ getEffectivePrefix() {
87
+ const parts = [this.config.globalPrefix, this.scopedPrefix].filter(Boolean);
88
+ return parts.length > 0 ? parts.join(":") : void 0;
89
+ }
90
+ /**
91
+ * Core logging method with universal formatting
92
+ */
93
+ log(level, ...args) {
94
+ if (!this.shouldLog(level)) return;
95
+ const prefix = this.getEffectivePrefix();
96
+ const message = String(args[0] || "");
97
+ const stackInfo = this.config.enableStackTrace ? require_utils.parseStackTrace() : null;
98
+ const consoleMethod = require_utils.getConsoleMethod(level);
99
+ if (require_environment_detector.isBrowser && this.config.enableColors) try {
100
+ const [format, ...styles] = require_utils.createStyledOutput(level, require_utils.LEVEL_STYLES, prefix, message, stackInfo, this.config.autoDetectTheme);
101
+ console[consoleMethod](format, ...styles, ...args.slice(1));
102
+ } catch (error) {
103
+ const output = require_utils.createPlainOutput(level, message, prefix, stackInfo);
104
+ console[consoleMethod](output, ...args.slice(1));
105
+ }
106
+ else {
107
+ const output = " ".repeat(this.groupDepth) + require_utils.createPlainOutput(level, message, prefix, stackInfo);
108
+ console[consoleMethod](output, ...args.slice(1));
109
+ }
110
+ const logEntry = require_utils.createLogEntry(level, message, args, prefix, stackInfo);
111
+ const metadata = {
112
+ timestamp: logEntry.timestamp,
113
+ level,
114
+ prefix,
115
+ stackInfo: logEntry.location
116
+ };
117
+ this.handlers.forEach((handler) => {
118
+ try {
119
+ handler.handle(level, message, args, metadata);
120
+ } catch (error) {
121
+ console.error("Log handler failed:", error);
122
+ }
123
+ });
124
+ }
125
+ /**
126
+ * Logs debug information (lowest priority)
127
+ */
128
+ debug(...args) {
129
+ this.log("debug", ...args);
130
+ }
131
+ /**
132
+ * Logs informational messages
133
+ */
134
+ info(...args) {
135
+ this.log("info", ...args);
136
+ }
137
+ /**
138
+ * Logs warning messages
139
+ */
140
+ warn(...args) {
141
+ this.log("warn", ...args);
142
+ }
143
+ /**
144
+ * Logs error messages
145
+ */
146
+ error(...args) {
147
+ this.log("error", ...args);
148
+ }
149
+ /**
150
+ * Logs critical errors (highest priority)
151
+ */
152
+ critical(...args) {
153
+ this.log("critical", ...args);
154
+ }
155
+ /**
156
+ * Logs trace information (detailed debugging)
157
+ */
158
+ trace(...args) {
159
+ this.log("debug", ...args);
160
+ if (this.shouldLog("debug")) console.trace(...args);
161
+ }
162
+ /**
163
+ * Displays data in a table format
164
+ */
165
+ table(data, columns) {
166
+ if (!this.shouldLog("info")) return;
167
+ const prefix = this.getEffectivePrefix();
168
+ const tableHeader = `[TABLE]${prefix ? ` [${prefix}]` : ""}:`;
169
+ if (require_environment_detector.isBrowser && typeof console.table === "function") {
170
+ console.log(tableHeader);
171
+ if (columns) console.table(data, columns);
172
+ else console.table(data);
173
+ } else {
174
+ console.log(tableHeader);
175
+ const tableText = require_utils.formatTablePlain(data, columns);
176
+ console.log(tableText);
177
+ }
178
+ }
179
+ /**
180
+ * Starts a collapsible group in the console
181
+ */
182
+ group(label, collapsed = false) {
183
+ const prefix = this.getEffectivePrefix();
184
+ const fullLabel = `${prefix ? `[${prefix}] ` : ""}${label}`;
185
+ if (require_environment_detector.isBrowser && console.group && console.groupCollapsed) if (collapsed) console.groupCollapsed(fullLabel);
186
+ else console.group(fullLabel);
187
+ else {
188
+ const groupStart = "┌─ " + fullLabel;
189
+ console.log(groupStart);
190
+ }
191
+ this.groupDepth++;
192
+ }
193
+ /**
194
+ * Ends the current console group
195
+ */
196
+ groupEnd() {
197
+ if (this.groupDepth > 0) {
198
+ if (require_environment_detector.isBrowser && console.groupEnd) console.groupEnd();
199
+ else console.log("└─ (end group)");
200
+ this.groupDepth--;
201
+ }
202
+ }
203
+ /**
204
+ * Starts a timer with the given label
205
+ */
206
+ time(label) {
207
+ const timer = {
208
+ label,
209
+ startTime: this.getPerformanceNow()
210
+ };
211
+ this.timers.set(label, timer);
212
+ const prefix = this.getEffectivePrefix();
213
+ const output = require_utils.createPlainOutput("info", `Timer started: ${label}`, prefix);
214
+ console.log(output);
215
+ }
216
+ /**
217
+ * Ends a timer and logs the elapsed time
218
+ */
219
+ timeEnd(label) {
220
+ const timer = this.timers.get(label);
221
+ if (!timer) {
222
+ this.warn(`Timer '${label}' does not exist`);
223
+ return;
224
+ }
225
+ const elapsed = this.getPerformanceNow() - timer.startTime;
226
+ this.timers.delete(label);
227
+ const prefix = this.getEffectivePrefix();
228
+ const output = require_utils.createPlainOutput("info", `Timer ended: ${label} - ${elapsed.toFixed(2)}ms`, prefix);
229
+ console.log(output);
230
+ }
231
+ /**
232
+ * Gets performance.now() or fallback for older environments
233
+ */
234
+ getPerformanceNow() {
235
+ if (typeof performance !== "undefined" && performance.now) return performance.now();
236
+ if (require_environment_detector.isNode && process.hrtime) {
237
+ const [seconds, nanoseconds] = process.hrtime();
238
+ return seconds * 1e3 + nanoseconds / 1e6;
239
+ }
240
+ return Date.now();
241
+ }
242
+ };
243
+ const coreLogger = new CoreLogger();
244
+ /**
245
+ * Export individual methods for convenience (with proper binding)
246
+ */
247
+ const debug = (...args) => coreLogger.debug(...args);
248
+ const info = (...args) => coreLogger.info(...args);
249
+ const warn = (...args) => coreLogger.warn(...args);
250
+ const error = (...args) => coreLogger.error(...args);
251
+ const critical = (...args) => coreLogger.critical(...args);
252
+ const trace = (...args) => coreLogger.trace(...args);
253
+ const table = (data, columns) => coreLogger.table(data, columns);
254
+ const group = (label, collapsed) => coreLogger.group(label, collapsed);
255
+ const groupEnd = () => coreLogger.groupEnd();
256
+ const time = (label) => coreLogger.time(label);
257
+ const timeEnd = (label) => coreLogger.timeEnd(label);
258
+ const setGlobalPrefix = (prefix) => coreLogger.setGlobalPrefix(prefix);
259
+ const scope = (prefix) => coreLogger.scope(prefix);
260
+ const setVerbosity = (level) => coreLogger.setVerbosity(level);
261
+ const addHandler = (handler) => coreLogger.addHandler(handler);
262
+ //#endregion
263
+ exports.CoreLogger = CoreLogger;
264
+ exports.addHandler = addHandler;
265
+ exports.critical = critical;
266
+ exports.debug = debug;
267
+ exports.default = coreLogger;
268
+ exports.error = error;
269
+ exports.group = group;
270
+ exports.groupEnd = groupEnd;
271
+ exports.info = info;
272
+ exports.scope = scope;
273
+ exports.setGlobalPrefix = setGlobalPrefix;
274
+ exports.setVerbosity = setVerbosity;
275
+ exports.table = table;
276
+ exports.time = time;
277
+ exports.timeEnd = timeEnd;
278
+ exports.trace = trace;
279
+ exports.warn = warn;
280
+
281
+ //# sourceMappingURL=core.cjs.map
package/dist/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs","sources":["../src/core.ts"],"sourcesContent":["/**\n * @fileoverview Core Logger Module - Minimal logging without advanced features\n * @version 0.0.1\n * \n * This module provides the essential logging functionality without visual enhancements,\n * SVG support, or advanced styling. Perfect for lightweight applications or server-side usage.\n */\n\n// Core types\nimport type {\n LogLevel,\n Verbosity,\n LoggerConfig,\n ILogHandler,\n LogMetadata,\n TimerEntry\n} from './types/index.js';\n\n// Core utilities\nimport {\n parseStackTrace,\n formatTimestamp\n} from './utils/index.js';\n\n// Universal formatting and environment detection\nimport {\n createPlainOutput,\n getConsoleMethod,\n createLogEntry,\n formatTablePlain,\n safeSerialize\n} from './utils/formatting.js';\n\nimport {\n isBrowser,\n isNode,\n getRuntimeEnvironment,\n supportsColors,\n supportsCSSColors\n} from './utils/environment.js';\n\nimport { createStyledOutput } from './utils/output.js';\n\n// Constants\nimport { DEFAULT_CONFIG, LEVEL_STYLES } from './constants.js';\n\n/**\n * Minimal Logger class with core functionality only\n * \n * @example\n * ```typescript\n * import { CoreLogger } from '@mks2508/better-logger/core';\n * \n * const logger = new CoreLogger();\n * logger.info('Hello world');\n * logger.error('Something went wrong', error);\n * ```\n */\nexport class CoreLogger {\n private config: LoggerConfig;\n private scopedPrefix?: string;\n private handlers: ILogHandler[] = [];\n private timers: Map<string, TimerEntry> = new Map();\n private groupDepth: number = 0;\n\n /**\n * Creates a new CoreLogger instance\n * @param config - Optional configuration\n */\n constructor(config: Partial<LoggerConfig> = {}) {\n this.config = {\n ...DEFAULT_CONFIG,\n ...config,\n // Auto-configure based on environment\n enableColors: config.enableColors ?? (isBrowser ? true : false),\n enableTimestamps: config.enableTimestamps ?? true,\n enableStackTrace: config.enableStackTrace ?? false,\n autoDetectTheme: config.autoDetectTheme ?? true\n };\n }\n\n // ===== CONFIGURATION METHODS =====\n\n /**\n * Get current configuration\n */\n getConfig(): LoggerConfig {\n return { ...this.config };\n }\n\n /**\n * Sets the global prefix for all log messages\n */\n setGlobalPrefix(prefix: string): void {\n this.config.globalPrefix = prefix;\n }\n\n /**\n * Sets the verbosity level for filtering log output\n */\n setVerbosity(level: Verbosity): void {\n this.config.verbosity = level;\n }\n\n /**\n * Creates a scoped logger with a specific prefix\n */\n scope(prefix: string): CoreLogger {\n const scopedLogger = new CoreLogger(this.config);\n scopedLogger.scopedPrefix = prefix;\n scopedLogger.handlers = [...this.handlers];\n return scopedLogger;\n }\n\n /**\n * Adds a custom log handler for extensibility\n */\n addHandler(handler: ILogHandler): void {\n this.handlers.push(handler);\n }\n\n // ===== CORE LOGGING METHODS =====\n\n /**\n * Checks if a log level should be output based on current verbosity\n */\n private shouldLog(level: LogLevel): boolean {\n if (this.config.verbosity === 'silent') return false;\n const levels = { debug: 0, info: 1, warn: 2, error: 3, critical: 4 };\n return levels[level] >= levels[this.config.verbosity];\n }\n\n /**\n * Gets the effective prefix (global + scoped)\n */\n private getEffectivePrefix(): string | undefined {\n const parts = [this.config.globalPrefix, this.scopedPrefix].filter(Boolean);\n return parts.length > 0 ? parts.join(':') : undefined;\n }\n\n /**\n * Core logging method with universal formatting\n */\n private log(level: LogLevel, ...args: any[]): void {\n if (!this.shouldLog(level)) return;\n\n const prefix = this.getEffectivePrefix();\n const message = String(args[0] || '');\n const stackInfo = this.config.enableStackTrace ? parseStackTrace() : null;\n const consoleMethod = getConsoleMethod(level);\n \n // Choose formatting based on environment and configuration\n if (isBrowser && this.config.enableColors && supportsCSSColors()) {\n // Browser with CSS styling\n try {\n const [format, ...styles] = createStyledOutput(\n level,\n LEVEL_STYLES,\n prefix,\n message,\n stackInfo,\n this.config.autoDetectTheme\n );\n console[consoleMethod](format, ...styles, ...args.slice(1));\n } catch (error) {\n // Fallback to plain text if CSS fails\n const output = createPlainOutput(level, message, prefix, stackInfo);\n console[consoleMethod](output, ...args.slice(1));\n }\n } else {\n // Node.js or browser without colors - use plain text\n const groupIndent = ' '.repeat(this.groupDepth);\n const output = groupIndent + createPlainOutput(level, message, prefix, stackInfo);\n console[consoleMethod](output, ...args.slice(1));\n }\n\n // Call custom handlers with structured metadata\n const logEntry = createLogEntry(level, message, args, prefix, stackInfo);\n const metadata: LogMetadata = {\n timestamp: logEntry.timestamp,\n level,\n prefix,\n stackInfo: logEntry.location,\n };\n\n this.handlers.forEach(handler => {\n try {\n handler.handle(level, message, args, metadata);\n } catch (error) {\n console.error('Log handler failed:', error);\n }\n });\n }\n\n /**\n * Logs debug information (lowest priority)\n */\n debug(...args: any[]): void {\n this.log('debug', ...args);\n }\n\n /**\n * Logs informational messages\n */\n info(...args: any[]): void {\n this.log('info', ...args);\n }\n\n /**\n * Logs warning messages\n */\n warn(...args: any[]): void {\n this.log('warn', ...args);\n }\n\n /**\n * Logs error messages\n */\n error(...args: any[]): void {\n this.log('error', ...args);\n }\n\n /**\n * Logs critical errors (highest priority)\n */\n critical(...args: any[]): void {\n this.log('critical', ...args);\n }\n\n /**\n * Logs trace information (detailed debugging)\n */\n trace(...args: any[]): void {\n this.log('debug', ...args);\n if (this.shouldLog('debug')) {\n console.trace(...args);\n }\n }\n\n // ===== BASIC ADVANCED FEATURES =====\n\n /**\n * Displays data in a table format\n */\n table(data: any, columns?: string[]): void {\n if (!this.shouldLog('info')) return;\n\n const prefix = this.getEffectivePrefix();\n const tableHeader = `[TABLE]${prefix ? ` [${prefix}]` : ''}:`;\n \n if (isBrowser && typeof console.table === 'function') {\n // Browser has native table support\n console.log(tableHeader);\n if (columns) {\n console.table(data, columns);\n } else {\n console.table(data);\n }\n } else {\n // Node.js or fallback - use plain text formatting\n console.log(tableHeader);\n const tableText = formatTablePlain(data, columns);\n console.log(tableText);\n }\n }\n\n /**\n * Starts a collapsible group in the console\n */\n group(label: string, collapsed: boolean = false): void {\n const prefix = this.getEffectivePrefix();\n const fullLabel = `${prefix ? `[${prefix}] ` : ''}${label}`;\n \n if (isBrowser && console.group && console.groupCollapsed) {\n // Browser supports native grouping\n if (collapsed) {\n console.groupCollapsed(fullLabel);\n } else {\n console.group(fullLabel);\n }\n } else {\n // Node.js fallback - just log the group label\n const groupStart = '┌─ ' + fullLabel;\n console.log(groupStart);\n }\n \n this.groupDepth++;\n }\n\n /**\n * Ends the current console group\n */\n groupEnd(): void {\n if (this.groupDepth > 0) {\n if (isBrowser && console.groupEnd) {\n console.groupEnd();\n } else {\n // Node.js fallback - log group end\n const groupEnd = '└─ (end group)';\n console.log(groupEnd);\n }\n this.groupDepth--;\n }\n }\n\n /**\n * Starts a timer with the given label\n */\n time(label: string): void {\n const startTime = this.getPerformanceNow();\n const timer: TimerEntry = {\n label,\n startTime,\n };\n this.timers.set(label, timer);\n \n const prefix = this.getEffectivePrefix();\n const message = `Timer started: ${label}`;\n const output = createPlainOutput('info', message, prefix);\n console.log(output);\n }\n\n /**\n * Ends a timer and logs the elapsed time\n */\n timeEnd(label: string): void {\n const timer = this.timers.get(label);\n if (!timer) {\n this.warn(`Timer '${label}' does not exist`);\n return;\n }\n\n const elapsed = this.getPerformanceNow() - timer.startTime;\n this.timers.delete(label);\n \n const prefix = this.getEffectivePrefix();\n const message = `Timer ended: ${label} - ${elapsed.toFixed(2)}ms`;\n const output = createPlainOutput('info', message, prefix);\n console.log(output);\n }\n\n /**\n * Gets performance.now() or fallback for older environments\n */\n private getPerformanceNow(): number {\n if (typeof performance !== 'undefined' && performance.now) {\n return performance.now();\n }\n \n if (isNode && process.hrtime) {\n // Node.js high-resolution time\n const [seconds, nanoseconds] = process.hrtime();\n return seconds * 1000 + nanoseconds / 1000000;\n }\n \n // Fallback to Date.now()\n return Date.now();\n }\n}\n\n// Create and export singleton instance for convenience\nconst coreLogger = new CoreLogger();\n\n/**\n * Export individual methods for convenience (with proper binding)\n */\nexport const debug = (...args: any[]) => coreLogger.debug(...args);\nexport const info = (...args: any[]) => coreLogger.info(...args);\nexport const warn = (...args: any[]) => coreLogger.warn(...args);\nexport const error = (...args: any[]) => coreLogger.error(...args);\nexport const critical = (...args: any[]) => coreLogger.critical(...args);\nexport const trace = (...args: any[]) => coreLogger.trace(...args);\nexport const table = (data: any, columns?: string[]) => coreLogger.table(data, columns);\nexport const group = (label: string, collapsed?: boolean) => coreLogger.group(label, collapsed);\nexport const groupEnd = () => coreLogger.groupEnd();\nexport const time = (label: string) => coreLogger.time(label);\nexport const timeEnd = (label: string) => coreLogger.timeEnd(label);\nexport const setGlobalPrefix = (prefix: string) => coreLogger.setGlobalPrefix(prefix);\nexport const scope = (prefix: string) => coreLogger.scope(prefix);\nexport const setVerbosity = (level: Verbosity) => coreLogger.setVerbosity(level);\nexport const addHandler = (handler: ILogHandler) => coreLogger.addHandler(handler);\n\n// Export the singleton as default\nexport default coreLogger;\n\n// Re-export core types\nexport type {\n LogLevel,\n Verbosity,\n LoggerConfig,\n ILogHandler,\n LogMetadata\n} from './types/index.js';"],"names":["CoreLogger","config","scopedPrefix","handlers","timers","Map","groupDepth","constructor","this","DEFAULT_CONFIG","enableColors","isBrowser","enableTimestamps","enableStackTrace","autoDetectTheme","getConfig","setGlobalPrefix","prefix","globalPrefix","setVerbosity","level","verbosity","scope","scopedLogger","addHandler","handler","push","shouldLog","levels","debug","info","warn","error","critical","getEffectivePrefix","parts","filter","Boolean","length","join","log","args","message","String","stackInfo","parseStackTrace","consoleMethod","getConsoleMethod","supportsCSSColors","format","styles","createStyledOutput","LEVEL_STYLES","console","slice","output","createPlainOutput","repeat","logEntry","createLogEntry","metadata","timestamp","location","forEach","handle","trace","table","data","columns","tableHeader","tableText","formatTablePlain","group","label","collapsed","fullLabel","groupCollapsed","groupStart","groupEnd","time","timer","startTime","getPerformanceNow","set","timeEnd","get","elapsed","delete","toFixed","performance","now","isNode","process","hrtime","seconds","nanoseconds","Date","coreLogger"],"mappings":"6MA0DO,MAAMA,WACDC,OACAC,aACAC,SAA0B,GAC1BC,0BAAsCC,IACtCC,WAAqB,EAM7B,WAAAC,CAAYN,EAAgC,IACxCO,KAAKP,OAAS,IACPQ,EAAAA,kBACAR,EAEHS,aAAcT,EAAOS,gBAAiBC,EAAAA,UACtCC,iBAAkBX,EAAOW,mBAAoB,EAC7CC,iBAAkBZ,EAAOY,mBAAoB,EAC7CC,gBAAiBb,EAAOa,kBAAmB,EAEnD,CAOA,SAAAC,GACI,MAAO,IAAKP,KAAKP,OACrB,CAKA,eAAAe,CAAgBC,GACZT,KAAKP,OAAOiB,aAAeD,CAC/B,CAKA,YAAAE,CAAaC,GACTZ,KAAKP,OAAOoB,UAAYD,CAC5B,CAKA,KAAAE,CAAML,GACF,MAAMM,EAAe,IAAIvB,WAAWQ,KAAKP,QAGzC,OAFAsB,EAAarB,aAAee,EAC5BM,EAAapB,SAAW,IAAIK,KAAKL,UAC1BoB,CACX,CAKA,UAAAC,CAAWC,GACPjB,KAAKL,SAASuB,KAAKD,EACvB,CAOQ,SAAAE,CAAUP,GACd,GAA8B,WAA1BZ,KAAKP,OAAOoB,UAAwB,OAAO,EAC/C,MAAMO,EAAS,CAAEC,MAAO,EAAGC,KAAM,EAAGC,KAAM,EAAGC,MAAO,EAAGC,SAAU,GACjE,OAAOL,EAAOR,IAAUQ,EAAOpB,KAAKP,OAAOoB,UAC/C,CAKQ,kBAAAa,GACJ,MAAMC,EAAQ,CAAC3B,KAAKP,OAAOiB,aAAcV,KAAKN,cAAckC,OAAOC,SACnE,OAAOF,EAAMG,OAAS,EAAIH,EAAMI,KAAK,UAAO,CAChD,CAKQ,GAAAC,CAAIpB,KAAoBqB,GAC5B,IAAKjC,KAAKmB,UAAUP,GAAQ,OAE5B,MAAMH,EAAST,KAAK0B,qBACdQ,EAAUC,OAAOF,EAAK,IAAM,IAC5BG,EAAYpC,KAAKP,OAAOY,iBAAmBgC,EAAAA,kBAAoB,KAC/DC,EAAgBC,EAAAA,iBAAiB3B,GAGvC,GAAIT,EAAAA,WAAaH,KAAKP,OAAOS,cAAgBsC,EAAAA,oBAEzC,IACI,MAAOC,KAAWC,GAAUC,EAAAA,mBACxB/B,EACAgC,EAAAA,aACAnC,EACAyB,EACAE,EACApC,KAAKP,OAAOa,iBAEhBuC,QAAQP,GAAeG,KAAWC,KAAWT,EAAKa,MAAM,GAC5D,OAAStB,GAEL,MAAMuB,EAASC,EAAAA,kBAAkBpC,EAAOsB,EAASzB,EAAQ2B,GACzDS,QAAQP,GAAeS,KAAWd,EAAKa,MAAM,GACjD,KACG,CAEH,MACMC,EADc,KAAKE,OAAOjD,KAAKF,YACRkD,EAAAA,kBAAkBpC,EAAOsB,EAASzB,EAAQ2B,GACvES,QAAQP,GAAeS,KAAWd,EAAKa,MAAM,GACjD,CAGA,MAAMI,EAAWC,EAAAA,eAAevC,EAAOsB,EAASD,EAAMxB,EAAQ2B,GACxDgB,EAAwB,CAC1BC,UAAWH,EAASG,UACpBzC,QACAH,SACA2B,UAAWc,EAASI,UAGxBtD,KAAKL,SAAS4D,QAAQtC,IAClB,IACIA,EAAQuC,OAAO5C,EAAOsB,EAASD,EAAMmB,EACzC,OAAS5B,GACLqB,QAAQrB,MAAM,sBAAuBA,EACzC,GAER,CAKA,KAAAH,IAASY,GACLjC,KAAKgC,IAAI,WAAYC,EACzB,CAKA,IAAAX,IAAQW,GACJjC,KAAKgC,IAAI,UAAWC,EACxB,CAKA,IAAAV,IAAQU,GACJjC,KAAKgC,IAAI,UAAWC,EACxB,CAKA,KAAAT,IAASS,GACLjC,KAAKgC,IAAI,WAAYC,EACzB,CAKA,QAAAR,IAAYQ,GACRjC,KAAKgC,IAAI,cAAeC,EAC5B,CAKA,KAAAwB,IAASxB,GACLjC,KAAKgC,IAAI,WAAYC,GACjBjC,KAAKmB,UAAU,UACf0B,QAAQY,SAASxB,EAEzB,CAOA,KAAAyB,CAAMC,EAAWC,GACb,IAAK5D,KAAKmB,UAAU,QAAS,OAE7B,MAAMV,EAAST,KAAK0B,qBACdmC,EAAc,UAAUpD,EAAS,KAAKA,KAAY,MAExD,GAAIN,aAAsC,mBAAlB0C,QAAQa,MAE5Bb,QAAQb,IAAI6B,GACRD,EACAf,QAAQa,MAAMC,EAAMC,GAEpBf,QAAQa,MAAMC,OAEf,CAEHd,QAAQb,IAAI6B,GACZ,MAAMC,EAAYC,EAAAA,iBAAiBJ,EAAMC,GACzCf,QAAQb,IAAI8B,EAChB,CACJ,CAKA,KAAAE,CAAMC,EAAeC,GAAqB,GACtC,MAAMzD,EAAST,KAAK0B,qBACdyC,EAAY,GAAG1D,EAAS,IAAIA,MAAa,KAAKwD,IAEpD,GAAI9D,EAAAA,WAAa0C,QAAQmB,OAASnB,QAAQuB,eAElCF,EACArB,QAAQuB,eAAeD,GAEvBtB,QAAQmB,MAAMG,OAEf,CAEH,MAAME,EAAa,MAAQF,EAC3BtB,QAAQb,IAAIqC,EAChB,CAEArE,KAAKF,YACT,CAKA,QAAAwE,GACI,GAAItE,KAAKF,WAAa,EAAG,CACrB,GAAIK,EAAAA,WAAa0C,QAAQyB,SACrBzB,QAAQyB,eACL,CAEH,MAAMA,EAAW,iBACjBzB,QAAQb,IAAIsC,EAChB,CACAtE,KAAKF,YACT,CACJ,CAKA,IAAAyE,CAAKN,GACD,MACMO,EAAoB,CACtBP,QACAQ,UAHczE,KAAK0E,qBAKvB1E,KAAKJ,OAAO+E,IAAIV,EAAOO,GAEvB,MAAM/D,EAAST,KAAK0B,qBACdQ,EAAU,kBAAkB+B,IAC5BlB,EAASC,EAAAA,kBAAkB,OAAQd,EAASzB,GAClDoC,QAAQb,IAAIe,EAChB,CAKA,OAAA6B,CAAQX,GACJ,MAAMO,EAAQxE,KAAKJ,OAAOiF,IAAIZ,GAC9B,IAAKO,EAED,YADAxE,KAAKuB,KAAK,UAAU0C,qBAIxB,MAAMa,EAAU9E,KAAK0E,oBAAsBF,EAAMC,UACjDzE,KAAKJ,OAAOmF,OAAOd,GAEnB,MAAMxD,EAAST,KAAK0B,qBACdQ,EAAU,gBAAgB+B,OAAWa,EAAQE,QAAQ,OACrDjC,EAASC,EAAAA,kBAAkB,OAAQd,EAASzB,GAClDoC,QAAQb,IAAIe,EAChB,CAKQ,iBAAA2B,GACJ,GAA2B,oBAAhBO,aAA+BA,YAAYC,IAClD,OAAOD,YAAYC,MAGvB,GAAIC,EAAAA,QAAUC,QAAQC,OAAQ,CAE1B,MAAOC,EAASC,GAAeH,QAAQC,SACvC,OAAiB,IAAVC,EAAiBC,EAAc,GAC1C,CAGA,OAAOC,KAAKN,KAChB,EAIJ,MAAMO,EAAa,IAAIjG,4DAmBIyB,GAAyBwE,EAAWzE,WAAWC,oBAVlD,IAAIgB,IAAgBwD,EAAWhE,YAAYQ,iBAJ9C,IAAIA,IAAgBwD,EAAWpE,SAASY,mCAGxC,IAAIA,IAAgBwD,EAAWjE,SAASS,iBAIxC,CAACgC,EAAeC,IAAwBuB,EAAWzB,MAAMC,EAAOC,oBAC7D,IAAMuB,EAAWnB,wBAPrB,IAAIrC,IAAgBwD,EAAWnE,QAAQW,iBAWrCxB,GAAmBgF,EAAW3E,MAAML,2BAD1BA,GAAmBgF,EAAWjF,gBAAgBC,wBAEjDG,GAAqB6E,EAAW9E,aAAaC,iBAPrD,CAAC+C,EAAWC,IAAuB6B,EAAW/B,MAAMC,EAAMC,gBAG1DK,GAAkBwB,EAAWlB,KAAKN,mBAC/BA,GAAkBwB,EAAWb,QAAQX,iBALxC,IAAIhC,IAAgBwD,EAAWhC,SAASxB,gBAHzC,IAAIA,IAAgBwD,EAAWlE,QAAQU"}
1
+ {"version":3,"file":"core.cjs","names":["DEFAULT_CONFIG","isBrowser","LOG_LEVELS","parseStackTrace","getConsoleMethod","createStyledOutput","LEVEL_STYLES","createPlainOutput","createLogEntry","formatTablePlain","isNode"],"sources":["../src/core.ts"],"sourcesContent":["/**\n * @fileoverview Core Logger Module - Minimal logging without advanced features\n * \n * This module provides the essential logging functionality without visual enhancements,\n * SVG support, or advanced styling. Perfect for lightweight applications or server-side usage.\n */\n\n// Core types\nimport type {\n LogLevel,\n Verbosity,\n LoggerConfig,\n ILogHandler,\n LogMetadata,\n TimerEntry\n} from './types/index.js';\n\n// Core utilities\nimport {\n parseStackTrace,\n formatTimestamp\n} from './utils/index.js';\n\n// Universal formatting and environment detection\nimport {\n createPlainOutput,\n getConsoleMethod,\n createLogEntry,\n formatTablePlain,\n safeSerialize,\n type OutputFormat\n} from './utils/formatting.js';\n\nimport {\n isBrowser,\n isNode\n} from './utils/environment-detector.js';\n\nimport { createStyledOutput } from './utils/output.js';\n\n// Constants\nimport { DEFAULT_CONFIG, LEVEL_STYLES } from './constants.js';\nimport { LOG_LEVELS } from './types/core.js';\n\n/**\n * Minimal Logger class with core functionality only\n * \n * @example\n * ```typescript\n * import { CoreLogger } from '@mks2508/better-logger/core';\n * \n * const logger = new CoreLogger();\n * logger.info('Hello world');\n * logger.error('Something went wrong', error);\n * ```\n */\nexport class CoreLogger {\n private config: LoggerConfig;\n private scopedPrefix?: string;\n private handlers: ILogHandler[] = [];\n private timers: Map<string, TimerEntry> = new Map();\n private groupDepth: number = 0;\n\n /**\n * Creates a new CoreLogger instance\n * @param config - Optional configuration\n */\n constructor(config: Partial<LoggerConfig> = {}) {\n this.config = {\n ...DEFAULT_CONFIG,\n ...config,\n // Auto-configure based on environment\n enableColors: config.enableColors ?? (isBrowser ? true : false),\n enableTimestamps: config.enableTimestamps ?? true,\n enableStackTrace: config.enableStackTrace ?? false,\n autoDetectTheme: config.autoDetectTheme ?? true,\n outputFormat: config.outputFormat ?? 'auto'\n };\n }\n\n // ===== CONFIGURATION METHODS =====\n\n /**\n * Get current configuration\n */\n getConfig(): LoggerConfig {\n return { ...this.config };\n }\n\n /**\n * Sets the global prefix for all log messages\n */\n setGlobalPrefix(prefix: string): void {\n this.config.globalPrefix = prefix;\n }\n\n /**\n * Sets the verbosity level for filtering log output\n */\n setVerbosity(level: Verbosity): void {\n this.config.verbosity = level;\n }\n\n /**\n * Creates a scoped logger with a specific prefix\n */\n scope(prefix: string): CoreLogger {\n const scopedLogger = new CoreLogger(this.config);\n scopedLogger.scopedPrefix = prefix;\n scopedLogger.handlers = [...this.handlers];\n return scopedLogger;\n }\n\n /**\n * Adds a custom log handler for extensibility\n */\n addHandler(handler: ILogHandler): void {\n this.handlers.push(handler);\n }\n\n // ===== CORE LOGGING METHODS =====\n\n /**\n * Checks if a log level should be output based on current verbosity\n */\n private shouldLog(level: LogLevel): boolean {\n if (this.config.verbosity === 'silent') return false;\n const verbosity = this.config.verbosity as LogLevel;\n return LOG_LEVELS[level] >= LOG_LEVELS[verbosity];\n }\n\n /**\n * Gets the effective prefix (global + scoped)\n */\n private getEffectivePrefix(): string | undefined {\n const parts = [this.config.globalPrefix, this.scopedPrefix].filter(Boolean);\n return parts.length > 0 ? parts.join(':') : undefined;\n }\n\n /**\n * Core logging method with universal formatting\n */\n private log(level: LogLevel, ...args: unknown[]): void {\n if (!this.shouldLog(level)) return;\n\n const prefix = this.getEffectivePrefix();\n const message = String(args[0] || '');\n const stackInfo = this.config.enableStackTrace ? parseStackTrace() : null;\n const consoleMethod = getConsoleMethod(level);\n\n // Choose formatting based on environment and configuration\n if (isBrowser && this.config.enableColors) {\n // Browser with CSS styling\n try {\n const [format, ...styles] = createStyledOutput(\n level,\n LEVEL_STYLES,\n prefix,\n message,\n stackInfo,\n this.config.autoDetectTheme\n );\n console[consoleMethod](format, ...styles, ...args.slice(1));\n } catch (error) {\n // Fallback to plain formatting if CSS fails\n const output = createPlainOutput(level, message, prefix, stackInfo);\n console[consoleMethod](output, ...args.slice(1));\n }\n } else {\n // Node.js or browser without colors - use plain formatting\n const groupIndent = ' '.repeat(this.groupDepth);\n const output = groupIndent + createPlainOutput(level, message, prefix, stackInfo);\n console[consoleMethod](output, ...args.slice(1));\n }\n\n // Call custom handlers with structured metadata\n const logEntry = createLogEntry(level, message, args, prefix, stackInfo);\n const metadata: LogMetadata = {\n timestamp: logEntry.timestamp,\n level,\n prefix,\n stackInfo: logEntry.location,\n };\n\n this.handlers.forEach(handler => {\n try {\n handler.handle(level, message, args, metadata);\n } catch (error) {\n console.error('Log handler failed:', error);\n }\n });\n }\n\n /**\n * Logs debug information (lowest priority)\n */\n debug(...args: unknown[]): void {\n this.log('debug', ...args);\n }\n\n /**\n * Logs informational messages\n */\n info(...args: unknown[]): void {\n this.log('info', ...args);\n }\n\n /**\n * Logs warning messages\n */\n warn(...args: unknown[]): void {\n this.log('warn', ...args);\n }\n\n /**\n * Logs error messages\n */\n error(...args: unknown[]): void {\n this.log('error', ...args);\n }\n\n /**\n * Logs critical errors (highest priority)\n */\n critical(...args: unknown[]): void {\n this.log('critical', ...args);\n }\n\n /**\n * Logs trace information (detailed debugging)\n */\n trace(...args: unknown[]): void {\n this.log('debug', ...args);\n if (this.shouldLog('debug')) {\n console.trace(...args);\n }\n }\n\n // ===== BASIC ADVANCED FEATURES =====\n\n /**\n * Displays data in a table format\n */\n table(data: any, columns?: string[]): void {\n if (!this.shouldLog('info')) return;\n\n const prefix = this.getEffectivePrefix();\n const tableHeader = `[TABLE]${prefix ? ` [${prefix}]` : ''}:`;\n \n if (isBrowser && typeof console.table === 'function') {\n // Browser has native table support\n console.log(tableHeader);\n if (columns) {\n console.table(data, columns);\n } else {\n console.table(data);\n }\n } else {\n // Node.js or fallback - use plain text formatting\n console.log(tableHeader);\n const tableText = formatTablePlain(data, columns);\n console.log(tableText);\n }\n }\n\n /**\n * Starts a collapsible group in the console\n */\n group(label: string, collapsed: boolean = false): void {\n const prefix = this.getEffectivePrefix();\n const fullLabel = `${prefix ? `[${prefix}] ` : ''}${label}`;\n \n if (isBrowser && console.group && console.groupCollapsed) {\n // Browser supports native grouping\n if (collapsed) {\n console.groupCollapsed(fullLabel);\n } else {\n console.group(fullLabel);\n }\n } else {\n // Node.js fallback - just log the group label\n const groupStart = '┌─ ' + fullLabel;\n console.log(groupStart);\n }\n \n this.groupDepth++;\n }\n\n /**\n * Ends the current console group\n */\n groupEnd(): void {\n if (this.groupDepth > 0) {\n if (isBrowser && console.groupEnd) {\n console.groupEnd();\n } else {\n // Node.js fallback - log group end\n const groupEnd = '└─ (end group)';\n console.log(groupEnd);\n }\n this.groupDepth--;\n }\n }\n\n /**\n * Starts a timer with the given label\n */\n time(label: string): void {\n const startTime = this.getPerformanceNow();\n const timer: TimerEntry = {\n label,\n startTime,\n };\n this.timers.set(label, timer);\n \n const prefix = this.getEffectivePrefix();\n const message = `Timer started: ${label}`;\n const output = createPlainOutput('info', message, prefix);\n console.log(output);\n }\n\n /**\n * Ends a timer and logs the elapsed time\n */\n timeEnd(label: string): void {\n const timer = this.timers.get(label);\n if (!timer) {\n this.warn(`Timer '${label}' does not exist`);\n return;\n }\n\n const elapsed = this.getPerformanceNow() - timer.startTime;\n this.timers.delete(label);\n \n const prefix = this.getEffectivePrefix();\n const message = `Timer ended: ${label} - ${elapsed.toFixed(2)}ms`;\n const output = createPlainOutput('info', message, prefix);\n console.log(output);\n }\n\n /**\n * Gets performance.now() or fallback for older environments\n */\n private getPerformanceNow(): number {\n if (typeof performance !== 'undefined' && performance.now) {\n return performance.now();\n }\n \n if (isNode && process.hrtime) {\n // Node.js high-resolution time\n const [seconds, nanoseconds] = process.hrtime();\n return seconds * 1000 + nanoseconds / 1000000;\n }\n \n // Fallback to Date.now()\n return Date.now();\n }\n}\n\n// Create and export singleton instance for convenience\nconst coreLogger = new CoreLogger();\n\n/**\n * Export individual methods for convenience (with proper binding)\n */\nexport const debug = (...args: any[]) => coreLogger.debug(...args);\nexport const info = (...args: any[]) => coreLogger.info(...args);\nexport const warn = (...args: any[]) => coreLogger.warn(...args);\nexport const error = (...args: any[]) => coreLogger.error(...args);\nexport const critical = (...args: any[]) => coreLogger.critical(...args);\nexport const trace = (...args: any[]) => coreLogger.trace(...args);\nexport const table = (data: any, columns?: string[]) => coreLogger.table(data, columns);\nexport const group = (label: string, collapsed?: boolean) => coreLogger.group(label, collapsed);\nexport const groupEnd = () => coreLogger.groupEnd();\nexport const time = (label: string) => coreLogger.time(label);\nexport const timeEnd = (label: string) => coreLogger.timeEnd(label);\nexport const setGlobalPrefix = (prefix: string) => coreLogger.setGlobalPrefix(prefix);\nexport const scope = (prefix: string) => coreLogger.scope(prefix);\nexport const setVerbosity = (level: Verbosity) => coreLogger.setVerbosity(level);\nexport const addHandler = (handler: ILogHandler) => coreLogger.addHandler(handler);\n\n// Export the singleton as default\nexport default coreLogger;\n\n// Re-export core types\nexport type {\n LogLevel,\n Verbosity,\n LoggerConfig,\n ILogHandler,\n LogMetadata\n} from './types/index.js';"],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * @fileoverview Core Logger Module - Minimal logging without advanced features
3
- * @version 0.0.1
4
3
  *
5
4
  * This module provides the essential logging functionality without visual enhancements,
6
5
  * SVG support, or advanced styling. Perfect for lightweight applications or server-side usage.
@@ -64,27 +63,27 @@ export declare class CoreLogger {
64
63
  /**
65
64
  * Logs debug information (lowest priority)
66
65
  */
67
- debug(...args: any[]): void;
66
+ debug(...args: unknown[]): void;
68
67
  /**
69
68
  * Logs informational messages
70
69
  */
71
- info(...args: any[]): void;
70
+ info(...args: unknown[]): void;
72
71
  /**
73
72
  * Logs warning messages
74
73
  */
75
- warn(...args: any[]): void;
74
+ warn(...args: unknown[]): void;
76
75
  /**
77
76
  * Logs error messages
78
77
  */
79
- error(...args: any[]): void;
78
+ error(...args: unknown[]): void;
80
79
  /**
81
80
  * Logs critical errors (highest priority)
82
81
  */
83
- critical(...args: any[]): void;
82
+ critical(...args: unknown[]): void;
84
83
  /**
85
84
  * Logs trace information (detailed debugging)
86
85
  */
87
- trace(...args: any[]): void;
86
+ trace(...args: unknown[]): void;
88
87
  /**
89
88
  * Displays data in a table format
90
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}