@niceties/draftlog-appender 1.2.4 → 1.2.5
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 +7 -47
- package/dist/index.mjs +4 -44
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,58 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var appenderUtils = require('@niceties/logger/appender-utils');
|
|
4
|
+
var globalAppender = require('@niceties/logger/global-appender');
|
|
5
|
+
var formatUtils = require('@niceties/logger/format-utils');
|
|
6
|
+
var defaultFormatting = require('@niceties/logger/default-formatting');
|
|
4
7
|
var core = require('./core.cjs');
|
|
5
8
|
var spinners = require('./spinners.cjs');
|
|
6
9
|
require('draftlog');
|
|
7
10
|
require('@slimlib/list');
|
|
8
11
|
|
|
9
|
-
const
|
|
10
|
-
return Object.assign(function (logMessage) {
|
|
11
|
-
if (predicate(logMessage)) {
|
|
12
|
-
appender(logMessage);
|
|
13
|
-
}
|
|
14
|
-
}, api);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
-
let globalAppender;
|
|
19
|
-
const appender = (appender) => {
|
|
20
|
-
if (appender !== undefined) {
|
|
21
|
-
globalAppender = appender;
|
|
22
|
-
}
|
|
23
|
-
return globalAppender;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const createFormatter = (colors, prefixes, tagFactory) => {
|
|
27
|
-
return ({ loglevel, message, context, action, tag }, usePrefix, identation = 0) => {
|
|
28
|
-
const prefix = usePrefix === true ? (`${prefixes[loglevel]} `) : (typeof usePrefix === 'string' ? (`${usePrefix} `) : '');
|
|
29
|
-
const color = colors[loglevel];
|
|
30
|
-
const text = `${prefix}${loglevel === 0 /* verbose */ && action === 3 /* log */ && tag !== undefined ? tagFactory(tag) + ' ' : ''}${message}${context != null ? ' ' + context : ''}`;
|
|
31
|
-
return `${' '.repeat(identation)}${color ? color(text) : text}`;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
// from dreidels/utils
|
|
35
|
-
const terminalSupportsUnicode = () => {
|
|
36
|
-
// The default command prompt and powershell in Windows do not support Unicode characters.
|
|
37
|
-
// However, the VSCode integrated terminal and the Windows Terminal both do.
|
|
38
|
-
return process.platform !== 'win32'
|
|
39
|
-
|| process.env.TERM_PROGRAM === 'vscode'
|
|
40
|
-
|| !!process.env.WT_SESSION;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const { green, red, yellow, blue } = kleur;
|
|
44
|
-
const unicodePrefixes = [`${green('✓')}`, `${green('✓')}`, '⚠', '✕'];
|
|
45
|
-
const asciiPrefixes = [`${green('+')}`, `${green('+')}`, '!', 'x'];
|
|
46
|
-
// eslint-disable-next-line no-sparse-arrays
|
|
47
|
-
const colors = [, , yellow, red];
|
|
48
|
-
const tagFactory = (tag) => {
|
|
49
|
-
return '[' + blue(tag) + ']';
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const supportsUnicode = terminalSupportsUnicode();
|
|
12
|
+
const supportsUnicode = formatUtils.terminalSupportsUnicode();
|
|
53
13
|
const spinner = supportsUnicode ? spinners.dots : spinners.line;
|
|
54
|
-
const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
|
|
14
|
+
const formatter = formatUtils.createFormatter(defaultFormatting.colors, supportsUnicode ? defaultFormatting.unicodePrefixes : defaultFormatting.asciiPrefixes, defaultFormatting.tagFactory);
|
|
55
15
|
let minLogLevel = 1 /* info */;
|
|
56
|
-
appender(filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, core.createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
|
|
16
|
+
globalAppender.appender(appenderUtils.filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, core.createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
|
|
57
17
|
{ setMinLevel(logLevel) { minLogLevel = logLevel; } } // eslint-disable-line indent
|
|
58
18
|
));
|
package/dist/index.mjs
CHANGED
|
@@ -1,52 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { filterMessages } from '@niceties/logger/appender-utils';
|
|
2
|
+
import { appender } from '@niceties/logger/global-appender';
|
|
3
|
+
import { terminalSupportsUnicode, createFormatter } from '@niceties/logger/format-utils';
|
|
4
|
+
import { colors, unicodePrefixes, asciiPrefixes, tagFactory } from '@niceties/logger/default-formatting';
|
|
2
5
|
import { createDraftlogAppender } from './core.mjs';
|
|
3
6
|
import { dots, line } from './spinners.mjs';
|
|
4
7
|
import 'draftlog';
|
|
5
8
|
import '@slimlib/list';
|
|
6
9
|
|
|
7
|
-
const filterMessages = (predicate, appender, api) => {
|
|
8
|
-
return Object.assign(function (logMessage) {
|
|
9
|
-
if (predicate(logMessage)) {
|
|
10
|
-
appender(logMessage);
|
|
11
|
-
}
|
|
12
|
-
}, api);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
-
let globalAppender;
|
|
17
|
-
const appender = (appender) => {
|
|
18
|
-
if (appender !== undefined) {
|
|
19
|
-
globalAppender = appender;
|
|
20
|
-
}
|
|
21
|
-
return globalAppender;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const createFormatter = (colors, prefixes, tagFactory) => {
|
|
25
|
-
return ({ loglevel, message, context, action, tag }, usePrefix, identation = 0) => {
|
|
26
|
-
const prefix = usePrefix === true ? (`${prefixes[loglevel]} `) : (typeof usePrefix === 'string' ? (`${usePrefix} `) : '');
|
|
27
|
-
const color = colors[loglevel];
|
|
28
|
-
const text = `${prefix}${loglevel === 0 /* verbose */ && action === 3 /* log */ && tag !== undefined ? tagFactory(tag) + ' ' : ''}${message}${context != null ? ' ' + context : ''}`;
|
|
29
|
-
return `${' '.repeat(identation)}${color ? color(text) : text}`;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
// from dreidels/utils
|
|
33
|
-
const terminalSupportsUnicode = () => {
|
|
34
|
-
// The default command prompt and powershell in Windows do not support Unicode characters.
|
|
35
|
-
// However, the VSCode integrated terminal and the Windows Terminal both do.
|
|
36
|
-
return process.platform !== 'win32'
|
|
37
|
-
|| process.env.TERM_PROGRAM === 'vscode'
|
|
38
|
-
|| !!process.env.WT_SESSION;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const { green, red, yellow, blue } = kleur;
|
|
42
|
-
const unicodePrefixes = [`${green('✓')}`, `${green('✓')}`, '⚠', '✕'];
|
|
43
|
-
const asciiPrefixes = [`${green('+')}`, `${green('+')}`, '!', 'x'];
|
|
44
|
-
// eslint-disable-next-line no-sparse-arrays
|
|
45
|
-
const colors = [, , yellow, red];
|
|
46
|
-
const tagFactory = (tag) => {
|
|
47
|
-
return '[' + blue(tag) + ']';
|
|
48
|
-
};
|
|
49
|
-
|
|
50
10
|
const supportsUnicode = terminalSupportsUnicode();
|
|
51
11
|
const spinner = supportsUnicode ? dots : line;
|
|
52
12
|
const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.2.
|
|
2
|
+
"version": "1.2.5",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "@niceties/draftlog-appender",
|
|
5
5
|
"author": {
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"ts-jest": "27.1.3",
|
|
66
66
|
"typescript": "4.6.x",
|
|
67
67
|
"update-monorepo-package-json": "0.2.0",
|
|
68
|
-
"pkgbld-internal": "1.0.
|
|
68
|
+
"pkgbld-internal": "1.0.3"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"@niceties/logger": "^1.1.
|
|
71
|
+
"@niceties/logger": "^1.1.6"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"draftlog": "^1.0.13",
|