@likec4/log 1.8.1 → 1.10.0

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/dist/index.cjs ADDED
@@ -0,0 +1,419 @@
1
+ 'use strict';
2
+
3
+ const LogLevels = {
4
+ silent: Number.NEGATIVE_INFINITY,
5
+ fatal: 0,
6
+ error: 0,
7
+ warn: 1,
8
+ log: 2,
9
+ info: 3,
10
+ success: 3,
11
+ fail: 3,
12
+ ready: 3,
13
+ start: 3,
14
+ box: 3,
15
+ debug: 4,
16
+ trace: 5,
17
+ verbose: Number.POSITIVE_INFINITY
18
+ };
19
+ const LogTypes = {
20
+ // Silent
21
+ silent: {
22
+ level: -1
23
+ },
24
+ // Level 0
25
+ fatal: {
26
+ level: LogLevels.fatal
27
+ },
28
+ error: {
29
+ level: LogLevels.error
30
+ },
31
+ // Level 1
32
+ warn: {
33
+ level: LogLevels.warn
34
+ },
35
+ // Level 2
36
+ log: {
37
+ level: LogLevels.log
38
+ },
39
+ // Level 3
40
+ info: {
41
+ level: LogLevels.info
42
+ },
43
+ success: {
44
+ level: LogLevels.success
45
+ },
46
+ fail: {
47
+ level: LogLevels.fail
48
+ },
49
+ ready: {
50
+ level: LogLevels.info
51
+ },
52
+ start: {
53
+ level: LogLevels.info
54
+ },
55
+ box: {
56
+ level: LogLevels.info
57
+ },
58
+ // Level 4
59
+ debug: {
60
+ level: LogLevels.debug
61
+ },
62
+ // Level 5
63
+ trace: {
64
+ level: LogLevels.trace
65
+ },
66
+ // Verbose
67
+ verbose: {
68
+ level: LogLevels.verbose
69
+ }
70
+ };
71
+
72
+ function isObject(value) {
73
+ return value !== null && typeof value === "object";
74
+ }
75
+ function _defu(baseObject, defaults, namespace = ".", merger) {
76
+ if (!isObject(defaults)) {
77
+ return _defu(baseObject, {}, namespace, merger);
78
+ }
79
+ const object = Object.assign({}, defaults);
80
+ for (const key in baseObject) {
81
+ if (key === "__proto__" || key === "constructor") {
82
+ continue;
83
+ }
84
+ const value = baseObject[key];
85
+ if (value === null || value === void 0) {
86
+ continue;
87
+ }
88
+ if (merger && merger(object, key, value, namespace)) {
89
+ continue;
90
+ }
91
+ if (Array.isArray(value) && Array.isArray(object[key])) {
92
+ object[key] = [...value, ...object[key]];
93
+ } else if (isObject(value) && isObject(object[key])) {
94
+ object[key] = _defu(
95
+ value,
96
+ object[key],
97
+ (namespace ? `${namespace}.` : "") + key.toString(),
98
+ merger
99
+ );
100
+ } else {
101
+ object[key] = value;
102
+ }
103
+ }
104
+ return object;
105
+ }
106
+ function createDefu(merger) {
107
+ return (...arguments_) => (
108
+ // eslint-disable-next-line unicorn/no-array-reduce
109
+ arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
110
+ );
111
+ }
112
+ const defu = createDefu();
113
+
114
+ function isPlainObject(obj) {
115
+ return Object.prototype.toString.call(obj) === "[object Object]";
116
+ }
117
+ function isLogObj(arg) {
118
+ if (!isPlainObject(arg)) {
119
+ return false;
120
+ }
121
+ if (!arg.message && !arg.args) {
122
+ return false;
123
+ }
124
+ if (arg.stack) {
125
+ return false;
126
+ }
127
+ return true;
128
+ }
129
+
130
+ let paused = false;
131
+ const queue = [];
132
+ class Consola {
133
+ constructor(options = {}) {
134
+ const types = options.types || LogTypes;
135
+ this.options = defu(
136
+ {
137
+ ...options,
138
+ defaults: { ...options.defaults },
139
+ level: _normalizeLogLevel(options.level, types),
140
+ reporters: [...options.reporters || []]
141
+ },
142
+ {
143
+ types: LogTypes,
144
+ throttle: 1e3,
145
+ throttleMin: 5,
146
+ formatOptions: {
147
+ date: true,
148
+ colors: false,
149
+ compact: true
150
+ }
151
+ }
152
+ );
153
+ for (const type in types) {
154
+ const defaults = {
155
+ type,
156
+ ...this.options.defaults,
157
+ ...types[type]
158
+ };
159
+ this[type] = this._wrapLogFn(defaults);
160
+ this[type].raw = this._wrapLogFn(
161
+ defaults,
162
+ true
163
+ );
164
+ }
165
+ if (this.options.mockFn) {
166
+ this.mockTypes();
167
+ }
168
+ this._lastLog = {};
169
+ }
170
+ get level() {
171
+ return this.options.level;
172
+ }
173
+ set level(level) {
174
+ this.options.level = _normalizeLogLevel(
175
+ level,
176
+ this.options.types,
177
+ this.options.level
178
+ );
179
+ }
180
+ prompt(message, opts) {
181
+ if (!this.options.prompt) {
182
+ throw new Error("prompt is not supported!");
183
+ }
184
+ return this.options.prompt(message, opts);
185
+ }
186
+ create(options) {
187
+ const instance = new Consola({
188
+ ...this.options,
189
+ ...options
190
+ });
191
+ if (this._mockFn) {
192
+ instance.mockTypes(this._mockFn);
193
+ }
194
+ return instance;
195
+ }
196
+ withDefaults(defaults) {
197
+ return this.create({
198
+ ...this.options,
199
+ defaults: {
200
+ ...this.options.defaults,
201
+ ...defaults
202
+ }
203
+ });
204
+ }
205
+ withTag(tag) {
206
+ return this.withDefaults({
207
+ tag: this.options.defaults.tag ? this.options.defaults.tag + ":" + tag : tag
208
+ });
209
+ }
210
+ addReporter(reporter) {
211
+ this.options.reporters.push(reporter);
212
+ return this;
213
+ }
214
+ removeReporter(reporter) {
215
+ if (reporter) {
216
+ const i = this.options.reporters.indexOf(reporter);
217
+ if (i >= 0) {
218
+ return this.options.reporters.splice(i, 1);
219
+ }
220
+ } else {
221
+ this.options.reporters.splice(0);
222
+ }
223
+ return this;
224
+ }
225
+ setReporters(reporters) {
226
+ this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];
227
+ return this;
228
+ }
229
+ wrapAll() {
230
+ this.wrapConsole();
231
+ this.wrapStd();
232
+ }
233
+ restoreAll() {
234
+ this.restoreConsole();
235
+ this.restoreStd();
236
+ }
237
+ wrapConsole() {
238
+ for (const type in this.options.types) {
239
+ if (!console["__" + type]) {
240
+ console["__" + type] = console[type];
241
+ }
242
+ console[type] = this[type].raw;
243
+ }
244
+ }
245
+ restoreConsole() {
246
+ for (const type in this.options.types) {
247
+ if (console["__" + type]) {
248
+ console[type] = console["__" + type];
249
+ delete console["__" + type];
250
+ }
251
+ }
252
+ }
253
+ wrapStd() {
254
+ this._wrapStream(this.options.stdout, "log");
255
+ this._wrapStream(this.options.stderr, "log");
256
+ }
257
+ _wrapStream(stream, type) {
258
+ if (!stream) {
259
+ return;
260
+ }
261
+ if (!stream.__write) {
262
+ stream.__write = stream.write;
263
+ }
264
+ stream.write = (data) => {
265
+ this[type].raw(String(data).trim());
266
+ };
267
+ }
268
+ restoreStd() {
269
+ this._restoreStream(this.options.stdout);
270
+ this._restoreStream(this.options.stderr);
271
+ }
272
+ _restoreStream(stream) {
273
+ if (!stream) {
274
+ return;
275
+ }
276
+ if (stream.__write) {
277
+ stream.write = stream.__write;
278
+ delete stream.__write;
279
+ }
280
+ }
281
+ pauseLogs() {
282
+ paused = true;
283
+ }
284
+ resumeLogs() {
285
+ paused = false;
286
+ const _queue = queue.splice(0);
287
+ for (const item of _queue) {
288
+ item[0]._logFn(item[1], item[2]);
289
+ }
290
+ }
291
+ mockTypes(mockFn) {
292
+ const _mockFn = mockFn || this.options.mockFn;
293
+ this._mockFn = _mockFn;
294
+ if (typeof _mockFn !== "function") {
295
+ return;
296
+ }
297
+ for (const type in this.options.types) {
298
+ this[type] = _mockFn(type, this.options.types[type]) || this[type];
299
+ this[type].raw = this[type];
300
+ }
301
+ }
302
+ _wrapLogFn(defaults, isRaw) {
303
+ return (...args) => {
304
+ if (paused) {
305
+ queue.push([this, defaults, args, isRaw]);
306
+ return;
307
+ }
308
+ return this._logFn(defaults, args, isRaw);
309
+ };
310
+ }
311
+ _logFn(defaults, args, isRaw) {
312
+ if ((defaults.level || 0) > this.level) {
313
+ return false;
314
+ }
315
+ const logObj = {
316
+ date: /* @__PURE__ */ new Date(),
317
+ args: [],
318
+ ...defaults,
319
+ level: _normalizeLogLevel(defaults.level, this.options.types)
320
+ };
321
+ if (!isRaw && args.length === 1 && isLogObj(args[0])) {
322
+ Object.assign(logObj, args[0]);
323
+ } else {
324
+ logObj.args = [...args];
325
+ }
326
+ if (logObj.message) {
327
+ logObj.args.unshift(logObj.message);
328
+ delete logObj.message;
329
+ }
330
+ if (logObj.additional) {
331
+ if (!Array.isArray(logObj.additional)) {
332
+ logObj.additional = logObj.additional.split("\n");
333
+ }
334
+ logObj.args.push("\n" + logObj.additional.join("\n"));
335
+ delete logObj.additional;
336
+ }
337
+ logObj.type = typeof logObj.type === "string" ? logObj.type.toLowerCase() : "log";
338
+ logObj.tag = typeof logObj.tag === "string" ? logObj.tag : "";
339
+ const resolveLog = (newLog = false) => {
340
+ const repeated = (this._lastLog.count || 0) - this.options.throttleMin;
341
+ if (this._lastLog.object && repeated > 0) {
342
+ const args2 = [...this._lastLog.object.args];
343
+ if (repeated > 1) {
344
+ args2.push(`(repeated ${repeated} times)`);
345
+ }
346
+ this._log({ ...this._lastLog.object, args: args2 });
347
+ this._lastLog.count = 1;
348
+ }
349
+ if (newLog) {
350
+ this._lastLog.object = logObj;
351
+ this._log(logObj);
352
+ }
353
+ };
354
+ clearTimeout(this._lastLog.timeout);
355
+ const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;
356
+ this._lastLog.time = logObj.date;
357
+ if (diffTime < this.options.throttle) {
358
+ try {
359
+ const serializedLog = JSON.stringify([
360
+ logObj.type,
361
+ logObj.tag,
362
+ logObj.args
363
+ ]);
364
+ const isSameLog = this._lastLog.serialized === serializedLog;
365
+ this._lastLog.serialized = serializedLog;
366
+ if (isSameLog) {
367
+ this._lastLog.count = (this._lastLog.count || 0) + 1;
368
+ if (this._lastLog.count > this.options.throttleMin) {
369
+ this._lastLog.timeout = setTimeout(
370
+ resolveLog,
371
+ this.options.throttle
372
+ );
373
+ return;
374
+ }
375
+ }
376
+ } catch {
377
+ }
378
+ }
379
+ resolveLog(true);
380
+ }
381
+ _log(logObj) {
382
+ for (const reporter of this.options.reporters) {
383
+ reporter.log(logObj, {
384
+ options: this.options
385
+ });
386
+ }
387
+ }
388
+ }
389
+ function _normalizeLogLevel(input, types = {}, defaultLevel = 3) {
390
+ if (input === void 0) {
391
+ return defaultLevel;
392
+ }
393
+ if (typeof input === "number") {
394
+ return input;
395
+ }
396
+ if (types[input] && types[input].level !== void 0) {
397
+ return types[input].level;
398
+ }
399
+ return defaultLevel;
400
+ }
401
+ Consola.prototype.add = Consola.prototype.addReporter;
402
+ Consola.prototype.remove = Consola.prototype.removeReporter;
403
+ Consola.prototype.clear = Consola.prototype.removeReporter;
404
+ Consola.prototype.withScope = Consola.prototype.withTag;
405
+ Consola.prototype.mock = Consola.prototype.mockTypes;
406
+ Consola.prototype.pause = Consola.prototype.pauseLogs;
407
+ Consola.prototype.resume = Consola.prototype.resumeLogs;
408
+ function createConsola(options = {}) {
409
+ return new Consola(options);
410
+ }
411
+
412
+ const logger = createConsola({
413
+ level: LogLevels.debug
414
+ });
415
+
416
+ exports.LogLevels = LogLevels;
417
+ exports.consola = logger;
418
+ exports.logger = logger;
419
+ exports.rootLogger = logger;
@@ -0,0 +1,126 @@
1
+ type SelectOption = {
2
+ label: string;
3
+ value: string;
4
+ hint?: string;
5
+ };
6
+ type TextOptions = {
7
+ type?: "text";
8
+ default?: string;
9
+ placeholder?: string;
10
+ initial?: string;
11
+ };
12
+ type ConfirmOptions = {
13
+ type: "confirm";
14
+ initial?: boolean;
15
+ };
16
+ type SelectOptions = {
17
+ type: "select";
18
+ initial?: string;
19
+ options: (string | SelectOption)[];
20
+ };
21
+ type MultiSelectOptions = {
22
+ type: "multiselect";
23
+ initial?: string;
24
+ options: string[] | SelectOption[];
25
+ required?: boolean;
26
+ };
27
+ type PromptOptions = TextOptions | ConfirmOptions | SelectOptions | MultiSelectOptions;
28
+ type inferPromptReturnType<T extends PromptOptions> = T extends TextOptions ? string : T extends ConfirmOptions ? boolean : T extends SelectOptions ? T["options"][number] : T extends MultiSelectOptions ? T["options"] : unknown;
29
+ declare function prompt<_ = any, __ = any, T extends PromptOptions = TextOptions>(message: string, opts?: PromptOptions): Promise<inferPromptReturnType<T>>;
30
+
31
+ type LogLevel = 0 | 1 | 2 | 3 | 4 | 5 | (number & {});
32
+ declare const LogLevels: Record<LogType, number>;
33
+ type LogType = "silent" | "fatal" | "error" | "warn" | "log" | "info" | "success" | "fail" | "ready" | "start" | "box" | "debug" | "trace" | "verbose";
34
+ declare const LogTypes: Record<LogType, Partial<LogObject>>;
35
+
36
+ interface ConsolaOptions {
37
+ reporters: ConsolaReporter[];
38
+ types: Record<LogType, InputLogObject>;
39
+ level: LogLevel;
40
+ defaults: InputLogObject;
41
+ throttle: number;
42
+ throttleMin: number;
43
+ stdout?: NodeJS.WriteStream;
44
+ stderr?: NodeJS.WriteStream;
45
+ mockFn?: (type: LogType, defaults: InputLogObject) => (...args: any) => void;
46
+ prompt?: typeof prompt | undefined;
47
+ formatOptions: FormatOptions;
48
+ }
49
+ /**
50
+ * @see https://nodejs.org/api/util.html#util_util_inspect_object_showhidden_depth_colors
51
+ */
52
+ interface FormatOptions {
53
+ columns?: number;
54
+ date?: boolean;
55
+ colors?: boolean;
56
+ compact?: boolean | number;
57
+ [key: string]: unknown;
58
+ }
59
+ interface InputLogObject {
60
+ level?: LogLevel;
61
+ tag?: string;
62
+ type?: LogType;
63
+ message?: string;
64
+ additional?: string | string[];
65
+ args?: any[];
66
+ date?: Date;
67
+ }
68
+ interface LogObject extends InputLogObject {
69
+ level: LogLevel;
70
+ type: LogType;
71
+ tag: string;
72
+ args: any[];
73
+ date: Date;
74
+ [key: string]: unknown;
75
+ }
76
+ interface ConsolaReporter {
77
+ log: (logObj: LogObject, ctx: {
78
+ options: ConsolaOptions;
79
+ }) => void;
80
+ }
81
+
82
+ declare class Consola {
83
+ options: ConsolaOptions;
84
+ _lastLog: {
85
+ serialized?: string;
86
+ object?: LogObject;
87
+ count?: number;
88
+ time?: Date;
89
+ timeout?: ReturnType<typeof setTimeout>;
90
+ };
91
+ _mockFn?: ConsolaOptions["mockFn"];
92
+ constructor(options?: Partial<ConsolaOptions>);
93
+ get level(): LogLevel;
94
+ set level(level: LogLevel);
95
+ prompt<T extends PromptOptions>(message: string, opts?: T): Promise<T extends TextOptions ? string : T extends ConfirmOptions ? boolean : T extends SelectOptions ? T["options"][number] : T extends MultiSelectOptions ? T["options"] : unknown>;
96
+ create(options: Partial<ConsolaOptions>): ConsolaInstance;
97
+ withDefaults(defaults: InputLogObject): ConsolaInstance;
98
+ withTag(tag: string): ConsolaInstance;
99
+ addReporter(reporter: ConsolaReporter): this;
100
+ removeReporter(reporter: ConsolaReporter): ConsolaReporter[] | this;
101
+ setReporters(reporters: ConsolaReporter[]): this;
102
+ wrapAll(): void;
103
+ restoreAll(): void;
104
+ wrapConsole(): void;
105
+ restoreConsole(): void;
106
+ wrapStd(): void;
107
+ _wrapStream(stream: NodeJS.WriteStream | undefined, type: LogType): void;
108
+ restoreStd(): void;
109
+ _restoreStream(stream?: NodeJS.WriteStream): void;
110
+ pauseLogs(): void;
111
+ resumeLogs(): void;
112
+ mockTypes(mockFn?: ConsolaOptions["mockFn"]): void;
113
+ _wrapLogFn(defaults: InputLogObject, isRaw?: boolean): (...args: any[]) => false | undefined;
114
+ _logFn(defaults: InputLogObject, args: any[], isRaw?: boolean): false | undefined;
115
+ _log(logObj: LogObject): void;
116
+ }
117
+ interface LogFn {
118
+ (message: InputLogObject | any, ...args: any[]): void;
119
+ raw: (...args: any[]) => void;
120
+ }
121
+ type ConsolaInstance = Consola & Record<LogType, LogFn>;
122
+ declare function createConsola(options?: Partial<ConsolaOptions>): ConsolaInstance;
123
+
124
+ declare const logger: ConsolaInstance;
125
+
126
+ export { Consola, type ConsolaInstance, type ConsolaOptions, type ConsolaReporter, type FormatOptions, type InputLogObject, type LogLevel, LogLevels, type LogObject, type LogType, LogTypes, logger as consola, createConsola, logger, logger as rootLogger };
@@ -0,0 +1,126 @@
1
+ type SelectOption = {
2
+ label: string;
3
+ value: string;
4
+ hint?: string;
5
+ };
6
+ type TextOptions = {
7
+ type?: "text";
8
+ default?: string;
9
+ placeholder?: string;
10
+ initial?: string;
11
+ };
12
+ type ConfirmOptions = {
13
+ type: "confirm";
14
+ initial?: boolean;
15
+ };
16
+ type SelectOptions = {
17
+ type: "select";
18
+ initial?: string;
19
+ options: (string | SelectOption)[];
20
+ };
21
+ type MultiSelectOptions = {
22
+ type: "multiselect";
23
+ initial?: string;
24
+ options: string[] | SelectOption[];
25
+ required?: boolean;
26
+ };
27
+ type PromptOptions = TextOptions | ConfirmOptions | SelectOptions | MultiSelectOptions;
28
+ type inferPromptReturnType<T extends PromptOptions> = T extends TextOptions ? string : T extends ConfirmOptions ? boolean : T extends SelectOptions ? T["options"][number] : T extends MultiSelectOptions ? T["options"] : unknown;
29
+ declare function prompt<_ = any, __ = any, T extends PromptOptions = TextOptions>(message: string, opts?: PromptOptions): Promise<inferPromptReturnType<T>>;
30
+
31
+ type LogLevel = 0 | 1 | 2 | 3 | 4 | 5 | (number & {});
32
+ declare const LogLevels: Record<LogType, number>;
33
+ type LogType = "silent" | "fatal" | "error" | "warn" | "log" | "info" | "success" | "fail" | "ready" | "start" | "box" | "debug" | "trace" | "verbose";
34
+ declare const LogTypes: Record<LogType, Partial<LogObject>>;
35
+
36
+ interface ConsolaOptions {
37
+ reporters: ConsolaReporter[];
38
+ types: Record<LogType, InputLogObject>;
39
+ level: LogLevel;
40
+ defaults: InputLogObject;
41
+ throttle: number;
42
+ throttleMin: number;
43
+ stdout?: NodeJS.WriteStream;
44
+ stderr?: NodeJS.WriteStream;
45
+ mockFn?: (type: LogType, defaults: InputLogObject) => (...args: any) => void;
46
+ prompt?: typeof prompt | undefined;
47
+ formatOptions: FormatOptions;
48
+ }
49
+ /**
50
+ * @see https://nodejs.org/api/util.html#util_util_inspect_object_showhidden_depth_colors
51
+ */
52
+ interface FormatOptions {
53
+ columns?: number;
54
+ date?: boolean;
55
+ colors?: boolean;
56
+ compact?: boolean | number;
57
+ [key: string]: unknown;
58
+ }
59
+ interface InputLogObject {
60
+ level?: LogLevel;
61
+ tag?: string;
62
+ type?: LogType;
63
+ message?: string;
64
+ additional?: string | string[];
65
+ args?: any[];
66
+ date?: Date;
67
+ }
68
+ interface LogObject extends InputLogObject {
69
+ level: LogLevel;
70
+ type: LogType;
71
+ tag: string;
72
+ args: any[];
73
+ date: Date;
74
+ [key: string]: unknown;
75
+ }
76
+ interface ConsolaReporter {
77
+ log: (logObj: LogObject, ctx: {
78
+ options: ConsolaOptions;
79
+ }) => void;
80
+ }
81
+
82
+ declare class Consola {
83
+ options: ConsolaOptions;
84
+ _lastLog: {
85
+ serialized?: string;
86
+ object?: LogObject;
87
+ count?: number;
88
+ time?: Date;
89
+ timeout?: ReturnType<typeof setTimeout>;
90
+ };
91
+ _mockFn?: ConsolaOptions["mockFn"];
92
+ constructor(options?: Partial<ConsolaOptions>);
93
+ get level(): LogLevel;
94
+ set level(level: LogLevel);
95
+ prompt<T extends PromptOptions>(message: string, opts?: T): Promise<T extends TextOptions ? string : T extends ConfirmOptions ? boolean : T extends SelectOptions ? T["options"][number] : T extends MultiSelectOptions ? T["options"] : unknown>;
96
+ create(options: Partial<ConsolaOptions>): ConsolaInstance;
97
+ withDefaults(defaults: InputLogObject): ConsolaInstance;
98
+ withTag(tag: string): ConsolaInstance;
99
+ addReporter(reporter: ConsolaReporter): this;
100
+ removeReporter(reporter: ConsolaReporter): ConsolaReporter[] | this;
101
+ setReporters(reporters: ConsolaReporter[]): this;
102
+ wrapAll(): void;
103
+ restoreAll(): void;
104
+ wrapConsole(): void;
105
+ restoreConsole(): void;
106
+ wrapStd(): void;
107
+ _wrapStream(stream: NodeJS.WriteStream | undefined, type: LogType): void;
108
+ restoreStd(): void;
109
+ _restoreStream(stream?: NodeJS.WriteStream): void;
110
+ pauseLogs(): void;
111
+ resumeLogs(): void;
112
+ mockTypes(mockFn?: ConsolaOptions["mockFn"]): void;
113
+ _wrapLogFn(defaults: InputLogObject, isRaw?: boolean): (...args: any[]) => false | undefined;
114
+ _logFn(defaults: InputLogObject, args: any[], isRaw?: boolean): false | undefined;
115
+ _log(logObj: LogObject): void;
116
+ }
117
+ interface LogFn {
118
+ (message: InputLogObject | any, ...args: any[]): void;
119
+ raw: (...args: any[]) => void;
120
+ }
121
+ type ConsolaInstance = Consola & Record<LogType, LogFn>;
122
+ declare function createConsola(options?: Partial<ConsolaOptions>): ConsolaInstance;
123
+
124
+ declare const logger: ConsolaInstance;
125
+
126
+ export { Consola, type ConsolaInstance, type ConsolaOptions, type ConsolaReporter, type FormatOptions, type InputLogObject, type LogLevel, LogLevels, type LogObject, type LogType, LogTypes, logger as consola, createConsola, logger, logger as rootLogger };