hazo_logs 1.0.8 → 1.0.10

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 CHANGED
@@ -185,12 +185,32 @@ import { createLogApiHandler } from 'hazo_logs/ui/server';
185
185
 
186
186
  **Note**: The `hazo_logs/server` and `hazo_logs/ui/server` imports use the `server-only` package and will throw an error if accidentally imported in client bundles. This prevents Next.js build errors from Node.js APIs (`fs`, `async_hooks`) being bundled for the browser.
187
187
 
188
+ **Next.js 16+ Turbopack Compatibility**: As of v1.0.10, hazo_logs uses **conditional exports** in `package.json` to automatically serve a client-safe bundle to browser environments. When bundlers (Next.js Turbopack, Webpack, etc.) resolve `hazo_logs`, they automatically receive:
189
+ - **Browser/Client**: A lightweight console-only logger with zero Node.js dependencies
190
+ - **Node.js/Server**: The full winston-based logger with file transports
191
+
192
+ This eliminates "Can't resolve 'fs'" errors completely without requiring any special import paths for basic logging.
193
+
188
194
  ### Tailwind CSS Setup Required
189
195
 
190
- The log viewer UI uses dynamic Tailwind classes that would be purged during build. You **must** configure both:
196
+ The log viewer UI uses dynamic Tailwind classes that would be purged during build.
197
+
198
+ #### Tailwind v4 Setup
199
+
200
+ Add the `@source` directive to your `globals.css` to enable Tailwind to scan hazo_logs classes:
201
+
202
+ ```css
203
+ @import "tailwindcss";
191
204
 
192
- 1. **Content path**: So Tailwind scans the hazo_logs component files
193
- 2. **Safelist**: To preserve dynamically-constructed classes
205
+ /* Required: Enable Tailwind to scan hazo_logs package classes */
206
+ @source "../node_modules/hazo_logs/dist";
207
+ ```
208
+
209
+ **Why this is needed:** Tailwind v4's JIT compiler doesn't scan `node_modules/` by default. Without this directive, hover states and interactive styles will be invisible.
210
+
211
+ #### Tailwind v3 Setup
212
+
213
+ Configure both the content path and safelist:
194
214
 
195
215
  ```typescript
196
216
  import { tailwindSafelist, tailwindContentPath } from 'hazo_logs/tailwind';
@@ -526,11 +546,15 @@ Error: Module not found: Can't resolve 'async_hooks'
526
546
  Error: Module not found: Can't resolve 'fs'
527
547
  ```
528
548
 
529
- This happens when server-only code is imported in client components. Solutions:
549
+ This error occurred in earlier versions when server-only code was imported in client components. **As of v1.0.10, this is fully fixed** - the library now uses **conditional exports** in `package.json`, so bundlers automatically receive a client-safe bundle with zero Node.js dependencies.
550
+
551
+ If you still see this error:
530
552
 
531
- 1. **For logging in client components**: Use `createClientLogger` from `hazo_logs/ui`
532
- 2. **For server-only modules**: Import from `hazo_logs/server` instead of `hazo_logs`
533
- 3. **For universal code**: The base `hazo_logs` import now works on both client and server (returns console logger on client)
553
+ 1. **Upgrade hazo_logs**: Run `npm update hazo_logs` to get v1.0.10 or later
554
+ 2. **Clear build cache**: Run `rm -rf .next` and rebuild
555
+ 3. **For logging in client components**: The base `hazo_logs` import now works automatically (returns console logger on client)
556
+ 4. **For client logging that posts to server**: Use `createClientLogger` from `hazo_logs/ui`
557
+ 5. **For full server capabilities**: Import from `hazo_logs/server` for file logging, sessions, and context
534
558
 
535
559
  ### hazo_ui missing errors
536
560
 
