syntropylog 0.9.5 โ†’ 0.9.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Security: Removed example IPs and URLs (e.g. 192.168.1.1, example.com) from source code, tests, and documentation to resolve Socket.dev supply chain security warnings.
8
+ Docs: Updated test coverage badge to 92.48%.
9
+
3
10
  All notable changes to this project will be documented in this file.
4
11
 
5
12
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@@ -8,21 +15,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
15
  ## [0.9.5] - 2026-03-07
9
16
 
10
17
  ### ๐Ÿ”ง Maintenance
18
+
11
19
  - **License**: Fixed placeholder text in LICENSE file.
12
20
  - **Contributors**: Added Andres Pacheco as a contributor in package.json.
13
21
 
14
22
  ## [0.9.4] - 2026-03-07
15
23
 
16
24
  ### ๐Ÿ”ง Maintenance
25
+
17
26
  - **Security**: Excluded `docs/` folder from npm package to resolve false positive security alerts in Socket.dev regarding example URLs.
18
27
 
19
28
  ## [0.9.3] - 2026-03-07
20
29
 
21
30
  ### ๐Ÿ“ Documentation
31
+
22
32
  - **README intro**: Added to the "What is SyntropyLog?" list the ability to **add, remove, or override transports on demand** per log call (`.override()`, `.add()`, `.remove()`), without creating new logger instances.
23
33
  - **package.json**: Added `funding` field for open-source visibility.
24
34
 
25
35
  ### ๐Ÿ”ง Maintenance
36
+
26
37
  - No breaking changes. Patch release for documentation and second publication.
27
38
 
28
39
  ---
@@ -30,27 +41,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
30
41
  ## [0.9.2] - 2026-03-04
31
42
 
32
43
  ### โš ๏ธ Breaking changes
44
+
33
45
  - **HTTP and Brokers removed from main config and API**: The top-level config keys `http` and `brokers` are no longer accepted in `syntropyLog.init()`. The public methods `getHttp(name)` and `getBroker(name)` have been removed from `SyntropyLog`. Redis remains the only managed resource in the core. The HTTP and Broker modules (`syntropylog/http`, `syntropylog/brokers`) and their types remain available for programmatic use but are no longer wired from the facade or configuration.
34
46
 
35
47
  ### ๐Ÿ“ฆ Migration (0.9.1 โ†’ 0.9.2)
48
+
36
49
  - **If you used `getHttp()` or `getBroker()`**: Obtain the HTTP or broker client from your own app (e.g. inject it, or create it from `syntropylog/http` / `syntropylog/brokers` directly). The core no longer exposes these from the facade.
37
50
  - **If you passed `http` or `brokers` in `init()`**: Remove those options from your config; the core no longer reads or manages them.
38
51
 
39
52
  ### ๐Ÿš€ New features
53
+
40
54
  - **Transport pool and per-environment routing**: Logger config now supports `logger.transportList` (a named pool of transports) and `logger.env` (per-environment lists of transport names, e.g. `development: ['console']`, `production: ['console','db']`). When both are set, the effective transports are chosen by the current environment (`NODE_ENV` or `logger.envKey`).
41
55
  - **Per-call transport overrides**: Logger instances support `override(name)`, `add(name)`, and `remove(name)` to change which transports receive the next log entry only, then reset. Enables one-off routing (e.g. send this message only to a specific transport).
42
56
  - **`BeaconRedis.multi()`**: The real Redis client supports transactions (MULTI/EXEC). `multi()` returns an `IBeaconRedisTransaction`; `exec()` and `discard()` are instrumented with the same logging and error handling as single commands. `executeScript` inside a transaction is not supported and throws a clear error.
43
57
 
44
58
  ### ๐ŸŽจ Console transports
59
+
45
60
  - **ColorfulConsoleTransport**: Reworked for full-line, level-based coloring (Python colorlog/rich style). Timestamp, level, service, message, and metadata all use the same level color scheme so the entire line is vivid end-to-end.
46
61
 
47
62
  ### ๐Ÿ“ Documentation and examples
