@cbnventures/nova 0.12.0 → 0.13.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/build/eslint.config.d.ts +32 -1
- package/build/eslint.config.d.ts.map +1 -1
- package/build/eslint.config.js +9 -1
- package/build/eslint.config.js.map +1 -1
- package/build/package.json +63 -59
- package/build/src/api/node-releases.d.ts +7 -0
- package/build/src/api/node-releases.d.ts.map +1 -0
- package/build/src/api/node-releases.js +67 -0
- package/build/src/api/node-releases.js.map +1 -0
- package/build/src/api/spdx-licenses.d.ts +7 -0
- package/build/src/api/spdx-licenses.d.ts.map +1 -0
- package/build/src/api/spdx-licenses.js +43 -0
- package/build/src/api/spdx-licenses.js.map +1 -0
- package/build/src/cli/index.js +60 -18
- package/build/src/cli/index.js.map +1 -1
- package/build/src/cli/recipe/pin-versions.d.ts +7 -0
- package/build/src/cli/recipe/pin-versions.d.ts.map +1 -0
- package/build/src/cli/recipe/pin-versions.js +145 -0
- package/build/src/cli/recipe/pin-versions.js.map +1 -0
- package/build/src/cli/recipe/sync-lts-engines.d.ts +6 -0
- package/build/src/cli/recipe/sync-lts-engines.d.ts.map +1 -0
- package/build/src/cli/recipe/sync-lts-engines.js +118 -0
- package/build/src/cli/recipe/sync-lts-engines.js.map +1 -0
- package/build/src/cli/recipe/sync-packages.d.ts +18 -0
- package/build/src/cli/recipe/sync-packages.d.ts.map +1 -0
- package/build/src/cli/recipe/sync-packages.js +1212 -0
- package/build/src/cli/recipe/sync-packages.js.map +1 -0
- package/build/src/cli/utility/changelog.d.ts +11 -0
- package/build/src/cli/utility/changelog.d.ts.map +1 -0
- package/build/src/cli/utility/changelog.js +670 -0
- package/build/src/cli/utility/changelog.js.map +1 -0
- package/build/src/cli/utility/initialize.d.ts +9 -5
- package/build/src/cli/utility/initialize.d.ts.map +1 -1
- package/build/src/cli/utility/initialize.js +478 -210
- package/build/src/cli/utility/initialize.js.map +1 -1
- package/build/src/cli/utility/type-check.d.ts +9 -0
- package/build/src/cli/utility/type-check.d.ts.map +1 -0
- package/build/src/cli/utility/type-check.js +59 -0
- package/build/src/cli/utility/type-check.js.map +1 -0
- package/build/src/cli/utility/version.d.ts +2 -2
- package/build/src/cli/utility/version.d.ts.map +1 -1
- package/build/src/cli/utility/version.js +107 -68
- package/build/src/cli/utility/version.js.map +1 -1
- package/build/src/lib/item.d.ts +23 -5
- package/build/src/lib/item.d.ts.map +1 -1
- package/build/src/lib/item.js +329 -4
- package/build/src/lib/item.js.map +1 -1
- package/build/src/lib/nova-config.d.ts +4 -4
- package/build/src/lib/nova-config.d.ts.map +1 -1
- package/build/src/lib/nova-config.js +76 -88
- package/build/src/lib/nova-config.js.map +1 -1
- package/build/src/lib/regex.d.ts +9 -1
- package/build/src/lib/regex.d.ts.map +1 -1
- package/build/src/lib/regex.js +9 -1
- package/build/src/lib/regex.js.map +1 -1
- package/build/src/lib/schema.d.ts +18 -0
- package/build/src/lib/schema.d.ts.map +1 -0
- package/build/src/lib/schema.js +13 -0
- package/build/src/lib/schema.js.map +1 -0
- package/build/src/lib/utility.d.ts +9 -1
- package/build/src/lib/utility.d.ts.map +1 -1
- package/build/src/lib/utility.js +219 -40
- package/build/src/lib/utility.js.map +1 -1
- package/build/src/presets/eslint/dx-code-style.d.mts.map +1 -1
- package/build/src/presets/eslint/dx-code-style.mjs +0 -20
- package/build/src/presets/eslint/dx-code-style.mjs.map +1 -1
- package/build/src/presets/eslint/lang-mdx.d.mts.map +1 -1
- package/build/src/presets/eslint/lang-mdx.mjs +0 -21
- package/build/src/presets/eslint/lang-mdx.mjs.map +1 -1
- package/build/src/presets/tsconfig/dx-strict.json +2 -1
- package/build/src/rules/eslint/index.d.ts +4 -0
- package/build/src/rules/eslint/index.d.ts.map +1 -1
- package/build/src/rules/eslint/index.js +4 -0
- package/build/src/rules/eslint/index.js.map +1 -1
- package/build/src/rules/eslint/no-logger-dev.d.ts +3 -1
- package/build/src/rules/eslint/no-logger-dev.d.ts.map +1 -1
- package/build/src/rules/eslint/no-logger-dev.js +4 -4
- package/build/src/rules/eslint/no-logger-dev.js.map +1 -1
- package/build/src/rules/eslint/no-raw-text-in-code.d.ts +6 -0
- package/build/src/rules/eslint/no-raw-text-in-code.d.ts.map +1 -0
- package/build/src/rules/eslint/no-raw-text-in-code.js +34 -0
- package/build/src/rules/eslint/no-raw-text-in-code.js.map +1 -0
- package/build/src/rules/eslint/no-regex-literal-flags.d.ts +6 -0
- package/build/src/rules/eslint/no-regex-literal-flags.d.ts.map +1 -0
- package/build/src/rules/eslint/no-regex-literal-flags.js +30 -0
- package/build/src/rules/eslint/no-regex-literal-flags.js.map +1 -0
- package/build/src/rules/eslint/no-regex-literals.d.ts +9 -0
- package/build/src/rules/eslint/no-regex-literals.d.ts.map +1 -0
- package/build/src/rules/eslint/no-regex-literals.js +55 -0
- package/build/src/rules/eslint/no-regex-literals.js.map +1 -0
- package/build/src/rules/eslint/switch-case-blocks.d.ts +6 -0
- package/build/src/rules/eslint/switch-case-blocks.d.ts.map +1 -0
- package/build/src/rules/eslint/switch-case-blocks.js +36 -0
- package/build/src/rules/eslint/switch-case-blocks.js.map +1 -0
- package/build/src/tests/api/node-releases.test.d.ts +2 -0
- package/build/src/tests/api/node-releases.test.d.ts.map +1 -0
- package/build/src/tests/api/node-releases.test.js +193 -0
- package/build/src/tests/api/node-releases.test.js.map +1 -0
- package/build/src/tests/api/spdx-licenses.test.d.ts +2 -0
- package/build/src/tests/api/spdx-licenses.test.d.ts.map +1 -0
- package/build/src/tests/api/spdx-licenses.test.js +91 -0
- package/build/src/tests/api/spdx-licenses.test.js.map +1 -0
- package/build/src/tests/cli/recipe/pin-versions.test.d.ts +2 -0
- package/build/src/tests/cli/recipe/pin-versions.test.d.ts.map +1 -0
- package/build/src/tests/cli/recipe/pin-versions.test.js +197 -0
- package/build/src/tests/cli/recipe/pin-versions.test.js.map +1 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts +2 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts.map +1 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.js +131 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.js.map +1 -0
- package/build/src/tests/lib/item.test.d.ts +2 -0
- package/build/src/tests/lib/item.test.d.ts.map +1 -0
- package/build/src/tests/lib/item.test.js +142 -0
- package/build/src/tests/lib/item.test.js.map +1 -0
- package/build/src/tests/lib/nova-config.test.d.ts +2 -0
- package/build/src/tests/lib/nova-config.test.d.ts.map +1 -0
- package/build/src/tests/lib/nova-config.test.js +489 -0
- package/build/src/tests/lib/nova-config.test.js.map +1 -0
- package/build/src/tests/lib/regex.test.d.ts +2 -0
- package/build/src/tests/lib/regex.test.d.ts.map +1 -0
- package/build/src/tests/lib/regex.test.js +342 -0
- package/build/src/tests/lib/regex.test.js.map +1 -0
- package/build/src/tests/lib/schema.test.d.ts +2 -0
- package/build/src/tests/lib/schema.test.d.ts.map +1 -0
- package/build/src/tests/lib/schema.test.js +260 -0
- package/build/src/tests/lib/schema.test.js.map +1 -0
- package/build/src/tests/lib/utility.test.js +704 -44
- package/build/src/tests/lib/utility.test.js.map +1 -1
- package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.js +55 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js +47 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js +47 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.js +49 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.js.map +1 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.js +43 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.js.map +1 -0
- package/build/src/tests/toolkit/cli-header.test.d.ts +2 -0
- package/build/src/tests/toolkit/cli-header.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/cli-header.test.js +143 -0
- package/build/src/tests/toolkit/cli-header.test.js.map +1 -0
- package/build/src/tests/toolkit/logger.test.d.ts +2 -0
- package/build/src/tests/toolkit/logger.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/logger.test.js +96 -0
- package/build/src/tests/toolkit/logger.test.js.map +1 -0
- package/build/src/tests/toolkit/markdown-table.test.d.ts +2 -0
- package/build/src/tests/toolkit/markdown-table.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/markdown-table.test.js +138 -0
- package/build/src/tests/toolkit/markdown-table.test.js.map +1 -0
- package/build/src/toolkit/cli-header.d.ts +1 -0
- package/build/src/toolkit/cli-header.d.ts.map +1 -1
- package/build/src/toolkit/cli-header.js +24 -13
- package/build/src/toolkit/cli-header.js.map +1 -1
- package/build/src/toolkit/index.d.ts +1 -1
- package/build/src/toolkit/index.d.ts.map +1 -1
- package/build/src/toolkit/index.js +1 -1
- package/build/src/toolkit/index.js.map +1 -1
- package/build/src/toolkit/logger.d.ts.map +1 -1
- package/build/src/toolkit/logger.js +25 -10
- package/build/src/toolkit/logger.js.map +1 -1
- package/build/src/toolkit/markdown-table.d.ts.map +1 -1
- package/build/src/toolkit/markdown-table.js +3 -3
- package/build/src/toolkit/markdown-table.js.map +1 -1
- package/package.json +63 -59
- package/build/src/cli/recipe/sync-metadata.d.ts +0 -5
- package/build/src/cli/recipe/sync-metadata.d.ts.map +0 -1
- package/build/src/cli/recipe/sync-metadata.js +0 -7
- package/build/src/cli/recipe/sync-metadata.js.map +0 -1
- package/build/src/cli/recipe/sync-versions.d.ts +0 -5
- package/build/src/cli/recipe/sync-versions.d.ts.map +0 -1
- package/build/src/cli/recipe/sync-versions.js +0 -7
- package/build/src/cli/recipe/sync-versions.js.map +0 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { doesNotThrow, strictEqual } from 'node:assert/strict';
|
|
2
|
+
import { test } from 'node:test';
|
|
3
|
+
import { Logger } from '../../toolkit/index.js';
|
|
4
|
+
test('Logger static methods', async (context) => {
|
|
5
|
+
await context.test('debug is a function', () => {
|
|
6
|
+
strictEqual(typeof Logger.debug, 'function');
|
|
7
|
+
});
|
|
8
|
+
await context.test('dev is a function', () => {
|
|
9
|
+
strictEqual(typeof Logger.dev, 'function');
|
|
10
|
+
});
|
|
11
|
+
await context.test('info is a function', () => {
|
|
12
|
+
strictEqual(typeof Logger.info, 'function');
|
|
13
|
+
});
|
|
14
|
+
await context.test('warn is a function', () => {
|
|
15
|
+
strictEqual(typeof Logger.warn, 'function');
|
|
16
|
+
});
|
|
17
|
+
await context.test('error is a function', () => {
|
|
18
|
+
strictEqual(typeof Logger.error, 'function');
|
|
19
|
+
});
|
|
20
|
+
await context.test('customize is a function', () => {
|
|
21
|
+
strictEqual(typeof Logger.customize, 'function');
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
test('Logger customize', async (context) => {
|
|
25
|
+
await context.test('returns object with all log methods', () => {
|
|
26
|
+
const scoped = Logger.customize({ name: 'test' });
|
|
27
|
+
strictEqual(typeof scoped.debug, 'function');
|
|
28
|
+
strictEqual(typeof scoped.dev, 'function');
|
|
29
|
+
strictEqual(typeof scoped.info, 'function');
|
|
30
|
+
strictEqual(typeof scoped.warn, 'function');
|
|
31
|
+
strictEqual(typeof scoped.error, 'function');
|
|
32
|
+
});
|
|
33
|
+
await context.test('returns object with all log methods when given name and purpose', () => {
|
|
34
|
+
const scoped = Logger.customize({
|
|
35
|
+
name: 'test',
|
|
36
|
+
purpose: 'unit',
|
|
37
|
+
});
|
|
38
|
+
strictEqual(typeof scoped.debug, 'function');
|
|
39
|
+
strictEqual(typeof scoped.info, 'function');
|
|
40
|
+
});
|
|
41
|
+
await context.test('returns object with all log methods when given name, type, and purpose', () => {
|
|
42
|
+
const scoped = Logger.customize({
|
|
43
|
+
name: 'test',
|
|
44
|
+
type: 'test',
|
|
45
|
+
purpose: 'unit',
|
|
46
|
+
});
|
|
47
|
+
strictEqual(typeof scoped.debug, 'function');
|
|
48
|
+
strictEqual(typeof scoped.error, 'function');
|
|
49
|
+
});
|
|
50
|
+
await context.test('returns object with all log methods when given empty options', () => {
|
|
51
|
+
const scoped = Logger.customize({});
|
|
52
|
+
strictEqual(typeof scoped.debug, 'function');
|
|
53
|
+
strictEqual(typeof scoped.info, 'function');
|
|
54
|
+
strictEqual(typeof scoped.warn, 'function');
|
|
55
|
+
strictEqual(typeof scoped.error, 'function');
|
|
56
|
+
});
|
|
57
|
+
await context.test('scoped methods do not throw', () => {
|
|
58
|
+
const scoped = Logger.customize({ name: 'test' });
|
|
59
|
+
doesNotThrow(() => {
|
|
60
|
+
scoped.info('test message');
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
test('Logger output levels', async (context) => {
|
|
65
|
+
await context.test('info does not throw', () => {
|
|
66
|
+
doesNotThrow(() => {
|
|
67
|
+
Logger.info('test info message');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
await context.test('warn does not throw', () => {
|
|
71
|
+
doesNotThrow(() => {
|
|
72
|
+
Logger.warn('test warn message');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
await context.test('error does not throw', () => {
|
|
76
|
+
doesNotThrow(() => {
|
|
77
|
+
Logger.error('test error message');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
await context.test('debug does not throw', () => {
|
|
81
|
+
doesNotThrow(() => {
|
|
82
|
+
Logger.debug('test debug message');
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
await context.test('accepts multiple arguments', () => {
|
|
86
|
+
doesNotThrow(() => {
|
|
87
|
+
Logger.info('message', 'arg1', 'arg2');
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
await context.test('accepts no arguments', () => {
|
|
91
|
+
doesNotThrow(() => {
|
|
92
|
+
Logger.info();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=logger.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../../src/tests/toolkit/logger.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-table.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/toolkit/markdown-table.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { doesNotThrow, fail, ok, strictEqual, throws, } from 'node:assert/strict';
|
|
2
|
+
import { test } from 'node:test';
|
|
3
|
+
import { MarkdownTable } from '../../toolkit/index.js';
|
|
4
|
+
test('MarkdownTable constructor', async (context) => {
|
|
5
|
+
await context.test('accepts valid headers', () => {
|
|
6
|
+
doesNotThrow(() => {
|
|
7
|
+
new MarkdownTable(['Name', 'Version']);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
await context.test('throws on empty headers array', () => {
|
|
11
|
+
throws(() => {
|
|
12
|
+
new MarkdownTable([]);
|
|
13
|
+
}, {
|
|
14
|
+
message: '"headers" must be a non-empty array',
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
test('MarkdownTable addRow', async (context) => {
|
|
19
|
+
await context.test('accepts row matching headers length', () => {
|
|
20
|
+
const table = new MarkdownTable(['Name', 'Version']);
|
|
21
|
+
doesNotThrow(() => {
|
|
22
|
+
table.addRow(['nova', '1.0.0']);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
await context.test('throws on row length mismatch', () => {
|
|
26
|
+
const table = new MarkdownTable(['Name', 'Version']);
|
|
27
|
+
throws(() => {
|
|
28
|
+
table.addRow(['nova']);
|
|
29
|
+
}, {
|
|
30
|
+
message: 'Length of "rows" must equal length of "headers"',
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
await context.test('returns instance for chaining', () => {
|
|
34
|
+
const table = new MarkdownTable(['Name', 'Version']);
|
|
35
|
+
const result = table.addRow(['nova', '1.0.0']);
|
|
36
|
+
strictEqual(result, table);
|
|
37
|
+
});
|
|
38
|
+
await context.test('supports chaining multiple rows', () => {
|
|
39
|
+
const table = new MarkdownTable(['A', 'B']);
|
|
40
|
+
const result = table
|
|
41
|
+
.addRow(['1', '2'])
|
|
42
|
+
.addRow(['3', '4']);
|
|
43
|
+
strictEqual(result, table);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
test('MarkdownTable render', async (context) => {
|
|
47
|
+
await context.test('renders basic table with one row', () => {
|
|
48
|
+
const table = new MarkdownTable(['Name', 'Version']);
|
|
49
|
+
table.addRow(['nova', '1.0.0']);
|
|
50
|
+
const output = table.render();
|
|
51
|
+
const lines = output.split('\n');
|
|
52
|
+
strictEqual(lines.length, 3);
|
|
53
|
+
const line0 = lines[0];
|
|
54
|
+
const line1 = lines[1];
|
|
55
|
+
const line2 = lines[2];
|
|
56
|
+
if (line0 === undefined || line1 === undefined || line2 === undefined) {
|
|
57
|
+
fail('Expected lines to be defined');
|
|
58
|
+
}
|
|
59
|
+
ok(line0.startsWith('| '));
|
|
60
|
+
ok(line0.endsWith(' |'));
|
|
61
|
+
ok(line1.includes('-'));
|
|
62
|
+
ok(line2.includes('nova'));
|
|
63
|
+
ok(line2.includes('1.0.0'));
|
|
64
|
+
});
|
|
65
|
+
await context.test('renders table with multiple rows', () => {
|
|
66
|
+
const table = new MarkdownTable(['Tool', 'Version']);
|
|
67
|
+
table.addRow(['node', '20.10.0']);
|
|
68
|
+
table.addRow(['npm', '10.2.3']);
|
|
69
|
+
const output = table.render();
|
|
70
|
+
const lines = output.split('\n');
|
|
71
|
+
strictEqual(lines.length, 4);
|
|
72
|
+
const line2 = lines[2];
|
|
73
|
+
const line3 = lines[3];
|
|
74
|
+
if (line2 === undefined || line3 === undefined) {
|
|
75
|
+
fail('Expected lines to be defined');
|
|
76
|
+
}
|
|
77
|
+
ok(line2.includes('node'));
|
|
78
|
+
ok(line3.includes('npm'));
|
|
79
|
+
});
|
|
80
|
+
await context.test('renders headers-only table', () => {
|
|
81
|
+
const table = new MarkdownTable(['A', 'B', 'C']);
|
|
82
|
+
const output = table.render();
|
|
83
|
+
const lines = output.split('\n');
|
|
84
|
+
strictEqual(lines.length, 3);
|
|
85
|
+
});
|
|
86
|
+
await context.test('escapes pipe characters in cells', () => {
|
|
87
|
+
const table = new MarkdownTable(['Expression']);
|
|
88
|
+
table.addRow(['a | b']);
|
|
89
|
+
const output = table.render();
|
|
90
|
+
ok(output.includes('a \\| b'));
|
|
91
|
+
});
|
|
92
|
+
await context.test('replaces newlines in cells with spaces', () => {
|
|
93
|
+
const table = new MarkdownTable(['Text']);
|
|
94
|
+
table.addRow(['line1\nline2']);
|
|
95
|
+
const output = table.render();
|
|
96
|
+
ok(output.includes('line1 line2'));
|
|
97
|
+
ok(!output.includes('line1\nline2'));
|
|
98
|
+
});
|
|
99
|
+
await context.test('pads columns to minimum width', () => {
|
|
100
|
+
const table = new MarkdownTable(['A']);
|
|
101
|
+
table.addRow(['x']);
|
|
102
|
+
const output = table.render();
|
|
103
|
+
const headerLine = output.split('\n')[0] ?? '';
|
|
104
|
+
ok(headerLine.includes('A '));
|
|
105
|
+
});
|
|
106
|
+
await context.test('respects custom minimum column width', () => {
|
|
107
|
+
const table = new MarkdownTable(['A'], {
|
|
108
|
+
minimumColumnWidth: 10,
|
|
109
|
+
padDelimiterRow: false,
|
|
110
|
+
});
|
|
111
|
+
table.addRow(['x']);
|
|
112
|
+
const output = table.render();
|
|
113
|
+
const delimiterLine = output.split('\n')[1] ?? '';
|
|
114
|
+
ok(delimiterLine.includes('----------'));
|
|
115
|
+
});
|
|
116
|
+
await context.test('renders padded delimiter row when option enabled', () => {
|
|
117
|
+
const table = new MarkdownTable(['Name', 'Value'], {
|
|
118
|
+
minimumColumnWidth: 3,
|
|
119
|
+
padDelimiterRow: true,
|
|
120
|
+
});
|
|
121
|
+
table.addRow(['a', 'b']);
|
|
122
|
+
const output = table.render();
|
|
123
|
+
const delimiterLine = output.split('\n')[1] ?? '';
|
|
124
|
+
ok(delimiterLine.startsWith('| '));
|
|
125
|
+
ok(delimiterLine.includes(' | '));
|
|
126
|
+
ok(delimiterLine.endsWith(' |'));
|
|
127
|
+
});
|
|
128
|
+
await context.test('renders compact delimiter row by default', () => {
|
|
129
|
+
const table = new MarkdownTable(['Name', 'Value']);
|
|
130
|
+
table.addRow(['a', 'b']);
|
|
131
|
+
const output = table.render();
|
|
132
|
+
const delimiterLine = output.split('\n')[1] ?? '';
|
|
133
|
+
ok(delimiterLine.startsWith('|-'));
|
|
134
|
+
ok(delimiterLine.includes('-|-'));
|
|
135
|
+
ok(delimiterLine.endsWith('-|'));
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=markdown-table.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-table.test.js","sourceRoot":"","sources":["../../../../src/tests/toolkit/markdown-table.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { CLIHeaderRenderOptions, CLIHeaderRenderReturns, CLIHeaderRenderTex
|
|
|
2
2
|
export default class CLIHeader {
|
|
3
3
|
static render(texts: CLIHeaderRenderTexts, options?: CLIHeaderRenderOptions): CLIHeaderRenderReturns;
|
|
4
4
|
private static borderChars;
|
|
5
|
+
private static stripAnsi;
|
|
5
6
|
private static truncate;
|
|
6
7
|
private static align;
|
|
7
8
|
private static visibleLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-header.d.ts","sourceRoot":"","sources":["../../../src/toolkit/cli-header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-header.d.ts","sourceRoot":"","sources":["../../../src/toolkit/cli-header.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAYV,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EAQrB,MAAM,iCAAiC,CAAC;AAOzC,MAAM,CAAC,OAAO,OAAO,SAAS;WAWd,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,sBAAsB;IAuE3G,OAAO,CAAC,MAAM,CAAC,WAAW;IA+C1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAwJvB,OAAO,CAAC,MAAM,CAAC,KAAK;IA+BpB,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B,OAAO,CAAC,MAAM,CAAC,UAAU;CAK1B"}
|
|
@@ -2,13 +2,18 @@ import { PATTERN_ANSI, PATTERN_ANSI_START } from '../lib/regex.js';
|
|
|
2
2
|
import { Logger } from '../toolkit/index.js';
|
|
3
3
|
export default class CLIHeader {
|
|
4
4
|
static render(texts, options) {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
5
|
+
const resolvedOptions = options ?? {};
|
|
6
|
+
const interactive = resolvedOptions.interactive ?? (process.stdout.isTTY === true);
|
|
7
|
+
if (interactive === false) {
|
|
8
|
+
return texts.map((text) => CLIHeader.stripAnsi(text)).join('\n');
|
|
9
|
+
}
|
|
10
|
+
const align = resolvedOptions.align ?? 'center';
|
|
11
|
+
const marginTop = Math.max(0, resolvedOptions.marginTop ?? 0);
|
|
12
|
+
const marginBottom = Math.max(0, resolvedOptions.marginBottom ?? 0);
|
|
13
|
+
const paddingX = Math.max(0, resolvedOptions.paddingX ?? 0);
|
|
14
|
+
const paddingY = Math.max(0, resolvedOptions.paddingY ?? 0);
|
|
15
|
+
const style = resolvedOptions.style ?? 'box';
|
|
16
|
+
const width = Math.max(0, resolvedOptions.width ?? process.stdout.columns);
|
|
12
17
|
const topMargin = '\n'.repeat(marginTop);
|
|
13
18
|
const bottomMargin = '\n'.repeat(marginBottom);
|
|
14
19
|
const borderChars = CLIHeader.borderChars(style);
|
|
@@ -40,7 +45,7 @@ export default class CLIHeader {
|
|
|
40
45
|
}
|
|
41
46
|
static borderChars(style) {
|
|
42
47
|
switch (style) {
|
|
43
|
-
case 'round':
|
|
48
|
+
case 'round': {
|
|
44
49
|
return {
|
|
45
50
|
topLeft: '╭',
|
|
46
51
|
topRight: '╮',
|
|
@@ -49,7 +54,8 @@ export default class CLIHeader {
|
|
|
49
54
|
horizontal: '─',
|
|
50
55
|
vertical: '│',
|
|
51
56
|
};
|
|
52
|
-
|
|
57
|
+
}
|
|
58
|
+
case 'thick': {
|
|
53
59
|
return {
|
|
54
60
|
topLeft: '╔',
|
|
55
61
|
topRight: '╗',
|
|
@@ -58,8 +64,9 @@ export default class CLIHeader {
|
|
|
58
64
|
horizontal: '═',
|
|
59
65
|
vertical: '║',
|
|
60
66
|
};
|
|
67
|
+
}
|
|
61
68
|
case 'box':
|
|
62
|
-
default:
|
|
69
|
+
default: {
|
|
63
70
|
return {
|
|
64
71
|
topLeft: '┌',
|
|
65
72
|
topRight: '┐',
|
|
@@ -68,8 +75,12 @@ export default class CLIHeader {
|
|
|
68
75
|
horizontal: '─',
|
|
69
76
|
vertical: '│',
|
|
70
77
|
};
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
80
|
}
|
|
81
|
+
static stripAnsi(string) {
|
|
82
|
+
return string.replace(new RegExp(PATTERN_ANSI, 'g'), '');
|
|
83
|
+
}
|
|
73
84
|
static truncate(string, max) {
|
|
74
85
|
if (max <= 0 || string === '') {
|
|
75
86
|
return '';
|
|
@@ -83,7 +94,7 @@ export default class CLIHeader {
|
|
|
83
94
|
while (rawIndex < string.length) {
|
|
84
95
|
const slice = string.slice(rawIndex);
|
|
85
96
|
const matches = slice.match(PATTERN_ANSI_START);
|
|
86
|
-
if (matches) {
|
|
97
|
+
if (matches !== null) {
|
|
87
98
|
const code = matches[0];
|
|
88
99
|
Logger.customize({
|
|
89
100
|
name: 'CLIHeader.truncate',
|
|
@@ -126,7 +137,7 @@ export default class CLIHeader {
|
|
|
126
137
|
while (rawIndex < string.length && visibleIndex < visibleWidth) {
|
|
127
138
|
const slice = string.slice(rawIndex);
|
|
128
139
|
const matches = slice.match(PATTERN_ANSI_START);
|
|
129
|
-
if (matches) {
|
|
140
|
+
if (matches !== null) {
|
|
130
141
|
const code = matches[0];
|
|
131
142
|
output += code;
|
|
132
143
|
Logger.customize({
|
|
@@ -154,7 +165,7 @@ export default class CLIHeader {
|
|
|
154
165
|
name: 'CLIHeader.truncate',
|
|
155
166
|
purpose: 'second-pass',
|
|
156
167
|
}).debug(JSON.stringify(output));
|
|
157
|
-
if (needsEllipsis) {
|
|
168
|
+
if (needsEllipsis === true) {
|
|
158
169
|
output += '…';
|
|
159
170
|
Logger.customize({
|
|
160
171
|
name: 'CLIHeader.truncate',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-header.js","sourceRoot":"","sources":["../../../src/toolkit/cli-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-header.js","sourceRoot":"","sources":["../../../src/toolkit/cli-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA+B5C,MAAM,CAAC,OAAO,OAAO,SAAS;IAWrB,MAAM,CAAC,MAAM,CAAC,KAA2B,EAAE,OAAgC;QAChF,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAGnF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,QAAQ,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAChG,MAAM,YAAY,GAAG,GAAG,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACzG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAEnE,MAAM,cAAc,GAAkC,EAAE,CAAC;QACzD,MAAM,cAAc,GAAkC,EAAE,CAAC;QAGzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;QAGD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE7D,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;QAGD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;QAGD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAEhF,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxH,CAAC;QAED,OAAO;YACL,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,GAAG,cAAc;YACjB,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAaO,MAAM,CAAC,WAAW,CAAC,KAAgC;QACzD,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,GAAG;oBAChB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,GAAG;iBACd,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,GAAG;oBAChB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,GAAG;iBACd,CAAC;YACJ,CAAC;YACD,KAAK,KAAK,CAAC;YACX,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO;oBACL,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,GAAG;oBAChB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,GAAG;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAaO,MAAM,CAAC,SAAS,CAAC,MAAgC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAcO,MAAM,CAAC,QAAQ,CAAC,MAA+B,EAAE,GAAyB;QAChF,IAAI,GAAG,IAAI,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAGjC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAGhD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAExB,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,KAAK,CAAC;oBACP,oBAAoB,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;iBACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEd,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;gBAExB,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAE,CAAC;YAEpC,KAAK,IAAI,SAAS,CAAC;YAEnB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC,KAAK,CAAC;gBACP,uBAAuB,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBAC/D,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;aACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,aAAa,GAAG,WAAW,GAAG,GAAG,CAAC;QACxC,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAEzF,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,WAAW;YACX,aAAa;YACb,YAAY;SACb,CAAC,CAAC,CAAC;QAGJ,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,QAAQ,GAAG,CAAC,CAAC;QAEb,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAGhD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAExB,MAAM,IAAI,IAAI,CAAC;gBAEf,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC,KAAK,CAAC;oBACP,oBAAoB,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;iBACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEd,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;gBAExB,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAE,CAAC;YAEpC,MAAM,IAAI,SAAS,CAAC;YAEpB,YAAY,IAAI,CAAC,CAAC;YAElB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC,KAAK,CAAC;gBACP,uBAAuB,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBAC/D,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;aACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,CAAC;YAEd,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,CAAC;QAGD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAeO,MAAM,CAAC,KAAK,CAAC,MAA4B,EAAE,KAA0B,EAAE,KAA0B;QACvG,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,KAAK,GAAG,YAAY,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;QAGlD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,CAAC;QAGD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,CAAC;QAClD,CAAC;QAGD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1E,CAAC;IAaO,MAAM,CAAC,aAAa,CAAC,MAAoC;QAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC;IAcO,MAAM,CAAC,UAAU,CAAC,MAAiC,EAAE,KAA+B;QAC1F,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtD,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as CLIHeader } from './cli-header.js';
|
|
2
|
-
export { default as MarkdownTable } from './markdown-table.js';
|
|
3
2
|
export { default as Logger } from './logger.js';
|
|
3
|
+
export { default as MarkdownTable } from './markdown-table.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toolkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toolkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as CLIHeader } from './cli-header.js';
|
|
2
|
-
export { default as MarkdownTable } from './markdown-table.js';
|
|
3
2
|
export { default as Logger } from './logger.js';
|
|
3
|
+
export { default as MarkdownTable } from './markdown-table.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/toolkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/toolkit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/toolkit/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/toolkit/logger.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAKhB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAejB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAOrC,MAAM,CAAC,OAAO,OAAO,MAAM;WAUX,KAAK,CAAC,GAAG,OAAO,EAAE,kBAAkB,GAAG,kBAAkB;WAazD,GAAG,CAAC,GAAG,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;WAanD,IAAI,CAAC,GAAG,OAAO,EAAE,iBAAiB,GAAG,iBAAiB;WAatD,IAAI,CAAC,GAAG,OAAO,EAAE,iBAAiB,GAAG,iBAAiB;WAatD,KAAK,CAAC,GAAG,OAAO,EAAE,kBAAkB,GAAG,kBAAkB;WAazD,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB;IAiChF,OAAO,CAAC,MAAM,CAAC,IAAI;IAwCnB,OAAO,CAAC,MAAM,CAAC,SAAS;IAyCxB,OAAO,CAAC,MAAM,CAAC,MAAM;IAqDrB,OAAO,CAAC,MAAM,CAAC,UAAU;IA6BzB,OAAO,CAAC,MAAM,CAAC,eAAe;CAG/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { format } from 'util';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { LINEBREAK_CRLF_OR_LF, PATTERN_ANSI } from '../lib/regex.js';
|
|
4
4
|
import { currentTimestamp } from '../lib/utility.js';
|
|
@@ -44,7 +44,7 @@ export default class Logger {
|
|
|
44
44
|
const padTop = '\n'.repeat(Math.max(0, options.padTop ?? 0));
|
|
45
45
|
const padBottom = '\n'.repeat(Math.max(0, options.padBottom ?? 0));
|
|
46
46
|
const stream = (level === 'warn' || level === 'error') ? process.stderr : process.stdout;
|
|
47
|
-
const formattedMessage = (message.length > 0) ?
|
|
47
|
+
const formattedMessage = (message.length > 0) ? format(...message) : '';
|
|
48
48
|
if (padTop.length > 0) {
|
|
49
49
|
stream.write(padTop);
|
|
50
50
|
}
|
|
@@ -69,7 +69,16 @@ export default class Logger {
|
|
|
69
69
|
const isBrowser = typeof globalThis === 'object' && Reflect.has(globalThis, 'window');
|
|
70
70
|
const nodeEnv = process.env['NODE_ENV'] ?? 'production';
|
|
71
71
|
const currentLogLevel = (process.env['LOG_LEVEL'] ?? '').toLowerCase();
|
|
72
|
-
|
|
72
|
+
let defaultLogLevel;
|
|
73
|
+
if (isBrowser === true && nodeEnv === 'production') {
|
|
74
|
+
defaultLogLevel = 'warn';
|
|
75
|
+
}
|
|
76
|
+
else if (nodeEnv === 'development') {
|
|
77
|
+
defaultLogLevel = 'debug';
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
defaultLogLevel = 'info';
|
|
81
|
+
}
|
|
73
82
|
const preferredLogLevel = Object.keys(weights).includes(currentLogLevel) ? currentLogLevel : defaultLogLevel;
|
|
74
83
|
return weights[level] >= weights[preferredLogLevel];
|
|
75
84
|
}
|
|
@@ -79,26 +88,32 @@ export default class Logger {
|
|
|
79
88
|
const scopeTag = ((process.env['LOG_LEVEL'] === 'debug' || process.env['NODE_ENV'] === 'development') && scopeLabel !== null) ? ` ${chalk.dim(`[${scopeLabel}]`)}` : '';
|
|
80
89
|
let coloredLevelLabel;
|
|
81
90
|
switch (level) {
|
|
82
|
-
case 'debug':
|
|
91
|
+
case 'debug': {
|
|
83
92
|
coloredLevelLabel = chalk.grey(levelLabelUpper);
|
|
84
93
|
break;
|
|
85
|
-
|
|
94
|
+
}
|
|
95
|
+
case 'dev': {
|
|
86
96
|
coloredLevelLabel = chalk.magenta(levelLabelUpper);
|
|
87
97
|
break;
|
|
88
|
-
|
|
98
|
+
}
|
|
99
|
+
case 'info': {
|
|
89
100
|
coloredLevelLabel = chalk.blue(levelLabelUpper);
|
|
90
101
|
break;
|
|
91
|
-
|
|
102
|
+
}
|
|
103
|
+
case 'warn': {
|
|
92
104
|
coloredLevelLabel = chalk.yellow(levelLabelUpper);
|
|
93
105
|
break;
|
|
94
|
-
|
|
106
|
+
}
|
|
107
|
+
case 'error': {
|
|
95
108
|
coloredLevelLabel = chalk.red(levelLabelUpper);
|
|
96
109
|
break;
|
|
97
|
-
|
|
110
|
+
}
|
|
111
|
+
default: {
|
|
98
112
|
coloredLevelLabel = chalk.white(levelLabelUpper);
|
|
99
113
|
break;
|
|
114
|
+
}
|
|
100
115
|
}
|
|
101
|
-
if (process.env['LOG_TIME'] && process.env['LOG_TIME'] === 'true') {
|
|
116
|
+
if (process.env['LOG_TIME'] !== undefined && process.env['LOG_TIME'] === 'true') {
|
|
102
117
|
return `${chalk.dim(currentTimestamp())} ${coloredLevelLabel}${scopeTag}`;
|
|
103
118
|
}
|
|
104
119
|
return `${coloredLevelLabel}${scopeTag}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/toolkit/logger.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/toolkit/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-table.d.ts","sourceRoot":"","sources":["../../../src/toolkit/markdown-table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown-table.d.ts","sourceRoot":"","sources":["../../../src/toolkit/markdown-table.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EAEtB,+BAA+B,EAC/B,+BAA+B,EAc/B,0BAA0B,EAI3B,MAAM,qCAAqC,CAAC;AAO7C,MAAM,CAAC,OAAO,OAAO,aAAa;;gBA6Cb,OAAO,EAAE,+BAA+B,EAAE,OAAO,CAAC,EAAE,+BAA+B;IAqB/F,MAAM,CAAC,GAAG,EAAE,sBAAsB,GAAG,0BAA0B;IAkB/D,MAAM,IAAI,0BAA0B;IAqB3C,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;CAGxB"}
|
|
@@ -8,9 +8,9 @@ export default class MarkdownTable {
|
|
|
8
8
|
if (!Array.isArray(headers) || headers.length === 0) {
|
|
9
9
|
throw new Error('"headers" must be a non-empty array');
|
|
10
10
|
}
|
|
11
|
-
this.#headers = headers
|
|
12
|
-
this.#minimumColumnWidth = Math.max(3, options
|
|
13
|
-
this.#padDelimiterRow = options
|
|
11
|
+
this.#headers = headers;
|
|
12
|
+
this.#minimumColumnWidth = (options !== undefined) ? Math.max(3, options.minimumColumnWidth) : 3;
|
|
13
|
+
this.#padDelimiterRow = (options !== undefined) ? options.padDelimiterRow : false;
|
|
14
14
|
this.#rows = [];
|
|
15
15
|
}
|
|
16
16
|
addRow(row) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-table.js","sourceRoot":"","sources":["../../../src/toolkit/markdown-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-table.js","sourceRoot":"","sources":["../../../src/toolkit/markdown-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgCpF,MAAM,CAAC,OAAO,OAAO,aAAa;IAQvB,QAAQ,CAAuB;IAS/B,mBAAmB,CAAkC;IASrD,gBAAgB,CAA+B;IAS/C,KAAK,CAAoB;IAUlC,YAAmB,OAAwC,EAAE,OAAyC;QACpG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAGD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAWM,MAAM,CAAC,GAA2B;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAGrB,OAAO,IAAI,CAAC;IACd,CAAC;IASM,MAAM;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnF,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAaO,UAAU,CAAC,KAAmC;QACpD,OAAO,KAAK;aACT,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;aAC/C,OAAO,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAWO,mBAAmB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO,KAAK,CAAC,IAAI,CACf;YACE,MAAM,EAAE,aAAa;SACtB,EACD,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE;YAEjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9E,CAAC,CAAC,CAAC,CAAC;QACN,CAAC,CACF,CAAC;IACJ,CAAC;IAcO,OAAO,CAAC,MAAkC,EAAE,KAAgC;QAClF,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC5F,CAAC;IAcO,SAAS,CAAC,KAAkC,EAAE,MAAoC;QACxF,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YACjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3C,CAAC;IAaO,eAAe,CAAC,YAAsD;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEjD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACnD,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC;IACpE,CAAC;IAaO,eAAe,CAAC,MAA0C;QAChE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF"}
|