ink 3.2.0 → 4.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.
Files changed (122) hide show
  1. package/build/colorize.d.ts +3 -3
  2. package/build/colorize.js +30 -35
  3. package/build/colorize.js.map +1 -1
  4. package/build/components/App.d.ts +12 -12
  5. package/build/components/App.js +287 -208
  6. package/build/components/App.js.map +1 -1
  7. package/build/components/AppContext.d.ts +2 -2
  8. package/build/components/AppContext.js +5 -6
  9. package/build/components/AppContext.js.map +1 -1
  10. package/build/components/Box.d.ts +5 -5
  11. package/build/components/Box.js +15 -38
  12. package/build/components/Box.js.map +1 -1
  13. package/build/components/ErrorOverview.d.ts +5 -5
  14. package/build/components/ErrorOverview.js +40 -58
  15. package/build/components/ErrorOverview.js.map +1 -1
  16. package/build/components/FocusContext.d.ts +2 -2
  17. package/build/components/FocusContext.js +13 -14
  18. package/build/components/FocusContext.js.map +1 -1
  19. package/build/components/Newline.d.ts +4 -5
  20. package/build/components/Newline.js +4 -9
  21. package/build/components/Newline.js.map +1 -1
  22. package/build/components/Spacer.d.ts +2 -3
  23. package/build/components/Spacer.js +5 -10
  24. package/build/components/Spacer.js.map +1 -1
  25. package/build/components/Static.d.ts +5 -9
  26. package/build/components/Static.js +12 -33
  27. package/build/components/Static.js.map +1 -1
  28. package/build/components/StderrContext.d.ts +4 -4
  29. package/build/components/StderrContext.js +7 -7
  30. package/build/components/StderrContext.js.map +1 -1
  31. package/build/components/StdinContext.d.ts +4 -4
  32. package/build/components/StdinContext.js +8 -7
  33. package/build/components/StdinContext.js.map +1 -1
  34. package/build/components/StdoutContext.d.ts +4 -4
  35. package/build/components/StdoutContext.js +7 -7
  36. package/build/components/StdoutContext.js.map +1 -1
  37. package/build/components/Text.d.ts +9 -10
  38. package/build/components/Text.js +14 -29
  39. package/build/components/Text.js.map +1 -1
  40. package/build/components/Transform.d.ts +4 -5
  41. package/build/components/Transform.js +4 -11
  42. package/build/components/Transform.js.map +1 -1
  43. package/build/devtools-window-polyfill.js +3 -8
  44. package/build/devtools-window-polyfill.js.map +1 -1
  45. package/build/devtools.d.ts +1 -1
  46. package/build/devtools.js +6 -6
  47. package/build/devtools.js.map +1 -1
  48. package/build/dom.d.ts +14 -17
  49. package/build/dom.js +34 -47
  50. package/build/dom.js.map +1 -1
  51. package/build/get-max-width.d.ts +2 -2
  52. package/build/get-max-width.js +7 -11
  53. package/build/get-max-width.js.map +1 -1
  54. package/build/hooks/use-app.d.ts +1 -1
  55. package/build/hooks/use-app.js +4 -9
  56. package/build/hooks/use-app.js.map +1 -1
  57. package/build/hooks/use-focus-manager.d.ts +3 -3
  58. package/build/hooks/use-focus-manager.js +4 -9
  59. package/build/hooks/use-focus-manager.js.map +1 -1
  60. package/build/hooks/use-focus.d.ts +4 -4
  61. package/build/hooks/use-focus.js +11 -16
  62. package/build/hooks/use-focus.js.map +1 -1
  63. package/build/hooks/use-input.d.ts +5 -5
  64. package/build/hooks/use-input.js +13 -14
  65. package/build/hooks/use-input.js.map +1 -1
  66. package/build/hooks/use-stderr.d.ts +1 -1
  67. package/build/hooks/use-stderr.js +4 -9
  68. package/build/hooks/use-stderr.js.map +1 -1
  69. package/build/hooks/use-stdin.d.ts +1 -1
  70. package/build/hooks/use-stdin.js +4 -9
  71. package/build/hooks/use-stdin.js.map +1 -1
  72. package/build/hooks/use-stdout.d.ts +1 -1
  73. package/build/hooks/use-stdout.js +4 -9
  74. package/build/hooks/use-stdout.js.map +1 -1
  75. package/build/index.d.ts +27 -20
  76. package/build/index.js +15 -32
  77. package/build/index.js.map +1 -1
  78. package/build/ink.d.ts +4 -4
  79. package/build/ink.js +165 -98
  80. package/build/ink.js.map +1 -1
  81. package/build/instances.d.ts +4 -2
  82. package/build/instances.js +2 -3
  83. package/build/instances.js.map +1 -1
  84. package/build/log-update.d.ts +5 -6
  85. package/build/log-update.js +8 -12
  86. package/build/log-update.js.map +1 -1
  87. package/build/measure-element.d.ts +5 -5
  88. package/build/measure-element.js +5 -9
  89. package/build/measure-element.js.map +1 -1
  90. package/build/measure-text.d.ts +4 -4
  91. package/build/measure-text.js +7 -10
  92. package/build/measure-text.js.map +1 -1
  93. package/build/output.d.ts +3 -3
  94. package/build/output.js +25 -15
  95. package/build/output.js.map +1 -1
  96. package/build/reconciler.d.ts +1 -1
  97. package/build/reconciler.js +97 -76
  98. package/build/reconciler.js.map +1 -1
  99. package/build/render-border.d.ts +4 -4
  100. package/build/render-border.js +8 -12
  101. package/build/render-border.js.map +1 -1
  102. package/build/render-node-to-output.d.ts +3 -3
  103. package/build/render-node-to-output.js +17 -24
  104. package/build/render-node-to-output.js.map +1 -1
  105. package/build/render.d.ts +8 -8
  106. package/build/render.js +23 -20
  107. package/build/render.js.map +1 -1
  108. package/build/renderer.d.ts +5 -5
  109. package/build/renderer.js +11 -16
  110. package/build/renderer.js.map +1 -1
  111. package/build/squash-text-nodes.d.ts +1 -1
  112. package/build/squash-text-nodes.js +1 -3
  113. package/build/squash-text-nodes.js.map +1 -1
  114. package/build/styles.d.ts +9 -9
  115. package/build/styles.js +39 -45
  116. package/build/styles.js.map +1 -1
  117. package/build/wrap-text.d.ts +3 -3
  118. package/build/wrap-text.js +9 -12
  119. package/build/wrap-text.js.map +1 -1
  120. package/license +1 -1
  121. package/package.json +86 -66
  122. package/readme.md +91 -49
