@c9up/ream 0.2.26 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/HttpKernel.d.ts +5 -1
- package/dist/HttpKernel.d.ts.map +1 -1
- package/dist/HttpKernel.js +6 -6
- package/dist/HttpKernel.js.map +1 -1
- package/dist/Ignitor.d.ts +3 -1
- package/dist/Ignitor.d.ts.map +1 -1
- package/dist/Ignitor.js +94 -14
- package/dist/Ignitor.js.map +1 -1
- package/dist/console/prompts.d.ts.map +1 -1
- package/dist/console/prompts.js +34 -46
- package/dist/console/prompts.js.map +1 -1
- package/dist/console/selection.d.ts +54 -0
- package/dist/console/selection.d.ts.map +1 -0
- package/dist/console/selection.js +235 -0
- package/dist/console/selection.js.map +1 -0
- package/dist/dev/fullReload.d.ts +35 -10
- package/dist/dev/fullReload.d.ts.map +1 -1
- package/dist/dev/fullReload.js +55 -14
- package/dist/dev/fullReload.js.map +1 -1
- package/dist/dev/hotWatcher.d.ts +19 -3
- package/dist/dev/hotWatcher.d.ts.map +1 -1
- package/dist/dev/hotWatcher.js +168 -18
- package/dist/dev/hotWatcher.js.map +1 -1
- package/dist/dev/readyBanner.d.ts +45 -0
- package/dist/dev/readyBanner.d.ts.map +1 -0
- package/dist/dev/readyBanner.js +72 -0
- package/dist/dev/readyBanner.js.map +1 -0
- package/dist/dev/shortcuts.d.ts +41 -0
- package/dist/dev/shortcuts.d.ts.map +1 -0
- package/dist/dev/shortcuts.js +142 -0
- package/dist/dev/shortcuts.js.map +1 -0
- package/dist/errors/prettyPrintError.d.ts.map +1 -1
- package/dist/errors/prettyPrintError.js +5 -8
- package/dist/errors/prettyPrintError.js.map +1 -1
- package/dist/errors/renderError.d.ts +46 -0
- package/dist/errors/renderError.d.ts.map +1 -0
- package/dist/errors/renderError.js +197 -0
- package/dist/errors/renderError.js.map +1 -0
- package/dist/hot.js +12 -2
- package/dist/hot.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/native/generated.d.ts +34 -0
- package/dist/native/generated.d.ts.map +1 -1
- package/dist/profiler/MemoryProfileStore.d.ts +23 -0
- package/dist/profiler/MemoryProfileStore.d.ts.map +1 -0
- package/dist/profiler/MemoryProfileStore.js +70 -0
- package/dist/profiler/MemoryProfileStore.js.map +1 -0
- package/dist/profiler/Profiler.d.ts +56 -0
- package/dist/profiler/Profiler.d.ts.map +1 -0
- package/dist/profiler/Profiler.js +162 -0
- package/dist/profiler/Profiler.js.map +1 -0
- package/dist/profiler/collectors.d.ts +105 -0
- package/dist/profiler/collectors.d.ts.map +1 -0
- package/dist/profiler/collectors.js +164 -0
- package/dist/profiler/collectors.js.map +1 -0
- package/dist/profiler/endpoint.d.ts +27 -0
- package/dist/profiler/endpoint.d.ts.map +1 -0
- package/dist/profiler/endpoint.js +79 -0
- package/dist/profiler/endpoint.js.map +1 -0
- package/dist/profiler/index.d.ts +26 -0
- package/dist/profiler/index.d.ts.map +1 -0
- package/dist/profiler/index.js +41 -0
- package/dist/profiler/index.js.map +1 -0
- package/dist/profiler/middleware.d.ts +17 -0
- package/dist/profiler/middleware.d.ts.map +1 -0
- package/dist/profiler/middleware.js +79 -0
- package/dist/profiler/middleware.js.map +1 -0
- package/dist/profiler/render.d.ts +23 -0
- package/dist/profiler/render.d.ts.map +1 -0
- package/dist/profiler/render.js +141 -0
- package/dist/profiler/render.js.map +1 -0
- package/dist/profiler/toolbar.d.ts +34 -0
- package/dist/profiler/toolbar.d.ts.map +1 -0
- package/dist/profiler/toolbar.js +104 -0
- package/dist/profiler/toolbar.js.map +1 -0
- package/dist/profiler/types.d.ts +70 -0
- package/dist/profiler/types.d.ts.map +1 -0
- package/dist/profiler/types.js +11 -0
- package/dist/profiler/types.js.map +1 -0
- package/dist/router/Router.d.ts +11 -0
- package/dist/router/Router.d.ts.map +1 -1
- package/dist/router/Router.js +16 -0
- package/dist/router/Router.js.map +1 -1
- package/dist/server/Server.d.ts +37 -0
- package/dist/server/Server.d.ts.map +1 -1
- package/dist/server/Server.js +30 -0
- package/dist/server/Server.js.map +1 -1
- package/dist/session/Session.d.ts +33 -0
- package/dist/session/Session.d.ts.map +1 -1
- package/dist/session/Session.js +31 -2
- package/dist/session/Session.js.map +1 -1
- package/dist/session/SessionMiddleware.d.ts.map +1 -1
- package/dist/session/SessionMiddleware.js +24 -4
- package/dist/session/SessionMiddleware.js.map +1 -1
- package/dist/session/drivers/CookieDriver.d.ts +12 -3
- package/dist/session/drivers/CookieDriver.d.ts.map +1 -1
- package/dist/session/drivers/CookieDriver.js +20 -6
- package/dist/session/drivers/CookieDriver.js.map +1 -1
- package/dist/session/drivers/DatabaseDriver.d.ts +2 -0
- package/dist/session/drivers/DatabaseDriver.d.ts.map +1 -1
- package/dist/session/drivers/DatabaseDriver.js +6 -0
- package/dist/session/drivers/DatabaseDriver.js.map +1 -1
- package/dist/session/drivers/FileDriver.d.ts +8 -0
- package/dist/session/drivers/FileDriver.d.ts.map +1 -1
- package/dist/session/drivers/FileDriver.js +85 -11
- package/dist/session/drivers/FileDriver.js.map +1 -1
- package/dist/session/drivers/MemoryDriver.d.ts +2 -0
- package/dist/session/drivers/MemoryDriver.d.ts.map +1 -1
- package/dist/session/drivers/MemoryDriver.js +9 -0
- package/dist/session/drivers/MemoryDriver.js.map +1 -1
- package/dist/session/drivers/RedisDriver.d.ts +2 -0
- package/dist/session/drivers/RedisDriver.d.ts.map +1 -1
- package/dist/session/drivers/RedisDriver.js +6 -0
- package/dist/session/drivers/RedisDriver.js.map +1 -1
- package/dist/session/errors.d.ts +10 -0
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +12 -0
- package/dist/session/errors.js.map +1 -1
- package/events.darwin-arm64.node +0 -0
- package/events.darwin-x64.node +0 -0
- package/events.linux-arm64-gnu.node +0 -0
- package/events.linux-x64-gnu.node +0 -0
- package/events.win32-x64-msvc.node +0 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
- package/scheduler.darwin-arm64.node +0 -0
- package/scheduler.darwin-x64.node +0 -0
- package/scheduler.linux-arm64-gnu.node +0 -0
- package/scheduler.linux-x64-gnu.node +0 -0
- package/scheduler.win32-x64-msvc.node +0 -0
- package/src/HttpKernel.ts +12 -8
- package/src/Ignitor.ts +109 -15
- package/src/console/prompts.ts +45 -64
- package/src/console/selection.ts +274 -0
- package/src/dev/fullReload.ts +57 -15
- package/src/dev/hotWatcher.ts +165 -21
- package/src/dev/readyBanner.ts +84 -0
- package/src/dev/shortcuts.ts +158 -0
- package/src/errors/prettyPrintError.ts +5 -5
- package/src/errors/renderError.ts +230 -0
- package/src/hot.ts +12 -2
- package/src/index.ts +11 -1
- package/src/native/generated.ts +38 -0
- package/src/profiler/MemoryProfileStore.ts +75 -0
- package/src/profiler/Profiler.ts +182 -0
- package/src/profiler/collectors.ts +230 -0
- package/src/profiler/endpoint.ts +98 -0
- package/src/profiler/index.ts +56 -0
- package/src/profiler/middleware.ts +83 -0
- package/src/profiler/render.ts +173 -0
- package/src/profiler/toolbar.ts +106 -0
- package/src/profiler/types.ts +75 -0
- package/src/router/Router.ts +16 -0
- package/src/server/Server.ts +49 -0
- package/src/session/Session.ts +56 -2
- package/src/session/SessionMiddleware.ts +23 -4
- package/src/session/drivers/CookieDriver.ts +21 -6
- package/src/session/drivers/DatabaseDriver.ts +10 -0
- package/src/session/drivers/FileDriver.ts +91 -11
- package/src/session/drivers/MemoryDriver.ts +9 -0
- package/src/session/drivers/RedisDriver.ts +7 -0
- package/src/session/errors.ts +17 -0
package/dist/console/prompts.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import { stdin, stdout } from 'node:process';
|
|
12
12
|
import { clearLine, createInterface, cursorTo } from 'node:readline';
|
|
13
13
|
import { ReamError } from '../errors/ReamError.js';
|
|
14
|
+
import { runSelection } from './selection.js';
|
|
14
15
|
import { colourise } from './ui.js';
|
|
15
16
|
/**
|
|
16
17
|
* Scripted answer builder — Console's `prompt.trap(name)`.
|
|
@@ -129,21 +130,11 @@ export class Prompt {
|
|
|
129
130
|
await this.#validateSelection(picked, options, false);
|
|
130
131
|
return this.#applyResult(picked[0], options);
|
|
131
132
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
stdout.write(`${colourise('No match.', 'yellow')}\n`);
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
const first = matches[0];
|
|
141
|
-
if (matches.length === 1 && first !== undefined) {
|
|
142
|
-
return this.#finish(nameOf(first), options);
|
|
143
|
-
}
|
|
144
|
-
const picked = await this.#select(message, matches.slice(0, limit), { ...options, name: undefined }, false);
|
|
145
|
-
return picked[0];
|
|
146
|
-
}
|
|
133
|
+
// One list that narrows as you type, rather than a filter question
|
|
134
|
+
// followed by a list: upstream's autocomplete is a single prompt, and
|
|
135
|
+
// answering twice for one value is a different thing wearing its name.
|
|
136
|
+
const picked = await this.#select(message, choices, { ...options, name: undefined }, false, true, options.limit ?? 10);
|
|
137
|
+
return picked[0];
|
|
147
138
|
}
|
|
148
139
|
// ─── internals ──────────────────────────────────────────────
|
|
149
140
|
async #text(message, options, masked) {
|
|
@@ -163,7 +154,7 @@ export class Prompt {
|
|
|
163
154
|
return options.result ? options.result(value) : value;
|
|
164
155
|
}
|
|
165
156
|
}
|
|
166
|
-
async #select(message, choices, options, many) {
|
|
157
|
+
async #select(message, choices, options, many, filter, limit) {
|
|
167
158
|
if (choices.length === 0) {
|
|
168
159
|
throw new ReamError('E_CONSOLE_EMPTY_CHOICES', `"${message}" was asked with no options.`);
|
|
169
160
|
}
|
|
@@ -175,39 +166,36 @@ export class Prompt {
|
|
|
175
166
|
await this.#validateSelection(picked, options, many);
|
|
176
167
|
return many ? picked : picked.map((value) => this.#applyResult(value, options));
|
|
177
168
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
: [options.default]
|
|
181
|
-
.flat()
|
|
182
|
-
.map((index) => {
|
|
183
|
-
const choice = choices[index];
|
|
184
|
-
return choice === undefined ? String(index) : displayOf(choice);
|
|
185
|
-
})
|
|
186
|
-
.join(', ');
|
|
169
|
+
// Arrow keys, as upstream's prompts navigate. The list redraws in place
|
|
170
|
+
// until the user answers; a cancel is no answer, not an empty one.
|
|
187
171
|
for (;;) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
172
|
+
const outcome = await runSelection({
|
|
173
|
+
title: this.#label(message, { ...options, default: undefined }).trimEnd(),
|
|
174
|
+
items: choices.map((choice) => {
|
|
175
|
+
const hint = typeof choice === 'string' ? undefined : choice.hint;
|
|
176
|
+
return hint === undefined
|
|
177
|
+
? { label: displayOf(choice) }
|
|
178
|
+
: { label: displayOf(choice), hint };
|
|
179
|
+
}),
|
|
180
|
+
many,
|
|
181
|
+
...(options.default === undefined
|
|
182
|
+
? {}
|
|
183
|
+
: {
|
|
184
|
+
selected: [options.default]
|
|
185
|
+
.flat()
|
|
186
|
+
.filter((index) => Number.isInteger(index) && index >= 0 && index < choices.length),
|
|
187
|
+
}),
|
|
188
|
+
...(filter === true ? { filter: true } : {}),
|
|
189
|
+
...(limit === undefined ? {} : { limit }),
|
|
193
190
|
});
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const indexes = answer === '' && options.default !== undefined
|
|
199
|
-
? [options.default]
|
|
200
|
-
.flat()
|
|
201
|
-
.filter((index) => Number.isInteger(index) && index >= 0 && index < choices.length)
|
|
202
|
-
: answer
|
|
203
|
-
.split(',')
|
|
204
|
-
.map((part) => Number(part.trim()) - 1)
|
|
205
|
-
.filter((index) => Number.isInteger(index) && index >= 0 && index < choices.length);
|
|
206
|
-
if (indexes.length === 0 || (!many && indexes.length !== 1)) {
|
|
207
|
-
stdout.write(`${colourise('Invalid selection.', 'yellow')}\n`);
|
|
208
|
-
continue;
|
|
191
|
+
if (outcome.kind === 'cancelled') {
|
|
192
|
+
throw new ReamError('E_CONSOLE_PROMPT_CANCELLED', `"${message}" was cancelled.`, {
|
|
193
|
+
hint: 'Answer the prompt, or pass the value as a flag.',
|
|
194
|
+
});
|
|
209
195
|
}
|
|
210
|
-
|
|
196
|
+
// A multiple with nothing ticked is an answer of none, which is only
|
|
197
|
+
// valid if the command says so — `validate` is where that is decided.
|
|
198
|
+
const picked = outcome.indexes.map((index) => nameOf(choices[index]));
|
|
211
199
|
const problem = await this.#selectionProblem(picked, options, many);
|
|
212
200
|
if (problem !== undefined) {
|
|
213
201
|
stdout.write(`${colourise(problem, 'yellow')}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/console/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/console/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Picking from a list with the arrow keys.
|
|
3
|
+
*
|
|
4
|
+
* Upstream's prompts are enquirer, so its selection prompts navigate: up and
|
|
5
|
+
* down move a pointer, space ticks a box, enter answers. Typing a number
|
|
6
|
+
* instead — which is what this package did — is the same prompt only in the
|
|
7
|
+
* sense that it eventually returns a value.
|
|
8
|
+
*
|
|
9
|
+
* Written here rather than taken from a package, for the reason lumen was
|
|
10
|
+
* written rather than `@poppinss/cliui` taken: a dev-time dependency is a
|
|
11
|
+
* dependency every application installs. What a selection prompt needs is
|
|
12
|
+
* bounded — raw mode, five keys, and redrawing in place — and it is all below.
|
|
13
|
+
*
|
|
14
|
+
* Only ever entered on a TTY. A prompt with nothing to read from is refused
|
|
15
|
+
* before this by the caller, which is what makes the loop here able to assume
|
|
16
|
+
* a terminal.
|
|
17
|
+
*/
|
|
18
|
+
/** One line of the list, as the renderer needs it. */
|
|
19
|
+
export interface SelectionItem {
|
|
20
|
+
label: string;
|
|
21
|
+
hint?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SelectionOptions {
|
|
24
|
+
/** Printed above the list. */
|
|
25
|
+
title: string;
|
|
26
|
+
items: readonly SelectionItem[];
|
|
27
|
+
/** Tick boxes and let several be picked. */
|
|
28
|
+
many?: boolean;
|
|
29
|
+
/** Where the pointer starts, and what is ticked to begin with. */
|
|
30
|
+
selected?: readonly number[];
|
|
31
|
+
/** Type to narrow the list — the autocomplete case. */
|
|
32
|
+
filter?: boolean;
|
|
33
|
+
/** How many lines of the list to show at once. */
|
|
34
|
+
limit?: number;
|
|
35
|
+
/** Where the keys come from. Defaults to this process's stdin. */
|
|
36
|
+
input?: NodeJS.ReadStream;
|
|
37
|
+
/** Where the list is drawn. Defaults to this process's stdout. */
|
|
38
|
+
output?: NodeJS.WriteStream;
|
|
39
|
+
}
|
|
40
|
+
/** What the user did. Cancelling is not an empty answer, it is no answer. */
|
|
41
|
+
export type SelectionResult = {
|
|
42
|
+
kind: 'picked';
|
|
43
|
+
indexes: number[];
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'cancelled';
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Run the list until the user answers.
|
|
49
|
+
*
|
|
50
|
+
* Resolves with the chosen indexes, in the order they were ticked for a
|
|
51
|
+
* multiple — the order the user built them in is the order they expect back.
|
|
52
|
+
*/
|
|
53
|
+
export declare function runSelection(options: SelectionOptions): Promise<SelectionResult>;
|
|
54
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/console/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;IAC/B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,kEAAkE;IAClE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;CAC5B;AAED,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAA;AAY3F;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA0IhF"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Picking from a list with the arrow keys.
|
|
3
|
+
*
|
|
4
|
+
* Upstream's prompts are enquirer, so its selection prompts navigate: up and
|
|
5
|
+
* down move a pointer, space ticks a box, enter answers. Typing a number
|
|
6
|
+
* instead — which is what this package did — is the same prompt only in the
|
|
7
|
+
* sense that it eventually returns a value.
|
|
8
|
+
*
|
|
9
|
+
* Written here rather than taken from a package, for the reason lumen was
|
|
10
|
+
* written rather than `@poppinss/cliui` taken: a dev-time dependency is a
|
|
11
|
+
* dependency every application installs. What a selection prompt needs is
|
|
12
|
+
* bounded — raw mode, five keys, and redrawing in place — and it is all below.
|
|
13
|
+
*
|
|
14
|
+
* Only ever entered on a TTY. A prompt with nothing to read from is refused
|
|
15
|
+
* before this by the caller, which is what makes the loop here able to assume
|
|
16
|
+
* a terminal.
|
|
17
|
+
*/
|
|
18
|
+
import { stdin, stdout } from 'node:process';
|
|
19
|
+
import { clearLine, cursorTo, moveCursor } from 'node:readline';
|
|
20
|
+
import { ReamError } from '../errors/ReamError.js';
|
|
21
|
+
import { colourise } from './ui.js';
|
|
22
|
+
const ARROW_UP = '\u001B[A';
|
|
23
|
+
const ARROW_DOWN = '\u001B[B';
|
|
24
|
+
const ARROW_LEFT = '\u001B[D';
|
|
25
|
+
const ARROW_RIGHT = '\u001B[C';
|
|
26
|
+
const ENTER = ['\r', '\n'];
|
|
27
|
+
const CTRL_C = '\u0003';
|
|
28
|
+
const CTRL_D = '\u0004';
|
|
29
|
+
const ESCAPE = '\u001B';
|
|
30
|
+
const BACKSPACE = ['\u0008', '\u007F'];
|
|
31
|
+
/**
|
|
32
|
+
* Run the list until the user answers.
|
|
33
|
+
*
|
|
34
|
+
* Resolves with the chosen indexes, in the order they were ticked for a
|
|
35
|
+
* multiple — the order the user built them in is the order they expect back.
|
|
36
|
+
*/
|
|
37
|
+
export function runSelection(options) {
|
|
38
|
+
if (options.items.length === 0) {
|
|
39
|
+
return Promise.reject(new ReamError('E_CONSOLE_EMPTY_CHOICES', `"${options.title}" was asked with no options.`));
|
|
40
|
+
}
|
|
41
|
+
const input = options.input ?? stdin;
|
|
42
|
+
const output = options.output ?? stdout;
|
|
43
|
+
const state = {
|
|
44
|
+
// The pointer starts on the default rather than at the top: for a single
|
|
45
|
+
// choice that IS the default, since enter takes whatever it is on.
|
|
46
|
+
cursor: Math.max(0, options.selected?.[0] ?? 0),
|
|
47
|
+
ticked: new Set(options.selected ?? []),
|
|
48
|
+
query: '',
|
|
49
|
+
/** Lines drawn last time, so the next draw can wipe exactly those. */
|
|
50
|
+
drawn: 0,
|
|
51
|
+
};
|
|
52
|
+
const limit = Math.max(1, options.limit ?? 10);
|
|
53
|
+
const visible = () => {
|
|
54
|
+
if (options.filter !== true || state.query === '')
|
|
55
|
+
return options.items.map((_, i) => i);
|
|
56
|
+
const needle = state.query.toLowerCase();
|
|
57
|
+
return options.items
|
|
58
|
+
.map((_, index) => index)
|
|
59
|
+
.filter((index) => (options.items[index]?.label ?? '').toLowerCase().includes(needle));
|
|
60
|
+
};
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
const finish = (result) => {
|
|
63
|
+
erase(output, state.drawn);
|
|
64
|
+
teardown();
|
|
65
|
+
resolve(result);
|
|
66
|
+
};
|
|
67
|
+
const onData = (chunk) => {
|
|
68
|
+
const key = chunk.toString();
|
|
69
|
+
const shown = visible();
|
|
70
|
+
if (key === CTRL_C || key === CTRL_D || key === ESCAPE) {
|
|
71
|
+
finish({ kind: 'cancelled' });
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (ENTER.includes(key)) {
|
|
75
|
+
if (options.many === true) {
|
|
76
|
+
finish({ kind: 'picked', indexes: [...state.ticked] });
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const index = shown[state.cursor];
|
|
80
|
+
// Enter on a filter that matches nothing answers nothing: there is no
|
|
81
|
+
// line under the pointer to take.
|
|
82
|
+
if (index === undefined)
|
|
83
|
+
return;
|
|
84
|
+
finish({ kind: 'picked', indexes: [index] });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (key === ARROW_UP) {
|
|
88
|
+
state.cursor = state.cursor === 0 ? shown.length - 1 : state.cursor - 1;
|
|
89
|
+
}
|
|
90
|
+
else if (key === ARROW_DOWN) {
|
|
91
|
+
state.cursor = state.cursor === shown.length - 1 ? 0 : state.cursor + 1;
|
|
92
|
+
}
|
|
93
|
+
else if (options.many === true && key === ' ') {
|
|
94
|
+
const index = shown[state.cursor];
|
|
95
|
+
if (index !== undefined) {
|
|
96
|
+
if (state.ticked.has(index))
|
|
97
|
+
state.ticked.delete(index);
|
|
98
|
+
else
|
|
99
|
+
state.ticked.add(index);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else if (options.many === true && (key === ARROW_LEFT || key === ARROW_RIGHT)) {
|
|
103
|
+
// Upstream's multiple ticks and unticks with left and right too.
|
|
104
|
+
const index = shown[state.cursor];
|
|
105
|
+
if (index !== undefined) {
|
|
106
|
+
if (key === ARROW_RIGHT)
|
|
107
|
+
state.ticked.add(index);
|
|
108
|
+
else
|
|
109
|
+
state.ticked.delete(index);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (options.filter === true && BACKSPACE.includes(key)) {
|
|
113
|
+
state.query = state.query.slice(0, -1);
|
|
114
|
+
state.cursor = 0;
|
|
115
|
+
}
|
|
116
|
+
else if (options.filter === true && isTypable(key)) {
|
|
117
|
+
state.query += key;
|
|
118
|
+
state.cursor = 0;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// A key nothing is bound to must not redraw: a mouse event arrives as
|
|
122
|
+
// a burst of escape sequences, and redrawing on each one flickers.
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
draw();
|
|
126
|
+
};
|
|
127
|
+
const draw = () => {
|
|
128
|
+
erase(output, state.drawn);
|
|
129
|
+
const shown = visible();
|
|
130
|
+
if (state.cursor >= shown.length)
|
|
131
|
+
state.cursor = Math.max(0, shown.length - 1);
|
|
132
|
+
const lines = [heading(options, state.query)];
|
|
133
|
+
const window = windowOf(shown.length, state.cursor, limit);
|
|
134
|
+
for (let row = window.start; row < window.end; row++) {
|
|
135
|
+
const index = shown[row];
|
|
136
|
+
if (index === undefined)
|
|
137
|
+
continue;
|
|
138
|
+
const item = options.items[index];
|
|
139
|
+
if (item === undefined)
|
|
140
|
+
continue;
|
|
141
|
+
lines.push(renderItem(item, row === state.cursor, options.many === true, state.ticked.has(index)));
|
|
142
|
+
}
|
|
143
|
+
if (shown.length === 0)
|
|
144
|
+
lines.push(colourise(' no match', 'dim'));
|
|
145
|
+
if (shown.length > window.end - window.start) {
|
|
146
|
+
lines.push(colourise(` … ${shown.length - (window.end - window.start)} more`, 'dim'));
|
|
147
|
+
}
|
|
148
|
+
for (const line of lines)
|
|
149
|
+
output.write(`${line}\n`);
|
|
150
|
+
state.drawn = lines.length;
|
|
151
|
+
};
|
|
152
|
+
const teardown = () => {
|
|
153
|
+
input.removeListener('data', onData);
|
|
154
|
+
if (input.isTTY)
|
|
155
|
+
input.setRawMode(false);
|
|
156
|
+
input.pause();
|
|
157
|
+
};
|
|
158
|
+
try {
|
|
159
|
+
if (!input.isTTY) {
|
|
160
|
+
throw new ReamError('E_CONSOLE_NOT_INTERACTIVE', `Cannot prompt for "${options.title}" — stdin is not interactive.`, { hint: 'Pass the value as a flag, or script the answer with prompt.trap(name).' });
|
|
161
|
+
}
|
|
162
|
+
input.setRawMode(true);
|
|
163
|
+
input.resume();
|
|
164
|
+
input.on('data', onData);
|
|
165
|
+
draw();
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
teardown();
|
|
169
|
+
reject(error);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/** The title line, with what has been typed so far when there is a filter. */
|
|
174
|
+
function heading(options, query) {
|
|
175
|
+
const help = options.many === true
|
|
176
|
+
? colourise(' (space to pick, enter to confirm)', 'dim')
|
|
177
|
+
: colourise(' (use arrow keys)', 'dim');
|
|
178
|
+
const typed = options.filter === true && query !== '' ? ` ${colourise(query, 'cyan')}` : '';
|
|
179
|
+
return `${colourise('?', 'green')} ${options.title}${typed}${help}`;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* One line of the list.
|
|
183
|
+
*
|
|
184
|
+
* A pointer says where you are; a box, only on a multiple, says what is
|
|
185
|
+
* taken. Without the box a multiple has no way to show four ticks at once,
|
|
186
|
+
* which is the whole of what it is for.
|
|
187
|
+
*/
|
|
188
|
+
function renderItem(item, underCursor, many, ticked) {
|
|
189
|
+
const pointer = underCursor ? colourise('❯', 'cyan') : ' ';
|
|
190
|
+
const box = many ? `${ticked ? colourise('◉', 'cyan') : '◯'} ` : '';
|
|
191
|
+
const label = underCursor ? colourise(item.label, 'cyan') : item.label;
|
|
192
|
+
const hint = item.hint === undefined ? '' : colourise(` — ${item.hint}`, 'dim');
|
|
193
|
+
return `${pointer} ${box}${label}${hint}`;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Which slice of a long list to show.
|
|
197
|
+
*
|
|
198
|
+
* Kept around the cursor rather than paged: a pointer that walks off the
|
|
199
|
+
* bottom and reappears at the top of a new page loses the reader.
|
|
200
|
+
*/
|
|
201
|
+
function windowOf(total, cursor, limit) {
|
|
202
|
+
if (total <= limit)
|
|
203
|
+
return { start: 0, end: total };
|
|
204
|
+
const half = Math.floor(limit / 2);
|
|
205
|
+
const start = Math.min(Math.max(0, cursor - half), total - limit);
|
|
206
|
+
return { start, end: start + limit };
|
|
207
|
+
}
|
|
208
|
+
/** Wipe the lines drawn last time, so the next draw replaces them. */
|
|
209
|
+
function erase(output, lines) {
|
|
210
|
+
if (lines === 0)
|
|
211
|
+
return;
|
|
212
|
+
for (let row = 0; row < lines; row++) {
|
|
213
|
+
moveCursor(output, 0, -1);
|
|
214
|
+
cursorTo(output, 0);
|
|
215
|
+
clearLine(output, 0);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Printable text, and not an escape sequence.
|
|
220
|
+
*
|
|
221
|
+
* A chunk, not a character: typing quickly — or pasting — delivers several at
|
|
222
|
+
* once, and a filter that took only single-character chunks silently dropped
|
|
223
|
+
* everything typed faster than the event loop.
|
|
224
|
+
*/
|
|
225
|
+
function isTypable(chunk) {
|
|
226
|
+
if (chunk.length === 0)
|
|
227
|
+
return false;
|
|
228
|
+
for (const character of chunk) {
|
|
229
|
+
const code = character.codePointAt(0) ?? 0;
|
|
230
|
+
if (code < 0x20 || code === 0x7f)
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/console/selection.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/fullReload.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* What the dev server says when a file changed.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Upstream's vocabulary, read off `@adonisjs/assembler`'s build rather than
|
|
5
|
+
* invented: a module the loader swapped in place is `invalidated <path>`, and
|
|
6
|
+
* one that could not be — so the process restarts — is `update <path>`. The
|
|
7
|
+
* word is green, the path is not, and that is the whole line.
|
|
8
|
+
*
|
|
9
|
+
* It used to carry the reason as well: which `hotHook` entry the file fell
|
|
10
|
+
* outside of. That read well the first time and was noise every time after,
|
|
11
|
+
* and it is not what upstream prints. What the reason existed for — a boot
|
|
12
|
+
* banner appearing twice with nothing to explain it — is answered by the line
|
|
13
|
+
* being there at all.
|
|
14
|
+
*
|
|
15
|
+
* The terminal is cleared first, as upstream clears it, so the logs after a
|
|
16
|
+
* restart are the only ones on screen. `ream dev --no-clear` turns it off —
|
|
17
|
+
* `ace serve --no-clear` is the same flag for the same reason.
|
|
9
18
|
*
|
|
10
19
|
* Kept apart from the loader entry so it can be tested: importing that entry
|
|
11
20
|
* registers module hooks, which a test cannot undo.
|
|
@@ -13,11 +22,27 @@
|
|
|
13
22
|
/** Why a change could not be swapped in place. */
|
|
14
23
|
export type ReloadReason = 'outside-boundaries' | 'restart-list';
|
|
15
24
|
/**
|
|
16
|
-
*
|
|
25
|
+
* Wipe the terminal, the way upstream does before a restart.
|
|
26
|
+
*
|
|
27
|
+
* `\u001Bc` is the full reset upstream writes, not a scroll — the point is
|
|
28
|
+
* that what follows is the only thing on screen. Off when the dev server was
|
|
29
|
+
* started with `--no-clear`, and off when nothing is watching a terminal at
|
|
30
|
+
* all: writing escape codes into a pipe leaves them in the file.
|
|
31
|
+
*/
|
|
32
|
+
export declare function clearScreen(): void;
|
|
33
|
+
/**
|
|
34
|
+
* The line printed when a module was swapped in the running process.
|
|
17
35
|
*
|
|
18
36
|
* @param file - absolute path of the file that changed.
|
|
19
|
-
* @param relativise - turns it into the path the editor shows
|
|
20
|
-
|
|
37
|
+
* @param relativise - turns it into the path the editor shows.
|
|
38
|
+
*/
|
|
39
|
+
export declare function invalidatedNotice(file: string, relativise: (file: string) => string): string;
|
|
40
|
+
/**
|
|
41
|
+
* The line printed before the process restarts.
|
|
42
|
+
*
|
|
43
|
+
* `reason` is not in the text — it is what the caller already decided, and
|
|
44
|
+
* upstream prints one word — but it stays in the signature because the caller
|
|
45
|
+
* has it and a future line may want it.
|
|
21
46
|
*/
|
|
22
|
-
export declare function fullReloadNotice(file: string,
|
|
47
|
+
export declare function fullReloadNotice(file: string, _reason: ReloadReason, relativise: (file: string) => string): string;
|
|
23
48
|
//# sourceMappingURL=fullReload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullReload.d.ts","sourceRoot":"","sources":["../../src/dev/fullReload.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fullReload.d.ts","sourceRoot":"","sources":["../../src/dev/fullReload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,kDAAkD;AAClD,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAahE;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAE5F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAER"}
|
package/dist/dev/fullReload.js
CHANGED
|
@@ -1,26 +1,67 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* What the dev server says when a file changed.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Upstream's vocabulary, read off `@adonisjs/assembler`'s build rather than
|
|
5
|
+
* invented: a module the loader swapped in place is `invalidated <path>`, and
|
|
6
|
+
* one that could not be — so the process restarts — is `update <path>`. The
|
|
7
|
+
* word is green, the path is not, and that is the whole line.
|
|
8
|
+
*
|
|
9
|
+
* It used to carry the reason as well: which `hotHook` entry the file fell
|
|
10
|
+
* outside of. That read well the first time and was noise every time after,
|
|
11
|
+
* and it is not what upstream prints. What the reason existed for — a boot
|
|
12
|
+
* banner appearing twice with nothing to explain it — is answered by the line
|
|
13
|
+
* being there at all.
|
|
14
|
+
*
|
|
15
|
+
* The terminal is cleared first, as upstream clears it, so the logs after a
|
|
16
|
+
* restart are the only ones on screen. `ream dev --no-clear` turns it off —
|
|
17
|
+
* `ace serve --no-clear` is the same flag for the same reason.
|
|
9
18
|
*
|
|
10
19
|
* Kept apart from the loader entry so it can be tested: importing that entry
|
|
11
20
|
* registers module hooks, which a test cannot undo.
|
|
12
21
|
*/
|
|
22
|
+
import { ansiColors, silentColors, supportsColor } from '@c9up/lumen';
|
|
23
|
+
/**
|
|
24
|
+
* Coloured only when the stream takes colour.
|
|
25
|
+
*
|
|
26
|
+
* Decided per call rather than once at import: this module is loaded by the
|
|
27
|
+
* hot entry long before anything knows where its output goes, and a cached
|
|
28
|
+
* answer would be the wrong one for a piped run.
|
|
29
|
+
*/
|
|
30
|
+
function colors() {
|
|
31
|
+
return supportsColor(process.stdout) ? ansiColors() : silentColors();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Wipe the terminal, the way upstream does before a restart.
|
|
35
|
+
*
|
|
36
|
+
* `\u001Bc` is the full reset upstream writes, not a scroll — the point is
|
|
37
|
+
* that what follows is the only thing on screen. Off when the dev server was
|
|
38
|
+
* started with `--no-clear`, and off when nothing is watching a terminal at
|
|
39
|
+
* all: writing escape codes into a pipe leaves them in the file.
|
|
40
|
+
*/
|
|
41
|
+
export function clearScreen() {
|
|
42
|
+
if (process.env.REAM_DEV_CLEAR_SCREEN === 'false')
|
|
43
|
+
return;
|
|
44
|
+
if (!process.stdout.isTTY)
|
|
45
|
+
return;
|
|
46
|
+
process.stdout.write('\u001Bc');
|
|
47
|
+
}
|
|
13
48
|
/**
|
|
14
|
-
* The line
|
|
49
|
+
* The line printed when a module was swapped in the running process.
|
|
15
50
|
*
|
|
16
51
|
* @param file - absolute path of the file that changed.
|
|
17
|
-
* @param relativise - turns it into the path the editor shows
|
|
18
|
-
|
|
52
|
+
* @param relativise - turns it into the path the editor shows.
|
|
53
|
+
*/
|
|
54
|
+
export function invalidatedNotice(file, relativise) {
|
|
55
|
+
return `${colors().green('invalidated')} ${relativise(file)}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The line printed before the process restarts.
|
|
59
|
+
*
|
|
60
|
+
* `reason` is not in the text — it is what the caller already decided, and
|
|
61
|
+
* upstream prints one word — but it stays in the signature because the caller
|
|
62
|
+
* has it and a future line may want it.
|
|
19
63
|
*/
|
|
20
|
-
export function fullReloadNotice(file,
|
|
21
|
-
|
|
22
|
-
? ' (it is on `hotHook.restart`, which always restarts)'
|
|
23
|
-
: ' (nothing importing it is inside a `hotHook.boundaries` entry, so it could not be swapped)';
|
|
24
|
-
return `[ream] full reload — ${relativise(file)}${why}`;
|
|
64
|
+
export function fullReloadNotice(file, _reason, relativise) {
|
|
65
|
+
return `${colors().green('update')} ${relativise(file)}`;
|
|
25
66
|
}
|
|
26
67
|
//# sourceMappingURL=fullReload.js.map
|