@@ -0,0 +1,55 @@
1
+ /**
2
+ * hazo_logs/client - Client-safe logging module
3
+ *
4
+ * This module contains ONLY client-safe code with NO imports that could
5
+ * lead to Node.js modules (winston, fs, path, etc.).
6
+ *
7
+ * Used automatically when bundlers resolve 'hazo_logs' for browser targets.
8
+ */
9
+ import type { Logger, LogData, LogLevel } from '../lib/types.js';
10
+ /**
11
+ * Console-based logger for client-side use
12
+ * Provides basic logging that outputs to browser console
13
+ */
14
+ export declare class ConsoleLogger implements Logger {
15
+ private packageName;
16
+ private minLevel;
17
+ constructor(packageName: string, minLevel?: LogLevel);
18
+ private shouldLog;
19
+ private formatMessage;
20
+ error(message: string, data?: LogData): void;
21
+ warn(message: string, data?: LogData): void;
22
+ info(message: string, data?: LogData): void;
23
+ debug(message: string, data?: LogData): void;
24
+ }
25
+ /**
26
+ * Create a client-side logger that outputs to browser console
27
+ *
28
+ * @param packageName - Name of the package (e.g., "hazo_auth", "my_app")
29
+ * @returns Logger instance that logs to console
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * import { createLogger } from 'hazo_logs';
34
+ *
35
+ * const logger = createLogger('my_app');
36
+ * logger.info('Application started');
37
+ * ```
38
+ *
39
+ * Note: For full server capabilities (file logging, context), use:
40
+ * ```typescript
41
+ * import { createLogger } from 'hazo_logs/server';
42
+ * ```
43
+ */
44
+ export declare function createLogger(packageName: string): Logger;
45
+ /**
46
+ * Async version - same as createLogger on client
47
+ * Provided for API compatibility with server version
48
+ */
49
+ export declare function createLoggerAsync(packageName: string): Promise<Logger>;
50
+ /**
51
+ * No-op on client - server preloading not applicable
52
+ */
53
+ export declare function preloadServerLogger(): Promise<void>;
54
+ export type { Logger, LogLevel, LogData, LogEntry, LogContext, HazoLogConfig, PackageLoggerOptions, LogSource, } from '../lib/types.js';
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AASjE;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAW;gBAEf,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAkB;IAK7D,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAKrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAK7C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzD;AAGD,YAAY,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * hazo_logs/client - Client-safe logging module
3
+ *
4
+ * This module contains ONLY client-safe code with NO imports that could
5
+ * lead to Node.js modules (winston, fs, path, etc.).
6
+ *
7
+ * Used automatically when bundlers resolve 'hazo_logs' for browser targets.
8
+ */
9
+ const LOG_LEVEL_PRIORITY = {
10
+ error: 0,
11
+ warn: 1,
12
+ info: 2,
13
+ debug: 3,
14
+ };
15
+ /**
16
+ * Console-based logger for client-side use
17
+ * Provides basic logging that outputs to browser console
18
+ */
19
+ export class ConsoleLogger {
20
+ packageName;
21
+ minLevel;
22
+ constructor(packageName, minLevel = 'debug') {
23
+ this.packageName = packageName;
24
+ this.minLevel = minLevel;
25
+ }
26
+ shouldLog(level) {
27
+ return LOG_LEVEL_PRIORITY[level] <= LOG_LEVEL_PRIORITY[this.minLevel];
28
+ }
29
+ formatMessage(level, message) {
30
+ const timestamp = new Date().toISOString();
31
+ return `[${timestamp}] [${level.toUpperCase()}] [${this.packageName}] ${message}`;
32
+ }
33
+ error(message, data) {
34
+ if (this.shouldLog('error')) {
35
+ console.error(this.formatMessage('error', message), data ?? '');
36
+ }
37
+ }
38
+ warn(message, data) {
39
+ if (this.shouldLog('warn')) {
40
+ console.warn(this.formatMessage('warn', message), data ?? '');
41
+ }
42
+ }
43
+ info(message, data) {
44
+ if (this.shouldLog('info')) {
45
+ console.info(this.formatMessage('info', message), data ?? '');
46
+ }
47
+ }
48
+ debug(message, data) {
49
+ if (this.shouldLog('debug')) {
50
+ console.debug(this.formatMessage('debug', message), data ?? '');
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Create a client-side logger that outputs to browser console
56
+ *
57
+ * @param packageName - Name of the package (e.g., "hazo_auth", "my_app")
58
+ * @returns Logger instance that logs to console
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * import { createLogger } from 'hazo_logs';
63
+ *
64
+ * const logger = createLogger('my_app');
65
+ * logger.info('Application started');
66
+ * ```
67
+ *
68
+ * Note: For full server capabilities (file logging, context), use:
69
+ * ```typescript
70
+ * import { createLogger } from 'hazo_logs/server';
71
+ * ```
72
+ */
73
+ export function createLogger(packageName) {
74
+ return new ConsoleLogger(packageName);
75
+ }
76
+ /**
77
+ * Async version - same as createLogger on client
78
+ * Provided for API compatibility with server version
79
+ */
80
+ export async function createLoggerAsync(packageName) {
81
+ return new ConsoleLogger(packageName);
82
+ }
83
+ /**
84
+ * No-op on client - server preloading not applicable
85
+ */
86
+ export async function preloadServerLogger() {
87
+ // No-op on client
88
+ }
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,kBAAkB,GAA6B;IACnD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,WAAW,CAAS;IACpB,QAAQ,CAAW;IAE3B,YAAY,WAAmB,EAAE,WAAqB,OAAO;QAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAe;QACpD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,kBAAkB;AACpB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Log Context Provider
3
3
  * Uses AsyncLocalStorage for zero-overhead context propagation
4
+ *
5
+ * This module is safe for both server and client environments.
6
+ * On the client, context functions are no-ops since AsyncLocalStorage is unavailable.
4
7
  */
5
8
  import type { LogContext, Logger } from '../types.js';
6
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAItD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAcH;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAaxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,SAAS,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEnF"}
1
+ {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwCtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAeH;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAcxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,SAAS,CAGtD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEnF"}
@@ -1,9 +1,40 @@
1
1
  /**
2
2
  * Log Context Provider
3
3
  * Uses AsyncLocalStorage for zero-overhead context propagation
4
+ *
5
+ * This module is safe for both server and client environments.
6
+ * On the client, context functions are no-ops since AsyncLocalStorage is unavailable.
7
+ */
8
+ // Client-side stub implementation
9
+ const clientStubStorage = {
10
+ getStore: () => undefined,
11
+ run: (_store, fn) => fn(),
12
+ };
13
+ // Runtime-initialized storage (populated on server, stub on client)
14
+ let logContextStorage = clientStubStorage;
15
+ let initialized = false;
16
+ /**
17
+ * Initialize AsyncLocalStorage on the server
18
+ * This is called lazily when context functions are first used
4
19
  */
5
- import { AsyncLocalStorage } from 'async_hooks';
6
- const logContextStorage = new AsyncLocalStorage();
20
+ function ensureInitialized() {
21
+ if (initialized)
22
+ return;
23
+ initialized = true;
24
+ // Only attempt to load async_hooks on the server
25
+ if (typeof window === 'undefined') {
26
+ try {
27
+ // Dynamic require to avoid static analysis by bundlers
28
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
29
+ const asyncHooks = require('async_hooks');
30
+ logContextStorage = new asyncHooks.AsyncLocalStorage();
31
+ }
32
+ catch {
33
+ // If async_hooks is not available, keep using the stub
34
+ console.warn('[hazo_logs] AsyncLocalStorage not available, context tracking disabled');
35
+ }
36
+ }
37
+ }
7
38
  /**
8
39
  * Generate a human-readable session ID
9
40
  * Format: 2025-12-17-14:30:45-1234 (date-time-4digit)
@@ -26,6 +57,7 @@ export function generateSessionId() {
26
57
  * });
27
58
  */
28
59
  export function startSession(options, fn) {
60
+ ensureInitialized();
29
61
  const sessionId = generateSessionId();
30
62
  return logContextStorage.run({ sessionId, reference: options.reference, depth: 1 }, () => {
31
63
  // Auto-log session start if logger provided
@@ -49,6 +81,7 @@ export function startSession(options, fn) {
49
81
  * });
50
82
  */
51
83
  export async function startSessionAsync(options, fn) {
84
+ ensureInitialized();
52
85
  const sessionId = generateSessionId();
53
86
  return logContextStorage.run({ sessionId, reference: options.reference, depth: 1 }, async () => {
54
87
  // Auto-log session start if logger provided
@@ -73,6 +106,7 @@ export async function startSessionAsync(options, fn) {
73
106
  * });
74
107
  */
75
108
  export function runWithLogContext(context, fn) {
109
+ ensureInitialized();
76
110
  const parentContext = logContextStorage.getStore();
77
111
  const parentDepth = parentContext?.depth ?? 0;
78
112
  const newContext = {
@@ -95,6 +129,7 @@ export function runWithLogContext(context, fn) {
95
129
  * });
96
130
  */
97
131
  export function runWithLogContextAsync(context, fn) {
132
+ ensureInitialized();
98
133
  const parentContext = logContextStorage.getStore();
99
134
  const parentDepth = parentContext?.depth ?? 0;
100
135
  const newContext = {
@@ -109,6 +144,7 @@ export function runWithLogContextAsync(context, fn) {
109
144
  * Returns undefined if not within a context
110
145
  */
111
146
  export function getLogContext() {
147
+ ensureInitialized();
112
148
  return logContextStorage.getStore();
113
149
  }
114
150
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"log-context.js","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-context.js","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  /**
2
2
  * Core singleton logger for hazo_logs
3
3
  * Manages the Winston logger instance and transports
4
+ *
5
+ * This module is server-only. All imports are lazy-loaded to prevent
6
+ * bundlers from including server-only dependencies in client bundles.
4
7
  */
5
8
  import type { HazoLogConfig, LogEntry } from './types.js';
9
+ /**
10
+ * Load server-only dependencies asynchronously
11
+ * Uses dynamic import to avoid static analysis by bundlers
12
+ */
13
+ declare function loadDependencies(): Promise<void>;
6
14
  export declare class HazoLogger {
7
15
  private static instance;
16
+ private static instancePromise;
8
17
  private winstonLogger;
9
18
  private config;
10
19
  private executionId;
@@ -15,7 +24,13 @@ export declare class HazoLogger {
15
24
  */
16
25
  private generateExecutionId;
17
26
  /**
18
- * Get the singleton instance of HazoLogger
27
+ * Get the singleton instance of HazoLogger (async)
28
+ * @param configPath - Optional path to config file (only used on first call)
29
+ */
30
+ static getInstanceAsync(configPath?: string): Promise<HazoLogger>;
31
+ /**
32
+ * Get the singleton instance of HazoLogger (synchronous)
33
+ * Only works if dependencies have already been loaded via getInstanceAsync
19
34
  * @param configPath - Optional path to config file (only used on first call)
20
35
  */
21
36
  static getInstance(configPath?: string): HazoLogger;
@@ -42,4 +57,5 @@ export declare class HazoLogger {
42
57
  getExecutionId(): string;
43
58
  private createWinstonLogger;
44
59
  }
60
+ export { loadDependencies as preloadHazoLogger };
45
61
  //# sourceMappingURL=hazo_logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_logger.d.ts","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK1D,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAMP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;WACW,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU;IAO1D;;OAEG;WACW,KAAK,IAAI,IAAI;IAO3B;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAKjC;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI;IAYlF;;OAEG;IACI,SAAS,IAAI,aAAa;IAIjC;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B,OAAO,CAAC,mBAAmB;CAgB5B"}
1
+ {"version":3,"file":"hazo_logger.d.ts","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAUpE;;;GAGG;AACH,iBAAe,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB/C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAoC;IAClE,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IASP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;WACiB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB9E;;;;OAIG;WACW,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU;IAgB1D;;OAEG;WACW,KAAK,IAAI,IAAI;IAQ3B;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMjC;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI;IAalF;;OAEG;IACI,SAAS,IAAI,aAAa;IAIjC;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B,OAAO,CAAC,mBAAmB;CAoB5B;AAGD,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,19 +1,57 @@
1
1
  /**
2
2
  * Core singleton logger for hazo_logs
3
3
  * Manages the Winston logger instance and transports
4
+ *
5
+ * This module is server-only. All imports are lazy-loaded to prevent
6
+ * bundlers from including server-only dependencies in client bundles.
4
7
  */
5
- import winston from 'winston';
6
- import { loadConfig } from './config_loader.js';
7
- import { createConsoleTransport } from './transports/console_transport.js';
8
- import { createFileTransport } from './transports/file_transport.js';
8
+ // Lazy-loaded dependencies (populated on first getInstance call)
9
+ let winston = null;
10
+ let loadConfigFn = null;
11
+ let createConsoleTransportFn = null;
12
+ let createFileTransportFn = null;
13
+ let dependenciesLoaded = false;
14
+ let loadPromise = null;
15
+ /**
16
+ * Load server-only dependencies asynchronously
17
+ * Uses dynamic import to avoid static analysis by bundlers
18
+ */
19
+ async function loadDependencies() {
20
+ if (dependenciesLoaded)
21
+ return;
22
+ if (loadPromise)
23
+ return loadPromise;
24
+ // Only load on server
25
+ if (typeof window !== 'undefined') {
26
+ throw new Error('[hazo_logs] HazoLogger cannot be used on the client. Use createLogger from hazo_logs (universal) or createClientLogger from hazo_logs/ui instead.');
27
+ }
28
+ loadPromise = (async () => {
29
+ const [winstonMod, configMod, consoleMod, fileMod] = await Promise.all([
30
+ import('winston'),
31
+ import('./config_loader.js'),
32
+ import('./transports/console_transport.js'),
33
+ import('./transports/file_transport.js'),
34
+ ]);
35
+ winston = winstonMod.default;
36
+ loadConfigFn = configMod.loadConfig;
37
+ createConsoleTransportFn = consoleMod.createConsoleTransport;
38
+ createFileTransportFn = fileMod.createFileTransport;
39
+ dependenciesLoaded = true;
40
+ })();
41
+ return loadPromise;
42
+ }
9
43
  export class HazoLogger {
10
44
  static instance = null;
45
+ static instancePromise = null;
11
46
  winstonLogger;
12
47
  config;
13
48
  executionId;
14
49
  constructor(configPath) {
50
+ if (!dependenciesLoaded || !loadConfigFn) {
51
+ throw new Error('[hazo_logs] Dependencies not loaded. Use HazoLogger.getInstanceAsync() instead.');
52
+ }
15
53
  this.executionId = this.generateExecutionId();
16
- this.config = loadConfig(configPath);
54
+ this.config = loadConfigFn(configPath);
17
55
  this.winstonLogger = this.createWinstonLogger();
18
56
  }
19
57
  /**
@@ -28,13 +66,37 @@ export class HazoLogger {
28
66
  return `${datePart}-${timePart}-${randomPart}`;
29
67
  }
30
68
  /**
31
- * Get the singleton instance of HazoLogger
69
+ * Get the singleton instance of HazoLogger (async)
32
70
  * @param configPath - Optional path to config file (only used on first call)
33
71
  */
34
- static getInstance(configPath) {
35
- if (!HazoLogger.instance) {
72
+ static async getInstanceAsync(configPath) {
73
+ if (HazoLogger.instance) {
74
+ return HazoLogger.instance;
75
+ }
76
+ if (HazoLogger.instancePromise) {
77
+ return HazoLogger.instancePromise;
78
+ }
79
+ HazoLogger.instancePromise = (async () => {
80
+ await loadDependencies();
36
81
  HazoLogger.instance = new HazoLogger(configPath);
82
+ return HazoLogger.instance;
83
+ })();
84
+ return HazoLogger.instancePromise;
85
+ }
86
+ /**
87
+ * Get the singleton instance of HazoLogger (synchronous)
88
+ * Only works if dependencies have already been loaded via getInstanceAsync
89
+ * @param configPath - Optional path to config file (only used on first call)
90
+ */
91
+ static getInstance(configPath) {
92
+ if (HazoLogger.instance) {
93
+ return HazoLogger.instance;
37
94
  }
95
+ if (!dependenciesLoaded) {
96
+ throw new Error('[hazo_logs] HazoLogger.getInstance() requires dependencies to be pre-loaded. ' +
97
+ 'Use HazoLogger.getInstanceAsync() instead, or call loadDependencies() first.');
98
+ }
99
+ HazoLogger.instance = new HazoLogger(configPath);
38
100
  return HazoLogger.instance;
39
101
  }
40
102
  /**
@@ -42,14 +104,17 @@ export class HazoLogger {
42
104
  */
43
105
  static reset() {
44
106
  if (HazoLogger.instance) {
45
- HazoLogger.instance.winstonLogger.close();
107
+ HazoLogger.instance.winstonLogger?.close();
46
108
  HazoLogger.instance = null;
109
+ HazoLogger.instancePromise = null;
47
110
  }
48
111
  }
49
112
  /**
50
113
  * Log an entry - called by PackageLogger
51
114
  */
52
115
  log(entry) {
116
+ if (!this.winstonLogger)
117
+ return;
53
118
  const { level, message, ...meta } = entry;
54
119
  this.winstonLogger.log(level, message, meta);
55
120
  }
@@ -58,6 +123,8 @@ export class HazoLogger {
58
123
  * Used for logs sent from the browser
59
124
  */
60
125
  logClient(entry) {
126
+ if (!this.winstonLogger)
127
+ return;
61
128
  const fullEntry = {
62
129
  ...entry,
63
130
  executionId: this.executionId,
@@ -81,12 +148,15 @@ export class HazoLogger {
81
148
  return this.executionId;
82
149
  }
83
150
  createWinstonLogger() {
151
+ if (!winston || !createConsoleTransportFn || !createFileTransportFn) {
152
+ throw new Error('[hazo_logs] Dependencies not loaded');
153
+ }
84
154
  const transports = [];
85
155
  if (this.config.enable_console) {
86
- transports.push(createConsoleTransport(this.config.log_level));
156
+ transports.push(createConsoleTransportFn(this.config.log_level));
87
157
  }
88
158
  if (this.config.enable_file) {
89
- transports.push(createFileTransport(this.config));
159
+ transports.push(createFileTransportFn(this.config));
90
160
  }
91
161
  return winston.createLogger({
92
162
  level: this.config.log_level,
@@ -94,4 +164,6 @@ export class HazoLogger {
94
164
  });
95
165
  }
96
166
  }
167
+ // Export the async loader for pre-initialization
168
+ export { loadDependencies as preloadHazoLogger };
97
169
  //# sourceMappingURL=hazo_logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_logger.js","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_logger.js","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,13 @@ import type { Logger, LogData, PackageLoggerOptions } from './types.js';
10
10
  */
11
11
  export declare class PackageLogger implements Logger {
12
12
  private coreLogger;
13
+ private coreLoggerPromise;
13
14
  private packageName;
14
15
  constructor(options: PackageLoggerOptions, coreLogger?: HazoLogger);
16
+ /**
17
+ * Get the core logger, waiting if necessary
18
+ */
19
+ private getCoreLogger;
15
20
  private log;
16
21
  error(message: string, data?: LogData): void;
17
22
  warn(message: string, data?: LogData): void;
@@ -1 +1 @@
1
- {"version":3,"file":"package_logger.d.ts","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAY,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlF;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,UAAU;IAKlE,OAAO,CAAC,GAAG;IAmBX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAG7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"package_logger.d.ts","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAY,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlF;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,UAAU;IAalE;;OAEG;YACW,aAAa;IAQ3B,OAAO,CAAC,GAAG;IAkCX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAG7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -10,28 +10,64 @@ import { getLogContext } from './context/log-context.js';
10
10
  * Tags all log entries with the package name and captures caller info
11
11
  */
12
12
  export class PackageLogger {
13
- coreLogger;
13
+ coreLogger = null;
14
+ coreLoggerPromise = null;
14
15
  packageName;
15
16
  constructor(options, coreLogger) {
16
17
  this.packageName = options.packageName;
17
- this.coreLogger = coreLogger || HazoLogger.getInstance();
18
+ if (coreLogger) {
19
+ this.coreLogger = coreLogger;
20
+ }
21
+ else {
22
+ // Start async loading of the core logger
23
+ this.coreLoggerPromise = HazoLogger.getInstanceAsync().then((logger) => {
24
+ this.coreLogger = logger;
25
+ return logger;
26
+ });
27
+ }
28
+ }
29
+ /**
30
+ * Get the core logger, waiting if necessary
31
+ */
32
+ async getCoreLogger() {
33
+ if (this.coreLogger)
34
+ return this.coreLogger;
35
+ if (this.coreLoggerPromise) {
36
+ return this.coreLoggerPromise;
37
+ }
38
+ throw new Error('[hazo_logs] Core logger not initialized');
18
39
  }
19
40
  log(level, message, data) {
20
41
  const { filename, line } = getCallerInfo();
21
42
  const context = getLogContext();
22
- this.coreLogger.log({
43
+ const logEntry = {
23
44
  timestamp: new Date().toISOString(),
24
45
  level,
25
46
  package: this.packageName,
26
47
  message,
27
48
  filename,
28
49
  line,
29
- executionId: this.coreLogger.getExecutionId(),
50
+ executionId: '', // Will be set when core logger is available
30
51
  ...(context?.sessionId ? { sessionId: context.sessionId } : {}),
31
52
  ...(context?.reference ? { reference: context.reference } : {}),
32
53
  ...(context?.depth ? { depth: context.depth } : {}),
33
54
  ...(data ? { data } : {}),
34
- });
55
+ };
56
+ if (this.coreLogger) {
57
+ // Core logger is ready, log immediately
58
+ logEntry.executionId = this.coreLogger.getExecutionId();
59
+ this.coreLogger.log(logEntry);
60
+ }
61
+ else {
62
+ // Core logger is still initializing, queue the log
63
+ this.getCoreLogger().then((logger) => {
64
+ logEntry.executionId = logger.getExecutionId();
65
+ logger.log(logEntry);
66
+ }).catch(() => {
67
+ // Fallback to console if core logger fails to initialize
68
+ console.error(`[${this.packageName}] ${message}`, data);
69
+ });
70
+ }
35
71
  }
36
72
  error(message, data) {
37
73
  this.log('error', message, data);
@@ -1 +1 @@
1
- {"version":3,"file":"package_logger.js","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,UAAU,CAAa;IACvB,WAAW,CAAS;IAE5B,YAAY,OAA6B,EAAE,UAAuB;QAChE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3D,CAAC;IAEO,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,IAAc;QAC1D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAEhC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;YAC7C,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"package_logger.js","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_logs",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Logger for hazo packages - Winston wrapper with singleton pattern",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -8,14 +8,22 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
+ "browser": "./dist/client/index.js",
12
+ "node": "./dist/index.js",
11
13
  "import": "./dist/index.js",
12
- "require": "./dist/index.js"
14
+ "require": "./dist/index.js",
15
+ "default": "./dist/client/index.js"
13
16
  },
14
17
  "./server": {
15
18
  "types": "./dist/server.d.ts",
16
19
  "import": "./dist/server.js",
17
20
  "require": "./dist/server.js"
18
21
  },
22
+ "./client": {
23
+ "types": "./dist/client/index.d.ts",
24
+ "import": "./dist/client/index.js",
25
+ "require": "./dist/client/index.js"
26
+ },
19
27
  "./ui": {
20
28
  "types": "./dist/ui/index.d.ts",
21
29
  "import": "./dist/ui/index.js",
@@ -56,6 +64,9 @@
56
64
  ],
57
65
  "author": "Pubs Abayasiri",
58
66
  "license": "MIT",
67
+ "engines": {
68
+ "node": ">=18.0.0"
69
+ },
59
70
  "bugs": {
60
71
  "url": "https://github.com/pub12/hazo_logs/issues"
61
72
  },