package/build/ink.js CHANGED
@@ -1,104 +1,170 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const react_1 = __importDefault(require("react"));
26
- const lodash_1 = require("lodash");
27
- const log_update_1 = __importDefault(require("./log-update"));
28
- const ansi_escapes_1 = __importDefault(require("ansi-escapes"));
29
- const is_ci_1 = __importDefault(require("is-ci"));
30
- const auto_bind_1 = __importDefault(require("auto-bind"));
31
- const reconciler_1 = __importDefault(require("./reconciler"));
32
- const renderer_1 = __importDefault(require("./renderer"));
33
- const signal_exit_1 = __importDefault(require("signal-exit"));
34
- const patch_console_1 = __importDefault(require("patch-console"));
35
- const dom = __importStar(require("./dom"));
36
- const instances_1 = __importDefault(require("./instances"));
37
- const App_1 = __importDefault(require("./components/App"));
38
- const isCI = process.env.CI === 'false' ? false : is_ci_1.default;
1
+ import process from 'node:process';
2
+ import React from 'react';
3
+ import { throttle } from 'lodash-es';
4
+ import ansiEscapes from 'ansi-escapes';
5
+ import originalIsCi from 'is-ci';
6
+ import autoBind from 'auto-bind';
7
+ import signalExit from 'signal-exit';
8
+ import patchConsole from 'patch-console';
9
+ import reconciler from './reconciler.js';
10
+ import render from './renderer.js';
11
+ import * as dom from './dom.js';
12
+ import logUpdate from './log-update.js';
13
+ import instances from './instances.js';
14
+ import App from './components/App.js';
15
+ const isCi = process.env['CI'] === 'false' ? false : originalIsCi;
39
16
  const noop = () => { };
