ink 3.1.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 +166 -97
  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 +2 -2
  97. package/build/reconciler.js +100 -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 +87 -67
  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,11 +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, false, false);
178
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
179
+ this.container = reconciler.createContainer(this.rootNode,
180
+ // Legacy mode
181
+ 0, null, false, null, 'id', () => { }, null);
113
182
  // Unmount when process exits
114
- this.unsubscribeExit = signal_exit_1.default(this.unmount, { alwaysLast: false });
115
- if (process.env.DEV === 'true') {
116
- reconciler_1.default.injectIntoDevTools({
183
+ this.unsubscribeExit = signalExit(this.unmount, { alwaysLast: false });
184
+ if (process.env['DEV'] === 'true') {
185
+ reconciler.injectIntoDevTools({
117
186
  bundleType: 0,
118
187
  // Reporting React DOM's version, not Ink's
119
188
  // See https://github.com/facebook/react/issues/16666#issuecomment-532639905
@@ -124,7 +193,7 @@ class Ink {
124
193
  if (options.patchConsole) {
125
194
  this.patchConsole();
126
195
  }
127
- if (!isCI) {
196
+ if (!isCi) {
128
197
  options.stdout.on('resize', this.onRender);
129
198
  this.unsubscribeResize = () => {
130
199
  options.stdout.off('resize', this.onRender);
@@ -132,8 +201,8 @@ class Ink {
132
201
  }
133
202
  }
134
203
  render(node) {
135
- 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));
136
- 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);
137
206
  }
138
207
  writeToStdout(data) {
139
208
  if (this.isUnmounted) {
@@ -143,7 +212,7 @@ class Ink {
143
212
  this.options.stdout.write(data + this.fullStaticOutput + this.lastOutput);
144
213
  return;
145
214
  }
146
- if (isCI) {
215
+ if (isCi) {
147
216
  this.options.stdout.write(data);
148
217
  return;
149
218
  }
@@ -160,7 +229,7 @@ class Ink {
160
229
  this.options.stdout.write(this.fullStaticOutput + this.lastOutput);
161
230
  return;
162
231
  }
163
- if (isCI) {
232
+ if (isCi) {
164
233
  this.options.stderr.write(data);
165
234
  return;
166
235
  }
@@ -168,6 +237,7 @@ class Ink {
168
237
  this.options.stderr.write(data);
169
238
  this.log(this.lastOutput);
170
239
  }
240
+ // eslint-disable-next-line @typescript-eslint/ban-types
171
241
  unmount(error) {
172
242
  if (this.isUnmounted) {
173
243
  return;
@@ -182,15 +252,15 @@ class Ink {
182
252
  }
183
253
  // CIs don't handle erasing ansi escapes well, so it's better to
184
254
  // only render last frame of non-static output
185
- if (isCI) {
255
+ if (isCi) {
186
256
  this.options.stdout.write(this.lastOutput + '\n');
187
257
  }
188
258
  else if (!this.options.debug) {
189
259
  this.log.done();
190
260
  }
191
261
  this.isUnmounted = true;
192
- reconciler_1.default.updateContainer(null, this.container, null, noop);
193
- instances_1.default.delete(this.options.stdout);
262
+ reconciler.updateContainer(null, this.container, null, noop);
263
+ instances.delete(this.options.stdout);
194
264
  if (error instanceof Error) {
195
265
  this.rejectExitPromise(error);
196
266
  }
@@ -198,7 +268,7 @@ class Ink {
198
268
  this.resolveExitPromise();
199
269
  }
200
270
  }
201
- waitUntilExit() {
271
+ async waitUntilExit() {
202
272
  if (!this.exitPromise) {
203
273
  this.exitPromise = new Promise((resolve, reject) => {
204
274
  this.resolveExitPromise = resolve;
@@ -208,7 +278,7 @@ class Ink {
208
278
  return this.exitPromise;
209
279
  }
210
280
  clear() {
211
- if (!isCI && !this.options.debug) {
281
+ if (!isCi && !this.options.debug) {
212
282
  this.log.clear();
213
283
  }
214
284
  }
@@ -216,7 +286,7 @@ class Ink {
216
286
  if (this.options.debug) {
217
287
  return;
218
288
  }
219
- this.restoreConsole = patch_console_1.default((stream, data) => {
289
+ this.restoreConsole = patchConsole((stream, data) => {
220
290
  if (stream === 'stdout') {
221
291
  this.writeToStdout(data);
222
292
  }
@@ -229,5 +299,4 @@ class Ink {
229
299
  });
230
300
  }
231
301
  }
232
- exports.default = Ink;
233
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;