ninedeploy 0.5.1 → 0.6.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/dist/prompts.js CHANGED
@@ -1,58 +1,201 @@
1
1
  import process from 'node:process';
2
+ /**
3
+ * Line framing for stdin: a chunk may carry SEVERAL lines (a paste, or piped
4
+ * input in CI) and a line may be split across chunks. Complete lines queue in
5
+ * `lineBuffer` in FIFO order; the incomplete tail stays in `pendingTail` until
6
+ * its newline arrives or stdin ends. prompt()/promptHidden() pull from the
7
+ * queue, so a pasted block answers successive prompts in order instead of
8
+ * collapsing into one value with embedded newlines (r024).
9
+ *
10
+ * Exactly ONE 'data' listener is wired per stdin stream: chunks route to the
11
+ * active hidden prompt (raw keystrokes) or to the line framer — never both,
12
+ * or a pasted line would be delivered twice. When `process.stdin` itself is
13
+ * swapped (test suites install a fresh fake per case), the listeners and the
14
+ * stream-lifecycle state are re-armed on the next call.
15
+ */
16
+ let lineBuffer = [];
17
+ let pendingTail = '';
18
+ let eof = false;
19
+ let wiredStdin = null;
20
+ /** The exact handler references `attach()` registered on the current stdin. */
21
+ let wiredData = null;
22
+ let wiredEnd = null;
23
+ const lineWaiters = [];
24
+ /** At most one hidden prompt at a time; it consumes live keystrokes. */
25
+ let hiddenWaiter = null;
26
+ /** EOF handler while a hidden prompt is active (resolves what was typed). */
27
+ let hiddenOnEnd = null;
28
+ function handleData(chunk) {
29
+ pendingTail += chunk;
30
+ const lines = pendingTail.split(/\r?\n/);
31
+ pendingTail = lines.pop() ?? '';
32
+ lineBuffer.push(...lines);
33
+ flushLineWaiters();
34
+ }
35
+ function handleEnd() {
36
+ eof = true;
37
+ // A final line without its newline (piped input that omits it) still counts.
38
+ if (pendingTail !== '') {
39
+ lineBuffer.push(pendingTail);
40
+ pendingTail = '';
41
+ }
42
+ flushLineWaiters();
43
+ }
44
+ function flushLineWaiters() {
45
+ while (lineWaiters.length > 0 && (lineBuffer.length > 0 || eof)) {
46
+ const waiter = lineWaiters.shift();
47
+ waiter.deliver(lineBuffer.length > 0 ? lineBuffer.shift() : '');
48
+ }
49
+ }
50
+ function detach(oldStdin) {
51
+ // Remove the same function references `attach()` registered — removing
52
+ // different closures would be a silent no-op and leave live listeners on a
53
+ // swapped-out stream.
54
+ if (wiredData)
55
+ oldStdin.removeListener('data', wiredData);
56
+ if (wiredEnd)
57
+ oldStdin.removeListener('end', wiredEnd);
58
+ wiredData = null;
59
+ wiredEnd = null;
60
+ }
61
+ /**
62
+ * Wire the framer onto the CURRENT process.stdin. Re-arms when the stream
63
+ * object changes (fresh fake per test case); a no-op otherwise, so the real
64
+ * runtime keeps its queue and listeners across successive prompts.
65
+ */
66
+ function attach() {
67
+ const stdin = process.stdin;
68
+ if (wiredStdin === stdin)
69
+ return;
70
+ if (wiredStdin)
71
+ detach(wiredStdin);
72
+ wiredStdin = stdin;
73
+ // A different stream object is a fresh lifecycle.
74
+ lineBuffer = [];
75
+ pendingTail = '';
76
+ eof = false;
77
+ hiddenWaiter = null;
78
+ hiddenOnEnd = null;
79
+ stdin.setEncoding('utf8');
80
+ wiredData = (chunk) => {
81
+ if (hiddenWaiter)
82
+ hiddenWaiter(chunk);
83
+ else
84
+ handleData(chunk);
85
+ };
86
+ wiredEnd = () => {
87
+ if (hiddenOnEnd)
88
+ hiddenOnEnd();
89
+ else
90
+ handleEnd();
91
+ };
92
+ stdin.on('data', wiredData);
93
+ stdin.once('end', wiredEnd);
94
+ stdin.resume();
95
+ }
96
+ /** Shift one buffered line, or null when the queue is empty. */
97
+ function takeLine() {
98
+ return lineBuffer.length > 0 ? lineBuffer.shift() : null;
99
+ }
2
100
  /** Read a single line from stdin with normal echo. Honors an optional default. */
