Files
emaui/node_modules/@module-federation/sdk/dist/logger.cjs.map
2026-05-29 15:23:46 +03:00

1 line
7.1 KiB
Plaintext

{"version":3,"file":"logger.cjs","names":["isDebugMode"],"sources":["../src/logger.ts"],"sourcesContent":["import { isDebugMode } from './env';\n\nconst PREFIX = '[ Module Federation ]';\n\ntype LogMethod = 'log' | 'info' | 'warn' | 'error' | 'debug';\n\ntype LoggerDelegate = Partial<Record<LogMethod, (...args: any[]) => void>> & {\n [key: string]: ((...args: any[]) => void) | undefined;\n};\n\nconst DEFAULT_DELEGATE: LoggerDelegate = console as unknown as LoggerDelegate;\nconst LOGGER_STACK_SKIP_TOKENS = [\n 'logger.ts',\n 'logger.js',\n 'captureStackTrace',\n 'Logger.emit',\n 'Logger.log',\n 'Logger.info',\n 'Logger.warn',\n 'Logger.error',\n 'Logger.debug',\n];\n\nfunction captureStackTrace(): string | undefined {\n try {\n const stack = new Error().stack;\n if (!stack) {\n return undefined;\n }\n\n const [, ...rawLines] = stack.split('\\n');\n const filtered = rawLines.filter(\n (line) => !LOGGER_STACK_SKIP_TOKENS.some((token) => line.includes(token)),\n );\n\n if (!filtered.length) {\n return undefined;\n }\n\n const stackPreview = filtered.slice(0, 5).join('\\n');\n return `Stack trace:\\n${stackPreview}`;\n } catch {\n return undefined;\n }\n}\n\nclass Logger {\n prefix: string;\n private delegate: LoggerDelegate;\n\n constructor(prefix: string, delegate: LoggerDelegate = DEFAULT_DELEGATE) {\n this.prefix = prefix;\n this.delegate = delegate ?? DEFAULT_DELEGATE;\n }\n\n setPrefix(prefix: string) {\n this.prefix = prefix;\n }\n\n setDelegate(delegate?: LoggerDelegate) {\n this.delegate = delegate ?? DEFAULT_DELEGATE;\n }\n\n private emit(method: LogMethod, args: any[]) {\n const delegate = this.delegate;\n const debugMode = isDebugMode();\n const stackTrace = debugMode ? captureStackTrace() : undefined;\n const enrichedArgs = stackTrace ? [...args, stackTrace] : args;\n\n const order: LogMethod[] = (() => {\n switch (method) {\n case 'log':\n return ['log', 'info'];\n case 'info':\n return ['info', 'log'];\n case 'warn':\n return ['warn', 'info', 'log'];\n case 'error':\n return ['error', 'warn', 'log'];\n case 'debug':\n default:\n return ['debug', 'log'];\n }\n })();\n\n for (const candidate of order) {\n const handler = delegate[candidate];\n if (typeof handler === 'function') {\n handler.call(delegate, this.prefix, ...enrichedArgs);\n return;\n }\n }\n\n for (const candidate of order) {\n const handler = DEFAULT_DELEGATE[candidate];\n if (typeof handler === 'function') {\n handler.call(DEFAULT_DELEGATE, this.prefix, ...enrichedArgs);\n return;\n }\n }\n }\n\n log(...args: any[]) {\n this.emit('log', args);\n }\n warn(...args: any[]) {\n this.emit('warn', args);\n }\n error(...args: any[]) {\n this.emit('error', args);\n }\n\n success(...args: any[]) {\n this.emit('info', args);\n }\n info(...args: any[]) {\n this.emit('info', args);\n }\n ready(...args: any[]) {\n this.emit('info', args);\n }\n\n debug(...args: any[]) {\n if (isDebugMode()) {\n this.emit('debug', args);\n }\n }\n}\n\nfunction createLogger(prefix: string) {\n return new Logger(prefix);\n}\n\ntype InfrastructureLogger = Logger & {\n __mf_infrastructure_logger__: true;\n};\n\nfunction createInfrastructureLogger(prefix: string): InfrastructureLogger {\n const infrastructureLogger = new Logger(prefix) as InfrastructureLogger;\n Object.defineProperty(infrastructureLogger, '__mf_infrastructure_logger__', {\n value: true,\n enumerable: false,\n configurable: false,\n });\n return infrastructureLogger;\n}\n\ntype InfrastructureLoggerCapableCompiler = {\n getInfrastructureLogger?: (name: string) => unknown;\n};\n\nfunction bindLoggerToCompiler(\n loggerInstance: Logger,\n compiler: InfrastructureLoggerCapableCompiler,\n name: string,\n) {\n if (\n !(loggerInstance as Partial<InfrastructureLogger>)\n .__mf_infrastructure_logger__\n ) {\n return;\n }\n if (!compiler?.getInfrastructureLogger) {\n return;\n }\n try {\n const infrastructureLogger = compiler.getInfrastructureLogger(name);\n if (\n infrastructureLogger &&\n typeof infrastructureLogger === 'object' &&\n (typeof (infrastructureLogger as LoggerDelegate).log === 'function' ||\n typeof (infrastructureLogger as LoggerDelegate).info === 'function' ||\n typeof (infrastructureLogger as LoggerDelegate).warn === 'function' ||\n typeof (infrastructureLogger as LoggerDelegate).error === 'function')\n ) {\n loggerInstance.setDelegate(\n infrastructureLogger as unknown as LoggerDelegate,\n );\n }\n } catch {\n // If the bundler throws (older versions), fall back to default console logger.\n loggerInstance.setDelegate(undefined);\n }\n}\n\nconst logger = createLogger(PREFIX);\nconst infrastructureLogger = createInfrastructureLogger(PREFIX);\n\nexport {\n logger,\n infrastructureLogger,\n createLogger,\n createInfrastructureLogger,\n bindLoggerToCompiler,\n};\nexport type { Logger, InfrastructureLogger };\n"],"mappings":"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"}