ink 4.4.1 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/apply-styles.js +175 -0
- package/build/build-layout.js +77 -0
- package/build/calculate-wrapped-text.js +53 -0
- package/build/colorize.js.map +1 -1
- package/build/components/App.d.ts +1 -1
- package/build/components/App.js +198 -296
- package/build/components/App.js.map +1 -1
- package/build/components/AppContext.js +1 -1
- package/build/components/Box.d.ts +51 -1
- package/build/components/Box.js +2 -2
- package/build/components/Color.js +62 -0
- package/build/components/ErrorOverview.js +1 -1
- package/build/components/ErrorOverview.js.map +1 -1
- package/build/components/FocusContext.js +1 -1
- package/build/components/Static.js +1 -1
- package/build/components/StderrContext.js +1 -1
- package/build/components/StdinContext.js +1 -1
- package/build/components/StdoutContext.js +1 -1
- package/build/components/Text.d.ts +1 -1
- package/build/components/Text.js +1 -1
- package/build/components/Text.js.map +1 -1
- package/build/components/Transform.js.map +1 -1
- package/build/devtools-window-polyfill.js +11 -17
- package/build/devtools-window-polyfill.js.map +1 -1
- package/build/dom.js +2 -3
- package/build/dom.js.map +1 -1
- package/build/experimental/apply-style.js +140 -0
- package/build/experimental/dom.js +123 -0
- package/build/experimental/output.js +91 -0
- package/build/experimental/reconciler.js +141 -0
- package/build/experimental/renderer.js +81 -0
- package/build/get-max-width.js +0 -1
- package/build/get-max-width.js.map +1 -1
- package/build/hooks/use-focus-manager.js +1 -1
- package/build/hooks/use-focus.d.ts +1 -1
- package/build/hooks/use-focus.js +2 -2
- package/build/hooks/use-focus.js.map +1 -1
- package/build/hooks/use-input.js +2 -3
- package/build/hooks/use-input.js.map +1 -1
- package/build/hooks/useInput.js +38 -0
- package/build/ink.js +81 -170
- package/build/ink.js.map +1 -1
- package/build/instance.js +205 -0
- package/build/log-update.d.ts +1 -0
- package/build/log-update.js.map +1 -1
- package/build/measure-element.js +1 -1
- package/build/measure-text.js +1 -1
- package/build/measure-text.js.map +1 -1
- package/build/output.js +11 -26
- package/build/output.js.map +1 -1
- package/build/parse-keypress.d.ts +1 -0
- package/build/parse-keypress.js +4 -4
- package/build/parse-keypress.js.map +1 -1
- package/build/reconciler.js +9 -7
- package/build/reconciler.js.map +1 -1
- package/build/render-border.js +1 -1
- package/build/render-border.js.map +1 -1
- package/build/render-node-to-output.js +2 -3
- package/build/render-node-to-output.js.map +1 -1
- package/build/render.d.ts +4 -0
- package/build/render.js +3 -3
- package/build/render.js.map +1 -1
- package/build/renderer.js +5 -5
- package/build/renderer.js.map +1 -1
- package/build/squash-text-nodes.js.map +1 -1
- package/build/styles.d.ts +1 -1
- package/build/styles.js +0 -1
- package/build/styles.js.map +1 -1
- package/build/wrap-text.js +1 -1
- package/build/wrap-text.js.map +1 -1
- package/package.json +35 -39
- package/readme.md +5 -18
package/build/ink.js
CHANGED
|
@@ -2,11 +2,10 @@ import process from 'node:process';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import throttle from 'lodash/throttle.js';
|
|
4
4
|
import ansiEscapes from 'ansi-escapes';
|
|
5
|
-
import
|
|
5
|
+
import isInCi from 'is-in-ci';
|
|
6
6
|
import autoBind from 'auto-bind';
|
|
7
7
|
import signalExit from 'signal-exit';
|
|
8
8
|
import patchConsole from 'patch-console';
|
|
9
|
-
// eslint-disable-next-line n/file-extension-in-import
|
|
10
9
|
import Yoga from 'yoga-wasm-web/auto';
|
|
11
10
|
import reconciler from './reconciler.js';
|
|
12
11
|
import render from './renderer.js';
|
|
@@ -14,163 +13,23 @@ import * as dom from './dom.js';
|
|
|
14
13
|
import logUpdate from './log-update.js';
|
|
15
14
|
import instances from './instances.js';
|
|
16
15
|
import App from './components/App.js';
|
|
17
|
-
const isCi = process.env['CI'] === 'false' ? false : originalIsCi;
|
|
18
16
|
const noop = () => { };
|
|
19
17
|
export default class Ink {
|
|
18
|
+
options;
|
|
19
|
+
log;
|
|
20
|
+
throttledLog;
|
|
21
|
+
// Ignore last render after unmounting a tree to prevent empty output before exit
|
|
22
|
+
isUnmounted;
|
|
23
|
+
lastOutput;
|
|
24
|
+
container;
|
|
25
|
+
rootNode;
|
|
26
|
+
// This variable is used only in debug mode to store full static output
|
|
27
|
+
// so that it's rerendered every time, not just new static parts, like in non-debug mode
|
|
28
|
+
fullStaticOutput;
|
|
29
|
+
exitPromise;
|
|
30
|
+
restoreConsole;
|
|
31
|
+
unsubscribeResize;
|
|
20
32
|
constructor(options) {
|
|
21
|
-
Object.defineProperty(this, "options", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
configurable: true,
|
|
24
|
-
writable: true,
|
|
25
|
-
value: void 0
|
|
26
|
-
});
|
|
27
|
-
Object.defineProperty(this, "log", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
configurable: true,
|
|
30
|
-
writable: true,
|
|
31
|
-
value: void 0
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(this, "throttledLog", {
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
writable: true,
|
|
37
|
-
value: void 0
|
|
38
|
-
});
|
|
39
|
-
// Ignore last render after unmounting a tree to prevent empty output before exit
|
|
40
|
-
Object.defineProperty(this, "isUnmounted", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: void 0
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, "lastOutput", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: void 0
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(this, "container", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: void 0
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "rootNode", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
|
-
// This variable is used only in debug mode to store full static output
|
|
65
|
-
// so that it's rerendered every time, not just new static parts, like in non-debug mode
|
|
66
|
-
Object.defineProperty(this, "fullStaticOutput", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
configurable: true,
|
|
69
|
-
writable: true,
|
|
70
|
-
value: void 0
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(this, "exitPromise", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
configurable: true,
|
|
75
|
-
writable: true,
|
|
76
|
-
value: void 0
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(this, "restoreConsole", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
configurable: true,
|
|
81
|
-
writable: true,
|
|
82
|
-
value: void 0
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(this, "unsubscribeResize", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
configurable: true,
|
|
87
|
-
writable: true,
|
|
88
|
-
value: void 0
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(this, "resized", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
configurable: true,
|
|
93
|
-
writable: true,
|
|
94
|
-
value: () => {
|
|
95
|
-
this.calculateLayout();
|
|
96
|
-
this.onRender();
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
Object.defineProperty(this, "resolveExitPromise", {
|
|
100
|
-
enumerable: true,
|
|
101
|
-
configurable: true,
|
|
102
|
-
writable: true,
|
|
103
|
-
value: () => { }
|
|
104
|
-
});
|
|
105
|
-
Object.defineProperty(this, "rejectExitPromise", {
|
|
106
|
-
enumerable: true,
|
|
107
|
-
configurable: true,
|
|
108
|
-
writable: true,
|
|
109
|
-
value: () => { }
|
|
110
|
-
});
|
|
111
|
-
Object.defineProperty(this, "unsubscribeExit", {
|
|
112
|
-
enumerable: true,
|
|
113
|
-
configurable: true,
|
|
114
|
-
writable: true,
|
|
115
|
-
value: () => { }
|
|
116
|
-
});
|
|
117
|
-
Object.defineProperty(this, "calculateLayout", {
|
|
118
|
-
enumerable: true,
|
|
119
|
-
configurable: true,
|
|
120
|
-
writable: true,
|
|
121
|
-
value: () => {
|
|
122
|
-
// The 'columns' property can be undefined or 0 when not using a TTY.
|
|
123
|
-
// In that case we fall back to 80.
|
|
124
|
-
const terminalWidth = this.options.stdout.columns || 80;
|
|
125
|
-
this.rootNode.yogaNode.setWidth(terminalWidth);
|
|
126
|
-
this.rootNode.yogaNode.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
Object.defineProperty(this, "onRender", {
|
|
130
|
-
enumerable: true,
|
|
131
|
-
configurable: true,
|
|
132
|
-
writable: true,
|
|
133
|
-
value: () => {
|
|
134
|
-
if (this.isUnmounted) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
const { output, outputHeight, staticOutput } = render(this.rootNode);
|
|
138
|
-
// If <Static> output isn't empty, it means new children have been added to it
|
|
139
|
-
const hasStaticOutput = staticOutput && staticOutput !== '\n';
|
|
140
|
-
if (this.options.debug) {
|
|
141
|
-
if (hasStaticOutput) {
|
|
142
|
-
this.fullStaticOutput += staticOutput;
|
|
143
|
-
}
|
|
144
|
-
this.options.stdout.write(this.fullStaticOutput + output);
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (isCi) {
|
|
148
|
-
if (hasStaticOutput) {
|
|
149
|
-
this.options.stdout.write(staticOutput);
|
|
150
|
-
}
|
|
151
|
-
this.lastOutput = output;
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
if (hasStaticOutput) {
|
|
155
|
-
this.fullStaticOutput += staticOutput;
|
|
156
|
-
}
|
|
157
|
-
if (outputHeight >= this.options.stdout.rows) {
|
|
158
|
-
this.options.stdout.write(ansiEscapes.clearTerminal + this.fullStaticOutput + output);
|
|
159
|
-
this.lastOutput = output;
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
// To ensure static output is cleanly rendered before main output, clear main output first
|
|
163
|
-
if (hasStaticOutput) {
|
|
164
|
-
this.log.clear();
|
|
165
|
-
this.options.stdout.write(staticOutput);
|
|
166
|
-
this.log(output);
|
|
167
|
-
}
|
|
168
|
-
if (!hasStaticOutput && output !== this.lastOutput) {
|
|
169
|
-
this.throttledLog(output);
|
|
170
|
-
}
|
|
171
|
-
this.lastOutput = output;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
33
|
autoBind(this);
|
|
175
34
|
this.options = options;
|
|
176
35
|
this.rootNode = dom.createNode('ink-root');
|
|
@@ -179,7 +38,7 @@ export default class Ink {
|
|
|
179
38
|
? this.onRender
|
|
180
39
|
: throttle(this.onRender, 32, {
|
|
181
40
|
leading: true,
|
|
182
|
-
trailing: true
|
|
41
|
+
trailing: true,
|
|
183
42
|
});
|
|
184
43
|
this.rootNode.onImmediateRender = this.onRender;
|
|
185
44
|
this.log = logUpdate.create(options.stdout);
|
|
@@ -187,7 +46,7 @@ export default class Ink {
|
|
|
187
46
|
? this.log
|
|
188
47
|
: throttle(this.log, undefined, {
|
|
189
48
|
leading: true,
|
|
190
|
-
trailing: true
|
|
49
|
+
trailing: true,
|
|
191
50
|
});
|
|
192
51
|
// Ignore last render after unmounting a tree to prevent empty output before exit
|
|
193
52
|
this.isUnmounted = false;
|
|
@@ -208,19 +67,73 @@ export default class Ink {
|
|
|
208
67
|
// Reporting React DOM's version, not Ink's
|
|
209
68
|
// See https://github.com/facebook/react/issues/16666#issuecomment-532639905
|
|
210
69
|
version: '16.13.1',
|
|
211
|
-
rendererPackageName: 'ink'
|
|
70
|
+
rendererPackageName: 'ink',
|
|
212
71
|
});
|
|
213
72
|
}
|
|
214
73
|
if (options.patchConsole) {
|
|
215
74
|
this.patchConsole();
|
|
216
75
|
}
|
|
217
|
-
if (!
|
|
76
|
+
if (!isInCi) {
|
|
218
77
|
options.stdout.on('resize', this.resized);
|
|
219
78
|
this.unsubscribeResize = () => {
|
|
220
79
|
options.stdout.off('resize', this.resized);
|
|
221
80
|
};
|
|
222
81
|
}
|
|
223
82
|
}
|
|
83
|
+
resized = () => {
|
|
84
|
+
this.calculateLayout();
|
|
85
|
+
this.onRender();
|
|
86
|
+
};
|
|
87
|
+
resolveExitPromise = () => { };
|
|
88
|
+
rejectExitPromise = () => { };
|
|
89
|
+
unsubscribeExit = () => { };
|
|
90
|
+
calculateLayout = () => {
|
|
91
|
+
// The 'columns' property can be undefined or 0 when not using a TTY.
|
|
92
|
+
// In that case we fall back to 80.
|
|
93
|
+
const terminalWidth = this.options.stdout.columns || 80;
|
|
94
|
+
this.rootNode.yogaNode.setWidth(terminalWidth);
|
|
95
|
+
this.rootNode.yogaNode.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
|
|
96
|
+
};
|
|
97
|
+
onRender = () => {
|
|
98
|
+
if (this.isUnmounted) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const { output, outputHeight, staticOutput } = render(this.rootNode);
|
|
102
|
+
// If <Static> output isn't empty, it means new children have been added to it
|
|
103
|
+
const hasStaticOutput = staticOutput && staticOutput !== '\n';
|
|
104
|
+
if (this.options.debug) {
|
|
105
|
+
if (hasStaticOutput) {
|
|
106
|
+
this.fullStaticOutput += staticOutput;
|
|
107
|
+
}
|
|
108
|
+
this.options.stdout.write(this.fullStaticOutput + output);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (isInCi) {
|
|
112
|
+
if (hasStaticOutput) {
|
|
113
|
+
this.options.stdout.write(staticOutput);
|
|
114
|
+
}
|
|
115
|
+
this.lastOutput = output;
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (hasStaticOutput) {
|
|
119
|
+
this.fullStaticOutput += staticOutput;
|
|
120
|
+
}
|
|
121
|
+
if (outputHeight >= this.options.stdout.rows) {
|
|
122
|
+
this.options.stdout.write(ansiEscapes.clearTerminal + this.fullStaticOutput + output);
|
|
123
|
+
this.lastOutput = output;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// To ensure static output is cleanly rendered before main output, clear main output first
|
|
127
|
+
if (hasStaticOutput) {
|
|
128
|
+
this.log.clear();
|
|
129
|
+
this.options.stdout.write(staticOutput);
|
|
130
|
+
this.log(output);
|
|
131
|
+
}
|
|
132
|
+
if (!hasStaticOutput && output !== this.lastOutput) {
|
|
133
|
+
this.throttledLog(output);
|
|
134
|
+
}
|
|
135
|
+
this.lastOutput = output;
|
|
136
|
+
};
|
|
224
137
|
render(node) {
|
|
225
138
|
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));
|
|
226
139
|
reconciler.updateContainer(tree, this.container, null, noop);
|
|
@@ -233,7 +146,7 @@ export default class Ink {
|
|
|
233
146
|
this.options.stdout.write(data + this.fullStaticOutput + this.lastOutput);
|
|
234
147
|
return;
|
|
235
148
|
}
|
|
236
|
-
if (
|
|
149
|
+
if (isInCi) {
|
|
237
150
|
this.options.stdout.write(data);
|
|
238
151
|
return;
|
|
239
152
|
}
|
|
@@ -250,7 +163,7 @@ export default class Ink {
|
|
|
250
163
|
this.options.stdout.write(this.fullStaticOutput + this.lastOutput);
|
|
251
164
|
return;
|
|
252
165
|
}
|
|
253
|
-
if (
|
|
166
|
+
if (isInCi) {
|
|
254
167
|
this.options.stderr.write(data);
|
|
255
168
|
return;
|
|
256
169
|
}
|
|
@@ -274,7 +187,7 @@ export default class Ink {
|
|
|
274
187
|
}
|
|
275
188
|
// CIs don't handle erasing ansi escapes well, so it's better to
|
|
276
189
|
// only render last frame of non-static output
|
|
277
|
-
if (
|
|
190
|
+
if (isInCi) {
|
|
278
191
|
this.options.stdout.write(this.lastOutput + '\n');
|
|
279
192
|
}
|
|
280
193
|
else if (!this.options.debug) {
|
|
@@ -291,16 +204,14 @@ export default class Ink {
|
|
|
291
204
|
}
|
|
292
205
|
}
|
|
293
206
|
async waitUntilExit() {
|
|
294
|
-
|
|
295
|
-
this.
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
});
|
|
299
|
-
}
|
|
207
|
+
this.exitPromise ||= new Promise((resolve, reject) => {
|
|
208
|
+
this.resolveExitPromise = resolve;
|
|
209
|
+
this.rejectExitPromise = reject;
|
|
210
|
+
});
|
|
300
211
|
return this.exitPromise;
|
|
301
212
|
}
|
|
302
213
|
clear() {
|
|
303
|
-
if (!
|
|
214
|
+
if (!isInCi && !this.options.debug) {
|
|
304
215
|
this.log.clear();
|
|
305
216
|
}
|
|
306
217
|
}
|
package/build/ink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAE1C,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _lodash = _interopRequireDefault(require("lodash.throttle"));
|
|
11
|
+
|
|
12
|
+
var _autoBind = _interopRequireDefault(require("auto-bind"));
|
|
13
|
+
|
|
14
|
+
var _logUpdate = _interopRequireDefault(require("log-update"));
|
|
15
|
+
|
|
16
|
+
var _isCi = _interopRequireDefault(require("is-ci"));
|
|
17
|
+
|
|
18
|
+
var _signalExit = _interopRequireDefault(require("signal-exit"));
|
|
19
|
+
|
|
20
|
+
var _ansiEscapes = _interopRequireDefault(require("ansi-escapes"));
|
|
21
|
+
|
|
22
|
+
var _reconciler = _interopRequireDefault(require("./reconciler"));
|
|
23
|
+
|
|
24
|
+
var _reconciler2 = _interopRequireDefault(require("./experimental/reconciler"));
|
|
25
|
+
|
|
26
|
+
var _renderer = _interopRequireDefault(require("./renderer"));
|
|
27
|
+
|
|
28
|
+
var _renderer2 = _interopRequireDefault(require("./experimental/renderer"));
|
|
29
|
+
|
|
30
|
+
var dom = _interopRequireWildcard(require("./dom"));
|
|
31
|
+
|
|
32
|
+
var experimentalDom = _interopRequireWildcard(require("./experimental/dom"));
|
|
33
|
+
|
|
34
|
+
var _instances = _interopRequireDefault(require("./instances"));
|
|
35
|
+
|
|
36
|
+
var _App = _interopRequireDefault(require("./components/App"));
|
|
37
|
+
|
|
38
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
39
|
+
|
|
40
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
+
|
|
42
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
|
+
|
|
44
|
+
class Instance {
|
|
45
|
+
constructor(options) {
|
|
46
|
+
(0, _autoBind.default)(this);
|
|
47
|
+
this.options = options;
|
|
48
|
+
|
|
49
|
+
if (options.experimental) {
|
|
50
|
+
this.rootNode = experimentalDom.createNode('root');
|
|
51
|
+
this.rootNode.onRender = options.debug ? this.onRender : (0, _lodash.default)(this.onRender, 16, {
|
|
52
|
+
leading: true,
|
|
53
|
+
trailing: true
|
|
54
|
+
});
|
|
55
|
+
this.rootNode.onImmediateRender = this.onRender;
|
|
56
|
+
this.renderer = (0, _renderer2.default)({
|
|
57
|
+
terminalWidth: options.stdout.columns
|
|
58
|
+
});
|
|
59
|
+
} else {
|
|
60
|
+
this.rootNode = dom.createNode('root');
|
|
61
|
+
this.rootNode.onRender = this.onRender;
|
|
62
|
+
this.renderer = (0, _renderer.default)({
|
|
63
|
+
terminalWidth: options.stdout.columns
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
this.log = _logUpdate.default.create(options.stdout);
|
|
68
|
+
this.throttledLog = options.debug ? this.log : (0, _lodash.default)(this.log, {
|
|
69
|
+
leading: true,
|
|
70
|
+
trailing: true
|
|
71
|
+
}); // Ignore last render after unmounting a tree to prevent empty output before exit
|
|
72
|
+
|
|
73
|
+
this.isUnmounted = false; // Store last output to only rerender when needed
|
|
74
|
+
|
|
75
|
+
this.lastOutput = ''; // This variable is used only in debug mode to store full static output
|
|
76
|
+
// so that it's rerendered every time, not just new static parts, like in non-debug mode
|
|
77
|
+
|
|
78
|
+
this.fullStaticOutput = '';
|
|
79
|
+
|
|
80
|
+
if (options.experimental) {
|
|
81
|
+
this.container = _reconciler2.default.createContainer(this.rootNode, false, false);
|
|
82
|
+
} else {
|
|
83
|
+
this.container = _reconciler.default.createContainer(this.rootNode, false, false);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
this.exitPromise = new Promise((resolve, reject) => {
|
|
87
|
+
this.resolveExitPromise = resolve;
|
|
88
|
+
this.rejectExitPromise = reject;
|
|
89
|
+
}); // Unmount when process exits
|
|
90
|
+
|
|
91
|
+
this.unsubscribeExit = (0, _signalExit.default)(this.unmount, {
|
|
92
|
+
alwaysLast: false
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
onRender() {
|
|
97
|
+
if (this.isUnmounted) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const {
|
|
102
|
+
output,
|
|
103
|
+
outputHeight,
|
|
104
|
+
staticOutput
|
|
105
|
+
} = this.renderer(this.rootNode); // If <Static> output isn't empty, it means new children have been added to it
|
|
106
|
+
|
|
107
|
+
const hasStaticOutput = staticOutput && staticOutput !== '\n';
|
|
108
|
+
|
|
109
|
+
if (this.options.debug) {
|
|
110
|
+
if (hasStaticOutput) {
|
|
111
|
+
this.fullStaticOutput += staticOutput;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
this.options.stdout.write(this.fullStaticOutput + output);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (_isCi.default) {
|
|
119
|
+
if (hasStaticOutput) {
|
|
120
|
+
this.options.stdout.write(staticOutput);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
this.lastOutput = output;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (hasStaticOutput) {
|
|
128
|
+
this.fullStaticOutput += staticOutput;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (this.options.experimental && outputHeight >= this.options.stdout.rows) {
|
|
132
|
+
this.options.stdout.write(_ansiEscapes.default.clearTerminal + this.fullStaticOutput + output);
|
|
133
|
+
this.lastOutput = output;
|
|
134
|
+
return;
|
|
135
|
+
} // To ensure static output is cleanly rendered before main output, clear main output first
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
if (hasStaticOutput) {
|
|
139
|
+
this.log.clear();
|
|
140
|
+
this.options.stdout.write(staticOutput);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (output !== this.lastOutput) {
|
|
144
|
+
if (this.options.experimental) {
|
|
145
|
+
this.throttledLog(output);
|
|
146
|
+
} else {
|
|
147
|
+
this.log(output);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
render(node) {
|
|
153
|
+
const tree = _react.default.createElement(_App.default, {
|
|
154
|
+
stdin: this.options.stdin,
|
|
155
|
+
stdout: this.options.stdout,
|
|
156
|
+
exitOnCtrlC: this.options.exitOnCtrlC,
|
|
157
|
+
onExit: this.unmount
|
|
158
|
+
}, node);
|
|
159
|
+
|
|
160
|
+
if (this.options.experimental) {
|
|
161
|
+
_reconciler2.default.updateContainer(tree, this.container);
|
|
162
|
+
} else {
|
|
163
|
+
_reconciler.default.updateContainer(tree, this.container);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
unmount(error) {
|
|
168
|
+
if (this.isUnmounted) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
this.onRender();
|
|
173
|
+
this.unsubscribeExit(); // CIs don't handle erasing ansi escapes well, so it's better to
|
|
174
|
+
// only render last frame of non-static output
|
|
175
|
+
|
|
176
|
+
if (_isCi.default) {
|
|
177
|
+
this.options.stdout.write(this.lastOutput + '\n');
|
|
178
|
+
} else if (!this.options.debug) {
|
|
179
|
+
this.log.done();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
this.isUnmounted = true;
|
|
183
|
+
|
|
184
|
+
if (this.options.experimental) {
|
|
185
|
+
_reconciler2.default.updateContainer(null, this.container);
|
|
186
|
+
} else {
|
|
187
|
+
_reconciler.default.updateContainer(null, this.container);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
_instances.default.delete(this.options.stdout);
|
|
191
|
+
|
|
192
|
+
if (error instanceof Error) {
|
|
193
|
+
this.rejectExitPromise(error);
|
|
194
|
+
} else {
|
|
195
|
+
this.resolveExitPromise();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
waitUntilExit() {
|
|
200
|
+
return this.exitPromise;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
exports.default = Instance;
|
package/build/log-update.d.ts
CHANGED
package/build/log-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,CAAC;YACrC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;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,CAAC;YACjB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;QACzB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,EAAC,MAAM,EAAC,CAAC;AAC3B,eAAe,SAAS,CAAC"}
|
package/build/measure-element.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
const measureElement = (node) => ({
|
|
5
5
|
width: node.yogaNode?.getComputedWidth() ?? 0,
|
|
6
|
-
height: node.yogaNode?.getComputedHeight() ?? 0
|
|
6
|
+
height: node.yogaNode?.getComputedHeight() ?? 0,
|
|
7
7
|
});
|
|
8
8
|
export default measureElement;
|
|
9
9
|
//# sourceMappingURL=measure-element.js.map
|
package/build/measure-text.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,CAAC;QACvB,OAAO;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC;IACzB,CAAC;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"}
|