ink 5.0.0 → 5.1.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/build/apply-styles.js +175 -0
- package/build/build-layout.js +77 -0
- package/build/calculate-wrapped-text.js +53 -0
- package/build/components/App.d.ts +0 -2
- package/build/components/App.js +2 -2
- package/build/components/App.js.map +1 -1
- package/build/components/AppContext.d.ts +0 -1
- package/build/components/Box.d.ts +22 -22
- package/build/components/Color.js +62 -0
- package/build/components/FocusContext.d.ts +0 -1
- package/build/components/StderrContext.d.ts +0 -2
- package/build/components/StdinContext.d.ts +0 -3
- package/build/components/StdoutContext.d.ts +0 -2
- package/build/devtools-window-polyfill.js +3 -9
- package/build/devtools-window-polyfill.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/hooks/useInput.js +38 -0
- package/build/ink.d.ts +0 -1
- package/build/ink.js +5 -7
- package/build/ink.js.map +1 -1
- package/build/instance.js +205 -0
- package/build/instances.d.ts +0 -1
- package/build/log-update.d.ts +0 -1
- package/build/parse-keypress.d.ts +0 -1
- package/build/reconciler.js +2 -2
- package/build/reconciler.js.map +1 -1
- package/build/render.d.ts +0 -5
- package/build/styles.d.ts +1 -1
- package/build/styles.js +3 -0
- package/build/styles.js.map +1 -1
- package/build/wrap-text.d.ts +1 -1
- package/package.json +21 -22
- package/readme.md +13 -5
|
@@ -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/instances.d.ts
CHANGED
package/build/log-update.d.ts
CHANGED
package/build/reconciler.js
CHANGED
|
@@ -23,7 +23,7 @@ $ npm install --save-dev react-devtools-core
|
|
|
23
23
|
`.trim() + '\n');
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/only-throw-error
|
|
27
27
|
throw error;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -38,7 +38,7 @@ const diff = (before, after) => {
|
|
|
38
38
|
const changed = {};
|
|
39
39
|
let isChanged = false;
|
|
40
40
|
for (const key of Object.keys(before)) {
|
|
41
|
-
const isDeleted = after ? !Object.
|
|
41
|
+
const isDeleted = after ? !Object.hasOwn(after, key) : true;
|
|
42
42
|
if (isDeleted) {
|
|
43
43
|
changed[key] = undefined;
|
|
44
44
|
isChanged = true;
|
package/build/reconciler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,IAA6B,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACN,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,YAAY,GAKZ,MAAM,UAAU,CAAC;AAClB,OAAO,WAA0B,MAAM,aAAa,CAAC;AAGrD,gEAAgE;AAChE,gDAAgD;AAChD,qDAAqD;AACrD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;IACnC,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACX;;;;;;;KAOC,CAAC,IAAI,EAAE,GAAG,IAAI,CACf,CAAC;QACH,CAAC;aAAM,CAAC;YACP,+DAA+D;YAC/D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;AACF,CAAC;AAID,MAAM,IAAI,GAAG,CAAC,MAAiB,EAAE,KAAgB,EAAyB,EAAE;IAC3E,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO;IACR,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
|
package/build/render.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
4
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
5
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
6
1
|
import type { ReactNode } from 'react';
|
|
7
2
|
import Ink from './ink.js';
|
|
8
3
|
export type RenderOptions = {
|
package/build/styles.d.ts
CHANGED
|
@@ -112,7 +112,7 @@ export type Styles = {
|
|
|
112
112
|
* It defines the alignment along the main axis.
|
|
113
113
|
* See [justify-content](https://css-tricks.com/almanac/properties/j/justify-content/).
|
|
114
114
|
*/
|
|
115
|
-
readonly justifyContent?: 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'center';
|
|
115
|
+
readonly justifyContent?: 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'center';
|
|
116
116
|
/**
|
|
117
117
|
* Width of the element in spaces.
|
|
118
118
|
* You can also set it in percent, which will calculate the width based on the width of parent element.
|
package/build/styles.js
CHANGED
|
@@ -140,6 +140,9 @@ const applyFlexStyles = (node, style) => {
|
|
|
140
140
|
if (style.justifyContent === 'space-around') {
|
|
141
141
|
node.setJustifyContent(Yoga.JUSTIFY_SPACE_AROUND);
|
|
142
142
|
}
|
|
143
|
+
if (style.justifyContent === 'space-evenly') {
|
|
144
|
+
node.setJustifyContent(Yoga.JUSTIFY_SPACE_EVENLY);
|
|
145
|
+
}
|
|
143
146
|
}
|
|
144
147
|
};
|
|
145
148
|
const applyDimensionStyles = (node, style) => {
|
package/build/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA,OAAO,IAA6B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA,OAAO,IAA6B,MAAM,oBAAoB,CAAC;AA8S/D,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IACnE,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CACnB,KAAK,CAAC,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,sBAAsB;YAC7B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAC9B,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IACjE,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IAClE,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IAC/D,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CACjB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACP,oFAAoF;YACpF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED,IAAI,gBAAgB,IAAI,KAAK,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,cAAc,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACpE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IACpE,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;IAED,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IAClE,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CACd,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAChE,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IACjE,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,KAAa,EAAQ,EAAE;IAC9D,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAc,EAAE,QAAgB,EAAE,EAAQ,EAAE;IAC3D,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/build/wrap-text.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ink",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "React for CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "vadimdemedes/ink",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@alcalzone/ansi-tokenize": "^0.1.3",
|
|
47
|
-
"ansi-escapes": "^
|
|
47
|
+
"ansi-escapes": "^7.0.0",
|
|
48
48
|
"ansi-styles": "^6.2.1",
|
|
49
49
|
"auto-bind": "^5.0.1",
|
|
50
50
|
"chalk": "^5.3.0",
|
|
@@ -52,54 +52,53 @@
|
|
|
52
52
|
"cli-cursor": "^4.0.0",
|
|
53
53
|
"cli-truncate": "^4.0.0",
|
|
54
54
|
"code-excerpt": "^4.0.0",
|
|
55
|
+
"es-toolkit": "^1.22.0",
|
|
55
56
|
"indent-string": "^5.0.0",
|
|
56
|
-
"is-in-ci": "^
|
|
57
|
-
"lodash": "^4.17.21",
|
|
57
|
+
"is-in-ci": "^1.0.0",
|
|
58
58
|
"patch-console": "^2.0.0",
|
|
59
59
|
"react-reconciler": "^0.29.0",
|
|
60
60
|
"scheduler": "^0.23.0",
|
|
61
61
|
"signal-exit": "^3.0.7",
|
|
62
62
|
"slice-ansi": "^7.1.0",
|
|
63
63
|
"stack-utils": "^2.0.6",
|
|
64
|
-
"string-width": "^7.
|
|
65
|
-
"type-fest": "^4.
|
|
64
|
+
"string-width": "^7.2.0",
|
|
65
|
+
"type-fest": "^4.27.0",
|
|
66
66
|
"widest-line": "^5.0.0",
|
|
67
67
|
"wrap-ansi": "^9.0.0",
|
|
68
|
-
"ws": "^8.
|
|
68
|
+
"ws": "^8.18.0",
|
|
69
69
|
"yoga-wasm-web": "~0.3.3"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@faker-js/faker": "^
|
|
73
|
-
"@sindresorhus/tsconfig": "^
|
|
72
|
+
"@faker-js/faker": "^9.2.0",
|
|
73
|
+
"@sindresorhus/tsconfig": "^6.0.0",
|
|
74
74
|
"@types/benchmark": "^2.1.2",
|
|
75
|
-
"@types/lodash": "^4.14.202",
|
|
76
75
|
"@types/ms": "^0.7.31",
|
|
77
|
-
"@types/node": "^
|
|
78
|
-
"@types/react": "^18.
|
|
76
|
+
"@types/node": "^22.9.0",
|
|
77
|
+
"@types/react": "^18.3.12",
|
|
79
78
|
"@types/react-reconciler": "^0.28.2",
|
|
80
|
-
"@types/scheduler": "^0.
|
|
79
|
+
"@types/scheduler": "^0.23.0",
|
|
81
80
|
"@types/signal-exit": "^3.0.0",
|
|
82
|
-
"@types/sinon": "^
|
|
81
|
+
"@types/sinon": "^17.0.3",
|
|
83
82
|
"@types/stack-utils": "^2.0.2",
|
|
84
|
-
"@types/ws": "^8.5.
|
|
83
|
+
"@types/ws": "^8.5.13",
|
|
85
84
|
"@vdemedes/prettier-config": "^2.0.1",
|
|
86
85
|
"ava": "^5.1.1",
|
|
87
|
-
"boxen": "^
|
|
86
|
+
"boxen": "^8.0.1",
|
|
88
87
|
"delay": "^6.0.0",
|
|
89
88
|
"eslint-config-xo-react": "0.27.0",
|
|
90
|
-
"eslint-plugin-react": "^7.
|
|
91
|
-
"eslint-plugin-react-hooks": "
|
|
89
|
+
"eslint-plugin-react": "^7.37.2",
|
|
90
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
92
91
|
"ms": "^2.1.3",
|
|
93
92
|
"node-pty": "^1.0.0",
|
|
94
93
|
"p-queue": "^8.0.0",
|
|
95
|
-
"prettier": "^3.
|
|
94
|
+
"prettier": "^3.3.3",
|
|
96
95
|
"react": "^18.0.0",
|
|
97
96
|
"react-devtools-core": "^5.0.0",
|
|
98
|
-
"sinon": "^
|
|
97
|
+
"sinon": "^19.0.2",
|
|
99
98
|
"strip-ansi": "^7.1.0",
|
|
100
99
|
"ts-node": "^10.9.2",
|
|
101
|
-
"typescript": "^5.
|
|
102
|
-
"xo": "^0.
|
|
100
|
+
"typescript": "^5.6.3",
|
|
101
|
+
"xo": "^0.59.3"
|
|
103
102
|
},
|
|
104
103
|
"peerDependencies": {
|
|
105
104
|
"@types/react": ">=18.0.0",
|
package/readme.md
CHANGED
|
@@ -97,6 +97,7 @@ Feel free to play around with the code and fork this repl at [https://repl.it/@v
|
|
|
97
97
|
- [Splash](https://github.com/Shopify/polaris-react/tree/master/scripts/splash) - Observe the splash zone of a change across the Shopify's [Polaris](https://polaris.shopify.com) component library.
|
|
98
98
|
- [emoj](https://github.com/sindresorhus/emoj) - Find relevant emojis.
|
|
99
99
|
- [emma](https://github.com/maticzav/emma-cli) - Find and install npm packages.
|
|
100
|
+
- [npm-check-extras](https://github.com/akgondber/npm-check-extras) - Check for outdated and unused dependencies, and run update/delete action over selected ones.
|
|
100
101
|
- [swiff](https://github.com/simple-integrated-marketing/swiff) - Multi-environment command line tools for time-saving web developers.
|
|
101
102
|
- [share](https://github.com/marionebl/share-cli) - Quickly share files.
|
|
102
103
|
- [Kubelive](https://github.com/ameerthehacker/kubelive) - CLI for Kubernetes to provide live data about the cluster and its resources.
|
|
@@ -116,6 +117,8 @@ Feel free to play around with the code and fork this repl at [https://repl.it/@v
|
|
|
116
117
|
- [Shopify CLI](https://github.com/Shopify/cli) - Build apps, themes, and storefronts for Shopify.
|
|
117
118
|
- [ToDesktop CLI](https://www.todesktop.com/electron) - An all-in-one platform for building Electron apps.
|
|
118
119
|
- [Walle](https://github.com/Pobepto/walle) - Full-featured crypto wallet for EVM networks.
|
|
120
|
+
- [Sudoku](https://github.com/mrozio13pl/sudoku-in-terminal) - Sudoku game.
|
|
121
|
+
- [Sea Trader](https://github.com/zyishai/sea-trader) - Taipan! inspired trading simulator game.
|
|
119
122
|
|
|
120
123
|
## Contents
|
|
121
124
|
|
|
@@ -835,7 +838,7 @@ See [align-self](https://css-tricks.com/almanac/properties/a/align-self/).
|
|
|
835
838
|
##### justifyContent
|
|
836
839
|
|
|
837
840
|
Type: `string`\
|
|
838
|
-
Allowed values: `flex-start` `center` `flex-end` `space-between` `space-around`
|
|
841
|
+
Allowed values: `flex-start` `center` `flex-end` `space-between` `space-around` `space-evenly`
|
|
839
842
|
|
|
840
843
|
See [justify-content](https://css-tricks.com/almanac/properties/j/justify-content/).
|
|
841
844
|
|
|
@@ -866,6 +869,12 @@ See [justify-content](https://css-tricks.com/almanac/properties/j/justify-conten
|
|
|
866
869
|
<Text>Y</Text>
|
|
867
870
|
</Box>
|
|
868
871
|
// [ X Y ]
|
|
872
|
+
|
|
873
|
+
<Box justifyContent="space-evenly">
|
|
874
|
+
<Text>X</Text>
|
|
875
|
+
<Text>Y</Text>
|
|
876
|
+
</Box>
|
|
877
|
+
// [ X Y ]
|
|
869
878
|
```
|
|
870
879
|
|
|
871
880
|
#### Visibility
|
|
@@ -1252,7 +1261,7 @@ const Example = () => {
|
|
|
1252
1261
|
}
|
|
1253
1262
|
]);
|
|
1254
1263
|
|
|
1255
|
-
setTimeout(run, 100);
|
|
1264
|
+
timer = setTimeout(run, 100);
|
|
1256
1265
|
}
|
|
1257
1266
|
};
|
|
1258
1267
|
|
|
@@ -1844,7 +1853,7 @@ const Example = () => {
|
|
|
1844
1853
|
|
|
1845
1854
|
Switch focus to the next focusable component.
|
|
1846
1855
|
If there's no active component right now, focus will be given to the first focusable component.
|
|
1847
|
-
If active component is the last in the list of focusable components, focus will be switched to the first component.
|
|
1856
|
+
If active component is the last in the list of focusable components, focus will be switched to the first active component.
|
|
1848
1857
|
|
|
1849
1858
|
**Note:** Ink calls this method when user presses <kbd>Tab</kbd>.
|
|
1850
1859
|
|
|
@@ -2078,8 +2087,7 @@ Check out [ink-testing-library](https://github.com/vadimdemedes/ink-testing-libr
|
|
|
2078
2087
|
|
|
2079
2088
|

|
|
2080
2089
|
|
|
2081
|
-
Ink supports [React Devtools](https://github.com/facebook/react/tree/master/packages/react-devtools) out-of-the-box.
|
|
2082
|
-
To enable integration with React Devtools in your Ink-based CLI, run it with `DEV=true` environment variable:
|
|
2090
|
+
Ink supports [React Devtools](https://github.com/facebook/react/tree/master/packages/react-devtools) out-of-the-box. To enable integration with React Devtools in your Ink-based CLI, first ensure you have installed the optional `react-devtools-core` dependency, and then run your app with `DEV=true` environment variable:
|
|
2083
2091
|
|
|
2084
2092
|
```sh
|
|
2085
2093
|
DEV=true my-cli
|