3
101
  export function prompt(message, defaultValue) {
4
102
  return new Promise((resolve) => {
5
- process.stdout.write(defaultValue ? `${message} [${defaultValue}]: ` : `${message}: `);
103
+ attach();
6
104
  process.stdin.resume();
7
- process.stdin.setEncoding('utf8');
8
- const onData = (chunk) => {
9
- process.stdin.pause();
10
- process.stdin.off('data', onData);
11
- process.stdin.off('end', onEnd);
12
- const value = String(chunk).replace(/\r?\n$/, '').trim();
13
- resolve(value.length ? value : (defaultValue ?? ''));
14
- };
15
- // EOF (piped stdin in CI): resolve with the default / empty instead of
16
- // hanging forever waiting for input that will never arrive.
17
- const onEnd = () => {
18
- process.stdin.off('data', onData);
19
- resolve(defaultValue ?? '');
105
+ const deliver = (line) => {
106
+ const t = line.trim();
107
+ resolve(t.length ? t : (defaultValue ?? ''));
20
108
  };
21
- process.stdin.once('data', onData);
22
- process.stdin.once('end', onEnd);
109
+ const buffered = takeLine();
110
+ if (buffered !== null) {
111
+ deliver(buffered);
112
+ return;
113
+ }
114
+ if (eof) {
115
+ deliver('');
116
+ return;
117
+ }
118
+ lineWaiters.push({ deliver });
119
+ process.stdout.write(defaultValue ? `${message} [${defaultValue}]: ` : `${message}: `);
23
120
  });
24
121
  }
25
122
  /** Read a single line from stdin without echoing (for passwords / secrets). */
26
123
  export function promptHidden(message) {
27
124
  return new Promise((resolve) => {
125
+ attach();
126
+ process.stdin.resume();
127
+ // A line already framed by a paste/piped write satisfies the prompt
128
+ // without entering raw mode. Stars preserve the historical echo.
129
+ const buffered = takeLine();
130
+ if (buffered !== null) {
131
+ process.stdout.write('*'.repeat(buffered.length) + '\n');
132
+ resolve(buffered);
133
+ return;
134
+ }
135
+ if (eof) {
136
+ process.stdout.write('\n');
137
+ resolve('');
138
+ return;
139
+ }
28
140
  const stdin = process.stdin;
29
141
  const isTTY = typeof stdin.setRawMode === 'function';
30
- process.stdout.write(`${message}: `);
31
- if (isTTY)
32
- stdin.setRawMode(true);
33
- stdin.resume();
34
- stdin.setEncoding('utf8');
35
142
  let data = '';
36
143
  const cleanup = () => {
37
144
  if (isTTY)
38
145
  stdin.setRawMode(false);
39
146
  stdin.pause();
40
- stdin.off('data', onData);
41
- stdin.off('end', onEnd);
147
+ hiddenWaiter = null;
148
+ hiddenOnEnd = null;
42
149
  };
43
- const onData = (chunk) => {
44
- for (const ch of chunk) {
45
- const code = ch.charCodeAt(0);
46
- if (code === 13 || code === 10) {
47
- // Enter
150
+ // Escape-sequence decoding state, carried across chunks: terminal control
151
+ // keys (arrows, Home, F1…) arrive as e.g. \x1b[A or \x1bOP — without
152
+ // decoding them, the printable bytes of the sequence would leak into the
153
+ // stored value.
154
+ let escaped = false;
155
+ let inCsi = false;
156
+ hiddenWaiter = (chunk) => {
157
+ for (let i = 0; i < chunk.length; i++) {
158
+ const code = chunk.charCodeAt(i);
159
+ if (escaped) {
160
+ escaped = false;
161
+ if (code >= 32 && code <= 126) {
162
+ // '[' opens a CSI sequence; any other printable byte opens a
163
+ // two-byte SS3-style sequence (function keys). Swallow the whole
164
+ // sequence. A control byte instead means the bare Escape key was
165
+ // pressed — fall through so Enter/Ctrl-C still work.
166
+ if (code === 91)
167
+ inCsi = true;
168
+ continue;
169
+ }
170
+ }
171
+ if (inCsi) {
172
+ // CSI sequences end with a final byte in 0x40–0x7E.
173
+ if (code >= 64 && code <= 126)
174
+ inCsi = false;
175
+ continue;
176
+ }
177
+ if (code === 27) {
178
+ escaped = true;
179
+ }
180
+ else if (code === 13 || code === 10) {
181
+ // Enter — deliver the hidden value; the rest of the chunk is the
182
+ // paste tail and must feed the line queue, not vanish (r024). A CRLF
183
+ // paste leaves a leading \n on that tail, which the framer would
184
+ // split into a spurious empty first line and shift every later
185
+ // answer — strip it here.
186
+ let rest = chunk.slice(i + 1);
187
+ if (code === 13 && rest.charCodeAt(0) === 10)
188
+ rest = rest.slice(1);
48
189
  cleanup();
49
190
  process.stdout.write('\n');
50
191
  resolve(data);
192
+ if (rest !== '')
193
+ handleData(rest);
51
194
  return;
52
195
  }
53
196
  else if (code === 3) {
54
- // Ctrl-C: standard "interrupted" exit code (130 = 128 + SIGINT),
55
- // and let cleanup run so raw mode is restored before exiting.
197
+ // Ctrl-C: standard "interrupted" exit code (130 = 128 + SIGINT);
198
+ // cleanup first so raw mode is restored before exiting.
56
199
  cleanup();
57
200
  process.stdout.write('\n');
58
201
  process.exit(130);
@@ -65,19 +208,32 @@ export function promptHidden(message) {
65
208
  }
66
209
  }
67
210
  else if (code >= 32 && code !== 127) {
68
- data += ch;
211
+ data += chunk[i];
69
212
  process.stdout.write('*');
70
213
  }
71
214
  }
72
215
  };
73
- // EOF (piped stdin): resolve with whatever was typed so far.
74
- const onEnd = () => {
216
+ hiddenOnEnd = () => {
217
+ // EOF (piped stdin): resolve with whatever was typed so far.
218
+ const typed = data;
219
+ const tail = pendingTail;
220
+ pendingTail = '';
75
221
  cleanup();
76
- process.stdout.write('\n');
77
- resolve(data);
222
+ eof = true;
223
+ if (typed !== '') {
224
+ process.stdout.write('*'.repeat(typed.length) + '\n');
225
+ resolve(typed);
226
+ }
227
+ else {
228
+ process.stdout.write('\n');
229
+ resolve('');
230
+ }
231
+ if (tail !== '')
232
+ handleData(tail);
78
233
  };
79
- stdin.on('data', onData);
80
- stdin.once('end', onEnd);
234
+ process.stdout.write(`${message}: `);
235
+ if (isTTY)
236
+ stdin.setRawMode(true);
81
237
  });
82
238
  }
83
239
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ninedeploy",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Interactive CLI for NineDeploy self-hosted PaaS",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,8 +19,8 @@
19
19
  "ninedeploy": "./dist/index.js"
20
20
  },
21
21
  "dependencies": {
22
- "@ninedeploy/sdk": "0.5.1",
23
- "@ninedeploy/schemas": "0.5.1",
22
+ "@ninedeploy/sdk": "0.6.0",
23
+ "@ninedeploy/schemas": "0.6.0",
24
24
  "commander": "^15.0.0",
25
25
  "ws": "^8.21.3"
26
26
  },