40
- class Ink {
17
+ export default class Ink {
41
18
  constructor(options) {
42
- this.resolveExitPromise = () => { };
43
- this.rejectExitPromise = () => { };
44
- this.unsubscribeExit = () => { };
45
- this.onRender = () => {
46
- if (this.isUnmounted) {
47
- return;
48
- }
49
- const { output, outputHeight, staticOutput } = renderer_1.default(this.rootNode,
50
- // The 'columns' property can be undefined or 0 when not using a TTY.
51
- // In that case we fall back to 80.
52
- this.options.stdout.columns || 80);
53
- // If <Static> output isn't empty, it means new children have been added to it
54
- const hasStaticOutput = staticOutput && staticOutput !== '\n';
55
- if (this.options.debug) {
19
+ Object.defineProperty(this, "options", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: void 0
24
+ });
25
+ Object.defineProperty(this, "log", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, "throttledLog", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: void 0
36
+ });
37
+ // Ignore last render after unmounting a tree to prevent empty output before exit
38
+ Object.defineProperty(this, "isUnmounted", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: void 0
43
+ });
44
+ Object.defineProperty(this, "lastOutput", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: void 0
49
+ });
50
+ Object.defineProperty(this, "container", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: void 0
55
+ });
56
+ Object.defineProperty(this, "rootNode", {
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true,
60
+ value: void 0
61
+ });
62
+ // This variable is used only in debug mode to store full static output
63
+ // so that it's rerendered every time, not just new static parts, like in non-debug mode
64
+ Object.defineProperty(this, "fullStaticOutput", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: void 0
69
+ });
70
+ Object.defineProperty(this, "exitPromise", {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: void 0
75
+ });
76
+ Object.defineProperty(this, "restoreConsole", {
77
+ enumerable: true,
78
+ configurable: true,
79
+ writable: true,
80
+ value: void 0
81
+ });
82
+ Object.defineProperty(this, "unsubscribeResize", {
83
+ enumerable: true,
84
+ configurable: true,
85
+ writable: true,
86
+ value: void 0
87
+ });
88
+ Object.defineProperty(this, "resolveExitPromise", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: () => { }
93
+ });
94
+ Object.defineProperty(this, "rejectExitPromise", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: () => { }
99
+ });
100
+ Object.defineProperty(this, "unsubscribeExit", {
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true,
104
+ value: () => { }
105
+ });
106
+ Object.defineProperty(this, "onRender", {
107
+ enumerable: true,
108
+ configurable: true,
109
+ writable: true,
110
+ value: () => {
111
+ if (this.isUnmounted) {
112
+ return;
113
+ }
114
+ const { output, outputHeight, staticOutput } = render(this.rootNode,
115
+ // The 'columns' property can be undefined or 0 when not using a TTY.
116
+ // In that case we fall back to 80.
117
+ this.options.stdout.columns || 80);
118
+ // If <Static> output isn't empty, it means new children have been added to it
119
+ const hasStaticOutput = staticOutput && staticOutput !== '\n';
120
+ if (this.options.debug) {
121
+ if (hasStaticOutput) {
122
+ this.fullStaticOutput += staticOutput;
123
+ }
124
+ this.options.stdout.write(this.fullStaticOutput + output);
125
+ return;
126
+ }
127
+ if (isCi) {
128
+ if (hasStaticOutput) {
129
+ this.options.stdout.write(staticOutput);
130
+ }
131
+ this.lastOutput = output;
132
+ return;
133
+ }
56
134
  if (hasStaticOutput) {
57
135
  this.fullStaticOutput += staticOutput;
58
136
  }
59
- this.options.stdout.write(this.fullStaticOutput + output);
60
- return;
61
- }
62
- if (isCI) {
137
+ if (outputHeight >= this.options.stdout.rows) {
138
+ this.options.stdout.write(ansiEscapes.clearTerminal + this.fullStaticOutput + output);
139
+ this.lastOutput = output;
140
+ return;
141
+ }
142
+ // To ensure static output is cleanly rendered before main output, clear main output first
63
143
  if (hasStaticOutput) {
144
+ this.log.clear();
64
145
  this.options.stdout.write(staticOutput);
146
+ this.log(output);
147
+ }
148
+ if (!hasStaticOutput && output !== this.lastOutput) {
149
+ this.throttledLog(output);
65
150
  }
66
151
  this.lastOutput = output;
67
- return;
68
- }
69
- if (hasStaticOutput) {
70
- this.fullStaticOutput += staticOutput;
71
- }
72
- if (outputHeight >= this.options.stdout.rows) {
73
- this.options.stdout.write(ansi_escapes_1.default.clearTerminal + this.fullStaticOutput + output);
74
- this.lastOutput = output;
75
- return;
76
152
  }
77
- // To ensure static output is cleanly rendered before main output, clear main output first
78
- if (hasStaticOutput) {
79
- this.log.clear();
80
- this.options.stdout.write(staticOutput);
81
- this.log(output);
82
- }
83
- if (!hasStaticOutput && output !== this.lastOutput) {
84
- this.throttledLog(output);
85
- }
86
- this.lastOutput = output;
87
- };
88
- auto_bind_1.default(this);
153
+ });
154
+ autoBind(this);
89
155
  this.options = options;