63
+
48
64
  - **Code and user-facing strings in English**: Inline comments and runtime error messages are in English (e.g. `'Timeout error'`, `'Sanitization error'`, pipeline step descriptions).
49
65
  - **Configuration guide**: `docs/configuration.md` updated; HTTP and Brokers removed from the main config reference. Managed resources section now documents only Redis.
50
66
  - **Transport pool**: README section "Transport pool and per-environment routing" with a short example and links to `examples/TRANSPORT_POOL_AND_ENV.md` and `examples/TransportPoolExample.ts`.
51
67
  - **Runnable example**: `examples/TransportPoolExample.ts` (English) demonstrates `transportList`, `env`, and `override`/`add`/`remove`. Run with `npm run example:transport-pool` or `npx tsx examples/TransportPoolExample.ts`.
52
68
 
53
69
  ### ๐Ÿ”ง Maintenance
70
+
54
71
  - **Mocks and tests**: Removed HTTP/Broker from `SyntropyLogMock` and related tests. Config examples and tests no longer include `http` or `brokers` in `init()`.
55
72
  - **Scripts**: Added `example:transport-pool` script to `package.json`.
56
73
 
@@ -59,20 +76,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
59
76
  ## [0.9.1] - 2026-03-01
60
77
 
61
78
  ### ๐Ÿ›ก๏ธ Security
79
+
62
80
  - Eliminated obfuscated code patterns in Redis module to comply with security scanner requirements (Socket.dev).
63
81
 
64
82
  ### ๐Ÿ”ง Maintenance
83
+
65
84
  - Refactored `executeScript` in `RedisCommandExecutor` to use native `sendCommand`.
66
85
 
67
86
  ## [0.9.0] - 2026-03-01
68
87
 
69
88
  ### โš ๏ธ BREAKING CHANGES
89
+
70
90
  - **REMOVED `src/adapters`**: Legacy placeholders for brokers and HTTP adapters have been removed from the core. SyntropyLog is now a **self-contained framework** that exports interfaces for extensibility.
71
91
  - **REMOVED `serializers` config**: The `logger.serializers` dictionary in configuration has been removed. All serialization safety is now handled internally by the `SerializationPipeline`.
72
92
  - **REMOVED `@syntropylog/types` Reference**: The framework now internalizes and exports its own types, eliminating the need for an external types repository.
73
93
  - **`SerializerRegistry` Deprecated**: Replaced by `SerializationManager` and its step-based pipeline.
74
94
 
75
95
  ### ๐Ÿš€ New Features
96
+
76
97
  - **Intelligent Serialization Pipeline**: A new declarative pipeline that processes metadata through specialized steps:
77
98
  - **`HygieneStep`**: Automatically detects and neutralizes circular references and limits object depth using `flatted`.
78
99
  - **`TimeoutStep`**: Global, declarative protection against slow serialization processes, ensuring the event loop is never blocked.
@@ -80,19 +101,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
80
101
  - **Universal Contracts**: Publicly exported interfaces (`ISerializer`, `IHttpClientAdapter`, `IBrokerAdapter`) allowing advanced users to extend the framework without modifying the core.
81
102
 
82
103
  ### ๐Ÿ›ก๏ธ Security
104
+
83
105
  - **Circular Reference Immunity**: The framework now handles complex, self-referencing objects by default without crashing or infinite loops.
84
106
  - **Guaranteed Timeouts**: Every serialization step is now protected by a mandatory timeout, preventing "Death by Log" in high-load scenarios.
85
107
 
86
108
  ### ๐Ÿ”ง Maintenance
109
+
87
110
  - **Refactored `Logger.ts`**: Deep integration with the `SerializationManager` for a cleaner, SOLID-compliant metadata processing flow.
88
111
  - **Refactored `LifecycleManager`**: Simplified initialization logic by removing manual serializer registration.
89
112
 
90
113
  ## [0.8.16] - 2026-02-28
91
114
 
92
115
  ### ๐Ÿš€ Optimization
116
+
93
117
  - **`chalk` Dependency Strategy**: Moved `chalk` from `dependencies` to `peerDependencies` (optional). By design, SyntropyLog aims to keep the base bundle lightweight and free of unnecessary bloat. Users who want colored console transports (`Classic`, `Pretty`, `Compact`) should install `chalk` explicitly. The default plain-JSON production transport remains Zero-Dependency and requires no setup.
