nx-mongo 3.8.5 → 3.8.8

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.
@@ -188,7 +188,7 @@ export declare class SimpleMongoHelper {
188
188
  readonly progress: ProgressAPI;
189
189
  private cleanupRegistered;
190
190
  private isDisconnecting;
191
- private namespace;
191
+ private logger;
192
192
  constructor(connectionString: string, retryOptions?: RetryOptions, config?: HelperConfig);
193
193
  /**
194
194
  * Sets or updates the configuration for ref-based operations.
@@ -203,13 +203,13 @@ export declare class SimpleMongoHelper {
203
203
  */
204
204
  setNamespace(namespace: string): this;
205
205
  /**
206
- * Logging methods - delegates to console logger
206
+ * Logging methods - delegates to micro-logs Logger
207
207
  */
208
- logVerbose(message: string): void;
209
- logDebug(message: string): void;
210
- logInfo(message: string): void;
211
- logWarn(message: string): void;
212
- logError(message: string, throwError?: boolean): void;
208
+ logVerbose(message: string, data?: any): void;
209
+ logDebug(message: string, data?: any): void;
210
+ logInfo(message: string, data?: any): void;
211
+ logWarn(message: string, data?: any): void;
212
+ logError(message: string, data?: any): void;
213
213
  /**
214
214
  * Tests the MongoDB connection and returns detailed error information if it fails.
215
215
  * This method does not establish a persistent connection - use initialize() for that.
@@ -1 +1 @@
1
- {"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
@@ -5,155 +5,7 @@ exports.getByDotPath = getByDotPath;
5
5
  exports.computeSignature = computeSignature;
6
6
  const mongodb_1 = require("mongodb");
7
7
  const crypto_1 = require("crypto");
8
- const nx_config2_1 = require("nx-config2");
9
- /**
10
- * Log level numeric values for comparison (lower = more verbose)
11
- */
12
- const LOG_LEVEL_VALUES = {
13
- verbose: 0,
14
- debug: 1,
15
- info: 2,
16
- warn: 3,
17
- error: 4,
18
- };
19
- /**
20
- * Console logger with environment-based level control
21
- */
22
- class ConsoleLogger {
23
- constructor() {
24
- this.debugNamespaces = new Set();
25
- this.debugPatterns = [];
26
- // Auto-load config from .env files
27
- (0, nx_config2_1.autoLoadConfig)();
28
- // Get ENV_PREFIX from environment or use default
29
- const envPrefix = process.env.ENV_PREFIX || '';
30
- // Read LOGS_LEVEL from environment
31
- // Priority: {ENV_PREFIX}_LOG_LEVEL > LOGS_LEVEL > default 'info'
32
- const logLevelEnv = (envPrefix ? process.env[`${envPrefix}_LOG_LEVEL`] : null) ||
33
- process.env.LOGS_LEVEL ||
34
- 'info';
35
- // Validate and set global minimum level
36
- if (this.isValidLogLevel(logLevelEnv)) {
37
- this.globalMinLevel = logLevelEnv;
38
- }
39
- else {
40
- this.globalMinLevel = 'info';
41
- }
42
- // Parse DEBUG environment variable for namespace matching
43
- const debugEnv = process.env.DEBUG || '';
44
- if (debugEnv) {
45
- const patterns = debugEnv.split(',').map(p => p.trim());
46
- for (const pattern of patterns) {
47
- if (pattern === '*') {
48
- // Wildcard matches everything
49
- this.debugPatterns.push('*');
50
- }
51
- else {
52
- // Store pattern for matching
53
- this.debugPatterns.push(pattern);
54
- }
55
- }
56
- }
57
- }
58
- /**
59
- * Checks if a string is a valid log level
60
- */
61
- isValidLogLevel(level) {
62
- return ['verbose', 'debug', 'info', 'warn', 'error'].includes(level);
63
- }
64
- /**
65
- * Checks if a namespace matches any DEBUG pattern
66
- */
67
- matchesDebugPattern(namespace) {
68
- if (this.debugPatterns.length === 0) {
69
- return false;
70
- }
71
- for (const pattern of this.debugPatterns) {
72
- if (pattern === '*') {
73
- return true;
74
- }
75
- // Simple wildcard matching: "my-pkg*" matches "my-pkg", "my-pkg:sub", etc.
76
- if (pattern.endsWith('*')) {
77
- const prefix = pattern.slice(0, -1);
78
- if (namespace.startsWith(prefix)) {
79
- return true;
80
- }
81
- }
82
- else if (pattern === namespace) {
83
- return true;
84
- }
85
- }
86
- return false;
87
- }
88
- /**
89
- * Determines if a log entry should be printed to console
90
- */
91
- shouldPrint(level, namespace) {
92
- const levelValue = LOG_LEVEL_VALUES[level];
93
- const minLevelValue = LOG_LEVEL_VALUES[this.globalMinLevel];
94
- // Rule 1: Print if level >= global minimum level
95
- if (levelValue >= minLevelValue) {
96
- return true;
97
- }
98
- // Rule 2: Print verbose/debug if namespace matches DEBUG pattern
99
- if ((level === 'verbose' || level === 'debug') && namespace) {
100
- if (this.matchesDebugPattern(namespace)) {
101
- return true;
102
- }
103
- }
104
- return false;
105
- }
106
- /**
107
- * Logs a message to console
108
- */
109
- log(level, message, namespace, throwError = false) {
110
- if (!this.shouldPrint(level, namespace)) {
111
- return;
112
- }
113
- // Format message with namespace if provided
114
- const formattedMessage = namespace ? `[${namespace}] ${message}` : message;
115
- // Use appropriate console method
116
- switch (level) {
117
- case 'verbose':
118
- case 'debug':
119
- console.debug(formattedMessage);
120
- break;
121
- case 'info':
122
- console.info(formattedMessage);
123
- break;
124
- case 'warn':
125
- console.warn(formattedMessage);
126
- break;
127
- case 'error':
128
- console.error(formattedMessage);
129
- // Errors throw by default unless explicitly disabled
130
- if (throwError !== false) {
131
- throw new Error(formattedMessage);
132
- }
133
- break;
134
- }
135
- }
136
- /**
137
- * Convenience methods for each log level
138
- */
139
- verbose(message, namespace) {
140
- this.log('verbose', message, namespace, false);
141
- }
142
- debug(message, namespace) {
143
- this.log('debug', message, namespace, false);
144
- }
145
- info(message, namespace) {
146
- this.log('info', message, namespace, false);
147
- }
148
- warn(message, namespace) {
149
- this.log('warn', message, namespace, false);
150
- }
151
- error(message, namespace, throwError = true) {
152
- this.log('error', message, namespace, throwError);
153
- }
154
- }
155
- // Singleton logger instance
156
- const logger = new ConsoleLogger();
8
+ const micro_logs_1 = require("micro-logs");
157
9
  /**
158
10
  * Extracts values from an object using dot-notation paths with array wildcard support.
159
11
  * Supports nested object paths (dot notation) and array wildcards ([]) to collect values from all array elements.
@@ -648,6 +500,29 @@ class ProgressAPIImpl {
648
500
  await collection.updateOne(filter, update, updateOptions);
649
501
  }
650
502
  }
503
+ /**
504
+ * Creates a logger instance with fallback to console if micro-logs/nx-config2 fails.
505
+ * This makes nx-mongo resilient to nx-config2 configuration errors.
506
+ */
507
+ function createLogger(namespace = 'nx-mongo') {
508
+ try {
509
+ return new micro_logs_1.Logger({
510
+ packageName: 'nx-mongo',
511
+ debugNamespace: namespace
512
+ });
513
+ }
514
+ catch (error) {
515
+ // Fallback to console logger if micro-logs/nx-config2 fails
516
+ // This ensures nx-mongo works even if nx-config2 has parsing errors
517
+ return {
518
+ verbose: (...args) => console.debug(`[${namespace}]`, ...args),
519
+ debug: (...args) => console.debug(`[${namespace}]`, ...args),
520
+ info: (...args) => console.info(`[${namespace}]`, ...args),
521
+ warn: (...args) => console.warn(`[${namespace}]`, ...args),
522
+ error: (...args) => console.error(`[${namespace}]`, ...args),
523
+ };
524
+ }
525
+ }
651
526
  class SimpleMongoHelper {
652
527
  constructor(connectionString, retryOptions, config) {
653
528
  this.client = null;
@@ -656,7 +531,6 @@ class SimpleMongoHelper {
656
531
  this.config = null;
657
532
  this.cleanupRegistered = false;
658
533
  this.isDisconnecting = false;
659
- this.namespace = 'nx-mongo';
660
534
  // Store original connection string for database name extraction
661
535
  this.originalConnectionString = connectionString;
662
536
  // Strip database name from connection string if present (for backward compatibility)
@@ -668,6 +542,8 @@ class SimpleMongoHelper {
668
542
  };
669
543
  this.config = config || null;
670
544
  this.progress = new ProgressAPIImpl(this, config?.progress);
545
+ // Initialize logger with fallback - resilient to nx-config2 errors
546
+ this.logger = createLogger('nx-mongo');
671
547
  // Register automatic cleanup on process exit
672
548
  this.registerCleanup();
673
549
  }
@@ -678,7 +554,7 @@ class SimpleMongoHelper {
678
554
  */
679
555
  useConfig(config) {
680
556
  this.config = config;
681
- logger.debug('Configuration updated', this.namespace);
557
+ this.logger.debug('Configuration updated');
682
558
  return this;
683
559
  }
684
560
  /**
@@ -687,26 +563,27 @@ class SimpleMongoHelper {
687
563
  * @returns This instance for method chaining
688
564
  */
689
565
  setNamespace(namespace) {
690
- this.namespace = namespace;
566
+ // Update logger with new namespace - resilient to nx-config2 errors
567
+ this.logger = createLogger(namespace);
691
568
  return this;
692
569
  }
693
570
  /**
694
- * Logging methods - delegates to console logger
571
+ * Logging methods - delegates to micro-logs Logger
695
572
  */
696
- logVerbose(message) {
697
- logger.verbose(message, this.namespace);
573
+ logVerbose(message, data) {
574
+ this.logger.verbose(message, data);
698
575
  }
699
- logDebug(message) {
700
- logger.debug(message, this.namespace);
576
+ logDebug(message, data) {
577
+ this.logger.debug(message, data);
701
578
  }
702
- logInfo(message) {
703
- logger.info(message, this.namespace);
579
+ logInfo(message, data) {
580
+ this.logger.info(message, data);
704
581
  }
705
- logWarn(message) {
706
- logger.warn(message, this.namespace);
582
+ logWarn(message, data) {
583
+ this.logger.warn(message, data);
707
584
  }
708
- logError(message, throwError = true) {
709
- logger.error(message, this.namespace, throwError);
585
+ logError(message, data) {
586
+ this.logger.error(message, data);
710
587
  }
711
588
  /**
712
589
  * Tests the MongoDB connection and returns detailed error information if it fails.
@@ -948,9 +825,11 @@ class SimpleMongoHelper {
948
825
  */
949
826
  async initialize(options) {
950
827
  if (this.isInitialized) {
951
- this.logError('SimpleMongoHelper is already initialized');
828
+ const errorMsg = 'SimpleMongoHelper is already initialized';
829
+ this.logError(errorMsg);
830
+ throw new Error(errorMsg);
952
831
  }
953
- logger.debug('Initializing MongoDB connection', this.namespace);
832
+ this.logger.debug('Initializing MongoDB connection');
954
833
  // Use provided connection string or original (not stripped) connection string
955
834
  const connectionString = options?.connectionString || this.originalConnectionString;
956
835
  // ✅ Priority 1: Use provided databaseName parameter
@@ -963,12 +842,16 @@ class SimpleMongoHelper {
963
842
  }
964
843
  // ✅ Validate database name
965
844
  if (dbName && !isValidDatabaseName(dbName)) {
966
- this.logError(`Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`);
845
+ const errorMsg = `Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`;
846
+ this.logError(errorMsg);
847
+ throw new Error(errorMsg);
967
848
  }
968
849
  if (!dbName) {
969
- this.logError('Database name is required. Provide databaseName parameter or include it in connection string path.');
850
+ const errorMsg = 'Database name is required. Provide databaseName parameter or include it in connection string path.';
851
+ this.logError(errorMsg);
852
+ throw new Error(errorMsg);
970
853
  }
971
- logger.debug(`Using database: ${dbName}`, this.namespace);
854
+ this.logger.debug(`Using database: ${dbName}`);
972
855
  // ✅ Clean connection string if databaseName was provided separately
973
856
  // (to avoid using database name from URI path when we have explicit databaseName)
974
857
  const cleanUri = dbNameProvided ?
@@ -977,30 +860,32 @@ class SimpleMongoHelper {
977
860
  let lastError = null;
978
861
  for (let attempt = 0; attempt <= this.retryOptions.maxRetries; attempt++) {
979
862
  try {
980
- logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries + 1}`, this.namespace);
863
+ this.logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries + 1}`);
981
864
  this.client = new mongodb_1.MongoClient(cleanUri);
982
865
  await this.client.connect();
983
866
  // Use the resolved database name
984
867
  this.db = this.client.db(dbName);
985
868
  this.isInitialized = true;
986
- logger.info(`Successfully connected to MongoDB database: ${dbName}`, this.namespace);
869
+ this.logger.info(`Successfully connected to MongoDB database: ${dbName}`);
987
870
  return;
988
871
  }
989
872
  catch (error) {
990
873
  lastError = error instanceof Error ? error : new Error(String(error));
991
874
  this.client = null;
992
875
  this.db = null;
993
- logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`, this.namespace);
876
+ this.logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`);
994
877
  if (attempt < this.retryOptions.maxRetries) {
995
878
  const delay = this.retryOptions.exponentialBackoff
996
879
  ? this.retryOptions.retryDelay * Math.pow(2, attempt)
997
880
  : this.retryOptions.retryDelay;
998
- logger.debug(`Retrying in ${delay}ms...`, this.namespace);
881
+ this.logger.debug(`Retrying in ${delay}ms...`);
999
882
  await new Promise(resolve => setTimeout(resolve, delay));
1000
883
  }
1001
884
  }
1002
885
  }
1003
- this.logError(`Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries + 1} attempts: ${lastError?.message}`);
886
+ const errorMsg = `Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries + 1} attempts: ${lastError?.message}`;
887
+ this.logError(errorMsg);
888
+ throw new Error(errorMsg);
1004
889
  }
1005
890
  /**
1006
891
  * Loads data from a collection with optional query filter.
@@ -1 +1 @@
1
- {"version":3,"file":"simpleMongoHelper.js","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleMongoHelper.js","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx-mongo",
3
- "version": "3.8.5",
3
+ "version": "3.8.8",
4
4
  "description": "A lightweight, feature-rich MongoDB helper library for Node.js and TypeScript with pagination, transactions, aggregation, and more",
5
5
  "main": "dist/simpleMongoHelper.js",
6
6
  "types": "dist/simpleMongoHelper.d.ts",
@@ -30,13 +30,13 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "mongodb": "^6.3.0",
34
- "nx-config2": "^3.0.2"
33
+ "micro-logs": "^1.0.0",
34
+ "mongodb": "^6.3.0",
35
+ "nx-config2": "^3.2.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/node": "^20.10.0",
38
- "typescript": "^5.3.3",
39
- "ts-node": "^10.9.2"
39
+ "ts-node": "^10.9.2",
40
+ "typescript": "^5.3.3"
40
41
  }
41
- }
42
-
42
+ }
@@ -1,182 +1,6 @@
1
1
  import { MongoClient, Db, Collection, Filter, UpdateFilter, OptionalUnlessRequiredId, Document, WithId, ClientSession, Sort, IndexSpecification, CreateIndexesOptions } from 'mongodb';
2
2
  import { createHash } from 'crypto';
3
- import { getEnvVariables, autoLoadConfig } from 'nx-config2';
4
-
5
- /**
6
- * Log levels ordered from lowest to highest severity
7
- */
8
- type LogLevel = 'verbose' | 'debug' | 'info' | 'warn' | 'error';
9
-
10
- /**
11
- * Log level numeric values for comparison (lower = more verbose)
12
- */
13
- const LOG_LEVEL_VALUES: Record<LogLevel, number> = {
14
- verbose: 0,
15
- debug: 1,
16
- info: 2,
17
- warn: 3,
18
- error: 4,
19
- };
20
-
21
- /**
22
- * Console logger with environment-based level control
23
- */
24
- class ConsoleLogger {
25
- private globalMinLevel: LogLevel;
26
- private debugNamespaces: Set<string> = new Set();
27
- private debugPatterns: string[] = [];
28
-
29
- constructor() {
30
- // Auto-load config from .env files
31
- autoLoadConfig();
32
-
33
- // Get ENV_PREFIX from environment or use default
34
- const envPrefix = process.env.ENV_PREFIX || '';
35
-
36
- // Read LOGS_LEVEL from environment
37
- // Priority: {ENV_PREFIX}_LOG_LEVEL > LOGS_LEVEL > default 'info'
38
- const logLevelEnv = (envPrefix ? process.env[`${envPrefix}_LOG_LEVEL`] : null) ||
39
- process.env.LOGS_LEVEL ||
40
- 'info';
41
-
42
- // Validate and set global minimum level
43
- if (this.isValidLogLevel(logLevelEnv)) {
44
- this.globalMinLevel = logLevelEnv as LogLevel;
45
- } else {
46
- this.globalMinLevel = 'info';
47
- }
48
-
49
- // Parse DEBUG environment variable for namespace matching
50
- const debugEnv = process.env.DEBUG || '';
51
- if (debugEnv) {
52
- const patterns = debugEnv.split(',').map(p => p.trim());
53
- for (const pattern of patterns) {
54
- if (pattern === '*') {
55
- // Wildcard matches everything
56
- this.debugPatterns.push('*');
57
- } else {
58
- // Store pattern for matching
59
- this.debugPatterns.push(pattern);
60
- }
61
- }
62
- }
63
- }
64
-
65
- /**
66
- * Checks if a string is a valid log level
67
- */
68
- private isValidLogLevel(level: string): level is LogLevel {
69
- return ['verbose', 'debug', 'info', 'warn', 'error'].includes(level);
70
- }
71
-
72
- /**
73
- * Checks if a namespace matches any DEBUG pattern
74
- */
75
- private matchesDebugPattern(namespace: string): boolean {
76
- if (this.debugPatterns.length === 0) {
77
- return false;
78
- }
79
-
80
- for (const pattern of this.debugPatterns) {
81
- if (pattern === '*') {
82
- return true;
83
- }
84
-
85
- // Simple wildcard matching: "my-pkg*" matches "my-pkg", "my-pkg:sub", etc.
86
- if (pattern.endsWith('*')) {
87
- const prefix = pattern.slice(0, -1);
88
- if (namespace.startsWith(prefix)) {
89
- return true;
90
- }
91
- } else if (pattern === namespace) {
92
- return true;
93
- }
94
- }
95
-
96
- return false;
97
- }
98
-
99
- /**
100
- * Determines if a log entry should be printed to console
101
- */
102
- private shouldPrint(level: LogLevel, namespace?: string): boolean {
103
- const levelValue = LOG_LEVEL_VALUES[level];
104
- const minLevelValue = LOG_LEVEL_VALUES[this.globalMinLevel];
105
-
106
- // Rule 1: Print if level >= global minimum level
107
- if (levelValue >= minLevelValue) {
108
- return true;
109
- }
110
-
111
- // Rule 2: Print verbose/debug if namespace matches DEBUG pattern
112
- if ((level === 'verbose' || level === 'debug') && namespace) {
113
- if (this.matchesDebugPattern(namespace)) {
114
- return true;
115
- }
116
- }
117
-
118
- return false;
119
- }
120
-
121
- /**
122
- * Logs a message to console
123
- */
124
- log(level: LogLevel, message: string, namespace?: string, throwError: boolean = false): void {
125
- if (!this.shouldPrint(level, namespace)) {
126
- return;
127
- }
128
-
129
- // Format message with namespace if provided
130
- const formattedMessage = namespace ? `[${namespace}] ${message}` : message;
131
-
132
- // Use appropriate console method
133
- switch (level) {
134
- case 'verbose':
135
- case 'debug':
136
- console.debug(formattedMessage);
137
- break;
138
- case 'info':
139
- console.info(formattedMessage);
140
- break;
141
- case 'warn':
142
- console.warn(formattedMessage);
143
- break;
144
- case 'error':
145
- console.error(formattedMessage);
146
- // Errors throw by default unless explicitly disabled
147
- if (throwError !== false) {
148
- throw new Error(formattedMessage);
149
- }
150
- break;
151
- }
152
- }
153
-
154
- /**
155
- * Convenience methods for each log level
156
- */
157
- verbose(message: string, namespace?: string): void {
158
- this.log('verbose', message, namespace, false);
159
- }
160
-
161
- debug(message: string, namespace?: string): void {
162
- this.log('debug', message, namespace, false);
163
- }
164
-
165
- info(message: string, namespace?: string): void {
166
- this.log('info', message, namespace, false);
167
- }
168
-
169
- warn(message: string, namespace?: string): void {
170
- this.log('warn', message, namespace, false);
171
- }
172
-
173
- error(message: string, namespace?: string, throwError: boolean = true): void {
174
- this.log('error', message, namespace, throwError);
175
- }
176
- }
177
-
178
- // Singleton logger instance
179
- const logger = new ConsoleLogger();
3
+ import { Logger } from 'micro-logs';
180
4
 
181
5
  export interface PaginationOptions {
182
6
  page?: number;
@@ -905,6 +729,29 @@ class ProgressAPIImpl implements ProgressAPI {
905
729
  }
906
730
  }
907
731
 
732
+ /**
733
+ * Creates a logger instance with fallback to console if micro-logs/nx-config2 fails.
734
+ * This makes nx-mongo resilient to nx-config2 configuration errors.
735
+ */
736
+ function createLogger(namespace: string = 'nx-mongo'): Logger | any {
737
+ try {
738
+ return new Logger({
739
+ packageName: 'nx-mongo',
740
+ debugNamespace: namespace
741
+ });
742
+ } catch (error) {
743
+ // Fallback to console logger if micro-logs/nx-config2 fails
744
+ // This ensures nx-mongo works even if nx-config2 has parsing errors
745
+ return {
746
+ verbose: (...args: any[]) => console.debug(`[${namespace}]`, ...args),
747
+ debug: (...args: any[]) => console.debug(`[${namespace}]`, ...args),
748
+ info: (...args: any[]) => console.info(`[${namespace}]`, ...args),
749
+ warn: (...args: any[]) => console.warn(`[${namespace}]`, ...args),
750
+ error: (...args: any[]) => console.error(`[${namespace}]`, ...args),
751
+ };
752
+ }
753
+ }
754
+
908
755
  export class SimpleMongoHelper {
909
756
  private connectionString: string;
910
757
  private originalConnectionString: string; // Store original for database name extraction
@@ -916,7 +763,7 @@ export class SimpleMongoHelper {
916
763
  public readonly progress: ProgressAPI;
917
764
  private cleanupRegistered: boolean = false;
918
765
  private isDisconnecting: boolean = false;
919
- private namespace: string = 'nx-mongo';
766
+ private logger: Logger | any;
920
767
 
921
768
  constructor(connectionString: string, retryOptions?: RetryOptions, config?: HelperConfig) {
922
769
  // Store original connection string for database name extraction
@@ -931,6 +778,9 @@ export class SimpleMongoHelper {
931
778
  this.config = config || null;
932
779
  this.progress = new ProgressAPIImpl(this, config?.progress);
933
780
 
781
+ // Initialize logger with fallback - resilient to nx-config2 errors
782
+ this.logger = createLogger('nx-mongo');
783
+
934
784
  // Register automatic cleanup on process exit
935
785
  this.registerCleanup();
936
786
  }
@@ -942,7 +792,7 @@ export class SimpleMongoHelper {
942
792
  */
943
793
  useConfig(config: HelperConfig): this {
944
794
  this.config = config;
945
- logger.debug('Configuration updated', this.namespace);
795
+ this.logger.debug('Configuration updated');
946
796
  return this;
947
797
  }
948
798
 
@@ -952,31 +802,32 @@ export class SimpleMongoHelper {
952
802
  * @returns This instance for method chaining
953
803
  */
954
804
  setNamespace(namespace: string): this {
955
- this.namespace = namespace;
805
+ // Update logger with new namespace - resilient to nx-config2 errors
806
+ this.logger = createLogger(namespace);
956
807
  return this;
957
808
  }
958
809
 
959
810
  /**
960
- * Logging methods - delegates to console logger
811
+ * Logging methods - delegates to micro-logs Logger
961
812
  */
962
- logVerbose(message: string): void {
963
- logger.verbose(message, this.namespace);
813
+ logVerbose(message: string, data?: any): void {
814
+ this.logger.verbose(message, data);
964
815
  }
965
816
 
966
- logDebug(message: string): void {
967
- logger.debug(message, this.namespace);
817
+ logDebug(message: string, data?: any): void {
818
+ this.logger.debug(message, data);
968
819
  }
969
820
 
970
- logInfo(message: string): void {
971
- logger.info(message, this.namespace);
821
+ logInfo(message: string, data?: any): void {
822
+ this.logger.info(message, data);
972
823
  }
973
824
 
974
- logWarn(message: string): void {
975
- logger.warn(message, this.namespace);
825
+ logWarn(message: string, data?: any): void {
826
+ this.logger.warn(message, data);
976
827
  }
977
828
 
978
- logError(message: string, throwError: boolean = true): void {
979
- logger.error(message, this.namespace, throwError);
829
+ logError(message: string, data?: any): void {
830
+ this.logger.error(message, data);
980
831
  }
981
832
 
982
833
  /**
@@ -1240,10 +1091,12 @@ export class SimpleMongoHelper {
1240
1091
  */
1241
1092
  async initialize(options?: { connectionString?: string; databaseName?: string }): Promise<void> {
1242
1093
  if (this.isInitialized) {
1243
- this.logError('SimpleMongoHelper is already initialized');
1094
+ const errorMsg = 'SimpleMongoHelper is already initialized';
1095
+ this.logError(errorMsg);
1096
+ throw new Error(errorMsg);
1244
1097
  }
1245
1098
 
1246
- logger.debug('Initializing MongoDB connection', this.namespace);
1099
+ this.logger.debug('Initializing MongoDB connection');
1247
1100
 
1248
1101
  // Use provided connection string or original (not stripped) connection string
1249
1102
  const connectionString = options?.connectionString || this.originalConnectionString;
@@ -1260,14 +1113,18 @@ export class SimpleMongoHelper {
1260
1113
 
1261
1114
  // ✅ Validate database name
1262
1115
  if (dbName && !isValidDatabaseName(dbName)) {
1263
- this.logError(`Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`);
1116
+ const errorMsg = `Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`;
1117
+ this.logError(errorMsg);
1118
+ throw new Error(errorMsg);
1264
1119
  }
1265
1120
 
1266
1121
  if (!dbName) {
1267
- this.logError('Database name is required. Provide databaseName parameter or include it in connection string path.');
1122
+ const errorMsg = 'Database name is required. Provide databaseName parameter or include it in connection string path.';
1123
+ this.logError(errorMsg);
1124
+ throw new Error(errorMsg);
1268
1125
  }
1269
1126
 
1270
- logger.debug(`Using database: ${dbName}`, this.namespace);
1127
+ this.logger.debug(`Using database: ${dbName}`);
1271
1128
 
1272
1129
  // ✅ Clean connection string if databaseName was provided separately
1273
1130
  // (to avoid using database name from URI path when we have explicit databaseName)
@@ -1278,32 +1135,34 @@ export class SimpleMongoHelper {
1278
1135
  let lastError: Error | null = null;
1279
1136
  for (let attempt = 0; attempt <= this.retryOptions.maxRetries!; attempt++) {
1280
1137
  try {
1281
- logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries! + 1}`, this.namespace);
1138
+ this.logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries! + 1}`);
1282
1139
  this.client = new MongoClient(cleanUri);
1283
1140
  await this.client.connect();
1284
1141
  // Use the resolved database name
1285
1142
  this.db = this.client.db(dbName);
1286
1143
  this.isInitialized = true;
1287
- logger.info(`Successfully connected to MongoDB database: ${dbName}`, this.namespace);
1144
+ this.logger.info(`Successfully connected to MongoDB database: ${dbName}`);
1288
1145
  return;
1289
1146
  } catch (error) {
1290
1147
  lastError = error instanceof Error ? error : new Error(String(error));
1291
1148
  this.client = null;
1292
1149
  this.db = null;
1293
1150
 
1294
- logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`, this.namespace);
1151
+ this.logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`);
1295
1152
 
1296
1153
  if (attempt < this.retryOptions.maxRetries!) {
1297
1154
  const delay = this.retryOptions.exponentialBackoff
1298
1155
  ? this.retryOptions.retryDelay! * Math.pow(2, attempt)
1299
1156
  : this.retryOptions.retryDelay!;
1300
- logger.debug(`Retrying in ${delay}ms...`, this.namespace);
1157
+ this.logger.debug(`Retrying in ${delay}ms...`);
1301
1158
  await new Promise(resolve => setTimeout(resolve, delay));
1302
1159
  }
1303
1160
  }
1304
1161
  }
1305
1162
 
1306
- this.logError(`Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries! + 1} attempts: ${lastError?.message}`);
1163
+ const errorMsg = `Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries! + 1} attempts: ${lastError?.message}`;
1164
+ this.logError(errorMsg);
1165
+ throw new Error(errorMsg);
1307
1166
  }
1308
1167
 
1309
1168
  /**