syntropylog 0.9.18 → 0.9.20

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 (161) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +8 -1
  3. package/dist/index.cjs +1 -4686
  4. package/dist/index.d.ts +72 -1201
  5. package/dist/index.mjs +1 -4652
  6. package/dist/testing/index.cjs +1 -107
  7. package/dist/testing/index.d.ts +8 -581
  8. package/dist/testing/index.mjs +2 -107
  9. package/dist/types/SyntropyLog.d.ts +0 -2
  10. package/dist/types/config.d.ts +3 -18
  11. package/dist/types/config.schema.d.ts +49 -1169
  12. package/dist/types/core/LifecycleManager.d.ts +0 -3
  13. package/dist/types/internal-types.d.ts +0 -48
  14. package/dist/types/logger/Logger.d.ts +3 -2
  15. package/dist/types/logger/transports/ConsoleTransport.d.ts +1 -1
  16. package/dist/types/logger/transports/Transport.d.ts +2 -2
  17. package/dist/types/masking/MaskingEngine.d.ts +5 -10
  18. package/dist/types/serialization/SerializationManager.d.ts +4 -1
  19. package/dist/types/serialization/SerializationPipeline.d.ts +13 -2
  20. package/dist/types/serialization/pipeline/HygieneStep.d.ts +2 -2
  21. package/dist/types/serialization/pipeline/SanitizationStep.d.ts +1 -1
  22. package/dist/types/serialization/pipeline/SerializationStep.d.ts +5 -1
  23. package/dist/types/serialization/pipeline/TimeoutStep.d.ts +1 -1
  24. package/dist/types/serialization/types.d.ts +2 -2
  25. package/dist/types/testing/index.d.ts +0 -1
  26. package/dist/types/type-exports.d.ts +0 -1
  27. package/dist/types/types.d.ts +2 -2
  28. package/package.json +6 -17
  29. package/dist/SyntropyLog.js +0 -109
  30. package/dist/SyntropyLog.js.map +0 -1
  31. package/dist/config/loadLoggerConfig.js +0 -61
  32. package/dist/config/loadLoggerConfig.js.map +0 -1
  33. package/dist/config.js +0 -8
  34. package/dist/config.js.map +0 -1
  35. package/dist/config.schema.js +0 -255
  36. package/dist/config.schema.js.map +0 -1
  37. package/dist/context/ContextManager.js +0 -233
  38. package/dist/context/ContextManager.js.map +0 -1
  39. package/dist/context/IContextManager.js +0 -10
  40. package/dist/context/IContextManager.js.map +0 -1
  41. package/dist/context/MockContextManager.js +0 -169
  42. package/dist/context/MockContextManager.js.map +0 -1
  43. package/dist/context/index.js +0 -4
  44. package/dist/context/index.js.map +0 -1
  45. package/dist/core/LifecycleManager.js +0 -187
  46. package/dist/core/LifecycleManager.js.map +0 -1
  47. package/dist/index.js +0 -24
  48. package/dist/index.js.map +0 -1
  49. package/dist/internal-types.js +0 -21
  50. package/dist/internal-types.js.map +0 -1
  51. package/dist/logger/ILogger.js +0 -2
  52. package/dist/logger/ILogger.js.map +0 -1
  53. package/dist/logger/Logger.js +0 -266
  54. package/dist/logger/Logger.js.map +0 -1
  55. package/dist/logger/LoggerFactory.js +0 -262
  56. package/dist/logger/LoggerFactory.js.map +0 -1
  57. package/dist/logger/adapters/UniversalAdapter.js +0 -30
  58. package/dist/logger/adapters/UniversalAdapter.js.map +0 -1
  59. package/dist/logger/formatters/UniversalLogFormatter.js +0 -86
  60. package/dist/logger/formatters/UniversalLogFormatter.js.map +0 -1
  61. package/dist/logger/index.js +0 -3
  62. package/dist/logger/index.js.map +0 -1
  63. package/dist/logger/levels.js +0 -23
  64. package/dist/logger/levels.js.map +0 -1
  65. package/dist/logger/transports/AdapterTransport.js +0 -55
  66. package/dist/logger/transports/AdapterTransport.js.map +0 -1
  67. package/dist/logger/transports/BaseConsolePrettyTransport.js +0 -51
  68. package/dist/logger/transports/BaseConsolePrettyTransport.js.map +0 -1
  69. package/dist/logger/transports/ClassicConsoleTransport.js +0 -77
  70. package/dist/logger/transports/ClassicConsoleTransport.js.map +0 -1
  71. package/dist/logger/transports/ColorfulConsoleTransport.js +0 -103
  72. package/dist/logger/transports/ColorfulConsoleTransport.js.map +0 -1
  73. package/dist/logger/transports/CompactConsoleTransport.js +0 -59
  74. package/dist/logger/transports/CompactConsoleTransport.js.map +0 -1
  75. package/dist/logger/transports/ConsoleTransport.js +0 -43
  76. package/dist/logger/transports/ConsoleTransport.js.map +0 -1
  77. package/dist/logger/transports/PrettyConsoleTransport.js +0 -56
  78. package/dist/logger/transports/PrettyConsoleTransport.js.map +0 -1
  79. package/dist/logger/transports/SpyTransport.js +0 -74
  80. package/dist/logger/transports/SpyTransport.js.map +0 -1
  81. package/dist/logger/transports/Transport.js +0 -47
  82. package/dist/logger/transports/Transport.js.map +0 -1
  83. package/dist/logger/transports/adapter.types.js +0 -2
  84. package/dist/logger/transports/adapter.types.js.map +0 -1
  85. package/dist/logger/transports/formatters/LogFormatter.js +0 -6
  86. package/dist/logger/transports/formatters/LogFormatter.js.map +0 -1
  87. package/dist/logger/transports/optionalChalk.js +0 -70
  88. package/dist/logger/transports/optionalChalk.js.map +0 -1
  89. package/dist/masking/MaskingEngine.js +0 -445
  90. package/dist/masking/MaskingEngine.js.map +0 -1
  91. package/dist/redis/BeaconRedis.js +0 -552
  92. package/dist/redis/BeaconRedis.js.map +0 -1
  93. package/dist/redis/BeaconRedisMock.js +0 -728
  94. package/dist/redis/BeaconRedisMock.js.map +0 -1
  95. package/dist/redis/IBeaconRedis.js +0 -7
  96. package/dist/redis/IBeaconRedis.js.map +0 -1
  97. package/dist/redis/RedisCommandExecutor.js +0 -420
  98. package/dist/redis/RedisCommandExecutor.js.map +0 -1
  99. package/dist/redis/RedisConnectionManager.js +0 -324
  100. package/dist/redis/RedisConnectionManager.js.map +0 -1
  101. package/dist/redis/RedisManager.js +0 -110
  102. package/dist/redis/RedisManager.js.map +0 -1
  103. package/dist/redis/index.js +0 -6
  104. package/dist/redis/index.js.map +0 -1
  105. package/dist/redis/redis.types.js +0 -2
  106. package/dist/redis/redis.types.js.map +0 -1
  107. package/dist/redis/redisCommandLogging.js +0 -67
  108. package/dist/redis/redisCommandLogging.js.map +0 -1
  109. package/dist/sanitization/SanitizationEngine.js +0 -66
  110. package/dist/sanitization/SanitizationEngine.js.map +0 -1
  111. package/dist/serialization/SerializationManager.js +0 -177
  112. package/dist/serialization/SerializationManager.js.map +0 -1
  113. package/dist/serialization/SerializationPipeline.js +0 -123
  114. package/dist/serialization/SerializationPipeline.js.map +0 -1
  115. package/dist/serialization/pipeline/HygieneStep.js +0 -42
  116. package/dist/serialization/pipeline/HygieneStep.js.map +0 -1
  117. package/dist/serialization/pipeline/SanitizationStep.js +0 -42
  118. package/dist/serialization/pipeline/SanitizationStep.js.map +0 -1
  119. package/dist/serialization/pipeline/SerializationStep.js +0 -64
  120. package/dist/serialization/pipeline/SerializationStep.js.map +0 -1
  121. package/dist/serialization/pipeline/TimeoutStep.js +0 -67
  122. package/dist/serialization/pipeline/TimeoutStep.js.map +0 -1
  123. package/dist/serialization/types.js +0 -15
  124. package/dist/serialization/types.js.map +0 -1
  125. package/dist/serialization/utils/DataSanitizer.js +0 -70
  126. package/dist/serialization/utils/DataSanitizer.js.map +0 -1
  127. package/dist/services/UserService.js +0 -27
  128. package/dist/services/UserService.js.map +0 -1
  129. package/dist/testing/BeaconRedisMock.js +0 -155
  130. package/dist/testing/BeaconRedisMock.js.map +0 -1
  131. package/dist/testing/MockSyntropyLog.js +0 -90
  132. package/dist/testing/MockSyntropyLog.js.map +0 -1
  133. package/dist/testing/SyntropyLogMock.js +0 -127
  134. package/dist/testing/SyntropyLogMock.js.map +0 -1
  135. package/dist/testing/index.js +0 -17
  136. package/dist/testing/index.js.map +0 -1
  137. package/dist/testing/test-helper.js +0 -60
  138. package/dist/testing/test-helper.js.map +0 -1
  139. package/dist/testing/types.js +0 -2
  140. package/dist/testing/types.js.map +0 -1
  141. package/dist/tsconfig.tsbuildinfo +0 -1
  142. package/dist/type-exports.js +0 -20
  143. package/dist/type-exports.js.map +0 -1
  144. package/dist/types/redis/BeaconRedis.d.ts +0 -266
  145. package/dist/types/redis/BeaconRedisMock.d.ts +0 -181
  146. package/dist/types/redis/IBeaconRedis.d.ts +0 -447
  147. package/dist/types/redis/RedisCommandExecutor.d.ts +0 -310
  148. package/dist/types/redis/RedisConnectionManager.d.ts +0 -108
  149. package/dist/types/redis/RedisManager.d.ts +0 -28
  150. package/dist/types/redis/index.d.ts +0 -5
  151. package/dist/types/redis/redis.types.d.ts +0 -43
  152. package/dist/types/redis/redisCommandLogging.d.ts +0 -38
  153. package/dist/types/services/UserService.d.ts +0 -16
  154. package/dist/types/testing/BeaconRedisMock.d.ts +0 -61
  155. package/dist/types/utils/createFailingClient.d.ts +0 -19
  156. package/dist/types.js +0 -10
  157. package/dist/types.js.map +0 -1
  158. package/dist/utils/createFailingClient.js +0 -55
  159. package/dist/utils/createFailingClient.js.map +0 -1
  160. package/dist/utils/sanitizeConfig.js +0 -77
  161. package/dist/utils/sanitizeConfig.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.20