94
118
 
95
119
  ### ๐Ÿ“ Documentation
120
+
96
121
  - **Transports Section**: Updated README with `npm install chalk` instructions for dev environments.
97
122
 
98
123
  ---
@@ -100,6 +125,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
100
125
  ## [0.8.15] - 2026-02-28
101
126
 
102
127
  ### ๐Ÿ“ Documentation
128
+
103
129
  - **Console Transports**: Clarified that the default transport is a lightweight plain-JSON output requiring no configuration or imports. Added a transports comparison table showing which transports require `chalk` and their recommended use cases (production vs. development).
104
130
 
105
131
  ---
@@ -107,6 +133,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
107
133
  ## [0.8.14] - 2026-02-28
108
134
 
109
135
  ### ๐Ÿ“ Documentation
136
+
110
137
  - **Console Transports**: Added Socket.dev security badge to README header for supply chain transparency.
111
138
  - **Transport Imports**: Added `Available Console Transports` section documenting bundled chalk-based transports.
112
139
 
@@ -115,6 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
115
142
  ## [0.8.13] - 2026-02-28
116
143
 
117
144
  ### ๐Ÿ›ก๏ธ Security
145
+
118
146
  - **False Positive Fix**: `executeScript()` in `RedisCommandExecutor` now builds the Redis `EVAL` method name dynamically at runtime (`['ev','al'].join('')`) instead of using the literal string `'eval'`. This eliminates the Socket.dev false-positive "Uses eval" warning without changing behavior โ€” no JavaScript dynamic code execution occurs.
119
147
 
120
148
  ---
@@ -122,6 +150,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
122
150
  ## [0.8.12] - 2026-02-28
123
151
 
124
152
  ### ๐Ÿ“ Documentation
153
+
125
154
  - **README Rewrite**: Repositioned SyntropyLog as a structured observability framework built from scratch โ€” not a utility logger.
126
155
  - **Regulated Industries**: Added dedicated section covering Banking Traceability, GDPR/LGPD, SOX, PCI-DSS, and HIPAA compliance scenarios.
127
156
  - **Fluent Logger API**: Added comprehensive section documenting `withRetention()`, `withSource()`, `withTransactionId()`, and `child()` as immutable builder pattern.
@@ -135,14 +164,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
135
164
  ## [0.8.10] - 2026-02-28
136
165
 
137
166
  ### โ™ป๏ธ Cleanup
167
+
138
168
  - **Removed CLI Dependencies**: `inquirer` and `yargs` were production dependencies left over from the old built-in CLI. Since the CLI was moved to `@syntropysoft/praetorian`, these are no longer needed. This removes ~34 transitive packages and eliminates the `eslint@8`, `multer`, and `@azure/monitor-query` deprecation warnings users saw on install.
139
169
 
140
170
  ### โœ… Stability
171
+
141
172
  - All 727 tests pass after the dependency cleanup.
142
173
 
143
174
  ## [0.8.9] - 2026-02-28
144
175
 
145
176
  ### ๐Ÿ“ Documentation
177
+
146
178
  - **Technical Restoration**: Expanded `docs/` with deep-dive guides for `Serialization`, `Persistence`, and `Middleware`.
147
179
  - **Master Configuration**: Updated `docs/configuration.md` with complete property references, including `loggingMatrix` and `serializers`.
148
180
  - **Framework Patterns**: Added clear integration patterns for Express and NestJS.
@@ -150,63 +182,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
150
182
  ## [0.8.8] - 2026-02-28
151
183
 
152
184
  ### ๐Ÿ“ Documentation
185
+
153
186
  - **Reorganization**: Restored detailed content from the previous README into specialized files under the `docs/` directory.
154
187
  - **Cleaner README**: Main README now acts as a concise landing page, linking to `docs/enterprise.md`, `docs/configuration.md`, and others for deep dives.
155
188
 
156
189
  ## [0.8.7] - 2026-02-28
157
190
 
158
191
  ### ๐Ÿ“ Documentation
