termpainter 1.0.0 → 1.2.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/README.md +79 -11
- package/dist/cjs/box.cjs +3 -3
- package/dist/cjs/box.d.ts.map +1 -1
- package/dist/cjs/box.js.map +1 -1
- package/dist/cjs/icons.cjs +19 -0
- package/dist/cjs/icons.d.cts +10 -0
- package/dist/cjs/icons.d.ts +10 -0
- package/dist/cjs/icons.d.ts.map +1 -0
- package/dist/cjs/icons.js.map +1 -0
- package/dist/cjs/index.cjs +6 -1
- package/dist/cjs/index.d.cts +5 -1
- package/dist/cjs/index.d.ts +5 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paint.cjs +5 -0
- package/dist/cjs/paint.d.cts +1 -0
- package/dist/cjs/paint.d.ts +1 -0
- package/dist/cjs/paint.d.ts.map +1 -1
- package/dist/cjs/paint.js.map +1 -1
- package/dist/cjs/spinner.cjs +26 -0
- package/dist/cjs/spinner.d.cts +6 -0
- package/dist/cjs/spinner.d.ts +6 -0
- package/dist/cjs/spinner.d.ts.map +1 -0
- package/dist/cjs/spinner.js.map +1 -0
- package/dist/cjs/style.cjs +27 -8
- package/dist/cjs/style.d.cts +7 -4
- package/dist/cjs/style.d.ts +7 -4
- package/dist/cjs/style.d.ts.map +1 -1
- package/dist/cjs/style.js.map +1 -1
- package/dist/esm/box.js +4 -4
- package/dist/esm/box.js.map +1 -1
- package/dist/esm/icons.js +15 -0
- package/dist/esm/icons.js.map +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/paint.js +4 -0
- package/dist/esm/paint.js.map +1 -1
- package/dist/esm/spinner.js +23 -0
- package/dist/esm/spinner.js.map +1 -0
- package/dist/esm/style.js +27 -8
- package/dist/esm/style.js.map +1 -1
- package/dist/types/box.d.ts.map +1 -1
- package/dist/types/icons.d.ts +10 -0
- package/dist/types/icons.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/paint.d.ts +1 -0
- package/dist/types/paint.d.ts.map +1 -1
- package/dist/types/spinner.d.ts +6 -0
- package/dist/types/spinner.d.ts.map +1 -0
- package/dist/types/style.d.ts +7 -4
- package/dist/types/style.d.ts.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -5,13 +5,13 @@ tired of staring at walls of plain `console.log`? termpainter gives your termina
|
|
|
5
5
|
npm install termpainter
|
|
6
6
|
```
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
<img src="https://raw.githubusercontent.com/abd105/termpainter/main/assets/demo.png" width="450" alt="termpainter demo" />
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## usage
|
|
13
13
|
```ts
|
|
14
|
-
import { style, badge, box, paint } from 'termpainter'
|
|
14
|
+
import { style, badge, box, paint, spin, strip, setIcons } from 'termpainter'
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
### styles
|
|
@@ -27,6 +27,30 @@ style.bold('Important message') // bold white
|
|
|
27
27
|
style.highlight('termpainter') // cyan
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
### structured log output
|
|
31
|
+
|
|
32
|
+
any `style.*` method accepts an optional second argument — a plain object whose keys and values are printed below the message, indented and with keys in cyan.
|
|
33
|
+
```ts
|
|
34
|
+
style.info('User created', { id: 123, role: 'admin' })
|
|
35
|
+
// ℹ User created
|
|
36
|
+
// id 123
|
|
37
|
+
// role admin
|
|
38
|
+
|
|
39
|
+
style.error('Request failed', { status: 503, path: '/api/data' })
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### debug
|
|
43
|
+
|
|
44
|
+
only outputs when `DEBUG` is set to any truthy value. silently returns an empty string otherwise. styled gray + dim with a 🔍 prefix.
|
|
45
|
+
```ts
|
|
46
|
+
style.debug('cache miss for key xyz')
|
|
47
|
+
style.debug('query executed', { rows: 42, ms: 18 })
|
|
48
|
+
```
|
|
49
|
+
```sh
|
|
50
|
+
DEBUG=1 node app.js # shows debug output
|
|
51
|
+
node app.js # debug lines are invisible
|
|
52
|
+
```
|
|
53
|
+
|
|
30
54
|
### badges
|
|
31
55
|
|
|
32
56
|
inline labels. good for status, versions, environments.
|
|
@@ -40,10 +64,11 @@ badge('offline', 'red')
|
|
|
40
64
|
|
|
41
65
|
### boxes
|
|
42
66
|
|
|
43
|
-
draws a clean unicode border around anything. multiline works fine.
|
|
67
|
+
draws a clean unicode border around anything. multiline works fine. fully composable — pass styled strings directly.
|
|
44
68
|
```ts
|
|
45
69
|
box('Deploy complete\n3 services restarted\nAll checks passed', 'green')
|
|
46
70
|
box('Critical error\nProcess exited with code 1', 'red')
|
|
71
|
+
box(style.success('done')) // styled content inside a box
|
|
47
72
|
```
|
|
48
73
|
|
|
49
74
|
### divider
|
|
@@ -78,18 +103,57 @@ style.timestamp('Connection failed', 'red') // timestamp in red
|
|
|
78
103
|
|
|
79
104
|
### paint
|
|
80
105
|
|
|
81
|
-
low level, for when you need something the presets
|
|
106
|
+
low level, for when you need something the presets don't cover.
|
|
82
107
|
```ts
|
|
83
108
|
paint('custom text', { color: 'magenta', bold: true })
|
|
84
109
|
paint('highlighted', { color: 'white', bg: 'blue' })
|
|
85
110
|
paint('soft note', { color: 'gray', italic: true, dim: true })
|
|
86
111
|
```
|
|
87
112
|
|
|
113
|
+
### spinner
|
|
114
|
+
|
|
115
|
+
animated terminal spinner. returns a handle with `succeed` and `fail` to stop it. no external dependencies.
|
|
116
|
+
```ts
|
|
117
|
+
const s = spin('Deploying...')
|
|
118
|
+
|
|
119
|
+
// later, when done:
|
|
120
|
+
s.succeed('Deploy complete') // stops spinner, shows style.success
|
|
121
|
+
s.fail('Deploy failed') // stops spinner, shows style.error
|
|
122
|
+
|
|
123
|
+
// optional: reuse the original message
|
|
124
|
+
s.succeed()
|
|
125
|
+
s.fail()
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### strip
|
|
129
|
+
|
|
130
|
+
removes all ANSI escape codes from a string. useful for writing styled output to log files or comparing strings in tests.
|
|
131
|
+
```ts
|
|
132
|
+
const raw = strip(style.success('Build complete'))
|
|
133
|
+
// => '✔ Build complete'
|
|
134
|
+
|
|
135
|
+
fs.appendFileSync('app.log', strip(style.info('Server started')) + '\n')
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### custom icons
|
|
139
|
+
|
|
140
|
+
override the default icons for any or all style methods. unspecified keys fall back to defaults.
|
|
141
|
+
```ts
|
|
142
|
+
import { setIcons } from 'termpainter'
|
|
143
|
+
|
|
144
|
+
setIcons({ success: '✓', error: '✕' })
|
|
145
|
+
|
|
146
|
+
style.success('done') // ✓ done (custom icon)
|
|
147
|
+
style.warn('careful') // ⚠ careful (default icon unchanged)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
available keys: `success`, `error`, `warn`, `info`, `debug`
|
|
151
|
+
|
|
88
152
|
---
|
|
89
153
|
|
|
90
154
|
## color support
|
|
91
155
|
|
|
92
|
-
termpainter automatically strips all ANSI codes when `NO_COLOR` is set, when running in CI, or when output is piped. your logs
|
|
156
|
+
termpainter automatically strips all ANSI codes when `NO_COLOR` is set, when running in CI, or when output is piped. your logs won't be full of broken escape sequences.
|
|
93
157
|
```ts
|
|
94
158
|
import { isColorEnabled } from 'termpainter'
|
|
95
159
|
|
|
@@ -102,10 +166,11 @@ isColorEnabled() // true in an interactive terminal, false everywhere else
|
|
|
102
166
|
|
|
103
167
|
| function | description |
|
|
104
168
|
|---|---|
|
|
105
|
-
| `style.error(msg)` | red, prepends ✖ |
|
|
106
|
-
| `style.success(msg)` | green, prepends ✔ |
|
|
107
|
-
| `style.warn(msg)` | yellow, prepends ⚠ |
|
|
108
|
-
| `style.info(msg)` | blue, prepends ℹ |
|
|
169
|
+
| `style.error(msg, meta?)` | red, prepends ✖ |
|
|
170
|
+
| `style.success(msg, meta?)` | green, prepends ✔ |
|
|
171
|
+
| `style.warn(msg, meta?)` | yellow, prepends ⚠ |
|
|
172
|
+
| `style.info(msg, meta?)` | blue, prepends ℹ |
|
|
173
|
+
| `style.debug(msg, meta?)` | gray+dim, 🔍 prefix, only when `DEBUG` is set |
|
|
109
174
|
| `style.muted(msg)` | gray, dimmed |
|
|
110
175
|
| `style.bold(msg)` | bold white |
|
|
111
176
|
| `style.highlight(msg)` | cyan |
|
|
@@ -113,7 +178,10 @@ isColorEnabled() // true in an interactive terminal, false everywhere else
|
|
|
113
178
|
| `style.table(data, color?)` | aligned key-value table, keys in cyan |
|
|
114
179
|
| `style.timestamp(msg, color?)` | prepends [HH:MM:SS], default gray |
|
|
115
180
|
| `badge(text, color?)` | [text] in chosen color, default white |
|
|
116
|
-
| `box(text, color?)` | unicode border box, multiline aware |
|
|
181
|
+
| `box(text, color?)` | unicode border box, multiline and ANSI-aware |
|
|
182
|
+
| `spin(msg)` | animated spinner, returns `{ succeed(msg?), fail(msg?) }` |
|
|
183
|
+
| `strip(str)` | removes all ANSI escape codes from a string |
|
|
184
|
+
| `setIcons(icons)` | override icons for error, success, warn, info, debug |
|
|
117
185
|
| `paint(text, options?)` | raw ANSI composer |
|
|
118
186
|
| `isColorEnabled()` | returns true if colors are active |
|
|
119
187
|
|
|
@@ -121,4 +189,4 @@ isColorEnabled() // true in an interactive terminal, false everywhere else
|
|
|
121
189
|
|
|
122
190
|
## license
|
|
123
191
|
|
|
124
|
-
MIT © Abdullah Hashmi
|
|
192
|
+
MIT © Abdullah Hashmi
|
package/dist/cjs/box.cjs
CHANGED
|
@@ -6,12 +6,12 @@ const codes_js_1 = require('./codes.cjs');
|
|
|
6
6
|
const env_js_1 = require('./env.cjs');
|
|
7
7
|
function box(text, color = 'white') {
|
|
8
8
|
const lines = text.split('\n');
|
|
9
|
-
const width = Math.max(...lines.map((l) => l.length));
|
|
9
|
+
const width = Math.max(...lines.map((l) => (0, paint_js_1.strip)(l).length));
|
|
10
10
|
if (!(0, env_js_1.isColorEnabled)()) {
|
|
11
11
|
const top = `╭${'─'.repeat(width + 2)}╮`;
|
|
12
12
|
const bottom = `╰${'─'.repeat(width + 2)}╯`;
|
|
13
13
|
const middle = lines.map((line) => {
|
|
14
|
-
const padding = ' '.repeat(width - line.length);
|
|
14
|
+
const padding = ' '.repeat(width - (0, paint_js_1.strip)(line).length);
|
|
15
15
|
return `│ ${line}${padding} │`;
|
|
16
16
|
});
|
|
17
17
|
return [top, ...middle, bottom].join('\n');
|
|
@@ -20,7 +20,7 @@ function box(text, color = 'white') {
|
|
|
20
20
|
const top = `${c}╭${'─'.repeat(width + 2)}╮${codes_js_1.RESET}`;
|
|
21
21
|
const bottom = `${c}╰${'─'.repeat(width + 2)}╯${codes_js_1.RESET}`;
|
|
22
22
|
const middle = lines.map((line) => {
|
|
23
|
-
const padding = ' '.repeat(width - line.length);
|
|
23
|
+
const padding = ' '.repeat(width - (0, paint_js_1.strip)(line).length);
|
|
24
24
|
return `${c}│${codes_js_1.RESET} ${line}${padding} ${c}│${codes_js_1.RESET}`;
|
|
25
25
|
});
|
|
26
26
|
return [top, ...middle, bottom].join('\n');
|
package/dist/cjs/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;AAItD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,KAAe,GAAG,MAAM,CAuBhE"}
|
package/dist/cjs/box.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":";;AAIA,kBAuBC;AA3BD,
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":";;AAIA,kBAuBC;AA3BD,yCAAsD;AACtD,yCAAmC;AACnC,qCAA0C;AAE1C,SAAgB,GAAG,CAAC,IAAY,EAAE,QAAe,OAAO;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,IAAI,CAAC,IAAA,uBAAc,GAAE,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,GAAG,gBAAK,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,gBAAK,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,gBAAK,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC,IAAI,gBAAK,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,gBAAK,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setIcons = setIcons;
|
|
4
|
+
exports.getIcons = getIcons;
|
|
5
|
+
const defaults = {
|
|
6
|
+
error: '✖',
|
|
7
|
+
success: '✔',
|
|
8
|
+
warn: '⚠',
|
|
9
|
+
info: 'ℹ',
|
|
10
|
+
debug: '🔍',
|
|
11
|
+
};
|
|
12
|
+
let current = { ...defaults };
|
|
13
|
+
function setIcons(icons) {
|
|
14
|
+
current = { ...defaults, ...icons };
|
|
15
|
+
}
|
|
16
|
+
function getIcons() {
|
|
17
|
+
return current;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Icons {
|
|
2
|
+
error: string;
|
|
3
|
+
success: string;
|
|
4
|
+
warn: string;
|
|
5
|
+
info: string;
|
|
6
|
+
debug: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function setIcons(icons: Partial<Icons>): void;
|
|
9
|
+
export declare function getIcons(): Icons;
|
|
10
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Icons {
|
|
2
|
+
error: string;
|
|
3
|
+
success: string;
|
|
4
|
+
warn: string;
|
|
5
|
+
info: string;
|
|
6
|
+
debug: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function setIcons(icons: Partial<Icons>): void;
|
|
9
|
+
export declare function getIcons(): Icons;
|
|
10
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAEpD;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":";;AAkBA,4BAEC;AAED,4BAEC;AAhBD,MAAM,QAAQ,GAAU;IACtB,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,IAAI,OAAO,GAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;AAErC,SAAgB,QAAQ,CAAC,KAAqB;IAC5C,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -14,15 +14,20 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isColorEnabled = exports.box = exports.badge = exports.style = exports.paint = void 0;
|
|
17
|
+
exports.isColorEnabled = exports.setIcons = exports.spin = exports.box = exports.badge = exports.style = exports.strip = exports.paint = void 0;
|
|
18
18
|
var paint_js_1 = require('./paint.cjs');
|
|
19
19
|
Object.defineProperty(exports, "paint", { enumerable: true, get: function () { return paint_js_1.paint; } });
|
|
20
|
+
Object.defineProperty(exports, "strip", { enumerable: true, get: function () { return paint_js_1.strip; } });
|
|
20
21
|
var style_js_1 = require('./style.cjs');
|
|
21
22
|
Object.defineProperty(exports, "style", { enumerable: true, get: function () { return style_js_1.style; } });
|
|
22
23
|
var badge_js_1 = require('./badge.cjs');
|
|
23
24
|
Object.defineProperty(exports, "badge", { enumerable: true, get: function () { return badge_js_1.badge; } });
|
|
24
25
|
var box_js_1 = require('./box.cjs');
|
|
25
26
|
Object.defineProperty(exports, "box", { enumerable: true, get: function () { return box_js_1.box; } });
|
|
27
|
+
var spinner_js_1 = require('./spinner.cjs');
|
|
28
|
+
Object.defineProperty(exports, "spin", { enumerable: true, get: function () { return spinner_js_1.spin; } });
|
|
29
|
+
var icons_js_1 = require('./icons.cjs');
|
|
30
|
+
Object.defineProperty(exports, "setIcons", { enumerable: true, get: function () { return icons_js_1.setIcons; } });
|
|
26
31
|
var env_js_1 = require('./env.cjs');
|
|
27
32
|
Object.defineProperty(exports, "isColorEnabled", { enumerable: true, get: function () { return env_js_1.isColorEnabled; } });
|
|
28
33
|
__exportStar(require('./codes.cjs'), exports);
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
export { paint } from './paint.js';
|
|
1
|
+
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
4
|
export { badge } from './badge.js';
|
|
5
5
|
export { box } from './box.js';
|
|
6
|
+
export { spin } from './spinner.js';
|
|
7
|
+
export type { SpinnerHandle } from './spinner.js';
|
|
8
|
+
export { setIcons } from './icons.js';
|
|
9
|
+
export type { Icons } from './icons.js';
|
|
6
10
|
export { isColorEnabled } from './env.js';
|
|
7
11
|
export * from './codes.js';
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
export { paint } from './paint.js';
|
|
1
|
+
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
4
|
export { badge } from './badge.js';
|
|
5
5
|
export { box } from './box.js';
|
|
6
|
+
export { spin } from './spinner.js';
|
|
7
|
+
export type { SpinnerHandle } from './spinner.js';
|
|
8
|
+
export { setIcons } from './icons.js';
|
|
9
|
+
export type { Icons } from './icons.js';
|
|
6
10
|
export { isColorEnabled } from './env.js';
|
|
7
11
|
export * from './codes.js';
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA0C;AAAjC,iGAAA,KAAK,OAAA;AAAE,iGAAA,KAAK,OAAA;AAErB,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,mCAA+B;AAAtB,6FAAA,GAAG,OAAA;AACZ,2CAAoC;AAA3B,kGAAA,IAAI,OAAA;AAEb,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,6CAA2B"}
|
package/dist/cjs/paint.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bgMap = exports.fgMap = void 0;
|
|
4
4
|
exports.paint = paint;
|
|
5
|
+
exports.strip = strip;
|
|
5
6
|
const codes_js_1 = require('./codes.cjs');
|
|
6
7
|
const env_js_1 = require('./env.cjs');
|
|
7
8
|
const fgMap = {
|
|
@@ -48,4 +49,8 @@ function paint(text, options = {}) {
|
|
|
48
49
|
return text;
|
|
49
50
|
return `${prefix}${text}${codes_js_1.RESET}`;
|
|
50
51
|
}
|
|
52
|
+
function strip(str) {
|
|
53
|
+
// eslint-disable-next-line no-control-regex
|
|
54
|
+
return str.replace(/\x1b\[[0-9;]*m/g, '');
|
|
55
|
+
}
|
|
51
56
|
//# sourceMappingURL=paint.js.map
|
package/dist/cjs/paint.d.cts
CHANGED
|
@@ -10,5 +10,6 @@ export interface PaintOptions {
|
|
|
10
10
|
declare const fgMap: Record<Color, string>;
|
|
11
11
|
declare const bgMap: Record<Color, string>;
|
|
12
12
|
export declare function paint(text: string, options?: PaintOptions): string;
|
|
13
|
+
export declare function strip(str: string): string;
|
|
13
14
|
export { fgMap, bgMap };
|
|
14
15
|
//# sourceMappingURL=paint.d.ts.map
|
package/dist/cjs/paint.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export interface PaintOptions {
|
|
|
10
10
|
declare const fgMap: Record<Color, string>;
|
|
11
11
|
declare const bgMap: Record<Color, string>;
|
|
12
12
|
export declare function paint(text: string, options?: PaintOptions): string;
|
|
13
|
+
export declare function strip(str: string): string;
|
|
13
14
|
export { fgMap, bgMap };
|
|
14
15
|
//# sourceMappingURL=paint.d.ts.map
|
package/dist/cjs/paint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAWtE;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAWtE;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/cjs/paint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":";;;AA0CA,sBAWC;
|
|
1
|
+
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":";;;AA0CA,sBAWC;AAED,sBAGC;AA1DD,yCAIoB;AACpB,qCAA0C;AAa1C,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,gBAAK;IACZ,GAAG,EAAE,cAAG;IACR,KAAK,EAAE,gBAAK;IACZ,MAAM,EAAE,iBAAM;IACd,IAAI,EAAE,eAAI;IACV,OAAO,EAAE,kBAAO;IAChB,IAAI,EAAE,eAAI;IACV,KAAK,EAAE,gBAAK;IACZ,IAAI,EAAE,eAAI;CACX,CAAC;AAgCO,sBAAK;AA9Bd,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,mBAAQ;IACf,GAAG,EAAE,iBAAM;IACX,KAAK,EAAE,mBAAQ;IACf,MAAM,EAAE,oBAAS;IACjB,IAAI,EAAE,kBAAO;IACb,OAAO,EAAE,qBAAU;IACnB,IAAI,EAAE,kBAAO;IACb,KAAK,EAAE,mBAAQ;IACf,IAAI,EAAE,kBAAO;CACd,CAAC;AAoBc,sBAAK;AAlBrB,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,IAAI,CAAC,IAAA,uBAAc,GAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,eAAI,CAAC;IACjC,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,IAAI,cAAG,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAM,CAAC;IACrC,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,oBAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,gBAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAgB,KAAK,CAAC,GAAW;IAC/B,4CAA4C;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spin = spin;
|
|
4
|
+
const style_js_1 = require('./style.cjs');
|
|
5
|
+
const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
6
|
+
function spin(msg) {
|
|
7
|
+
let i = 0;
|
|
8
|
+
const timer = setInterval(() => {
|
|
9
|
+
const frame = FRAMES[i % FRAMES.length];
|
|
10
|
+
process.stdout.write(`\r${frame} ${msg}`);
|
|
11
|
+
i++;
|
|
12
|
+
}, 80);
|
|
13
|
+
function stop(output) {
|
|
14
|
+
clearInterval(timer);
|
|
15
|
+
process.stdout.write(`\r\x1b[K${output}\n`);
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
succeed(newMsg) {
|
|
19
|
+
stop(style_js_1.style.success(newMsg ?? msg));
|
|
20
|
+
},
|
|
21
|
+
fail(newMsg) {
|
|
22
|
+
stop(style_js_1.style.error(newMsg ?? msg));
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":";;AASA,oBAqBC;AA9BD,yCAAmC;AAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAOlE,SAAgB,IAAI,CAAC,GAAW;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC,EAAE,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,IAAI,CAAC,MAAc;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,CAAC,MAAe;YACrB,IAAI,CAAC,gBAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAe;YAClB,IAAI,CAAC,gBAAK,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cjs/style.cjs
CHANGED
|
@@ -2,18 +2,37 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.style = void 0;
|
|
4
4
|
const paint_js_1 = require('./paint.cjs');
|
|
5
|
+
const icons_js_1 = require('./icons.cjs');
|
|
6
|
+
function formatMeta(data) {
|
|
7
|
+
const keys = Object.keys(data);
|
|
8
|
+
if (keys.length === 0)
|
|
9
|
+
return '';
|
|
10
|
+
const keyWidth = Math.max(...keys.map((k) => k.length));
|
|
11
|
+
return ('\n' +
|
|
12
|
+
keys
|
|
13
|
+
.map((key) => {
|
|
14
|
+
const paddedKey = (0, paint_js_1.paint)(key.padEnd(keyWidth), { color: 'cyan' });
|
|
15
|
+
return ` ${paddedKey} ${data[key]}`;
|
|
16
|
+
})
|
|
17
|
+
.join('\n'));
|
|
18
|
+
}
|
|
5
19
|
exports.style = {
|
|
6
|
-
error(msg) {
|
|
7
|
-
return (0, paint_js_1.paint)(
|
|
20
|
+
error(msg, meta) {
|
|
21
|
+
return (0, paint_js_1.paint)(`${(0, icons_js_1.getIcons)().error} ${msg}`, { color: 'red' }) + (meta ? formatMeta(meta) : '');
|
|
8
22
|
},
|
|
9
|
-
success(msg) {
|
|
10
|
-
return (0, paint_js_1.paint)(
|
|
23
|
+
success(msg, meta) {
|
|
24
|
+
return (0, paint_js_1.paint)(`${(0, icons_js_1.getIcons)().success} ${msg}`, { color: 'green' }) + (meta ? formatMeta(meta) : '');
|
|
11
25
|
},
|
|
12
|
-
warn(msg) {
|
|
13
|
-
return (0, paint_js_1.paint)(
|
|
26
|
+
warn(msg, meta) {
|
|
27
|
+
return (0, paint_js_1.paint)(`${(0, icons_js_1.getIcons)().warn} ${msg}`, { color: 'yellow' }) + (meta ? formatMeta(meta) : '');
|
|
14
28
|
},
|
|
15
|
-
info(msg) {
|
|
16
|
-
return (0, paint_js_1.paint)(
|
|
29
|
+
info(msg, meta) {
|
|
30
|
+
return (0, paint_js_1.paint)(`${(0, icons_js_1.getIcons)().info} ${msg}`, { color: 'blue' }) + (meta ? formatMeta(meta) : '');
|
|
31
|
+
},
|
|
32
|
+
debug(msg, meta) {
|
|
33
|
+
if (!process.env['DEBUG'])
|
|
34
|
+
return '';
|
|
35
|
+
return (0, paint_js_1.paint)(`${(0, icons_js_1.getIcons)().debug} ${msg}`, { color: 'gray', dim: true }) + (meta ? formatMeta(meta) : '');
|
|
17
36
|
},
|
|
18
37
|
muted(msg) {
|
|
19
38
|
return (0, paint_js_1.paint)(msg, { color: 'gray', dim: true });
|
package/dist/cjs/style.d.cts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
+
type Meta = Record<string, unknown>;
|
|
2
3
|
export declare const style: {
|
|
3
|
-
error(msg: string): string;
|
|
4
|
-
success(msg: string): string;
|
|
5
|
-
warn(msg: string): string;
|
|
6
|
-
info(msg: string): string;
|
|
4
|
+
error(msg: string, meta?: Meta): string;
|
|
5
|
+
success(msg: string, meta?: Meta): string;
|
|
6
|
+
warn(msg: string, meta?: Meta): string;
|
|
7
|
+
info(msg: string, meta?: Meta): string;
|
|
8
|
+
debug(msg: string, meta?: Meta): string;
|
|
7
9
|
muted(msg: string): string;
|
|
8
10
|
bold(msg: string): string;
|
|
9
11
|
highlight(msg: string): string;
|
|
@@ -11,4 +13,5 @@ export declare const style: {
|
|
|
11
13
|
table(data: Record<string, string>, color?: Color): string;
|
|
12
14
|
timestamp(msg: string, color?: Color): string;
|
|
13
15
|
};
|
|
16
|
+
export {};
|
|
14
17
|
//# sourceMappingURL=style.d.ts.map
|
package/dist/cjs/style.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
+
type Meta = Record<string, unknown>;
|
|
2
3
|
export declare const style: {
|
|
3
|
-
error(msg: string): string;
|
|
4
|
-
success(msg: string): string;
|
|
5
|
-
warn(msg: string): string;
|
|
6
|
-
info(msg: string): string;
|
|
4
|
+
error(msg: string, meta?: Meta): string;
|
|
5
|
+
success(msg: string, meta?: Meta): string;
|
|
6
|
+
warn(msg: string, meta?: Meta): string;
|
|
7
|
+
info(msg: string, meta?: Meta): string;
|
|
8
|
+
debug(msg: string, meta?: Meta): string;
|
|
7
9
|
muted(msg: string): string;
|
|
8
10
|
bold(msg: string): string;
|
|
9
11
|
highlight(msg: string): string;
|
|
@@ -11,4 +13,5 @@ export declare const style: {
|
|
|
11
13
|
table(data: Record<string, string>, color?: Color): string;
|
|
12
14
|
timestamp(msg: string, color?: Color): string;
|
|
13
15
|
};
|
|
16
|
+
export {};
|
|
14
17
|
//# sourceMappingURL=style.d.ts.map
|
package/dist/cjs/style.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAG/C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiBpC,eAAO,MAAM,KAAK;eACL,MAAM,SAAS,IAAI,GAAG,MAAM;iBAG1B,MAAM,SAAS,IAAI,GAAG,MAAM;cAG/B,MAAM,SAAS,IAAI,GAAG,MAAM;cAG5B,MAAM,SAAS,IAAI,GAAG,MAAM;eAG3B,MAAM,SAAS,IAAI,GAAG,MAAM;eAI5B,MAAM,GAAG,MAAM;cAGhB,MAAM,GAAG,MAAM;mBAGV,MAAM,GAAG,MAAM;oBAIf,KAAK,GAAY,MAAM;gBAI1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAS,KAAK,GAAY,MAAM;mBAYnD,MAAM,UAAS,KAAK,GAAY,MAAM;CAQtD,CAAC"}
|
package/dist/cjs/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":";;;AAAA,yCAA+C;
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/box.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { fgMap } from './paint.js';
|
|
1
|
+
import { fgMap, strip } from './paint.js';
|
|
2
2
|
import { RESET } from './codes.js';
|
|
3
3
|
import { isColorEnabled } from './env.js';
|
|
4
4
|
export function box(text, color = 'white') {
|
|
5
5
|
const lines = text.split('\n');
|
|
6
|
-
const width = Math.max(...lines.map((l) => l.length));
|
|
6
|
+
const width = Math.max(...lines.map((l) => strip(l).length));
|
|
7
7
|
if (!isColorEnabled()) {
|
|
8
8
|
const top = `╭${'─'.repeat(width + 2)}╮`;
|
|
9
9
|
const bottom = `╰${'─'.repeat(width + 2)}╯`;
|
|
10
10
|
const middle = lines.map((line) => {
|
|
11
|
-
const padding = ' '.repeat(width - line.length);
|
|
11
|
+
const padding = ' '.repeat(width - strip(line).length);
|
|
12
12
|
return `│ ${line}${padding} │`;
|
|
13
13
|
});
|
|
14
14
|
return [top, ...middle, bottom].join('\n');
|
|
@@ -17,7 +17,7 @@ export function box(text, color = 'white') {
|
|
|
17
17
|
const top = `${c}╭${'─'.repeat(width + 2)}╮${RESET}`;
|
|
18
18
|
const bottom = `${c}╰${'─'.repeat(width + 2)}╯${RESET}`;
|
|
19
19
|
const middle = lines.map((line) => {
|
|
20
|
-
const padding = ' '.repeat(width - line.length);
|
|
20
|
+
const padding = ' '.repeat(width - strip(line).length);
|
|
21
21
|
return `${c}│${RESET} ${line}${padding} ${c}│${RESET}`;
|
|
22
22
|
});
|
|
23
23
|
return [top, ...middle, bottom].join('\n');
|
package/dist/esm/box.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAe,OAAO;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const defaults = {
|
|
2
|
+
error: '✖',
|
|
3
|
+
success: '✔',
|
|
4
|
+
warn: '⚠',
|
|
5
|
+
info: 'ℹ',
|
|
6
|
+
debug: '🔍',
|
|
7
|
+
};
|
|
8
|
+
let current = { ...defaults };
|
|
9
|
+
export function setIcons(icons) {
|
|
10
|
+
current = { ...defaults, ...icons };
|
|
11
|
+
}
|
|
12
|
+
export function getIcons() {
|
|
13
|
+
return current;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAQA,MAAM,QAAQ,GAAU;IACtB,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,IAAI,OAAO,GAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;AAErC,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export { paint } from './paint.js';
|
|
1
|
+
export { paint, strip } from './paint.js';
|
|
2
2
|
export { style } from './style.js';
|
|
3
3
|
export { badge } from './badge.js';
|
|
4
4
|
export { box } from './box.js';
|
|
5
|
+
export { spin } from './spinner.js';
|
|
6
|
+
export { setIcons } from './icons.js';
|
|
5
7
|
export { isColorEnabled } from './env.js';
|
|
6
8
|
export * from './codes.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
package/dist/esm/paint.js
CHANGED
|
@@ -42,5 +42,9 @@ export function paint(text, options = {}) {
|
|
|
42
42
|
return text;
|
|
43
43
|
return `${prefix}${text}${RESET}`;
|
|
44
44
|
}
|
|
45
|
+
export function strip(str) {
|
|
46
|
+
// eslint-disable-next-line no-control-regex
|
|
47
|
+
return str.replace(/\x1b\[[0-9;]*m/g, '');
|
|
48
|
+
}
|
|
45
49
|
export { fgMap, bgMap };
|
|
46
50
|
//# sourceMappingURL=paint.js.map
|
package/dist/esm/paint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EACnC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GACvF,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAa1C,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,IAAI,GAAG,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,MAAM,CAAC;IACrC,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EACnC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GACvF,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAa1C,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,IAAI,GAAG,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,MAAM,CAAC;IACrC,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,4CAA4C;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { style } from './style.js';
|
|
2
|
+
const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
3
|
+
export function spin(msg) {
|
|
4
|
+
let i = 0;
|
|
5
|
+
const timer = setInterval(() => {
|
|
6
|
+
const frame = FRAMES[i % FRAMES.length];
|
|
7
|
+
process.stdout.write(`\r${frame} ${msg}`);
|
|
8
|
+
i++;
|
|
9
|
+
}, 80);
|
|
10
|
+
function stop(output) {
|
|
11
|
+
clearInterval(timer);
|
|
12
|
+
process.stdout.write(`\r\x1b[K${output}\n`);
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
succeed(newMsg) {
|
|
16
|
+
stop(style.success(newMsg ?? msg));
|
|
17
|
+
},
|
|
18
|
+
fail(newMsg) {
|
|
19
|
+
stop(style.error(newMsg ?? msg));
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAOlE,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC,EAAE,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,IAAI,CAAC,MAAc;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,CAAC,MAAe;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAe;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/esm/style.js
CHANGED
|
@@ -1,16 +1,35 @@
|
|
|
1
1
|
import { paint } from './paint.js';
|
|
2
|
+
import { getIcons } from './icons.js';
|
|
3
|
+
function formatMeta(data) {
|
|
4
|
+
const keys = Object.keys(data);
|
|
5
|
+
if (keys.length === 0)
|
|
6
|
+
return '';
|
|
7
|
+
const keyWidth = Math.max(...keys.map((k) => k.length));
|
|
8
|
+
return ('\n' +
|
|
9
|
+
keys
|
|
10
|
+
.map((key) => {
|
|
11
|
+
const paddedKey = paint(key.padEnd(keyWidth), { color: 'cyan' });
|
|
12
|
+
return ` ${paddedKey} ${data[key]}`;
|
|
13
|
+
})
|
|
14
|
+
.join('\n'));
|
|
15
|
+
}
|
|
2
16
|
export const style = {
|
|
3
|
-
error(msg) {
|
|
4
|
-
return paint(
|
|
17
|
+
error(msg, meta) {
|
|
18
|
+
return paint(`${getIcons().error} ${msg}`, { color: 'red' }) + (meta ? formatMeta(meta) : '');
|
|
5
19
|
},
|
|
6
|
-
success(msg) {
|
|
7
|
-
return paint(
|
|
20
|
+
success(msg, meta) {
|
|
21
|
+
return paint(`${getIcons().success} ${msg}`, { color: 'green' }) + (meta ? formatMeta(meta) : '');
|
|
8
22
|
},
|
|
9
|
-
warn(msg) {
|
|
10
|
-
return paint(
|
|
23
|
+
warn(msg, meta) {
|
|
24
|
+
return paint(`${getIcons().warn} ${msg}`, { color: 'yellow' }) + (meta ? formatMeta(meta) : '');
|
|
11
25
|
},
|
|
12
|
-
info(msg) {
|
|
13
|
-
return paint(
|
|
26
|
+
info(msg, meta) {
|
|
27
|
+
return paint(`${getIcons().info} ${msg}`, { color: 'blue' }) + (meta ? formatMeta(meta) : '');
|
|
28
|
+
},
|
|
29
|
+
debug(msg, meta) {
|
|
30
|
+
if (!process.env['DEBUG'])
|
|
31
|
+
return '';
|
|
32
|
+
return paint(`${getIcons().debug} ${msg}`, { color: 'gray', dim: true }) + (meta ? formatMeta(meta) : '');
|
|
14
33
|
},
|
|
15
34
|
muted(msg) {
|
|
16
35
|
return paint(msg, { color: 'gray', dim: true });
|
package/dist/esm/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"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"}
|
package/dist/types/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;AAItD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,KAAe,GAAG,MAAM,CAuBhE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Icons {
|
|
2
|
+
error: string;
|
|
3
|
+
success: string;
|
|
4
|
+
warn: string;
|
|
5
|
+
info: string;
|
|
6
|
+
debug: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function setIcons(icons: Partial<Icons>): void;
|
|
9
|
+
export declare function getIcons(): Icons;
|
|
10
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAEpD;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
export { paint } from './paint.js';
|
|
1
|
+
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
4
|
export { badge } from './badge.js';
|
|
5
5
|
export { box } from './box.js';
|
|
6
|
+
export { spin } from './spinner.js';
|
|
7
|
+
export type { SpinnerHandle } from './spinner.js';
|
|
8
|
+
export { setIcons } from './icons.js';
|
|
9
|
+
export type { Icons } from './icons.js';
|
|
6
10
|
export { isColorEnabled } from './env.js';
|
|
7
11
|
export * from './codes.js';
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
package/dist/types/paint.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export interface PaintOptions {
|
|
|
10
10
|
declare const fgMap: Record<Color, string>;
|
|
11
11
|
declare const bgMap: Record<Color, string>;
|
|
12
12
|
export declare function paint(text: string, options?: PaintOptions): string;
|
|
13
|
+
export declare function strip(str: string): string;
|
|
13
14
|
export { fgMap, bgMap };
|
|
14
15
|
//# sourceMappingURL=paint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAWtE;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAWtE;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB/C"}
|
package/dist/types/style.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
+
type Meta = Record<string, unknown>;
|
|
2
3
|
export declare const style: {
|
|
3
|
-
error(msg: string): string;
|
|
4
|
-
success(msg: string): string;
|
|
5
|
-
warn(msg: string): string;
|
|
6
|
-
info(msg: string): string;
|
|
4
|
+
error(msg: string, meta?: Meta): string;
|
|
5
|
+
success(msg: string, meta?: Meta): string;
|
|
6
|
+
warn(msg: string, meta?: Meta): string;
|
|
7
|
+
info(msg: string, meta?: Meta): string;
|
|
8
|
+
debug(msg: string, meta?: Meta): string;
|
|
7
9
|
muted(msg: string): string;
|
|
8
10
|
bold(msg: string): string;
|
|
9
11
|
highlight(msg: string): string;
|
|
@@ -11,4 +13,5 @@ export declare const style: {
|
|
|
11
13
|
table(data: Record<string, string>, color?: Color): string;
|
|
12
14
|
timestamp(msg: string, color?: Color): string;
|
|
13
15
|
};
|
|
16
|
+
export {};
|
|
14
17
|
//# sourceMappingURL=style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAG/C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiBpC,eAAO,MAAM,KAAK;eACL,MAAM,SAAS,IAAI,GAAG,MAAM;iBAG1B,MAAM,SAAS,IAAI,GAAG,MAAM;cAG/B,MAAM,SAAS,IAAI,GAAG,MAAM;cAG5B,MAAM,SAAS,IAAI,GAAG,MAAM;eAG3B,MAAM,SAAS,IAAI,GAAG,MAAM;eAI5B,MAAM,GAAG,MAAM;cAGhB,MAAM,GAAG,MAAM;mBAGV,MAAM,GAAG,MAAM;oBAIf,KAAK,GAAY,MAAM;gBAI1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAS,KAAK,GAAY,MAAM;mBAYnD,MAAM,UAAS,KAAK,GAAY,MAAM;CAQtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termpainter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Zero-dependency terminal styling toolkit for Node.js and Bun",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -54,5 +54,8 @@
|
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/node": "^25.5.0",
|
|
56
56
|
"typescript": "^6.0.2"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"termpainter": "^1.0.1"
|
|
57
60
|
}
|
|
58
61
|
}
|