@niceties/draftlog-appender 1.2.3 → 1.2.4
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/core/package.json +3 -1
- package/dist/core.cjs +3 -10
- package/dist/core.mjs +1 -2
- package/dist/index.cjs +47 -7
- package/dist/index.mjs +45 -5
- package/dist/spinners.cjs +0 -2
- package/package.json +4 -4
- package/spinners/package.json +3 -1
package/core/package.json
CHANGED
package/dist/core.cjs
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var draftlog = require('draftlog');
|
|
6
4
|
var list = require('@slimlib/list');
|
|
7
5
|
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
-
|
|
10
|
-
var draftlog__default = /*#__PURE__*/_interopDefaultLegacy(draftlog);
|
|
11
|
-
|
|
12
6
|
const createCanvas = (spinner, formatter, ident) => {
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
draftlog(console);
|
|
8
|
+
draftlog.defaults.canReWrite = false;
|
|
15
9
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
10
|
const updaters = [];
|
|
17
11
|
const getPrefix = (status, tick) => {
|
|
18
12
|
// status is truthy when it is inprogress
|
|
19
|
-
|
|
13
|
+
return status ? spinner.frames[tick] :
|
|
20
14
|
// status not null when it is finished
|
|
21
15
|
status != null;
|
|
22
|
-
return prefix;
|
|
23
16
|
};
|
|
24
17
|
return (model) => {
|
|
25
18
|
if (model.skipLines_) {
|
package/dist/core.mjs
CHANGED
|
@@ -8,10 +8,9 @@ const createCanvas = (spinner, formatter, ident) => {
|
|
|
8
8
|
const updaters = [];
|
|
9
9
|
const getPrefix = (status, tick) => {
|
|
10
10
|
// status is truthy when it is inprogress
|
|
11
|
-
|
|
11
|
+
return status ? spinner.frames[tick] :
|
|
12
12
|
// status not null when it is finished
|
|
13
13
|
status != null;
|
|
14
|
-
return prefix;
|
|
15
14
|
};
|
|
16
15
|
return (model) => {
|
|
17
16
|
if (model.skipLines_) {
|
package/dist/index.cjs
CHANGED
|
@@ -1,18 +1,58 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var globalAppender = require('@niceties/logger/global-appender');
|
|
5
|
-
var formatUtils = require('@niceties/logger/format-utils');
|
|
6
|
-
var defaultFormatting = require('@niceties/logger/default-formatting');
|
|
3
|
+
var kleur = require('kleur');
|
|
7
4
|
var core = require('./core.cjs');
|
|
8
5
|
var spinners = require('./spinners.cjs');
|
|
9
6
|
require('draftlog');
|
|
10
7
|
require('@slimlib/list');
|
|
11
8
|
|
|
12
|
-
const
|
|
9
|
+
const filterMessages = (predicate, appender, api) => {
|
|
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();
|
|
13
53
|
const spinner = supportsUnicode ? spinners.dots : spinners.line;
|
|
14
|
-
const formatter =
|
|
54
|
+
const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
|
|
15
55
|
let minLogLevel = 1 /* info */;
|
|
16
|
-
|
|
56
|
+
appender(filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, core.createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
|
|
17
57
|
{ setMinLevel(logLevel) { minLogLevel = logLevel; } } // eslint-disable-line indent
|
|
18
58
|
));
|
package/dist/index.mjs
CHANGED
|
@@ -1,16 +1,56 @@
|
|
|
1
|
-
import
|
|
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';
|
|
1
|
+
import kleur from 'kleur';
|
|
5
2
|
import { createDraftlogAppender } from './core.mjs';
|
|
6
3
|
import { dots, line } from './spinners.mjs';
|
|
7
4
|
import 'draftlog';
|
|
8
5
|
import '@slimlib/list';
|
|
9
6
|
|
|
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
|
+
|
|
10
50
|
const supportsUnicode = terminalSupportsUnicode();
|
|
11
51
|
const spinner = supportsUnicode ? dots : line;
|
|
12
52
|
const formatter = createFormatter(colors, supportsUnicode ? unicodePrefixes : asciiPrefixes, tagFactory);
|
|
13
53
|
let minLogLevel = 1 /* info */;
|
|
14
|
-
appender(filterMessages((message) => message.loglevel >= minLogLevel
|
|
54
|
+
appender(filterMessages((message) => message.loglevel >= minLogLevel && message.action !== 3 /* log */, createDraftlogAppender(spinner, formatter, false, 2), // eslint-disable-line indent
|
|
15
55
|
{ setMinLevel(logLevel) { minLogLevel = logLevel; } } // eslint-disable-line indent
|
|
16
56
|
));
|
package/dist/spinners.cjs
CHANGED
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.2.
|
|
2
|
+
"version": "1.2.4",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "@niceties/draftlog-appender",
|
|
5
5
|
"author": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"readme": "README.md",
|
|
44
44
|
"description": "Appender for '@niceites/logger' implemented using draftlog package.",
|
|
45
45
|
"scripts": {
|
|
46
|
-
"build": "pkgbld",
|
|
46
|
+
"build": "pkgbld-internal",
|
|
47
47
|
"test": "node --expose-gc ../node_modules/jest-cli/bin/jest.js --collectCoverage",
|
|
48
48
|
"lint": "eslint ./src",
|
|
49
49
|
"semantic-release": "npx semantic-release"
|
|
@@ -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": "1.2
|
|
68
|
+
"pkgbld-internal": "1.0.2"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"@niceties/logger": "^1.1.
|
|
71
|
+
"@niceties/logger": "^1.1.5"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"draftlog": "^1.0.13",
|
package/spinners/package.json
CHANGED