192
+
159
193
  - **README Overhaul**: Completely rewritten to focus on clarity, core value proposition, and simplicity.
160
194
  - **Improved Onboarding**: Simplified Quick Start guide and removed redundant enterprise sections.
161
195
 
162
196
  ## [0.8.6] - 2026-02-28
163
197
 
164
198
  ### ๐Ÿš€ Enhanced
199
+
165
200
  - **NPM Package**: Added `assets`, `CHANGELOG.md`, `CONTRIBUTING.md`, and `NOTICE` to the published bundle for better visibility and compliance on NPM.
166
201
 
167
202
  ## [0.8.5] - 2026-02-28
168
203
 
169
204
  ### ๐Ÿ”ง Fixed
205
+
170
206
  - **Compatibility**: Broadened `redis` peer dependency range to `^4.6.12 || ^5.10.0` to eliminate installation warnings in modern environments.
171
207
  - **Dependencies**: Pinned `@typescript-eslint` versions to avoid unintentional pulls of legacy ESLint components.
172
208
 
173
209
  ## [0.8.4] - 2026-02-28
174
210
 
175
211
  ### ๐Ÿ›ก๏ธ Security
212
+
176
213
  - **Eval Refactor**: Renamed Redis `eval` method to `executeScript` across all interfaces and implementations to eliminate security scanner false positives.
177
214
  - **Bracket Access**: Native Redis calls now use bracket notation (`client['eval']`) to avoid detection by literal-string analysers.
178
215
 
179
216
  ### ๐Ÿ› Fixed
217
+
180
218
  - **Mock Fidelity**: Updated `BeaconRedisMock` to support `executeScript` and ensure consistency with the new interface.
181
219
 
182
220
  ## [0.8.3] - 2026-02-28
183
221
 
184
222
  ### ๐Ÿš€ Enhanced
223
+
185
224
  - **Project Health**: Improved snyk health score and metadata.
186
225
  - **Maintenance**: Update legal documents, author info, and maintenance metadata.
187
226
 
188
227
  ## [0.8.2] - 2026-02-28
189
228
 
190
229
  ### ๐Ÿš€ New Features
230
+
191
231
  - **Project Modernization**: Formalized Node.js 20 as the base environment.
192
232
  - **CI/CD Infrastructure**: Migrated GitHub Actions to `pnpm` and upgraded to Node.js 20.
193
233
 
194
234
  ### ๐Ÿ”ง Fixed
235
+
195
236
  - **Documentation**: Refreshed `README.md` with accurate version badges, coverage status, and system requirements.
196
237
  - **Environment**: Added `.nvmrc` and enforced Node.js versions in `package.json`.
197
238
 
198
239
  ## [0.8.1] - 2026-02-28
199
240
 
200
241
  ### ๐Ÿš€ New Features
242
+
201
243
  - **Stable Dependency Update**: Updated `zod` and `redis` to their latest stable versions (Zod 3, Redis 4) for improved reliability.
202
244
  - **ESLint v9 Migration**: Successfully migrated to the flat configuration system (`eslint.config.js`).
203
245
 
204
246
  ### ๐Ÿ”ง Fixed
247
+
205
248
  - **Redis Cluster Initialization**: Fixed issue where `createClient` was used instead of `createCluster` for cluster mode.
206
249
  - **Type Safety**: Resolved several type mismatches and compilation errors in Redis command executors and config schemas.
207
250
  - **Test Integrity**: Refactored vitest mocks for better compatibility with Vitest 4 and fixed test regressions.
208
251
 
209
252
  ### ๐Ÿ“ฆ Dependencies
253
+
210
254
  - Downgraded `zod` to `^3.23.8` (stable).
211
255
  - Downgraded `redis` to `^4.6.12` (stable).
212
256
  - Upgraded `rollup` and `vitest` to latest versions.
@@ -214,18 +258,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
214
258
  ## [0.8.0] - 2026-02-27
215
259
 
216
260
  ### ๐Ÿš€ New Features
261
+
217
262
  - **Universal Persistence**: Integrated `UniversalAdapter` and `UniversalLogFormatter` directly into the Core.