4
+
5
+ ### Patch Changes
6
+
7
+ - Optimization and Security Refactor:
8
+ - Migrated configuration validation from Zod to Valibot to significantly reduce bundle size.
9
+ - Removed `ConcurrencyLimiter` and `logConcurrencyLimit` to simplify pipeline processing and eliminate async bottlenecks.
10
+ - Restored `optionalChalk` implementation for built-in visual console transports.
11
+ - Achieved 100% global test coverage.
12
+ - Implemented ReDoS (Catastrophic Backtracking) defenses in `MaskingEngine` with synchronous length limits on property keys.
13
+
14
+ ## 0.9.19
15
+
16
+ ### Patch Changes
17
+
18
+ - **Shutdown and package size**
19
+ - **Shutdown:** `shutdown()` now resolves only after all shutdown logs are written. LifecycleManager reorders shutdown (Redis + external processes first), awaits final log calls, then closes the logger factory so no logs appear after "Shutdown completed".
20
+ - **Smaller bundles:** Main CJS/ESM bundles are minified with Terser (~176KB → ~60KB each). Build no longer publishes `tsconfig.tsbuildinfo`; `src/services` excluded from type build.
21
+ - **README:** Added "Tree-shaking friendly" section.
22
+
3
23
  ## 0.9.18
