@chainlink/external-adapter-framework 2.13.0 → 2.13.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/README.md +1 -1
- package/generator-adapter/node_modules/.yarn-integrity +29 -33
- package/generator-adapter/node_modules/@inquirer/ansi/package.json +28 -26
- package/generator-adapter/node_modules/@inquirer/checkbox/dist/index.d.ts +6 -1
- package/generator-adapter/node_modules/@inquirer/checkbox/dist/index.js +30 -10
- package/generator-adapter/node_modules/@inquirer/checkbox/package.json +23 -21
- package/generator-adapter/node_modules/@inquirer/confirm/package.json +21 -19
- package/generator-adapter/node_modules/@inquirer/core/dist/index.d.ts +1 -1
- package/generator-adapter/node_modules/@inquirer/core/dist/index.js +1 -1
- package/generator-adapter/node_modules/@inquirer/core/dist/lib/create-prompt.js +51 -25
- package/generator-adapter/node_modules/@inquirer/core/dist/lib/key.d.ts +2 -0
- package/generator-adapter/node_modules/@inquirer/core/dist/lib/key.js +1 -0
- package/generator-adapter/node_modules/@inquirer/core/dist/lib/utils.js +1 -1
- package/generator-adapter/node_modules/@inquirer/core/package.json +22 -20
- package/generator-adapter/node_modules/@inquirer/editor/dist/index.d.ts +3 -0
- package/generator-adapter/node_modules/@inquirer/editor/dist/index.js +5 -5
- package/generator-adapter/node_modules/@inquirer/editor/package.json +22 -20
- package/generator-adapter/node_modules/@inquirer/expand/package.json +21 -19
- package/generator-adapter/node_modules/@inquirer/external-editor/package.json +33 -31
- package/generator-adapter/node_modules/@inquirer/figures/package.json +18 -16
- package/generator-adapter/node_modules/@inquirer/input/dist/index.js +5 -3
- package/generator-adapter/node_modules/@inquirer/input/package.json +21 -19
- package/generator-adapter/node_modules/@inquirer/number/package.json +21 -19
- package/generator-adapter/node_modules/@inquirer/password/dist/index.d.ts +6 -1
- package/generator-adapter/node_modules/@inquirer/password/dist/index.js +7 -2
- package/generator-adapter/node_modules/@inquirer/password/package.json +22 -20
- package/generator-adapter/node_modules/@inquirer/prompts/README.md +15 -0
- package/generator-adapter/node_modules/@inquirer/prompts/package.json +31 -29
- package/generator-adapter/node_modules/@inquirer/rawlist/README.md +4 -0
- package/generator-adapter/node_modules/@inquirer/rawlist/dist/index.d.ts +9 -2
- package/generator-adapter/node_modules/@inquirer/rawlist/dist/index.js +24 -7
- package/generator-adapter/node_modules/@inquirer/rawlist/package.json +21 -19
- package/generator-adapter/node_modules/@inquirer/search/README.md +2 -1
- package/generator-adapter/node_modules/@inquirer/search/dist/index.d.ts +1 -0
- package/generator-adapter/node_modules/@inquirer/search/dist/index.js +11 -4
- package/generator-adapter/node_modules/@inquirer/search/package.json +22 -20
- package/generator-adapter/node_modules/@inquirer/select/dist/index.d.ts +5 -2
- package/generator-adapter/node_modules/@inquirer/select/dist/index.js +28 -11
- package/generator-adapter/node_modules/@inquirer/select/package.json +23 -21
- package/generator-adapter/node_modules/@inquirer/type/package.json +18 -16
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.d.ts +0 -3
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js +1 -0
- package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/log.d.ts +0 -2
- package/generator-adapter/node_modules/@yeoman/adapter/dist/log.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +0 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +0 -1
- package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +1 -1
- package/generator-adapter/node_modules/@yeoman/adapter/package.json +11 -11
- package/generator-adapter/node_modules/ansi-styles/index.d.ts +341 -232
- package/generator-adapter/node_modules/ansi-styles/index.js +130 -190
- package/generator-adapter/node_modules/ansi-styles/license +1 -1
- package/generator-adapter/node_modules/ansi-styles/package.json +10 -8
- package/generator-adapter/node_modules/ansi-styles/readme.md +32 -53
- package/generator-adapter/node_modules/chalk/package.json +3 -3
- package/generator-adapter/node_modules/chalk/readme.md +25 -53
- package/generator-adapter/node_modules/chalk/source/index.d.ts +6 -1
- package/generator-adapter/node_modules/chalk/source/vendor/supports-color/browser.js +6 -2
- package/generator-adapter/node_modules/chalk/source/vendor/supports-color/index.js +10 -2
- package/generator-adapter/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/dist/index.js +111 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
- package/generator-adapter/node_modules/{p-queue/dist/options copy.js → fast-string-truncated-width/dist/types.js} +1 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/license +21 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/package.json +35 -0
- package/generator-adapter/node_modules/fast-string-truncated-width/readme.md +59 -0
- package/generator-adapter/node_modules/fast-string-width/dist/index.d.ts +4 -0
- package/generator-adapter/node_modules/fast-string-width/dist/index.js +14 -0
- package/generator-adapter/node_modules/fast-string-width/license +21 -0
- package/generator-adapter/node_modules/fast-string-width/package.json +34 -0
- package/generator-adapter/node_modules/fast-string-width/readme.md +42 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/LICENSE +23 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/README.md +26 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/lib/main.js +219 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/lib/main.js.map +1 -0
- package/generator-adapter/node_modules/fast-wrap-ansi/package.json +51 -0
- package/generator-adapter/node_modules/iconv-lite/lib/index.d.ts +114 -26
- package/generator-adapter/node_modules/iconv-lite/lib/index.js +39 -40
- package/generator-adapter/node_modules/iconv-lite/package.json +13 -2
- package/generator-adapter/node_modules/iconv-lite/types/encodings.d.ts +423 -0
- package/generator-adapter/node_modules/inquirer/dist/types.d.ts +12 -11
- package/generator-adapter/node_modules/inquirer/dist/ui/prompt.js +9 -1
- package/generator-adapter/node_modules/inquirer/dist/ui/skipped-renderer.d.ts +13 -0
- package/generator-adapter/node_modules/inquirer/dist/ui/skipped-renderer.js +57 -0
- package/generator-adapter/node_modules/inquirer/package.json +21 -19
- package/generator-adapter/node_modules/log-symbols/package.json +1 -1
- package/generator-adapter/node_modules/log-symbols/symbols.js +1 -1
- package/generator-adapter/node_modules/mem-fs/dist/index.d.ts +0 -2
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/LICENSE +21 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/README.md +447 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/index.js +346 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/lib/inspect-stream.js +13 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/lib/is-stream.js +15 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/lib/normalize.js +9 -0
- package/generator-adapter/node_modules/mem-fs/node_modules/vinyl/package.json +59 -0
- package/generator-adapter/node_modules/mem-fs/package.json +9 -9
- package/generator-adapter/node_modules/ora/index.d.ts +3 -1
- package/generator-adapter/node_modules/ora/index.js +299 -109
- package/generator-adapter/node_modules/ora/package.json +3 -4
- package/generator-adapter/node_modules/ora/readme.md +24 -0
- package/generator-adapter/node_modules/p-queue/dist/index.js +145 -22
- package/generator-adapter/node_modules/p-queue/dist/options.d.ts +17 -1
- package/generator-adapter/node_modules/p-queue/package.json +1 -1
- package/generator-adapter/node_modules/p-queue/readme.md +32 -1
- package/generator-adapter/node_modules/stdin-discarder/index.js +50 -22
- package/generator-adapter/node_modules/stdin-discarder/package.json +1 -1
- package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/package.json +3 -3
- package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/readme.md +53 -25
- package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/index.d.ts +1 -6
- package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/supports-color/browser.js +2 -6
- package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/supports-color/index.js +2 -10
- package/generator-adapter/package.json +2 -2
- package/package.json +4 -4
- package/transports/websocket.d.ts +5 -0
- package/transports/websocket.js +25 -13
- package/transports/websocket.js.map +1 -1
- package/generator-adapter/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/generator-adapter/node_modules/emoji-regex/README.md +0 -107
- package/generator-adapter/node_modules/emoji-regex/index.d.ts +0 -3
- package/generator-adapter/node_modules/emoji-regex/index.js +0 -4
- package/generator-adapter/node_modules/emoji-regex/index.mjs +0 -4
- package/generator-adapter/node_modules/emoji-regex/package.json +0 -45
- package/generator-adapter/node_modules/iconv-lite/Changelog.md +0 -236
- package/generator-adapter/node_modules/jake/node_modules/ansi-styles/index.d.ts +0 -345
- package/generator-adapter/node_modules/jake/node_modules/ansi-styles/index.js +0 -163
- package/generator-adapter/node_modules/jake/node_modules/ansi-styles/license +0 -9
- package/generator-adapter/node_modules/jake/node_modules/ansi-styles/package.json +0 -56
- package/generator-adapter/node_modules/jake/node_modules/ansi-styles/readme.md +0 -152
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser-symbols.js +0 -4
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser.js +0 -1
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/index.d.ts +0 -22
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/index.js +0 -1
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/license +0 -9
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/package.json +0 -60
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/readme.md +0 -39
- package/generator-adapter/node_modules/ora/node_modules/log-symbols/symbols.js +0 -14
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/index.d.ts +0 -15
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/index.js +0 -14
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/license +0 -9
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/package.json +0 -59
- package/generator-adapter/node_modules/ora/node_modules/strip-ansi/readme.md +0 -37
- package/generator-adapter/node_modules/p-queue/dist/options copy.d.ts +0 -121
- package/generator-adapter/node_modules/wrap-ansi/index.d.ts +0 -41
- package/generator-adapter/node_modules/wrap-ansi/index.js +0 -222
- package/generator-adapter/node_modules/wrap-ansi/license +0 -9
- package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/index.d.ts +0 -39
- package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/index.js +0 -82
- package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/license +0 -9
- package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/package.json +0 -64
- package/generator-adapter/node_modules/wrap-ansi/node_modules/string-width/readme.md +0 -66
- package/generator-adapter/node_modules/wrap-ansi/package.json +0 -69
- package/generator-adapter/node_modules/wrap-ansi/readme.md +0 -75
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/license +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/index.js +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/utilities.js +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -0
- /package/generator-adapter/node_modules/{ora → yeoman-generator}/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -0
|
@@ -6,6 +6,9 @@ import ScreenManager from "./screen-manager.js";
|
|
|
6
6
|
import { PromisePolyfill } from "./promise-polyfill.js";
|
|
7
7
|
import { withHooks, effectScheduler } from "./hook-engine.js";
|
|
8
8
|
import { AbortPromptError, CancelPromptError, ExitPromptError } from "./errors.js";
|
|
9
|
+
// Capture the real setImmediate at module load time so it works even when test
|
|
10
|
+
// frameworks mock timers with vi.useFakeTimers() or similar.
|
|
11
|
+
const nativeSetImmediate = globalThis.setImmediate;
|
|
9
12
|
function getCallSites() {
|
|
10
13
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
11
14
|
const _prepareStackTrace = Error.prepareStackTrace;
|
|
@@ -36,6 +39,10 @@ export function createPrompt(view) {
|
|
|
36
39
|
// Add mute capabilities to the output
|
|
37
40
|
const output = new MuteStream();
|
|
38
41
|
output.pipe(context.output ?? process.stdout);
|
|
42
|
+
// Pre-mute the output so that readline doesn't echo stale keystrokes
|
|
43
|
+
// to the terminal before the first render. ScreenManager will unmute/mute
|
|
44
|
+
// the output around each render call as needed.
|
|
45
|
+
output.mute();
|
|
39
46
|
const rl = readline.createInterface({
|
|
40
47
|
terminal: true,
|
|
41
48
|
input,
|
|
@@ -62,13 +69,6 @@ export function createPrompt(view) {
|
|
|
62
69
|
const sigint = () => reject(new ExitPromptError(`User force closed the prompt with SIGINT`));
|
|
63
70
|
rl.on('SIGINT', sigint);
|
|
64
71
|
cleanups.add(() => rl.removeListener('SIGINT', sigint));
|
|
65
|
-
// Re-renders only happen when the state change; but the readline cursor could change position
|
|
66
|
-
// and that also requires a re-render (and a manual one because we mute the streams).
|
|
67
|
-
// We set the listener after the initial workLoop to avoid a double render if render triggered
|
|
68
|
-
// by a state change sets the cursor to the right position.
|
|
69
|
-
const checkCursorPos = () => screen.checkCursorPos();
|
|
70
|
-
rl.input.on('keypress', checkCursorPos);
|
|
71
|
-
cleanups.add(() => rl.input.removeListener('keypress', checkCursorPos));
|
|
72
72
|
return withHooks(rl, (cycle) => {
|
|
73
73
|
// The close event triggers immediately when the user press ctrl+c. SignalExit on the other hand
|
|
74
74
|
// triggers after the process is done (which happens after timeouts are done triggering.)
|
|
@@ -76,25 +76,51 @@ export function createPrompt(view) {
|
|
|
76
76
|
const hooksCleanup = AsyncResource.bind(() => effectScheduler.clearAll());
|
|
77
77
|
rl.on('close', hooksCleanup);
|
|
78
78
|
cleanups.add(() => rl.removeListener('close', hooksCleanup));
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
const startCycle = () => {
|
|
80
|
+
// Re-renders only happen when the state change; but the readline cursor could
|
|
81
|
+
// change position and that also requires a re-render (and a manual one because
|
|
82
|
+
// we mute the streams). We set the listener after the initial workLoop to avoid
|
|
83
|
+
// a double render if render triggered by a state change sets the cursor to the
|
|
84
|
+
// right position.
|
|
85
|
+
const checkCursorPos = () => screen.checkCursorPos();
|
|
86
|
+
rl.input.on('keypress', checkCursorPos);
|
|
87
|
+
cleanups.add(() => rl.input.removeListener('keypress', checkCursorPos));
|
|
88
|
+
cycle(() => {
|
|
89
|
+
try {
|
|
90
|
+
const nextView = view(config, (value) => {
|
|
91
|
+
setImmediate(() => resolve(value));
|
|
92
|
+
});
|
|
93
|
+
// Typescript won't allow this, but not all users rely on typescript.
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
95
|
+
if (nextView === undefined) {
|
|
96
|
+
const callerFilename = callSites[1]?.getFileName();
|
|
97
|
+
throw new Error(`Prompt functions must return a string.\n at ${callerFilename}`);
|
|
98
|
+
}
|
|
99
|
+
const [content, bottomContent] = typeof nextView === 'string' ? [nextView] : nextView;
|
|
100
|
+
screen.render(content, bottomContent);
|
|
101
|
+
effectScheduler.run();
|
|
89
102
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
catch (error) {
|
|
104
|
+
reject(error);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
// Proper Readable streams (like process.stdin) may have OS-level buffered
|
|
109
|
+
// data that arrives in the poll phase when readline resumes the stream.
|
|
110
|
+
// Deferring the first render by one setImmediate tick (check phase, after
|
|
111
|
+
// poll) lets that stale data flow through readline harmlessly—no keypress
|
|
112
|
+
// handlers are registered yet and the output is muted, so the stale
|
|
113
|
+
// keystrokes are silently discarded.
|
|
114
|
+
// Old-style streams (like MuteStream) have no such buffering, so the
|
|
115
|
+
// render cycle starts immediately.
|
|
116
|
+
//
|
|
117
|
+
// @see https://github.com/SBoudrias/Inquirer.js/issues/1303
|
|
118
|
+
if ('readableFlowing' in input) {
|
|
119
|
+
nativeSetImmediate(startCycle);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
startCycle();
|
|
123
|
+
}
|
|
98
124
|
return Object.assign(promise
|
|
99
125
|
.then((answer) => {
|
|
100
126
|
effectScheduler.clearAll();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type KeypressEvent = {
|
|
2
2
|
name: string;
|
|
3
3
|
ctrl: boolean;
|
|
4
|
+
shift: boolean;
|
|
4
5
|
};
|
|
5
6
|
export type Keybinding = 'emacs' | 'vim';
|
|
6
7
|
export declare const isUpKey: (key: KeypressEvent, keybindings?: ReadonlyArray<Keybinding>) => boolean;
|
|
@@ -10,3 +11,4 @@ export declare const isBackspaceKey: (key: KeypressEvent) => boolean;
|
|
|
10
11
|
export declare const isTabKey: (key: KeypressEvent) => boolean;
|
|
11
12
|
export declare const isNumberKey: (key: KeypressEvent) => boolean;
|
|
12
13
|
export declare const isEnterKey: (key: KeypressEvent) => boolean;
|
|
14
|
+
export declare const isShiftKey: (key: KeypressEvent) => boolean;
|
|
@@ -17,3 +17,4 @@ export const isBackspaceKey = (key) => key.name === 'backspace';
|
|
|
17
17
|
export const isTabKey = (key) => key.name === 'tab';
|
|
18
18
|
export const isNumberKey = (key) => '1234567890'.includes(key.name);
|
|
19
19
|
export const isEnterKey = (key) => key.name === 'enter' || key.name === 'return';
|
|
20
|
+
export const isShiftKey = (key) => key.shift;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/core",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.1.5",
|
|
4
4
|
"description": "Core Inquirer prompt API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"answer",
|
|
@@ -42,40 +42,43 @@
|
|
|
42
42
|
"zsh"
|
|
43
43
|
],
|
|
44
44
|
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/core/README.md",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
45
47
|
"repository": {
|
|
46
48
|
"type": "git",
|
|
47
49
|
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
48
50
|
},
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
"files": [
|
|
52
|
+
"dist"
|
|
53
|
+
],
|
|
52
54
|
"type": "module",
|
|
55
|
+
"sideEffects": false,
|
|
53
56
|
"exports": {
|
|
54
|
-
"./package.json": "./package.json",
|
|
55
57
|
".": {
|
|
56
58
|
"types": "./dist/index.d.ts",
|
|
57
59
|
"default": "./dist/index.js"
|
|
58
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"./package.json": "./package.json"
|
|
62
|
+
},
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public"
|
|
59
65
|
},
|
|
60
|
-
"files": [
|
|
61
|
-
"dist"
|
|
62
|
-
],
|
|
63
66
|
"scripts": {
|
|
64
67
|
"tsc": "tsc"
|
|
65
68
|
},
|
|
66
69
|
"dependencies": {
|
|
67
|
-
"@inquirer/ansi": "^2.0.
|
|
68
|
-
"@inquirer/figures": "^2.0.
|
|
69
|
-
"@inquirer/type": "^4.0.
|
|
70
|
+
"@inquirer/ansi": "^2.0.3",
|
|
71
|
+
"@inquirer/figures": "^2.0.3",
|
|
72
|
+
"@inquirer/type": "^4.0.3",
|
|
70
73
|
"cli-width": "^4.1.0",
|
|
74
|
+
"fast-wrap-ansi": "^0.2.0",
|
|
71
75
|
"mute-stream": "^3.0.0",
|
|
72
|
-
"signal-exit": "^4.1.0"
|
|
73
|
-
"wrap-ansi": "^9.0.2"
|
|
76
|
+
"signal-exit": "^4.1.0"
|
|
74
77
|
},
|
|
75
78
|
"devDependencies": {
|
|
76
|
-
"@inquirer/testing": "^3.0
|
|
79
|
+
"@inquirer/testing": "^3.3.0",
|
|
77
80
|
"@types/mute-stream": "^0.0.4",
|
|
78
|
-
"@types/node": "^
|
|
81
|
+
"@types/node": "^25.0.2",
|
|
79
82
|
"typescript": "^5.9.3"
|
|
80
83
|
},
|
|
81
84
|
"peerDependencies": {
|
|
@@ -89,8 +92,7 @@
|
|
|
89
92
|
"engines": {
|
|
90
93
|
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
91
94
|
},
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"gitHead": "cce79ce3b9bbdfb4dbb798078cf3b94b9adc7d1b"
|
|
95
|
+
"main": "./dist/index.js",
|
|
96
|
+
"types": "./dist/index.d.ts",
|
|
97
|
+
"gitHead": "526eca2e64853510821ffd457561840ec0cbfb93"
|
|
96
98
|
}
|
|
@@ -3,6 +3,9 @@ import { type Theme } from '@inquirer/core';
|
|
|
3
3
|
import type { PartialDeep } from '@inquirer/type';
|
|
4
4
|
type EditorTheme = {
|
|
5
5
|
validationFailureMode: 'keep' | 'clear';
|
|
6
|
+
style: {
|
|
7
|
+
waitingMessage: (enterKey: string) => string;
|
|
8
|
+
};
|
|
6
9
|
};
|
|
7
10
|
type EditorConfig = {
|
|
8
11
|
message: string;
|
|
@@ -2,6 +2,9 @@ import { editAsync } from '@inquirer/external-editor';
|
|
|
2
2
|
import { createPrompt, useEffect, useState, useKeypress, usePrefix, isEnterKey, makeTheme, } from '@inquirer/core';
|
|
3
3
|
const editorTheme = {
|
|
4
4
|
validationFailureMode: 'keep',
|
|
5
|
+
style: {
|
|
6
|
+
waitingMessage: (enterKey) => `Press ${enterKey} to launch your preferred editor.`,
|
|
7
|
+
},
|
|
5
8
|
};
|
|
6
9
|
export default createPrompt((config, done) => {
|
|
7
10
|
const { waitForUserInput = true, file: { postfix = config.postfix ?? '.txt', ...fileProps } = {}, validate = () => true, } = config;
|
|
@@ -59,12 +62,9 @@ export default createPrompt((config, done) => {
|
|
|
59
62
|
});
|
|
60
63
|
const message = theme.style.message(config.message, status);
|
|
61
64
|
let helpTip = '';
|
|
62
|
-
if (status === '
|
|
63
|
-
helpTip = theme.style.help('Received');
|
|
64
|
-
}
|
|
65
|
-
else if (status === 'idle') {
|
|
65
|
+
if (status === 'idle') {
|
|
66
66
|
const enterKey = theme.style.key('enter');
|
|
67
|
-
helpTip = theme.style.help(
|
|
67
|
+
helpTip = theme.style.help(theme.style.waitingMessage(enterKey));
|
|
68
68
|
}
|
|
69
69
|
let error = '';
|
|
70
70
|
if (errorMsg) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/editor",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.8",
|
|
4
4
|
"description": "Inquirer multiline editor prompt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"answer",
|
|
@@ -42,42 +42,39 @@
|
|
|
42
42
|
"zsh"
|
|
43
43
|
],
|
|
44
44
|
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/editor/README.md",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
45
47
|
"repository": {
|
|
46
48
|
"type": "git",
|
|
47
49
|
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
48
50
|
},
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
"files": [
|
|
52
|
+
"dist"
|
|
53
|
+
],
|
|
52
54
|
"type": "module",
|
|
55
|
+
"sideEffects": false,
|
|
53
56
|
"exports": {
|
|
54
|
-
"./package.json": "./package.json",
|
|
55
57
|
".": {
|
|
56
58
|
"types": "./dist/index.d.ts",
|
|
57
59
|
"default": "./dist/index.js"
|
|
58
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"./package.json": "./package.json"
|
|
62
|
+
},
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public"
|
|
59
65
|
},
|
|
60
|
-
"files": [
|
|
61
|
-
"dist"
|
|
62
|
-
],
|
|
63
66
|
"scripts": {
|
|
64
67
|
"tsc": "tsc"
|
|
65
68
|
},
|
|
66
69
|
"dependencies": {
|
|
67
|
-
"@inquirer/core": "^11.
|
|
68
|
-
"@inquirer/external-editor": "^2.0.
|
|
69
|
-
"@inquirer/type": "^4.0.
|
|
70
|
+
"@inquirer/core": "^11.1.5",
|
|
71
|
+
"@inquirer/external-editor": "^2.0.3",
|
|
72
|
+
"@inquirer/type": "^4.0.3"
|
|
70
73
|
},
|
|
71
74
|
"devDependencies": {
|
|
72
|
-
"@inquirer/testing": "^3.0
|
|
75
|
+
"@inquirer/testing": "^3.3.0",
|
|
73
76
|
"typescript": "^5.9.3"
|
|
74
77
|
},
|
|
75
|
-
"engines": {
|
|
76
|
-
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
77
|
-
},
|
|
78
|
-
"publishConfig": {
|
|
79
|
-
"access": "public"
|
|
80
|
-
},
|
|
81
78
|
"peerDependencies": {
|
|
82
79
|
"@types/node": ">=18"
|
|
83
80
|
},
|
|
@@ -86,5 +83,10 @@
|
|
|
86
83
|
"optional": true
|
|
87
84
|
}
|
|
88
85
|
},
|
|
89
|
-
"
|
|
86
|
+
"engines": {
|
|
87
|
+
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
88
|
+
},
|
|
89
|
+
"main": "./dist/index.js",
|
|
90
|
+
"types": "./dist/index.d.ts",
|
|
91
|
+
"gitHead": "526eca2e64853510821ffd457561840ec0cbfb93"
|
|
90
92
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/expand",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.8",
|
|
4
4
|
"description": "Inquirer checkbox prompt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"answer",
|
|
@@ -42,41 +42,38 @@
|
|
|
42
42
|
"zsh"
|
|
43
43
|
],
|
|
44
44
|
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/expand/README.md",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
45
47
|
"repository": {
|
|
46
48
|
"type": "git",
|
|
47
49
|
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
48
50
|
},
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
"files": [
|
|
52
|
+
"dist"
|
|
53
|
+
],
|
|
52
54
|
"type": "module",
|
|
55
|
+
"sideEffects": false,
|
|
53
56
|
"exports": {
|
|
54
|
-
"./package.json": "./package.json",
|
|
55
57
|
".": {
|
|
56
58
|
"types": "./dist/index.d.ts",
|
|
57
59
|
"default": "./dist/index.js"
|
|
58
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"./package.json": "./package.json"
|
|
62
|
+
},
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public"
|
|
59
65
|
},
|
|
60
|
-
"files": [
|
|
61
|
-
"dist"
|
|
62
|
-
],
|
|
63
66
|
"scripts": {
|
|
64
67
|
"tsc": "tsc"
|
|
65
68
|
},
|
|
66
69
|
"dependencies": {
|
|
67
|
-
"@inquirer/core": "^11.
|
|
68
|
-
"@inquirer/type": "^4.0.
|
|
70
|
+
"@inquirer/core": "^11.1.5",
|
|
71
|
+
"@inquirer/type": "^4.0.3"
|
|
69
72
|
},
|
|
70
73
|
"devDependencies": {
|
|
71
|
-
"@inquirer/testing": "^3.0
|
|
74
|
+
"@inquirer/testing": "^3.3.0",
|
|
72
75
|
"typescript": "^5.9.3"
|
|
73
76
|
},
|
|
74
|
-
"engines": {
|
|
75
|
-
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
76
|
-
},
|
|
77
|
-
"publishConfig": {
|
|
78
|
-
"access": "public"
|
|
79
|
-
},
|
|
80
77
|
"peerDependencies": {
|
|
81
78
|
"@types/node": ">=18"
|
|
82
79
|
},
|
|
@@ -85,5 +82,10 @@
|
|
|
85
82
|
"optional": true
|
|
86
83
|
}
|
|
87
84
|
},
|
|
88
|
-
"
|
|
85
|
+
"engines": {
|
|
86
|
+
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
87
|
+
},
|
|
88
|
+
"main": "./dist/index.js",
|
|
89
|
+
"types": "./dist/index.d.ts",
|
|
90
|
+
"gitHead": "526eca2e64853510821ffd457561840ec0cbfb93"
|
|
89
91
|
}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/external-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Edit a string with the users preferred text editor using $VISUAL or $ENVIRONMENT",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"exports": {
|
|
7
|
-
"./package.json": "./package.json",
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"default": "./dist/index.js"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
16
|
-
},
|
|
17
5
|
"keywords": [
|
|
18
6
|
"answer",
|
|
19
7
|
"answers",
|
|
@@ -23,7 +11,10 @@
|
|
|
23
11
|
"command",
|
|
24
12
|
"command-line",
|
|
25
13
|
"confirm",
|
|
14
|
+
"editor",
|
|
26
15
|
"enquirer",
|
|
16
|
+
"external",
|
|
17
|
+
"external-editor",
|
|
27
18
|
"generate",
|
|
28
19
|
"generator",
|
|
29
20
|
"hyper",
|
|
@@ -49,31 +40,40 @@
|
|
|
49
40
|
"terminal",
|
|
50
41
|
"tty",
|
|
51
42
|
"ui",
|
|
43
|
+
"user",
|
|
44
|
+
"visual",
|
|
52
45
|
"yeoman",
|
|
53
46
|
"yo",
|
|
54
|
-
"zsh"
|
|
55
|
-
"editor",
|
|
56
|
-
"external",
|
|
57
|
-
"external-editor",
|
|
58
|
-
"user",
|
|
59
|
-
"visual"
|
|
47
|
+
"zsh"
|
|
60
48
|
],
|
|
61
|
-
"
|
|
62
|
-
|
|
49
|
+
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/external-editor/README.md",
|
|
50
|
+
"license": "MIT",
|
|
51
|
+
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
63
55
|
},
|
|
64
56
|
"files": [
|
|
65
57
|
"dist"
|
|
66
58
|
],
|
|
67
|
-
"
|
|
68
|
-
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
69
|
-
},
|
|
70
|
-
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
71
|
-
"license": "MIT",
|
|
59
|
+
"type": "module",
|
|
72
60
|
"sideEffects": false,
|
|
73
|
-
"
|
|
61
|
+
"exports": {
|
|
62
|
+
".": {
|
|
63
|
+
"types": "./dist/index.d.ts",
|
|
64
|
+
"default": "./dist/index.js"
|
|
65
|
+
},
|
|
66
|
+
"./package.json": "./package.json"
|
|
67
|
+
},
|
|
68
|
+
"publishConfig": {
|
|
69
|
+
"access": "public"
|
|
70
|
+
},
|
|
71
|
+
"scripts": {
|
|
72
|
+
"tsc": "tsc"
|
|
73
|
+
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"chardet": "^2.1.1",
|
|
76
|
-
"iconv-lite": "^0.7.
|
|
76
|
+
"iconv-lite": "^0.7.2"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@types/chardet": "^1.0.0",
|
|
@@ -87,8 +87,10 @@
|
|
|
87
87
|
"optional": true
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
|
-
"
|
|
91
|
-
"
|
|
90
|
+
"engines": {
|
|
91
|
+
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
92
92
|
},
|
|
93
|
-
"
|
|
93
|
+
"main": "./dist/index.js",
|
|
94
|
+
"types": "./dist/index.d.ts",
|
|
95
|
+
"gitHead": "99d00a9adc53be8b7edf5926b2ec4ba0b792f68f"
|
|
94
96
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/figures",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Vendored version of figures, for CJS compatibility",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"answer",
|
|
@@ -36,31 +36,34 @@
|
|
|
36
36
|
"stdout",
|
|
37
37
|
"terminal",
|
|
38
38
|
"tty",
|
|
39
|
+
"types",
|
|
40
|
+
"typescript",
|
|
39
41
|
"ui",
|
|
40
42
|
"yeoman",
|
|
41
43
|
"yo",
|
|
42
|
-
"zsh"
|
|
43
|
-
"types",
|
|
44
|
-
"typescript"
|
|
44
|
+
"zsh"
|
|
45
45
|
],
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"author": "Simon Boudrias <admin@simonboudrias.com>",
|
|
46
48
|
"repository": {
|
|
47
49
|
"type": "git",
|
|
48
50
|
"url": "https://github.com/SBoudrias/Inquirer.js.git"
|
|
49
51
|
},
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
"files": [
|
|
53
|
+
"dist"
|
|
54
|
+
],
|
|
53
55
|
"type": "module",
|
|
56
|
+
"sideEffects": false,
|
|
54
57
|
"exports": {
|
|
55
|
-
"./package.json": "./package.json",
|
|
56
58
|
".": {
|
|
57
59
|
"types": "./dist/index.d.ts",
|
|
58
60
|
"default": "./dist/index.js"
|
|
59
|
-
}
|
|
61
|
+
},
|
|
62
|
+
"./package.json": "./package.json"
|
|
63
|
+
},
|
|
64
|
+
"publishConfig": {
|
|
65
|
+
"access": "public"
|
|
60
66
|
},
|
|
61
|
-
"files": [
|
|
62
|
-
"dist"
|
|
63
|
-
],
|
|
64
67
|
"scripts": {
|
|
65
68
|
"tsc": "tsc"
|
|
66
69
|
},
|
|
@@ -70,8 +73,7 @@
|
|
|
70
73
|
"engines": {
|
|
71
74
|
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
|
72
75
|
},
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"gitHead": "cce79ce3b9bbdfb4dbb798078cf3b94b9adc7d1b"
|
|
76
|
+
"main": "./dist/index.js",
|
|
77
|
+
"types": "./dist/index.d.ts",
|
|
78
|
+
"gitHead": "99d00a9adc53be8b7edf5926b2ec4ba0b792f68f"
|
|
77
79
|
}
|
|
@@ -6,7 +6,9 @@ export default createPrompt((config, done) => {
|
|
|
6
6
|
const { prefill = 'tab' } = config;
|
|
7
7
|
const theme = makeTheme(inputTheme, config.theme);
|
|
8
8
|
const [status, setStatus] = useState('idle');
|
|
9
|
-
|
|
9
|
+
// Coerce to string to handle runtime values that may be numbers despite TypeScript types
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion
|
|
11
|
+
const [defaultValue, setDefaultValue] = useState(String(config.default ?? ''));
|
|
10
12
|
const [errorMsg, setError] = useState();
|
|
11
13
|
const [value, setValue] = useState('');
|
|
12
14
|
const prefix = usePrefix({ status, theme });
|
|
@@ -51,10 +53,10 @@ export default createPrompt((config, done) => {
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
else if (isBackspaceKey(key) && !value) {
|
|
54
|
-
setDefaultValue(
|
|
56
|
+
setDefaultValue('');
|
|
55
57
|
}
|
|
56
58
|
else if (isTabKey(key) && !value) {
|
|
57
|
-
setDefaultValue(
|
|
59
|
+
setDefaultValue('');
|
|
58
60
|
rl.clearLine(0); // Remove the tab character.
|
|
59
61
|
rl.write(defaultValue);
|
|
60
62
|
setValue(defaultValue);
|