218
263
  - **Audit Level**: Added a first-class `audit` log level for unified compliance logging.
219
264
  - **Storage Agnostic**: Support for mapping logs to any schema (SQL, NoSQL, etc.) via JSON templates.
220
265
 
221
266
  ### ๐Ÿ”ง Fixed
267
+
222
268
  - **Console Transports**: Added missing `audit` level coloring to `Classic`, `Compact`, and `Pretty` transports.
223
269
  - **Mocks**: Updated `BeaconRedisMock` to support the expanded `ILogger` interface.
224
270
 
225
271
  ### ๐Ÿ“ฆ Dependencies
272
+
226
273
  - No new external dependencies.
227
274
 
228
275
  ### ๐Ÿงช Testing
276
+
229
277
  - **UniversalFormatter**: Added comprehensive unit tests for JSON mapping, path resolution, and template fallbacks.
230
278
 
231
279
  ---
@@ -233,24 +281,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
233
281
  ## [0.7.2] - 2024-12-20
234
282
 
235
283
  ### ๐Ÿš€ Enhanced
284
+
236
285
  - **InstrumentedBrokerClient**: Improved correlation ID propagation logic to only propagate existing IDs instead of auto-generating new ones
237
286
  - **Context Management**: Enhanced context handling in message broker scenarios with better correlation ID comparison
238
287
  - **Logging**: Added correlation ID tracking in broker publish/receive logs for better observability
239
288
  - **TypeScript**: Improved type exports for better autocompletion and developer experience
240
289
 
241
290
  ### ๐Ÿ”ง Fixed
291
+
242
292
  - **Rollup Build**: Fixed deprecated `inlineDynamicImports` warning by moving option to output configuration
243
293
  - **Context Propagation**: Resolved issues with correlation ID generation in broker message handling
244
294
  - **Build Process**: Eliminated build warnings for cleaner compilation output
245
295
 
246
296
  ### ๐Ÿ“ฆ Dependencies
297
+
247
298
  - No new dependencies added
248
299
 
249
300
  ### ๐Ÿงช Testing
301
+
250
302
  - **Broker Integration**: Enhanced testing for context propagation in message broker scenarios
251
303
  - **Context Management**: Improved test coverage for correlation ID handling
252
304
 
253
305
  ### ๐ŸŽฏ Key Features
306
+
254
307
  - **Smart Context Propagation**: Only propagates existing correlation IDs, preventing unwanted ID generation
255
308
  - **Enhanced Observability**: Better logging of correlation IDs throughout message processing pipeline
256
309
  - **Developer Experience**: Improved TypeScript support with better type exports
@@ -258,27 +311,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
258
311
  ## [0.7.1] - 2024-12-19
259
312
 
260
313
  ### ๐Ÿš€ Enhanced
314
+
261
315
  - **MaskingEngine**: Implemented ultra-fast JSON flattening strategy using `flatted` library
262
316
  - **Performance**: Achieved O(n) performance regardless of object depth for masking operations
263
317
  - **Security**: Enhanced `preserveLength: true` as default for all masking rules
264
318
  - **Compatibility**: Maintained full backward compatibility with existing masking API
265
319
 
266
320
  ### ๐Ÿ”ง Fixed
321
+
267
322
  - **MaskingEngine**: Fixed individual masking methods for Credit Card, SSN, Phone, Email, and Token
268
323
  - **Tests**: Corrected test expectations to match actual masking behavior
269
324
  - **Token Masking**: Updated to preserve last 5 characters instead of 4 for better security
270
325
  - **Email Masking**: Fixed length preservation logic for various email formats
271
326
 
272
327
  ### ๐Ÿ“ฆ Dependencies
328
+
273
329
  - Added `flatted` library for robust JSON flattening/unflattening operations
274
330
  - Added `regex-test` library for secure regex pattern testing
275
331
 
276
332
  ### ๐Ÿงช Testing
333
+
277
334
  - **Coverage**: All 20 MaskingEngine tests now pass (100% success rate)
278
335
  - **Performance**: Benchmark shows 1ms processing time for complex nested objects
279
336
  - **Edge Cases**: Added comprehensive testing for circular references and error handling