4
24
 
5
25
  ### Patch Changes
package/README.md CHANGED
@@ -47,6 +47,10 @@ SyntropyLog was designed with the constraints of **banking, healthcare, and fina
47
47
  - **HIPAA**: Field-level control over what appears in logs at each severity level via the Logging Matrix.
48
48
  - **SOX**: Immutable audit trail via `withRetention` bindings and dedicated transports.
49
49
 
50
+ ### Tree-shaking friendly
51
+
52
+ We ship with `sideEffects: false` and ESM so bundlers (Vite, Rollup, webpack, esbuild) can tree-shake unused code. What ends up in your app is only what you import.
53
+
50
54
  ---
51
55
 
52
56
  ## 🛡️ Why SyntropyLog? (The Resilience Factor)
@@ -443,7 +447,10 @@ await syntropyLog.init({
443
447
 
444
448
  > **Silent Observer guarantee**: if the masking engine fails for any reason, it returns the original object and the application keeps running — it never throws.
445
449
 
446
- **Performance**: Built-in rules use synchronous regex matching (safe, known patterns). Custom rules you add still use the timeout-protected `regex-test` worker to guard against ReDoS. This avoids the ~3–6s delay per log that occurred when every key was tested via the worker queue.
450
+ **Performance**: Built-in rules use synchronous regex matching (safe, known patterns). Custom rules use the same synchronous engine for maximum speed.
451
+
452
+ > ⚠️ **Security Warning (Custom Rules)**
453
+ > Node.js regular expressions execute synchronously on the main thread. To prevent Event Loop blocking, SyntropyLog automatically skips evaluating any JSON keys longer than 256 characters. However, when writing **Custom Masking Rules**, it is your responsibility to write optimized, ReDoS-safe regular expressions. A catastrophic backtracking pattern in a custom rule could temporarily freeze your application if triggered by a specifically crafted payload.
447
454
 
448
455
  ---
449
456