termpainter 1.2.0 → 2.0.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 +140 -17
- package/dist/cjs/badge.cjs +3 -0
- package/dist/cjs/badge.d.ts.map +1 -1
- package/dist/cjs/badge.js.map +1 -1
- package/dist/cjs/box.cjs +19 -3
- package/dist/cjs/box.d.cts +5 -1
- package/dist/cjs/box.d.ts +5 -1
- package/dist/cjs/box.d.ts.map +1 -1
- package/dist/cjs/box.js.map +1 -1
- package/dist/cjs/columns.cjs +30 -0
- package/dist/cjs/columns.d.cts +6 -0
- package/dist/cjs/columns.d.ts +6 -0
- package/dist/cjs/columns.d.ts.map +1 -0
- package/dist/cjs/columns.js.map +1 -0
- package/dist/cjs/env.cjs +7 -0
- package/dist/cjs/env.d.cts +1 -0
- package/dist/cjs/env.d.ts +1 -0
- package/dist/cjs/env.d.ts.map +1 -1
- package/dist/cjs/env.js.map +1 -1
- package/dist/cjs/icons.cjs +4 -0
- package/dist/cjs/icons.d.cts +1 -0
- package/dist/cjs/icons.d.ts +1 -0
- package/dist/cjs/icons.d.ts.map +1 -1
- package/dist/cjs/icons.js.map +1 -1
- package/dist/cjs/index.cjs +13 -1
- package/dist/cjs/index.d.cts +10 -1
- package/dist/cjs/index.d.ts +10 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paint.cjs +3 -0
- package/dist/cjs/paint.d.ts.map +1 -1
- package/dist/cjs/paint.js.map +1 -1
- package/dist/cjs/silent.cjs +12 -0
- package/dist/cjs/silent.d.cts +3 -0
- package/dist/cjs/silent.d.ts +3 -0
- package/dist/cjs/silent.d.ts.map +1 -0
- package/dist/cjs/silent.js.map +1 -0
- package/dist/cjs/spinner.cjs +31 -3
- package/dist/cjs/spinner.d.cts +1 -0
- package/dist/cjs/spinner.d.ts +1 -0
- package/dist/cjs/spinner.d.ts.map +1 -1
- package/dist/cjs/spinner.js.map +1 -1
- package/dist/cjs/style.cjs +57 -8
- package/dist/cjs/style.d.cts +7 -0
- package/dist/cjs/style.d.ts +7 -0
- package/dist/cjs/style.d.ts.map +1 -1
- package/dist/cjs/style.js.map +1 -1
- package/dist/cjs/testmode.cjs +12 -0
- package/dist/cjs/testmode.d.cts +3 -0
- package/dist/cjs/testmode.d.ts +3 -0
- package/dist/cjs/testmode.d.ts.map +1 -0
- package/dist/cjs/testmode.js.map +1 -0
- package/dist/cjs/theme.cjs +45 -0
- package/dist/cjs/theme.d.cts +27 -0
- package/dist/cjs/theme.d.ts +27 -0
- package/dist/cjs/theme.d.ts.map +1 -0
- package/dist/cjs/theme.js.map +1 -0
- package/dist/cjs/truncate.cjs +27 -0
- package/dist/cjs/truncate.d.cts +2 -0
- package/dist/cjs/truncate.d.ts +2 -0
- package/dist/cjs/truncate.d.ts.map +1 -0
- package/dist/cjs/truncate.js.map +1 -0
- package/dist/esm/badge.js +3 -0
- package/dist/esm/badge.js.map +1 -1
- package/dist/esm/box.js +19 -3
- package/dist/esm/box.js.map +1 -1
- package/dist/esm/columns.js +27 -0
- package/dist/esm/columns.js.map +1 -0
- package/dist/esm/env.js +6 -0
- package/dist/esm/env.js.map +1 -1
- package/dist/esm/icons.js +3 -0
- package/dist/esm/icons.js.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/paint.js +3 -0
- package/dist/esm/paint.js.map +1 -1
- package/dist/esm/silent.js +8 -0
- package/dist/esm/silent.js.map +1 -0
- package/dist/esm/spinner.js +31 -3
- package/dist/esm/spinner.js.map +1 -1
- package/dist/esm/style.js +57 -8
- package/dist/esm/style.js.map +1 -1
- package/dist/esm/testmode.js +8 -0
- package/dist/esm/testmode.js.map +1 -0
- package/dist/esm/theme.js +40 -0
- package/dist/esm/theme.js.map +1 -0
- package/dist/esm/truncate.js +24 -0
- package/dist/esm/truncate.js.map +1 -0
- package/dist/types/badge.d.ts.map +1 -1
- package/dist/types/box.d.ts +5 -1
- package/dist/types/box.d.ts.map +1 -1
- package/dist/types/columns.d.ts +6 -0
- package/dist/types/columns.d.ts.map +1 -0
- package/dist/types/env.d.ts +1 -0
- package/dist/types/env.d.ts.map +1 -1
- package/dist/types/icons.d.ts +1 -0
- package/dist/types/icons.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/paint.d.ts.map +1 -1
- package/dist/types/silent.d.ts +3 -0
- package/dist/types/silent.d.ts.map +1 -0
- package/dist/types/spinner.d.ts +1 -0
- package/dist/types/spinner.d.ts.map +1 -1
- package/dist/types/style.d.ts +7 -0
- package/dist/types/style.d.ts.map +1 -1
- package/dist/types/testmode.d.ts +3 -0
- package/dist/types/testmode.d.ts.map +1 -0
- package/dist/types/theme.d.ts +27 -0
- package/dist/types/theme.d.ts.map +1 -0
- package/dist/types/truncate.d.ts +2 -0
- package/dist/types/truncate.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,7 +11,8 @@ npm install termpainter
|
|
|
11
11
|
|
|
12
12
|
## usage
|
|
13
13
|
```ts
|
|
14
|
-
import { style, badge, box, paint, spin, strip,
|
|
14
|
+
import { style, badge, box, paint, spin, strip, columns, truncate,
|
|
15
|
+
setIcons, setSilent, setTheme, resetTheme, setTestMode, isInteractive } from 'termpainter'
|
|
15
16
|
```
|
|
16
17
|
|
|
17
18
|
### styles
|
|
@@ -51,6 +52,20 @@ DEBUG=1 node app.js # shows debug output
|
|
|
51
52
|
node app.js # debug lines are invisible
|
|
52
53
|
```
|
|
53
54
|
|
|
55
|
+
### list
|
|
56
|
+
|
|
57
|
+
bulleted list. each item can be a plain string or a pre-styled string.
|
|
58
|
+
```ts
|
|
59
|
+
style.list(['Build started', 'Running tests', 'Deploying'])
|
|
60
|
+
// • Build started
|
|
61
|
+
// • Running tests
|
|
62
|
+
// • Deploying
|
|
63
|
+
|
|
64
|
+
style.list([style.success('Lint passed'), style.warn('Coverage at 74%')])
|
|
65
|
+
|
|
66
|
+
style.list(items, { bullet: '-', color: 'gray', indent: 2 })
|
|
67
|
+
```
|
|
68
|
+
|
|
54
69
|
### badges
|
|
55
70
|
|
|
56
71
|
inline labels. good for status, versions, environments.
|
|
@@ -64,11 +79,18 @@ badge('offline', 'red')
|
|
|
64
79
|
|
|
65
80
|
### boxes
|
|
66
81
|
|
|
67
|
-
draws a clean unicode border around anything. multiline works fine. fully composable — pass styled strings directly.
|
|
82
|
+
draws a clean unicode border around anything. multiline works fine. fully composable — pass styled strings directly. supports an optional title in the top border.
|
|
68
83
|
```ts
|
|
69
84
|
box('Deploy complete\n3 services restarted\nAll checks passed', 'green')
|
|
70
85
|
box('Critical error\nProcess exited with code 1', 'red')
|
|
71
86
|
box(style.success('done')) // styled content inside a box
|
|
87
|
+
|
|
88
|
+
// with title
|
|
89
|
+
box('Deploy complete\n3 services restarted', { color: 'green', title: 'Deploy' })
|
|
90
|
+
// ╭ Deploy ──────────────────╮
|
|
91
|
+
// │ Deploy complete │
|
|
92
|
+
// │ 3 services restarted │
|
|
93
|
+
// ╰──────────────────────────╯
|
|
72
94
|
```
|
|
73
95
|
|
|
74
96
|
### divider
|
|
@@ -110,19 +132,54 @@ paint('highlighted', { color: 'white', bg: 'blue' })
|
|
|
110
132
|
paint('soft note', { color: 'gray', italic: true, dim: true })
|
|
111
133
|
```
|
|
112
134
|
|
|
135
|
+
### group
|
|
136
|
+
|
|
137
|
+
groups a list of already-styled lines under a labeled header.
|
|
138
|
+
```ts
|
|
139
|
+
style.group('Deploy', [
|
|
140
|
+
style.info('Building'),
|
|
141
|
+
style.success('Done'),
|
|
142
|
+
])
|
|
143
|
+
// ▶ Deploy
|
|
144
|
+
// ℹ Building
|
|
145
|
+
// ✔ Done
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### columns
|
|
149
|
+
|
|
150
|
+
renders two strings side by side, ANSI-aware. falls back to two lines in non-interactive environments.
|
|
151
|
+
```ts
|
|
152
|
+
columns('Left content', 'Right content')
|
|
153
|
+
columns(style.success('Build passed'), style.info('Tests: 22/22'))
|
|
154
|
+
columns(badge('production', 'green'), badge('v2.0.0', 'cyan'))
|
|
155
|
+
|
|
156
|
+
columns(left, right, { width: 100, gap: 6 })
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### truncate
|
|
160
|
+
|
|
161
|
+
truncates a string to a maximum visible length and appends `…`. uses `strip()` internally so ANSI codes don't count toward the length.
|
|
162
|
+
```ts
|
|
163
|
+
truncate('very long string that overflows', 20)
|
|
164
|
+
// => 'very long string tha…'
|
|
165
|
+
|
|
166
|
+
truncate(style.success('Build complete'), 10)
|
|
167
|
+
// => truncated styled string with ANSI codes preserved
|
|
168
|
+
```
|
|
169
|
+
|
|
113
170
|
### spinner
|
|
114
171
|
|
|
115
|
-
animated terminal spinner. returns a handle with `succeed` and `
|
|
172
|
+
animated terminal spinner. returns a handle with `succeed`, `fail`, and `update`. no external dependencies. automatically degrades to static line-by-line output when not in a TTY.
|
|
116
173
|
```ts
|
|
117
174
|
const s = spin('Deploying...')
|
|
118
175
|
|
|
119
|
-
//
|
|
176
|
+
s.update('Still working...') // update message while spinning
|
|
177
|
+
s.update('Almost done...')
|
|
178
|
+
|
|
120
179
|
s.succeed('Deploy complete') // stops spinner, shows style.success
|
|
121
180
|
s.fail('Deploy failed') // stops spinner, shows style.error
|
|
122
181
|
|
|
123
|
-
//
|
|
124
|
-
s.succeed()
|
|
125
|
-
s.fail()
|
|
182
|
+
s.succeed() // reuse current message
|
|
126
183
|
```
|
|
127
184
|
|
|
128
185
|
### strip
|
|
@@ -135,28 +192,85 @@ const raw = strip(style.success('Build complete'))
|
|
|
135
192
|
fs.appendFileSync('app.log', strip(style.info('Server started')) + '\n')
|
|
136
193
|
```
|
|
137
194
|
|
|
195
|
+
### themes
|
|
196
|
+
|
|
197
|
+
globally override colors and icons for all `style.*` methods. all keys are optional — unspecified entries fall back to defaults. call `resetTheme()` to restore factory defaults.
|
|
198
|
+
```ts
|
|
199
|
+
import { setTheme, resetTheme } from 'termpainter'
|
|
200
|
+
|
|
201
|
+
setTheme({
|
|
202
|
+
success: { color: 'cyan', icon: '✓' },
|
|
203
|
+
error: { color: 'magenta', icon: '✕' },
|
|
204
|
+
warn: { color: 'yellow' },
|
|
205
|
+
info: { color: 'blue', icon: '→' },
|
|
206
|
+
debug: { color: 'gray', dim: true },
|
|
207
|
+
muted: { color: 'gray', dim: true },
|
|
208
|
+
highlight: { color: 'green' },
|
|
209
|
+
})
|
|
210
|
+
|
|
211
|
+
style.success('done') // ✓ done (cyan, custom icon)
|
|
212
|
+
style.error('oops') // ✕ oops (magenta)
|
|
213
|
+
|
|
214
|
+
resetTheme() // back to defaults
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### test mode
|
|
218
|
+
|
|
219
|
+
makes output deterministic for snapshot testing. `style.timestamp()` omits the time prefix, `spin()` renders statically without animation, `isInteractive()` returns `false`.
|
|
220
|
+
```ts
|
|
221
|
+
import { setTestMode } from 'termpainter'
|
|
222
|
+
|
|
223
|
+
setTestMode(true)
|
|
224
|
+
|
|
225
|
+
style.timestamp('Server started') // => 'Server started' (no [HH:MM:SS])
|
|
226
|
+
const s = spin('Loading...') // prints once, no animation
|
|
227
|
+
s.succeed('Done') // prints style.success line
|
|
228
|
+
|
|
229
|
+
setTestMode(false) // restore normal behavior
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### silent mode
|
|
233
|
+
|
|
234
|
+
suppress all output globally. every function returns an empty string and produces no side effects. useful for tests, CI, and benchmarks.
|
|
235
|
+
```ts
|
|
236
|
+
setSilent(true)
|
|
237
|
+
|
|
238
|
+
style.success('done') // ''
|
|
239
|
+
badge('v1.0.0', 'cyan') // ''
|
|
240
|
+
box('hello') // ''
|
|
241
|
+
|
|
242
|
+
setSilent(false) // restore normal output
|
|
243
|
+
```
|
|
244
|
+
|
|
138
245
|
### custom icons
|
|
139
246
|
|
|
140
247
|
override the default icons for any or all style methods. unspecified keys fall back to defaults.
|
|
141
248
|
```ts
|
|
142
|
-
import { setIcons } from 'termpainter'
|
|
143
|
-
|
|
144
249
|
setIcons({ success: '✓', error: '✕' })
|
|
145
250
|
|
|
146
|
-
style.success('done') // ✓ done
|
|
147
|
-
style.warn('careful') // ⚠ careful (default
|
|
251
|
+
style.success('done') // ✓ done
|
|
252
|
+
style.warn('careful') // ⚠ careful (default unchanged)
|
|
148
253
|
```
|
|
149
254
|
|
|
150
255
|
available keys: `success`, `error`, `warn`, `info`, `debug`
|
|
151
256
|
|
|
257
|
+
### isInteractive
|
|
258
|
+
|
|
259
|
+
returns `true` if stdout is an interactive TTY. always `false` in test mode.
|
|
260
|
+
```ts
|
|
261
|
+
if (isInteractive()) {
|
|
262
|
+
const s = spin('Loading...')
|
|
263
|
+
} else {
|
|
264
|
+
console.log(style.muted('Loading...'))
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
152
268
|
---
|
|
153
269
|
|
|
154
270
|
## color support
|
|
155
271
|
|
|
156
272
|
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.
|
|
157
273
|
```ts
|
|
158
|
-
import { isColorEnabled } from 'termpainter'
|
|
159
|
-
|
|
160
274
|
isColorEnabled() // true in an interactive terminal, false everywhere else
|
|
161
275
|
```
|
|
162
276
|
|
|
@@ -176,12 +290,21 @@ isColorEnabled() // true in an interactive terminal, false everywhere else
|
|
|
176
290
|
| `style.highlight(msg)` | cyan |
|
|
177
291
|
| `style.divider(color?)` | 40 char horizontal rule, default gray |
|
|
178
292
|
| `style.table(data, color?)` | aligned key-value table, keys in cyan |
|
|
179
|
-
| `style.timestamp(msg, color?)` | prepends [HH:MM:SS], default gray |
|
|
293
|
+
| `style.timestamp(msg, color?)` | prepends [HH:MM:SS], default gray; omitted in test mode |
|
|
294
|
+
| `style.group(label, lines[])` | ▶ label in cyan, lines indented 2 spaces |
|
|
295
|
+
| `style.list(items, options?)` | bulleted list, options: bullet, color, indent |
|
|
180
296
|
| `badge(text, color?)` | [text] in chosen color, default white |
|
|
181
|
-
| `box(text, color?)` | unicode border box
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
297
|
+
| `box(text, color\|options?)` | unicode border box; options: color, title |
|
|
298
|
+
| `columns(left, right, options?)` | two columns side by side; options: width, gap |
|
|
299
|
+
| `truncate(str, maxLength)` | truncate to maxLength visible chars, append … |
|
|
300
|
+
| `spin(msg)` | animated spinner; returns `{ succeed, fail, update }` |
|
|
301
|
+
| `strip(str)` | removes all ANSI escape codes |
|
|
302
|
+
| `setTheme(theme)` | override colors and icons globally |
|
|
303
|
+
| `resetTheme()` | restore default theme |
|
|
184
304
|
| `setIcons(icons)` | override icons for error, success, warn, info, debug |
|
|
305
|
+
| `setSilent(mode)` | suppress all output globally when `true` |
|
|
306
|
+
| `setTestMode(mode)` | deterministic output for snapshot testing |
|
|
307
|
+
| `isInteractive()` | returns `true` if stdout is a TTY (false in test mode) |
|
|
185
308
|
| `paint(text, options?)` | raw ANSI composer |
|
|
186
309
|
| `isColorEnabled()` | returns true if colors are active |
|
|
187
310
|
|
package/dist/cjs/badge.cjs
CHANGED
|
@@ -4,7 +4,10 @@ exports.badge = badge;
|
|
|
4
4
|
const paint_js_1 = require('./paint.cjs');
|
|
5
5
|
const codes_js_1 = require('./codes.cjs');
|
|
6
6
|
const env_js_1 = require('./env.cjs');
|
|
7
|
+
const silent_js_1 = require('./silent.cjs');
|
|
7
8
|
function badge(text, color = 'white') {
|
|
9
|
+
if ((0, silent_js_1.isSilent)())
|
|
10
|
+
return '';
|
|
8
11
|
if (!(0, env_js_1.isColorEnabled)())
|
|
9
12
|
return `[${text}]`;
|
|
10
13
|
const code = paint_js_1.fgMap[color];
|
package/dist/cjs/badge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;AAK/C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,KAAe,GAAG,MAAM,CAKlE"}
|
package/dist/cjs/badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":";;AAKA,sBAKC;AAVD,yCAA+C;AAC/C,yCAAmC;AACnC,qCAA0C;AAC1C,2CAAuC;AAEvC,SAAgB,KAAK,CAAC,IAAY,EAAE,QAAe,OAAO;IACxD,IAAI,IAAA,oBAAQ,GAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAA,uBAAc,GAAE;QAAE,OAAO,IAAI,IAAI,GAAG,CAAC;IAC1C,MAAM,IAAI,GAAG,gBAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,gBAAK,EAAE,CAAC;AACpC,CAAC"}
|
package/dist/cjs/box.cjs
CHANGED
|
@@ -4,11 +4,27 @@ exports.box = box;
|
|
|
4
4
|
const paint_js_1 = require('./paint.cjs');
|
|
5
5
|
const codes_js_1 = require('./codes.cjs');
|
|
6
6
|
const env_js_1 = require('./env.cjs');
|
|
7
|
-
|
|
7
|
+
const silent_js_1 = require('./silent.cjs');
|
|
8
|
+
function box(text, options) {
|
|
9
|
+
if ((0, silent_js_1.isSilent)())
|
|
10
|
+
return '';
|
|
11
|
+
const color = (typeof options === 'string' ? options : options?.color) ?? 'white';
|
|
12
|
+
const title = typeof options === 'object' ? options.title : undefined;
|
|
8
13
|
const lines = text.split('\n');
|
|
9
14
|
const width = Math.max(...lines.map((l) => (0, paint_js_1.strip)(l).length));
|
|
15
|
+
function buildTop(colorCode) {
|
|
16
|
+
const inner = width + 2; // total dashes without title
|
|
17
|
+
if (title) {
|
|
18
|
+
const titleSection = ` ${title} `;
|
|
19
|
+
const dashes = Math.max(0, inner - titleSection.length);
|
|
20
|
+
const raw = `╭${titleSection}${'─'.repeat(dashes)}╮`;
|
|
21
|
+
return colorCode ? `${colorCode}${raw}${codes_js_1.RESET}` : raw;
|
|
22
|
+
}
|
|
23
|
+
const raw = `╭${'─'.repeat(inner)}╮`;
|
|
24
|
+
return colorCode ? `${colorCode}${raw}${codes_js_1.RESET}` : raw;
|
|
25
|
+
}
|
|
10
26
|
if (!(0, env_js_1.isColorEnabled)()) {
|
|
11
|
-
const top =
|
|
27
|
+
const top = buildTop();
|
|
12
28
|
const bottom = `╰${'─'.repeat(width + 2)}╯`;
|
|
13
29
|
const middle = lines.map((line) => {
|
|
14
30
|
const padding = ' '.repeat(width - (0, paint_js_1.strip)(line).length);
|
|
@@ -17,7 +33,7 @@ function box(text, color = 'white') {
|
|
|
17
33
|
return [top, ...middle, bottom].join('\n');
|
|
18
34
|
}
|
|
19
35
|
const c = paint_js_1.fgMap[color];
|
|
20
|
-
const top =
|
|
36
|
+
const top = buildTop(c);
|
|
21
37
|
const bottom = `${c}╰${'─'.repeat(width + 2)}╯${codes_js_1.RESET}`;
|
|
22
38
|
const middle = lines.map((line) => {
|
|
23
39
|
const padding = ' '.repeat(width - (0, paint_js_1.strip)(line).length);
|
package/dist/cjs/box.d.cts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
-
export
|
|
2
|
+
export interface BoxOptions {
|
|
3
|
+
color?: Color;
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function box(text: string, options?: Color | BoxOptions): string;
|
|
3
7
|
//# sourceMappingURL=box.d.ts.map
|
package/dist/cjs/box.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
-
export
|
|
2
|
+
export interface BoxOptions {
|
|
3
|
+
color?: Color;
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function box(text: string, options?: Color | BoxOptions): string;
|
|
3
7
|
//# sourceMappingURL=box.d.ts.map
|
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,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;AAKtD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAwCtE"}
|
package/dist/cjs/box.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.columns = columns;
|
|
4
|
+
const paint_js_1 = require('./paint.cjs');
|
|
5
|
+
const env_js_1 = require('./env.cjs');
|
|
6
|
+
const silent_js_1 = require('./silent.cjs');
|
|
7
|
+
function columns(left, right, options = {}) {
|
|
8
|
+
if ((0, silent_js_1.isSilent)())
|
|
9
|
+
return '';
|
|
10
|
+
if (!(0, env_js_1.isInteractive)()) {
|
|
11
|
+
return `${left}\n${right}`;
|
|
12
|
+
}
|
|
13
|
+
const totalWidth = options.width ?? 80;
|
|
14
|
+
const gap = options.gap ?? 4;
|
|
15
|
+
const colWidth = Math.floor((totalWidth - gap) / 2);
|
|
16
|
+
const gapStr = ' '.repeat(gap);
|
|
17
|
+
const leftLines = left.split('\n');
|
|
18
|
+
const rightLines = right.split('\n');
|
|
19
|
+
const lineCount = Math.max(leftLines.length, rightLines.length);
|
|
20
|
+
const result = [];
|
|
21
|
+
for (let i = 0; i < lineCount; i++) {
|
|
22
|
+
const l = leftLines[i] ?? '';
|
|
23
|
+
const r = rightLines[i] ?? '';
|
|
24
|
+
const visible = (0, paint_js_1.strip)(l).length;
|
|
25
|
+
const padding = visible < colWidth ? ' '.repeat(colWidth - visible) : '';
|
|
26
|
+
result.push(`${l}${padding}${gapStr}${r}`);
|
|
27
|
+
}
|
|
28
|
+
return result.join('\n');
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/columns.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CA0BzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/columns.ts"],"names":[],"mappings":";;AASA,0BA0BC;AAnCD,yCAAmC;AACnC,qCAAyC;AACzC,2CAAuC;AAOvC,SAAgB,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,UAA0B,EAAE;IAC/E,IAAI,IAAA,oBAAQ,GAAE;QAAE,OAAO,EAAE,CAAC;IAE1B,IAAI,CAAC,IAAA,sBAAa,GAAE,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/cjs/env.cjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isInteractive = isInteractive;
|
|
3
4
|
exports.isColorEnabled = isColorEnabled;
|
|
5
|
+
const testmode_js_1 = require('./testmode.cjs');
|
|
4
6
|
/**
|
|
5
7
|
* Returns true if ANSI color codes should be emitted.
|
|
6
8
|
* Colors are disabled when any of the following are true:
|
|
@@ -8,6 +10,11 @@ exports.isColorEnabled = isColorEnabled;
|
|
|
8
10
|
* - CI env var is set (raw escape codes look broken in most CI logs)
|
|
9
11
|
* - process.stdout.isTTY is false/undefined (output is being piped)
|
|
10
12
|
*/
|
|
13
|
+
function isInteractive() {
|
|
14
|
+
if ((0, testmode_js_1.isTestMode)())
|
|
15
|
+
return false;
|
|
16
|
+
return process.stdout.isTTY === true;
|
|
17
|
+
}
|
|
11
18
|
function isColorEnabled() {
|
|
12
19
|
if (process.env.NO_COLOR !== undefined)
|
|
13
20
|
return false;
|
package/dist/cjs/env.d.cts
CHANGED
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
* - CI env var is set (raw escape codes look broken in most CI logs)
|
|
6
6
|
* - process.stdout.isTTY is false/undefined (output is being piped)
|
|
7
7
|
*/
|
|
8
|
+
export declare function isInteractive(): boolean;
|
|
8
9
|
export declare function isColorEnabled(): boolean;
|
|
9
10
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/cjs/env.d.ts
CHANGED
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
* - CI env var is set (raw escape codes look broken in most CI logs)
|
|
6
6
|
* - process.stdout.isTTY is false/undefined (output is being piped)
|
|
7
7
|
*/
|
|
8
|
+
export declare function isInteractive(): boolean;
|
|
8
9
|
export declare function isColorEnabled(): boolean;
|
|
9
10
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/cjs/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAKxC"}
|
package/dist/cjs/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":";;AASA,sCAGC;AAED,wCAKC;AAnBD,+CAA2C;AAE3C;;;;;;GAMG;AACH,SAAgB,aAAa;IAC3B,IAAI,IAAA,wBAAU,GAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,SAAgB,cAAc;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/cjs/icons.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setIcons = setIcons;
|
|
4
4
|
exports.getIcons = getIcons;
|
|
5
|
+
exports.resetIcons = resetIcons;
|
|
5
6
|
const defaults = {
|
|
6
7
|
error: '✖',
|
|
7
8
|
success: '✔',
|
|
@@ -16,4 +17,7 @@ function setIcons(icons) {
|
|
|
16
17
|
function getIcons() {
|
|
17
18
|
return current;
|
|
18
19
|
}
|
|
20
|
+
function resetIcons() {
|
|
21
|
+
current = { ...defaults };
|
|
22
|
+
}
|
|
19
23
|
//# sourceMappingURL=icons.js.map
|
package/dist/cjs/icons.d.cts
CHANGED
package/dist/cjs/icons.d.ts
CHANGED
package/dist/cjs/icons.d.ts.map
CHANGED
|
@@ -1 +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"}
|
|
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;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
package/dist/cjs/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":";;AAkBA,4BAEC;AAED,4BAEC;
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":";;AAkBA,4BAEC;AAED,4BAEC;AAED,gCAEC;AApBD,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;AAED,SAAgB,UAAU;IACxB,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ 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.setIcons = exports.spin = exports.box = exports.badge = exports.style = exports.strip = exports.paint = void 0;
|
|
17
|
+
exports.isInteractive = exports.isColorEnabled = exports.setTestMode = exports.resetTheme = exports.setTheme = exports.setSilent = exports.setIcons = exports.truncate = exports.columns = 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
20
|
Object.defineProperty(exports, "strip", { enumerable: true, get: function () { return paint_js_1.strip; } });
|
|
@@ -26,9 +26,21 @@ var box_js_1 = require('./box.cjs');
|
|
|
26
26
|
Object.defineProperty(exports, "box", { enumerable: true, get: function () { return box_js_1.box; } });
|
|
27
27
|
var spinner_js_1 = require('./spinner.cjs');
|
|
28
28
|
Object.defineProperty(exports, "spin", { enumerable: true, get: function () { return spinner_js_1.spin; } });
|
|
29
|
+
var columns_js_1 = require('./columns.cjs');
|
|
30
|
+
Object.defineProperty(exports, "columns", { enumerable: true, get: function () { return columns_js_1.columns; } });
|
|
31
|
+
var truncate_js_1 = require('./truncate.cjs');
|
|
32
|
+
Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return truncate_js_1.truncate; } });
|
|
29
33
|
var icons_js_1 = require('./icons.cjs');
|
|
30
34
|
Object.defineProperty(exports, "setIcons", { enumerable: true, get: function () { return icons_js_1.setIcons; } });
|
|
35
|
+
var silent_js_1 = require('./silent.cjs');
|
|
36
|
+
Object.defineProperty(exports, "setSilent", { enumerable: true, get: function () { return silent_js_1.setSilent; } });
|
|
37
|
+
var theme_js_1 = require('./theme.cjs');
|
|
38
|
+
Object.defineProperty(exports, "setTheme", { enumerable: true, get: function () { return theme_js_1.setTheme; } });
|
|
39
|
+
Object.defineProperty(exports, "resetTheme", { enumerable: true, get: function () { return theme_js_1.resetTheme; } });
|
|
40
|
+
var testmode_js_1 = require('./testmode.cjs');
|
|
41
|
+
Object.defineProperty(exports, "setTestMode", { enumerable: true, get: function () { return testmode_js_1.setTestMode; } });
|
|
31
42
|
var env_js_1 = require('./env.cjs');
|
|
32
43
|
Object.defineProperty(exports, "isColorEnabled", { enumerable: true, get: function () { return env_js_1.isColorEnabled; } });
|
|
44
|
+
Object.defineProperty(exports, "isInteractive", { enumerable: true, get: function () { return env_js_1.isInteractive; } });
|
|
33
45
|
__exportStar(require('./codes.cjs'), exports);
|
|
34
46
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
|
+
export type { ListOptions } from './style.js';
|
|
4
5
|
export { badge } from './badge.js';
|
|
5
6
|
export { box } from './box.js';
|
|
7
|
+
export type { BoxOptions } from './box.js';
|
|
6
8
|
export { spin } from './spinner.js';
|
|
7
9
|
export type { SpinnerHandle } from './spinner.js';
|
|
10
|
+
export { columns } from './columns.js';
|
|
11
|
+
export type { ColumnsOptions } from './columns.js';
|
|
12
|
+
export { truncate } from './truncate.js';
|
|
8
13
|
export { setIcons } from './icons.js';
|
|
9
14
|
export type { Icons } from './icons.js';
|
|
10
|
-
export {
|
|
15
|
+
export { setSilent } from './silent.js';
|
|
16
|
+
export { setTheme, resetTheme } from './theme.js';
|
|
17
|
+
export type { Theme, ThemeEntry } from './theme.js';
|
|
18
|
+
export { setTestMode } from './testmode.js';
|
|
19
|
+
export { isColorEnabled, isInteractive } from './env.js';
|
|
11
20
|
export * from './codes.js';
|
|
12
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
|
+
export type { ListOptions } from './style.js';
|
|
4
5
|
export { badge } from './badge.js';
|
|
5
6
|
export { box } from './box.js';
|
|
7
|
+
export type { BoxOptions } from './box.js';
|
|
6
8
|
export { spin } from './spinner.js';
|
|
7
9
|
export type { SpinnerHandle } from './spinner.js';
|
|
10
|
+
export { columns } from './columns.js';
|
|
11
|
+
export type { ColumnsOptions } from './columns.js';
|
|
12
|
+
export { truncate } from './truncate.js';
|
|
8
13
|
export { setIcons } from './icons.js';
|
|
9
14
|
export type { Icons } from './icons.js';
|
|
10
|
-
export {
|
|
15
|
+
export { setSilent } from './silent.js';
|
|
16
|
+
export { setTheme, resetTheme } from './theme.js';
|
|
17
|
+
export type { Theme, ThemeEntry } from './theme.js';
|
|
18
|
+
export { setTestMode } from './testmode.js';
|
|
19
|
+
export { isColorEnabled, isInteractive } from './env.js';
|
|
11
20
|
export * from './codes.js';
|
|
12
21
|
//# 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,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;
|
|
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,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,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,uCAA0C;AAAjC,iGAAA,KAAK,OAAA;AAAE,iGAAA,KAAK,OAAA;AAErB,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;
|
|
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;AAEd,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,mCAA+B;AAAtB,6FAAA,GAAG,OAAA;AAEZ,2CAAoC;AAA3B,kGAAA,IAAI,OAAA;AAEb,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAEhB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,uCAAkD;AAAzC,oGAAA,QAAQ,OAAA;AAAE,sGAAA,UAAU,OAAA;AAE7B,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mCAAyD;AAAhD,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AACtC,6CAA2B"}
|
package/dist/cjs/paint.cjs
CHANGED
|
@@ -5,6 +5,7 @@ exports.paint = paint;
|
|
|
5
5
|
exports.strip = strip;
|
|
6
6
|
const codes_js_1 = require('./codes.cjs');
|
|
7
7
|
const env_js_1 = require('./env.cjs');
|
|
8
|
+
const silent_js_1 = require('./silent.cjs');
|
|
8
9
|
const fgMap = {
|
|
9
10
|
black: codes_js_1.BLACK,
|
|
10
11
|
red: codes_js_1.RED,
|
|
@@ -30,6 +31,8 @@ const bgMap = {
|
|
|
30
31
|
};
|
|
31
32
|
exports.bgMap = bgMap;
|
|
32
33
|
function paint(text, options = {}) {
|
|
34
|
+
if ((0, silent_js_1.isSilent)())
|
|
35
|
+
return '';
|
|
33
36
|
if (!(0, env_js_1.isColorEnabled)())
|
|
34
37
|
return text;
|
|
35
38
|
let prefix = '';
|
package/dist/cjs/paint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAQA,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,CAYtE;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":";;;
|
|
1
|
+
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":";;;AA2CA,sBAYC;AAED,sBAGC;AA5DD,yCAIoB;AACpB,qCAA0C;AAC1C,2CAAuC;AAavC,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;AAiCO,sBAAK;AA/Bd,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;AAqBc,sBAAK;AAnBrB,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,IAAI,IAAA,oBAAQ,GAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,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,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setSilent = setSilent;
|
|
4
|
+
exports.isSilent = isSilent;
|
|
5
|
+
let silentMode = false;
|
|
6
|
+
function setSilent(mode) {
|
|
7
|
+
silentMode = mode;
|
|
8
|
+
}
|
|
9
|
+
function isSilent() {
|
|
10
|
+
return silentMode;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=silent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"silent.d.ts","sourceRoot":"","sources":["../../src/silent.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC"}
|