slnodejs 6.1.1147 → 6.1.1151
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/messages/common/build-scanner.json +54 -0
- package/messages/common/cd-agent.json +10 -0
- package/messages/common/error-network.json +52 -0
- package/messages/common/general.json +17 -0
- package/messages/common/package.json +6 -0
- package/messages/common/test-listener.json +84 -0
- package/messages/node/package.json +6 -0
- package/package.json +9 -3
- package/tsOutputs/api.d.ts +1 -0
- package/tsOutputs/api.js +4 -2
- package/tsOutputs/build-scanner/build-diff-process.js +33 -3
- package/tsOutputs/build-scanner/build-diff-process.js.map +1 -1
- package/tsOutputs/cli-parse/cli.js +2 -2
- package/tsOutputs/cli-parse/cli.js.map +1 -1
- package/tsOutputs/cli-parse/constants/constants.js +4 -2
- package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
- package/tsOutputs/cli-parse/contracts.d.ts +1 -1
- package/tsOutputs/cli-parse/executors/base-executor.js +30 -13
- package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/build-executor.js +22 -1
- package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/config-executor.js +17 -0
- package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +0 -2
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/instrument-executor.js +0 -1
- package/tsOutputs/cli-parse/executors/instrument-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/test-listener-executor.js +62 -4
- package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
- package/tsOutputs/common/config-process/config.d.ts +1 -1
- package/tsOutputs/common/config-process/config.js +1 -1
- package/tsOutputs/common/config-process/config.js.map +1 -1
- package/tsOutputs/common/console-message-service.d.ts +229 -0
- package/tsOutputs/common/console-message-service.js +408 -0
- package/tsOutputs/common/console-message-service.js.map +1 -0
- package/tsOutputs/common/constants/sl-env-vars.d.ts +2 -2
- package/tsOutputs/common/constants/sl-env-vars.js +3 -3
- package/tsOutputs/common/constants/sl-env-vars.js.map +1 -1
- package/tsOutputs/common/contracts.d.ts +1 -1
- package/tsOutputs/common/footprints-process-v6/index.d.ts +2 -0
- package/tsOutputs/common/footprints-process-v6/index.js +20 -0
- package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
- package/tsOutputs/common/http/backend-proxy-with-default-client.js +1 -1
- package/tsOutputs/common/http/backend-proxy-with-default-client.js.map +1 -1
- package/tsOutputs/common/http/contracts.d.ts +3 -3
- package/tsOutputs/common/http/contracts.js +1 -1
- package/tsOutputs/common/http/contracts.js.map +1 -1
- package/tsOutputs/common/http/http-client.js +1 -1
- package/tsOutputs/common/http/http-client.js.map +1 -1
- package/tsOutputs/common/index.d.ts +1 -0
- package/tsOutputs/common/index.js +3 -0
- package/tsOutputs/common/index.js.map +1 -1
- package/tsOutputs/common/scm/scm-factory.js +1 -1
- package/tsOutputs/common/scm/scm-factory.js.map +1 -1
- package/tsOutputs/common/state-tracker.d.ts +2 -1
- package/tsOutputs/common/state-tracker.js +12 -3
- package/tsOutputs/common/state-tracker.js.map +1 -1
- package/tsOutputs/common/utils/simple-mustache.d.ts +29 -0
- package/tsOutputs/common/utils/simple-mustache.js +60 -0
- package/tsOutputs/common/utils/simple-mustache.js.map +1 -0
- package/tsOutputs/messages/message-keys.generated.d.ts +276 -0
- package/tsOutputs/messages/message-keys.generated.js +97 -0
- package/tsOutputs/messages/message-keys.generated.js.map +1 -0
- package/tsOutputs/mocha-reporter/index.js +48 -5
- package/tsOutputs/mocha-reporter/index.js.map +1 -1
- package/tsOutputs/test-listener/agent.d.ts +1 -1
- package/tsOutputs/test-listener/factory.js +1 -1
- package/tsOutputs/test-listener/factory.js.map +1 -1
- package/tsOutputs/test-listener/remote-agent.d.ts +5 -3
- package/tsOutputs/test-listener/remote-agent.js +9 -1
- package/tsOutputs/test-listener/remote-agent.js.map +1 -1
- package/tsOutputs/test-listener/test-recommendation-handler.d.ts +1 -0
- package/tsOutputs/test-listener/test-recommendation-handler.js +17 -0
- package/tsOutputs/test-listener/test-recommendation-handler.js.map +1 -1
|
@@ -15,6 +15,8 @@ const utils_1 = require("../utils");
|
|
|
15
15
|
const sl_env_vars_1 = require("../../common/constants/sl-env-vars");
|
|
16
16
|
const config_system_1 = require("../../common/config-process/config-system");
|
|
17
17
|
const contracts_1 = require("../../common/http/contracts");
|
|
18
|
+
const constants_1 = require("../constants/constants");
|
|
19
|
+
const message_keys_generated_1 = require("../../messages/message-keys.generated");
|
|
18
20
|
class TestListenerExecutor extends base_executor_1.BaseExecutor {
|
|
19
21
|
constructor() {
|
|
20
22
|
super();
|
|
@@ -25,7 +27,7 @@ class TestListenerExecutor extends base_executor_1.BaseExecutor {
|
|
|
25
27
|
}
|
|
26
28
|
// todo parent class should have no knowledge of child classes method signatures (get rid of type unions)
|
|
27
29
|
mapArgs(args) {
|
|
28
|
-
return Object.assign(Object.assign(Object.assign({}, args), this.baseData), { appname: this.baseData.appName, build: this.baseData.buildName, branch: this.baseData.branchName, labid: args.labid || this.baseData.buildSessionId, buildsessionid: this.baseData.buildSessionId, testProjectId: this.resolveTestProjectId(args),
|
|
30
|
+
return Object.assign(Object.assign(Object.assign({}, args), this.baseData), { appname: this.baseData.appName, build: this.baseData.buildName, branch: this.baseData.branchName, labid: args.labid || this.baseData.buildSessionId, buildsessionid: this.baseData.buildSessionId, testProjectId: this.resolveTestProjectId(args), prID: this.resolvePrID(args) });
|
|
29
31
|
}
|
|
30
32
|
innerExecute(args, extraArgs) {
|
|
31
33
|
const _super = Object.create(null, {
|
|
@@ -33,6 +35,8 @@ class TestListenerExecutor extends base_executor_1.BaseExecutor {
|
|
|
33
35
|
});
|
|
34
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
37
|
this.isSLCommandRan = true;
|
|
38
|
+
// Print essential configuration for test listener commands
|
|
39
|
+
this.printEssentialConfiguration(args);
|
|
36
40
|
const methodology = yield _super.getInstrumentationMethodology.call(this);
|
|
37
41
|
const remoteConfig = Object.assign(Object.assign({}, this.agentRemoteConfig), (methodology === contracts_1.InstrumentationMethodology.MethodLines && {
|
|
38
42
|
enableLineCoverage: true,
|
|
@@ -45,16 +49,70 @@ class TestListenerExecutor extends base_executor_1.BaseExecutor {
|
|
|
45
49
|
sl_env_vars_1.SlEnvVars.turnOtelOn();
|
|
46
50
|
});
|
|
47
51
|
}
|
|
52
|
+
printEssentialConfiguration(args) {
|
|
53
|
+
const isRunCommand = this.commandName === 'run';
|
|
54
|
+
const isMochaCommand = this.commandName === 'mocha';
|
|
55
|
+
// For mocha command, check if essential config values have dummy prefix
|
|
56
|
+
const hasConfigDummyValues = isMochaCommand &&
|
|
57
|
+
this.hasDummyPrefix(this.baseData.appName, this.baseData.branchName, this.baseData.buildName);
|
|
58
|
+
// Check individual values for dummy prefix (mocha only)
|
|
59
|
+
const bsidHasDummy = isMochaCommand && this.hasDummyPrefix(this.baseData.buildSessionId);
|
|
60
|
+
const labidHasDummy = isMochaCommand && this.hasDummyPrefix(args.labid);
|
|
61
|
+
// Determine what should be printed
|
|
62
|
+
const shouldPrintEssentialConfig = !hasConfigDummyValues;
|
|
63
|
+
const shouldPrintBsid = !!this.baseData.buildSessionId && !bsidHasDummy;
|
|
64
|
+
const shouldPrintLabid = !!args.labid && !labidHasDummy;
|
|
65
|
+
const shouldPrintTestStage = !isRunCommand && !!args.teststage;
|
|
66
|
+
// Track if we need to print Essential configuration header separately
|
|
67
|
+
let needsEssentialHeader = false;
|
|
68
|
+
if (shouldPrintEssentialConfig) {
|
|
69
|
+
this.cms.print(message_keys_generated_1.TestListenerMessages.LISTENER_ESSENTIAL_CONFIG, {
|
|
70
|
+
appName: this.baseData.appName,
|
|
71
|
+
branchName: this.baseData.branchName,
|
|
72
|
+
buildName: this.baseData.buildName,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// Check if we'll print any subsequent messages
|
|
77
|
+
needsEssentialHeader =
|
|
78
|
+
shouldPrintBsid || shouldPrintLabid || shouldPrintTestStage;
|
|
79
|
+
}
|
|
80
|
+
// Print "Essential configuration:" header if main config was skipped but other messages will follow
|
|
81
|
+
if (needsEssentialHeader) {
|
|
82
|
+
this.cms.printString('Essential configuration:');
|
|
83
|
+
}
|
|
84
|
+
if (shouldPrintBsid) {
|
|
85
|
+
this.cms.print(message_keys_generated_1.TestListenerMessages.LISTENER_ESSENTIAL_BSID, {
|
|
86
|
+
buildSessionId: this.baseData.buildSessionId,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (shouldPrintLabid) {
|
|
90
|
+
this.cms.print(message_keys_generated_1.TestListenerMessages.LISTENER_ESSENTIAL_LABID, {
|
|
91
|
+
labId: args.labid,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (shouldPrintTestStage) {
|
|
95
|
+
this.cms.print(message_keys_generated_1.TestListenerMessages.LISTENER_ESSENTIAL_CONFIG_TEST_STAGE, {
|
|
96
|
+
testStage: args.teststage,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if any of the provided values start with the sl_dummy prefix
|
|
102
|
+
*/
|
|
103
|
+
hasDummyPrefix(...values) {
|
|
104
|
+
return values.some((value) => value && value.startsWith(constants_1.SL_DUMMY_PREFIX));
|
|
105
|
+
}
|
|
48
106
|
resolveTestProjectId(args) {
|
|
49
107
|
return args.testProjectId || sl_env_vars_1.SlEnvVars.testProjectId();
|
|
50
108
|
}
|
|
51
|
-
|
|
52
|
-
return args.
|
|
109
|
+
resolvePrID(args) {
|
|
110
|
+
return args.prID || sl_env_vars_1.SlEnvVars.prID();
|
|
53
111
|
}
|
|
54
112
|
getBackendProxyConfig(args) {
|
|
55
113
|
return {
|
|
56
114
|
testProjectId: this.resolveTestProjectId(args),
|
|
57
|
-
|
|
115
|
+
prID: this.resolvePrID(args),
|
|
58
116
|
};
|
|
59
117
|
}
|
|
60
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-listener-executor.js","sourceRoot":"","sources":["../../../cli-parse/executors/test-listener-executor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA+C;AAE/C,oCAA6C;AAC7C,oEAA+D;AAC/D,6EAA4F;AAC5F,2DAGqC;
|
|
1
|
+
{"version":3,"file":"test-listener-executor.js","sourceRoot":"","sources":["../../../cli-parse/executors/test-listener-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,7 @@ export declare class AgentConfig extends BaseConfiguration {
|
|
|
72
72
|
enrichByMethodRange: BooleanConfigKey;
|
|
73
73
|
experimentalDeduplicateEnrichedMethodsWithOriginals: BooleanConfigKey;
|
|
74
74
|
testProjectId: StringConfigKey;
|
|
75
|
-
|
|
75
|
+
prID: StringConfigKey;
|
|
76
76
|
es6Modules: BooleanConfigKey;
|
|
77
77
|
}
|
|
78
78
|
export declare class AgentConfigWithRuntimeArgs extends AgentConfig {
|
|
@@ -77,7 +77,7 @@ class AgentConfig extends config_system_1.BaseConfiguration {
|
|
|
77
77
|
this.enrichByMethodRange = new config_system_1.BooleanConfigKey(false, false);
|
|
78
78
|
this.experimentalDeduplicateEnrichedMethodsWithOriginals = new config_system_1.BooleanConfigKey(false, false);
|
|
79
79
|
this.testProjectId = new config_system_1.StringConfigKey(false);
|
|
80
|
-
this.
|
|
80
|
+
this.prID = new config_system_1.StringConfigKey(false);
|
|
81
81
|
this.es6Modules = new config_system_1.BooleanConfigKey(false, false);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../common/config-process/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../common/config-process/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console Message Service
|
|
3
|
+
*
|
|
4
|
+
* Singleton service for displaying user-facing console messages to stdout.
|
|
5
|
+
* Messages are loaded from JSON files and rendered using Mustache templates.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Singleton pattern for global access
|
|
9
|
+
* - Configurable prefix (default: [SeaLights])
|
|
10
|
+
* - Quiet mode support (--quiet flag or SL_QUIET env var)
|
|
11
|
+
* - Lazy loading of message files
|
|
12
|
+
* - No third-party dependencies
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Initialize once at startup
|
|
16
|
+
* ConsoleMessageService.initialize({
|
|
17
|
+
* prefix: '[SeaLights]',
|
|
18
|
+
* quiet: false,
|
|
19
|
+
* messagesPath: './messages'
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // Use anywhere in the application
|
|
23
|
+
* const cms = ConsoleMessageService.getInstance();
|
|
24
|
+
* cms.print('config-new-build', {
|
|
25
|
+
* appName: 'MyApp',
|
|
26
|
+
* branchName: 'main',
|
|
27
|
+
* buildName: '1.0.0'
|
|
28
|
+
* });
|
|
29
|
+
*/
|
|
30
|
+
import { TemplateData } from './utils/simple-mustache';
|
|
31
|
+
import { MessageKey, MessageParamsMap } from '../messages/message-keys.generated';
|
|
32
|
+
import { Logger } from './contracts';
|
|
33
|
+
/**
|
|
34
|
+
* Conditional args type for print methods.
|
|
35
|
+
* Returns empty tuple if message has no params, otherwise requires the params object.
|
|
36
|
+
*/
|
|
37
|
+
type PrintArgs<K extends MessageKey> = MessageParamsMap[K] extends Record<string, never> ? [] : [data: MessageParamsMap[K]];
|
|
38
|
+
/**
|
|
39
|
+
* Configuration options for Console Message Service
|
|
40
|
+
*/
|
|
41
|
+
export interface IConsoleMessageConfig {
|
|
42
|
+
/** Prefix to prepend to all messages (default: '[SeaLights]') */
|
|
43
|
+
prefix?: string;
|
|
44
|
+
/** Whether to suppress all console output (default: false) */
|
|
45
|
+
quiet?: boolean;
|
|
46
|
+
/** Path to messages directory (default: computed from __dirname) */
|
|
47
|
+
messagesPath?: string;
|
|
48
|
+
/** Throttle window in milliseconds to prevent duplicate messages (default: 1000) */
|
|
49
|
+
throttleMs?: number;
|
|
50
|
+
/** Optional logger for INFO-level logging of messages (for file/remote logging) */
|
|
51
|
+
logger?: Logger;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Internal configuration with required fields (except logger which remains optional)
|
|
55
|
+
*/
|
|
56
|
+
type InternalConfig = Required<Omit<IConsoleMessageConfig, 'logger'>> & {
|
|
57
|
+
logger?: Logger;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Console Message Service - Singleton
|
|
61
|
+
*/
|
|
62
|
+
export declare class ConsoleMessageService {
|
|
63
|
+
private static instance;
|
|
64
|
+
private config;
|
|
65
|
+
private messages;
|
|
66
|
+
private loadedFiles;
|
|
67
|
+
private messageTimestamps;
|
|
68
|
+
private stateTrackers;
|
|
69
|
+
/** Maximum number of throttle entries before cleanup (prevents memory leak) */
|
|
70
|
+
private static readonly MAX_THROTTLE_ENTRIES;
|
|
71
|
+
/**
|
|
72
|
+
* Private constructor (singleton pattern)
|
|
73
|
+
*/
|
|
74
|
+
private constructor();
|
|
75
|
+
/**
|
|
76
|
+
* Initialize the console message service (call once at startup)
|
|
77
|
+
* If already initialized, this is a no-op. Use reset() in tests to re-initialize.
|
|
78
|
+
*
|
|
79
|
+
* @param config - Configuration options
|
|
80
|
+
*/
|
|
81
|
+
static initialize(config?: IConsoleMessageConfig): void;
|
|
82
|
+
/**
|
|
83
|
+
* Get the singleton instance
|
|
84
|
+
*
|
|
85
|
+
* @returns Console message service instance
|
|
86
|
+
*/
|
|
87
|
+
static getInstance(): ConsoleMessageService;
|
|
88
|
+
/**
|
|
89
|
+
* Reset the service (for testing)
|
|
90
|
+
*/
|
|
91
|
+
static reset(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Print a message to stdout
|
|
94
|
+
*
|
|
95
|
+
* @param messageKey - Message key (type-safe enum value)
|
|
96
|
+
* @param data - Data to substitute in template (type-safe based on message key)
|
|
97
|
+
*/
|
|
98
|
+
print<K extends MessageKey>(messageKey: K, ...args: PrintArgs<K>): void;
|
|
99
|
+
/**
|
|
100
|
+
* Print an arbitrary string to stdout
|
|
101
|
+
*
|
|
102
|
+
* @param message - Message string to print
|
|
103
|
+
*/
|
|
104
|
+
printString(message: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* Print a message only when the state changes.
|
|
107
|
+
* This is useful for messages that should only be shown once when a state
|
|
108
|
+
* transitions (e.g., from no active test stage to active test stage).
|
|
109
|
+
*
|
|
110
|
+
* @param stateKey - Unique key to track this state (e.g., 'test-stage-status')
|
|
111
|
+
* @param currentState - Current state value (e.g., 'active' or 'inactive')
|
|
112
|
+
* @param messageKey - Message key to print (type-safe enum value)
|
|
113
|
+
* @param data - Data to substitute in template (type-safe based on message key)
|
|
114
|
+
* @returns True if the message was printed (state changed), false otherwise
|
|
115
|
+
*/
|
|
116
|
+
printOnStateChange<K extends MessageKey>(stateKey: string, currentState: string, messageKey: K, ...args: PrintArgs<K>): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Get configuration
|
|
119
|
+
*/
|
|
120
|
+
getConfig(): Readonly<InternalConfig>;
|
|
121
|
+
/**
|
|
122
|
+
* Check if a message should be throttled
|
|
123
|
+
*
|
|
124
|
+
* @param messageKey - Message key
|
|
125
|
+
* @param data - Data to substitute
|
|
126
|
+
* @returns True if message should be throttled (skipped)
|
|
127
|
+
*/
|
|
128
|
+
private isThrottled;
|
|
129
|
+
/**
|
|
130
|
+
* Record timestamp for a message
|
|
131
|
+
*
|
|
132
|
+
* @param messageKey - Message key
|
|
133
|
+
* @param data - Data to substitute
|
|
134
|
+
*/
|
|
135
|
+
private recordMessageTimestamp;
|
|
136
|
+
/**
|
|
137
|
+
* Remove timestamps older than throttle window (cleanup for memory management)
|
|
138
|
+
*/
|
|
139
|
+
private cleanupOldTimestamps;
|
|
140
|
+
/**
|
|
141
|
+
* Create a hash from message key and data
|
|
142
|
+
*
|
|
143
|
+
* @param messageKey - Message key
|
|
144
|
+
* @param data - Data to substitute
|
|
145
|
+
* @returns Hash string
|
|
146
|
+
*/
|
|
147
|
+
private createMessageHash;
|
|
148
|
+
/**
|
|
149
|
+
* Render a message template with data (without printing)
|
|
150
|
+
*
|
|
151
|
+
* @param messageKey - Message key
|
|
152
|
+
* @param data - Data to substitute
|
|
153
|
+
* @returns Array of rendered lines
|
|
154
|
+
*/
|
|
155
|
+
private renderMessage;
|
|
156
|
+
/**
|
|
157
|
+
* Render a message template with data as a single string (without printing)
|
|
158
|
+
* Convenience method that joins multiple lines with newlines.
|
|
159
|
+
*
|
|
160
|
+
* @param messageKey - Message key
|
|
161
|
+
* @param data - Data to substitute
|
|
162
|
+
* @returns Rendered message as a single string
|
|
163
|
+
*/
|
|
164
|
+
renderMessageAsString(messageKey: MessageKey, data?: TemplateData): string;
|
|
165
|
+
/**
|
|
166
|
+
* Ensure messages are loaded (lazy loading)
|
|
167
|
+
*/
|
|
168
|
+
private ensureMessagesLoaded;
|
|
169
|
+
/**
|
|
170
|
+
* Load all message files from the messages directory
|
|
171
|
+
*/
|
|
172
|
+
private loadAllMessages;
|
|
173
|
+
/**
|
|
174
|
+
* Load messages from a specific directory
|
|
175
|
+
*
|
|
176
|
+
* @param dirPath - Directory path
|
|
177
|
+
*/
|
|
178
|
+
private loadMessagesFromDirectory;
|
|
179
|
+
/**
|
|
180
|
+
* Load messages from a JSON file
|
|
181
|
+
*
|
|
182
|
+
* @param filePath - Path to JSON file
|
|
183
|
+
*/
|
|
184
|
+
private loadMessageFile;
|
|
185
|
+
/**
|
|
186
|
+
* Output lines to stdout with prefix
|
|
187
|
+
*
|
|
188
|
+
* @param lines - Lines to output
|
|
189
|
+
*/
|
|
190
|
+
private outputLines;
|
|
191
|
+
/**
|
|
192
|
+
* Log warning to stderr (respects quiet mode)
|
|
193
|
+
*
|
|
194
|
+
* @param message - Warning message
|
|
195
|
+
*/
|
|
196
|
+
private logWarning;
|
|
197
|
+
/**
|
|
198
|
+
* Log error to stderr (respects quiet mode)
|
|
199
|
+
*
|
|
200
|
+
* @param message - Error message
|
|
201
|
+
*/
|
|
202
|
+
private logError;
|
|
203
|
+
/**
|
|
204
|
+
* Check if NODE_DEBUG includes 'sl' or 'sl-console' (console logging enabled)
|
|
205
|
+
*
|
|
206
|
+
* @returns True if NODE_DEBUG includes 'sl' or 'sl-console'
|
|
207
|
+
*/
|
|
208
|
+
private isNodeDebugConsoleEnabled;
|
|
209
|
+
/**
|
|
210
|
+
* Check if NODE_DEBUG includes 'sl-file' (file logging enabled)
|
|
211
|
+
*
|
|
212
|
+
* @returns True if NODE_DEBUG includes 'sl-file'
|
|
213
|
+
*/
|
|
214
|
+
private isNodeDebugFileEnabled;
|
|
215
|
+
/**
|
|
216
|
+
* Log a message at INFO level if appropriate.
|
|
217
|
+
* Logs when:
|
|
218
|
+
* - quiet=true (console output is suppressed, need to log for visibility)
|
|
219
|
+
* - quiet=false AND NODE_DEBUG doesn't include 'sl' (no console duplication)
|
|
220
|
+
* - quiet=false AND NODE_DEBUG includes both 'sl' and 'sl-file' (user wants file logging)
|
|
221
|
+
*
|
|
222
|
+
* Skips logging when:
|
|
223
|
+
* - quiet=false AND NODE_DEBUG=sl only (would duplicate console output, no file logging requested)
|
|
224
|
+
*
|
|
225
|
+
* @param lines - Lines to log
|
|
226
|
+
*/
|
|
227
|
+
private logInfoIfAppropriate;
|
|
228
|
+
}
|
|
229
|
+
export {};
|