90
156
  this.rootNode = dom.createNode('ink-root');
91
157
  this.rootNode.onRender = options.debug
92
158
  ? this.onRender
93
- : lodash_1.throttle(this.onRender, 32, {
159
+ : throttle(this.onRender, 32, {
94
160
  leading: true,
95
161
  trailing: true
96
162
  });
97
163
  this.rootNode.onImmediateRender = this.onRender;
98
- this.log = log_update_1.default.create(options.stdout);
164
+ this.log = logUpdate.create(options.stdout);
99
165
  this.throttledLog = options.debug
100
166
  ? this.log
101
- : lodash_1.throttle(this.log, undefined, {
167
+ : throttle(this.log, undefined, {
102
168
  leading: true,
103
169
  trailing: true
104
170
  });
@@ -109,13 +175,14 @@ class Ink {
109
175
  // This variable is used only in debug mode to store full static output
110
176
  // so that it's rerendered every time, not just new static parts, like in non-debug mode
111
177
  this.fullStaticOutput = '';
112
- this.container = reconciler_1.default.createContainer(this.rootNode,
178
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
179
+ this.container = reconciler.createContainer(this.rootNode,
113
180
  // Legacy mode
114
- 0, false, null);
181
+ 0, null, false, null, 'id', () => { }, null);
115
182
  // Unmount when process exits
116
- this.unsubscribeExit = signal_exit_1.default(this.unmount, { alwaysLast: false });
117
- if (process.env.DEV === 'true') {
118
- reconciler_1.default.injectIntoDevTools({
183
+ this.unsubscribeExit = signalExit(this.unmount, { alwaysLast: false });
184
+ if (process.env['DEV'] === 'true') {
185
+ reconciler.injectIntoDevTools({
119
186
  bundleType: 0,
120
187
  // Reporting React DOM's version, not Ink's
121
188
  // See https://github.com/facebook/react/issues/16666#issuecomment-532639905
@@ -126,7 +193,7 @@ class Ink {
126
193
  if (options.patchConsole) {
127
194
  this.patchConsole();
128
195
  }
129
- if (!isCI) {
196
+ if (!isCi) {
130
197
  options.stdout.on('resize', this.onRender);
131
198
  this.unsubscribeResize = () => {
132
199
  options.stdout.off('resize', this.onRender);
@@ -134,8 +201,8 @@ class Ink {
134
201
  }
135
202
  }
136
203
  render(node) {
137
- const tree = (react_1.default.createElement(App_1.default, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, exitOnCtrlC: this.options.exitOnCtrlC, onExit: this.unmount }, node));
138
- reconciler_1.default.updateContainer(tree, this.container, null, noop);
204
+ const tree = (React.createElement(App, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, exitOnCtrlC: this.options.exitOnCtrlC, onExit: this.unmount }, node));
205
+ reconciler.updateContainer(tree, this.container, null, noop);
139
206
  }
140
207
  writeToStdout(data) {
141
208
  if (this.isUnmounted) {
@@ -145,7 +212,7 @@ class Ink {
145
212
  this.options.stdout.write(data + this.fullStaticOutput + this.lastOutput);
146
213
  return;
147
214
  }
148
- if (isCI) {
215
+ if (isCi) {
149
216
  this.options.stdout.write(data);
150
217
  return;
151
218
  }
@@ -162,7 +229,7 @@ class Ink {
162
229
  this.options.stdout.write(this.fullStaticOutput + this.lastOutput);
163
230
  return;
164
231
  }
165
- if (isCI) {
232
+ if (isCi) {
166
233
  this.options.stderr.write(data);
167
234
  return;
168
235
  }
@@ -170,6 +237,7 @@ class Ink {
170
237
  this.options.stderr.write(data);
171
238
  this.log(this.lastOutput);
172
239
  }
240
+ // eslint-disable-next-line @typescript-eslint/ban-types
173
241
  unmount(error) {
174
242
  if (this.isUnmounted) {
175
243
  return;
@@ -184,15 +252,15 @@ class Ink {
184
252
  }
185
253
  // CIs don't handle erasing ansi escapes well, so it's better to
186
254
  // only render last frame of non-static output
187
- if (isCI) {
255
+ if (isCi) {
188
256
  this.options.stdout.write(this.lastOutput + '\n');
189
257
  }
190
258
  else if (!this.options.debug) {
191
259
  this.log.done();
192
260
  }
193
261
  this.isUnmounted = true;
194
- reconciler_1.default.updateContainer(null, this.container, null, noop);
195
- instances_1.default.delete(this.options.stdout);
262
+ reconciler.updateContainer(null, this.container, null, noop);
263
+ instances.delete(this.options.stdout);
196
264
  if (error instanceof Error) {
197
265
  this.rejectExitPromise(error);
198
266
  }
@@ -200,7 +268,7 @@ class Ink {
200
268
  this.resolveExitPromise();
201
269
  }
202
270
  }
203
- waitUntilExit() {
271
+ async waitUntilExit() {
204
272
  if (!this.exitPromise) {
205
273
  this.exitPromise = new Promise((resolve, reject) => {
206
274
  this.resolveExitPromise = resolve;
@@ -210,7 +278,7 @@ class Ink {
210
278
  return this.exitPromise;
211
279
  }
212
280
  clear() {
213
- if (!isCI && !this.options.debug) {
281
+ if (!isCi && !this.options.debug) {
214
282
  this.log.clear();
215
283
  }
216
284
  }
@@ -218,7 +286,7 @@ class Ink {
218
286
  if (this.options.debug) {
219
287
  return;
220
288
  }
221
- this.restoreConsole = patch_console_1.default((stream, data) => {
289
+ this.restoreConsole = patchConsole((stream, data) => {
222
290
  if (stream === 'stdout') {
223
291
  this.writeToStdout(data);
224
292
  }
@@ -231,5 +299,4 @@ class Ink {
231
299
  });
232
300
  }
233
301
  }
234
- exports.default = Ink;
235
302
  //# sourceMappingURL=ink.js.map
package/build/ink.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- declare const _default: WeakMap<object, any>;
2
- export default _default;
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type Ink from './ink.js';
3
+ declare const instances: WeakMap<NodeJS.WriteStream, Ink>;
4
+ export default instances;
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  // Store all instances of Ink (instance.js) to ensure that consecutive render() calls
4
2
  // use the same instance of Ink and don't create a new one
5
3
  //
6
4
  // This map has to be stored in a separate file, because render.js creates instances,
7
5
  // but instance.js should delete itself from the map on unmount
8
- exports.default = new WeakMap();
6
+ const instances = new WeakMap();
7
+ export default instances;
9
8
  //# sourceMappingURL=instances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.js","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":";;AAAA,qFAAqF;AACrF,0DAA0D;AAC1D,EAAE;AACF,qFAAqF;AACrF,+DAA+D;AAC/D,kBAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"instances.js","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,0DAA0D;AAC1D,EAAE;AACF,qFAAqF;AACrF,+DAA+D;AAI/D,MAAM,SAAS,GAAG,IAAI,OAAO,EAA2B,CAAC;AACzD,eAAe,SAAS,CAAC"}
@@ -1,13 +1,12 @@
1
- /// <reference types="node" />
2
- import { Writable } from 'stream';
3
- export interface LogUpdate {
1
+ import { type Writable } from 'node:stream';
2
+ export type LogUpdate = {
4
3
  clear: () => void;
5
4
  done: () => void;
6
5
  (str: string): void;
7
- }
8
- declare const _default: {
6
+ };
7
+ declare const logUpdate: {
9
8
  create: (stream: Writable, { showCursor }?: {
10
9
  showCursor?: boolean | undefined;
11
10
  }) => LogUpdate;
12
11
  };
13
- export default _default;
12
+ export default logUpdate;
@@ -1,17 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ansi_escapes_1 = __importDefault(require("ansi-escapes"));
7
- const cli_cursor_1 = __importDefault(require("cli-cursor"));
1
+ import ansiEscapes from 'ansi-escapes';
2
+ import cliCursor from 'cli-cursor';
8
3
  const create = (stream, { showCursor = false } = {}) => {
9
4
  let previousLineCount = 0;
10
5
  let previousOutput = '';
11
6
  let hasHiddenCursor = false;
12
7
  const render = (str) => {
13
8
  if (!showCursor && !hasHiddenCursor) {
14
- cli_cursor_1.default.hide();
9
+ cliCursor.hide();
15
10
  hasHiddenCursor = true;
16
11
  }
17
12
  const output = str + '\n';
@@ -19,11 +14,11 @@ const create = (stream, { showCursor = false } = {}) => {
19
14
  return;
20
15
  }
21
16
  previousOutput = output;
22
- stream.write(ansi_escapes_1.default.eraseLines(previousLineCount) + output);
17
+ stream.write(ansiEscapes.eraseLines(previousLineCount) + output);
23
18
  previousLineCount = output.split('\n').length;
24
19
  };
25
20
  render.clear = () => {
26
- stream.write(ansi_escapes_1.default.eraseLines(previousLineCount));
21
+ stream.write(ansiEscapes.eraseLines(previousLineCount));
27
22
  previousOutput = '';
28
23
  previousLineCount = 0;
29
24
  };
@@ -31,11 +26,12 @@ const create = (stream, { showCursor = false } = {}) => {
31
26
  previousOutput = '';
32
27
  previousLineCount = 0;
33
28
  if (!showCursor) {
34
- cli_cursor_1.default.show();
29
+ cliCursor.show();
35
30
  hasHiddenCursor = false;
36
31
  }
37
32
  };
38
33
  return render;
39
34
  };
40
- exports.default = { create };
35
+ const logUpdate = { create };
36
+ export default logUpdate;
41
37
  //# sourceMappingURL=log-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":";;;;;AACA,gEAAuC;AACvC,4DAAmC;AAQnC,MAAM,MAAM,GAAG,CAAC,MAAgB,EAAE,EAAC,UAAU,GAAG,KAAK,EAAC,GAAG,EAAE,EAAa,EAAE;IACzE,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC9B,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE;YACpC,oBAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,KAAK,cAAc,EAAE;YAC9B,OAAO;SACP;QAED,cAAc,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,sBAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC;QACjE,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,sBAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE;QAClB,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE;YAChB,oBAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;SACxB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,kBAAe,EAAC,MAAM,EAAC,CAAC"}
1
+ {"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AAQnC,MAAM,MAAM,GAAG,CAAC,MAAgB,EAAE,EAAC,UAAU,GAAG,KAAK,EAAC,GAAG,EAAE,EAAa,EAAE;IACzE,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC9B,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE;YACpC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,KAAK,cAAc,EAAE;YAC9B,OAAO;SACP;QAED,cAAc,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC;QACjE,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE;QAClB,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE;YAChB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;SACxB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,EAAC,MAAM,EAAC,CAAC;AAC3B,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
- import { DOMElement } from './dom';
2
- interface Output {
1
+ import { type DOMElement } from './dom.js';
2
+ type Output = {
3
3
  /**
4
4
  * Element width.
5
5
  */
@@ -8,9 +8,9 @@ interface Output {
8
8
  * Element height.
9
9
  */
10
10
  height: number;
11
- }
12
- declare const _default: (node: DOMElement) => Output;
11
+ };
13
12
  /**
14
13
  * Measure the dimensions of a particular `<Box>` element.
15
14
  */
16
- export default _default;
15
+ declare const measureElement: (node: DOMElement) => Output;
16
+ export default measureElement;
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Measure the dimensions of a particular `<Box>` element.
5
3
  */
6
- exports.default = (node) => {
7
- var _a, _b, _c, _d;
8
- return ({
9
- width: (_b = (_a = node.yogaNode) === null || _a === void 0 ? void 0 : _a.getComputedWidth()) !== null && _b !== void 0 ? _b : 0,
10
- height: (_d = (_c = node.yogaNode) === null || _c === void 0 ? void 0 : _c.getComputedHeight()) !== null && _d !== void 0 ? _d : 0
11
- });
12
- };
4
+ const measureElement = (node) => ({
5
+ width: node.yogaNode?.getComputedWidth() ?? 0,
6
+ height: node.yogaNode?.getComputedHeight() ?? 0
7
+ });
8
+ export default measureElement;
13
9
  //# sourceMappingURL=measure-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":";;AAcA;;GAEG;AACH,kBAAe,CAAC,IAAgB,EAAU,EAAE;;IAAC,OAAA,CAAC;QAC7C,KAAK,cAAE,IAAI,CAAC,QAAQ,0CAAE,gBAAgB,qCAAM,CAAC;QAC7C,MAAM,cAAE,IAAI,CAAC,QAAQ,0CAAE,iBAAiB,qCAAM,CAAC;KAC/C,CAAC,CAAA;CAAA,CAAC"}
1
+ {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC;IAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;CAC/C,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
- interface Output {
1
+ type Output = {
2
2
  width: number;
3
3
  height: number;
4
- }
5
- declare const _default: (text: string) => Output;
6
- export default _default;
4
+ };
5
+ declare const measureText: (text: string) => Output;
6
+ export default measureText;
@@ -1,23 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const widest_line_1 = __importDefault(require("widest-line"));
1
+ import widestLine from 'widest-line';
7
2
  const cache = {};
8
- exports.default = (text) => {
3
+ const measureText = (text) => {
9
4
  if (text.length === 0) {
10
5
  return {
11
6
  width: 0,
12
7
  height: 0
13
8
  };
14
9
  }
15
- if (cache[text]) {
16
- return cache[text];
10
+ const cachedDimensions = cache[text];
11
+ if (cachedDimensions) {
12
+ return cachedDimensions;
17
13
  }
18
- const width = widest_line_1.default(text);
14
+ const width = widestLine(text);
19
15
  const height = text.split('\n').length;
20
16
  cache[text] = { width, height };
21
17
  return { width, height };
22
18
  };
19
+ export default measureText;
23
20
  //# sourceMappingURL=measure-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-text.js","sourceRoot":"","sources":["../src/measure-text.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAM,KAAK,GAA2B,EAAE,CAAC;AAOzC,kBAAe,CAAC,IAAY,EAAU,EAAE;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;KACF;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACnB;IAED,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IAE9B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"measure-text.js","sourceRoot":"","sources":["../src/measure-text.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,KAAK,GAA2B,EAAE,CAAC;AAOzC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;KACF;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,gBAAgB,EAAE;QACrB,OAAO,gBAAgB,CAAC;KACxB;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IAE9B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
package/build/output.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { OutputTransformer } from './render-node-to-output';
1
+ import { type OutputTransformer } from './render-node-to-output.js';
2
2
  /**
3
3
  * "Virtual" output class
4
4
  *
@@ -7,10 +7,10 @@ import { OutputTransformer } from './render-node-to-output';
7
7
  *
8
8
  * Used to generate the final output of all nodes before writing it to actual output stream (e.g. stdout)
9
9
  */
10
- interface Options {
10
+ type Options = {
11
11
  width: number;
12
12
  height: number;
13
- }
13
+ };
14
14
  export default class Output {
15
15
  width: number;
16
16
  height: number;