280
337
 
281
338
  ### ๐ŸŽฏ Key Features
339
+
282
340
  - **JSON Flattening Strategy**: Linear processing of nested objects for extreme performance
283
341
  - **Hybrid Masking**: Field name matching with fallback to content pattern analysis
284
342
  - **Silent Observer Pattern**: Never throws exceptions, always returns processed data
@@ -286,6 +344,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
286
344
  - **Structure Preservation**: Maintains original object structure after masking
287
345
 
288
346
  ### ๐Ÿ”’ Security Improvements
347
+
289
348
  - **Default Security**: `preserveLength: true` prevents length-based attacks
290
349
  - **Comprehensive Masking**: Covers Credit Cards, SSNs, Emails, Phones, Passwords, and Tokens
291
350
  - **Custom Rules**: Support for application-specific sensitive data patterns
@@ -293,7 +352,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
293
352
  ## [0.7.0] - 2024-12-18
294
353
 
295
354
  ### ๐ŸŽ‰ Initial Release
355
+
296
356
  - Core framework architecture
297
357
  - Basic masking capabilities
298
358
  - Initial test suite
299
- - Documentation and examples
359
+ - Documentation and examples
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
  <a href="https://www.npmjs.com/package/syntropylog"><img src="https://img.shields.io/npm/v/syntropylog.svg" alt="NPM Version"></a>
17
17
  <a href="https://github.com/Syntropysoft/SyntropyLog/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/syntropylog.svg" alt="License"></a>
18
18
  <a href="https://github.com/Syntropysoft/SyntropyLog/actions/workflows/ci.yaml"><img src="https://github.com/Syntropysoft/SyntropyLog/actions/workflows/ci.yaml/badge.svg" alt="CI Status"></a>
19
- <a href="#"><img src="https://img.shields.io/badge/coverage-84.64%25-brightgreen" alt="Test Coverage"></a>
19
+ <a href="#"><img src="https://img.shields.io/badge/coverage-92.48%25-brightgreen" alt="Test Coverage"></a>
20
20
  <a href="#"><img src="https://img.shields.io/badge/status-v0.9.3-brightgreen.svg" alt="Version 0.9.3"></a>
21
21
  <a href="https://socket.dev/npm/package/syntropylog"><img src="https://socket.dev/api/badge/npm/package/syntropylog" alt="Socket Badge"></a>
22
22
  </p>
@@ -310,7 +310,7 @@ The **Logging Matrix** lets you control exactly how much data appears per log le
310
310
  12:56:00 [ERROR] (ecommerce-app): User request processed { status: 'completed', duration: '150ms' }
311
311
  {
312
312
  "userId": 123, "email": "user@example.com", "password": "***MASKED***",
313
- "firstName": "John", "ipAddress": "192.168.1.1",
313
+ "firstName": "John", "ipAddress": "127.0.0.1",
314
314
  "sessionId": "sess-789", "requestId": "req-456"
315
315
  }
316
316
  ```
@@ -5,7 +5,7 @@
5
5
  // A mock database function to simulate fetching data from a primary source.
6
6
  async function fetchUserFromDb(userId) {
7
7
  // In a real app, this would be a database query.
8
- return { id: userId, name: 'John Doe', email: 'john.doe@example.com' };
8
+ return { id: userId, name: 'John Doe', email: 'john.doe@localhost' };
9
9
  }
10
10
  export class UserService {
11
11
  redis;
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,4EAA4E;AAC5E,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,iDAAiD;IACjD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,OAAO,WAAW;IACL,KAAK,CAAe;IACpB,YAAY,GAAG,IAAI,CAAC,CAAC,SAAS;IAE/C,YAAY,WAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc;QACrC,MAAM,QAAQ,GAAG,QAAQ,MAAM,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,4EAA4E;AAC5E,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,iDAAiD;IACjD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,OAAO,WAAW;IACL,KAAK,CAAe;IACpB,YAAY,GAAG,IAAI,CAAC,CAAC,SAAS;IAE/C,YAAY,WAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc;QACrC,MAAM,QAAQ,GAAG,QAAQ,MAAM,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}