jspm 2.0.0-beta.7 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +26 -32
- package/dist/cli.js +1416 -0
- package/jspm.js +10 -0
- package/package.json +32 -60
- package/CHANGELOG.md +0 -25
- package/bin/jspm +0 -46
- package/lib/api.d.ts +0 -10
- package/lib/api.js +0 -71
- package/lib/api.js.map +0 -1
- package/lib/build/index.d.ts +0 -24
- package/lib/build/index.js +0 -163
- package/lib/build/index.js.map +0 -1
- package/lib/cli.d.ts +0 -1
- package/lib/cli.js +0 -701
- package/lib/cli.js.map +0 -1
- package/lib/compile/cjs-convert.d.ts +0 -7
- package/lib/compile/cjs-convert.js +0 -375
- package/lib/compile/cjs-convert.js.map +0 -1
- package/lib/compile/dew-resolve.d.ts +0 -9
- package/lib/compile/dew-resolve.js +0 -117
- package/lib/compile/dew-resolve.js.map +0 -1
- package/lib/compile/dew-worker.d.ts +0 -1
- package/lib/compile/dew-worker.js +0 -302
- package/lib/compile/dew-worker.js.map +0 -1
- package/lib/config/config-file.d.ts +0 -67
- package/lib/config/config-file.js +0 -591
- package/lib/config/config-file.js.map +0 -1
- package/lib/config/global-config-file.d.ts +0 -8
- package/lib/config/global-config-file.js +0 -89
- package/lib/config/global-config-file.js.map +0 -1
- package/lib/config/index.d.ts +0 -15
- package/lib/config/index.js +0 -59
- package/lib/config/index.js.map +0 -1
- package/lib/config/jspm-file.d.ts +0 -8
- package/lib/config/jspm-file.js +0 -84
- package/lib/config/jspm-file.js.map +0 -1
- package/lib/config/package-json-file.d.ts +0 -49
- package/lib/config/package-json-file.js +0 -332
- package/lib/config/package-json-file.js.map +0 -1
- package/lib/exec/index.d.ts +0 -12
- package/lib/exec/index.js +0 -117
- package/lib/exec/index.js.map +0 -1
- package/lib/install/bin.d.ts +0 -2
- package/lib/install/bin.js +0 -85
- package/lib/install/bin.js.map +0 -1
- package/lib/install/binary-build.d.ts +0 -2
- package/lib/install/binary-build.js +0 -89
- package/lib/install/binary-build.js.map +0 -1
- package/lib/install/fetch.d.ts +0 -53
- package/lib/install/fetch.js +0 -270
- package/lib/install/fetch.js.map +0 -1
- package/lib/install/index.d.ts +0 -66
- package/lib/install/index.js +0 -1164
- package/lib/install/index.js.map +0 -1
- package/lib/install/package.d.ts +0 -142
- package/lib/install/package.js +0 -625
- package/lib/install/package.js.map +0 -1
- package/lib/install/publish.d.ts +0 -14
- package/lib/install/publish.js +0 -186
- package/lib/install/publish.js.map +0 -1
- package/lib/install/registry-manager.d.ts +0 -134
- package/lib/install/registry-manager.js +0 -521
- package/lib/install/registry-manager.js.map +0 -1
- package/lib/install/source.d.ts +0 -10
- package/lib/install/source.js +0 -378
- package/lib/install/source.js.map +0 -1
- package/lib/map/common.d.ts +0 -12
- package/lib/map/common.js +0 -182
- package/lib/map/common.js.map +0 -1
- package/lib/map/esm-lexer.d.ts +0 -17
- package/lib/map/esm-lexer.js +0 -506
- package/lib/map/esm-lexer.js.map +0 -1
- package/lib/map/index.d.ts +0 -15
- package/lib/map/index.js +0 -336
- package/lib/map/index.js.map +0 -1
- package/lib/map/utils.d.ts +0 -10
- package/lib/map/utils.js +0 -169
- package/lib/map/utils.js.map +0 -1
- package/lib/overrides.d.ts +0 -3
- package/lib/overrides.js +0 -29
- package/lib/overrides.js.map +0 -1
- package/lib/project.d.ts +0 -71
- package/lib/project.js +0 -434
- package/lib/project.js.map +0 -1
- package/lib/utils/cache.d.ts +0 -11
- package/lib/utils/cache.js +0 -121
- package/lib/utils/cache.js.map +0 -1
- package/lib/utils/common.d.ts +0 -55
- package/lib/utils/common.js +0 -267
- package/lib/utils/common.js.map +0 -1
- package/lib/utils/opts.d.ts +0 -6
- package/lib/utils/opts.js +0 -200
- package/lib/utils/opts.js.map +0 -1
- package/lib/utils/run-cmd.d.ts +0 -4
- package/lib/utils/run-cmd.js +0 -39
- package/lib/utils/run-cmd.js.map +0 -1
- package/lib/utils/ui.d.ts +0 -38
- package/lib/utils/ui.js +0 -496
- package/lib/utils/ui.js.map +0 -1
package/lib/utils/ui.js
DELETED
|
@@ -1,496 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/*
|
|
4
|
-
* Copyright 2014-2019 Guy Bedford (http://guybedford.com)
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this file except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*/
|
|
18
|
-
const chalk_1 = require("chalk");
|
|
19
|
-
const readline = require("readline");
|
|
20
|
-
const stream = require("stream");
|
|
21
|
-
const ora = require("ora");
|
|
22
|
-
const common_1 = require("./common");
|
|
23
|
-
let logging = true;
|
|
24
|
-
let logBuffer = '';
|
|
25
|
-
let errBuffer = '';
|
|
26
|
-
let logged = false;
|
|
27
|
-
class MutableStdout extends stream.Writable {
|
|
28
|
-
constructor() {
|
|
29
|
-
super(...arguments);
|
|
30
|
-
this.muted = false;
|
|
31
|
-
}
|
|
32
|
-
_write(chunk, encoding, callback) {
|
|
33
|
-
if (!this.muted)
|
|
34
|
-
process.stdout.write(chunk, encoding);
|
|
35
|
-
callback();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const mutableStdout = new MutableStdout();
|
|
39
|
-
var LogType;
|
|
40
|
-
(function (LogType) {
|
|
41
|
-
LogType[LogType["none"] = 0] = "none";
|
|
42
|
-
LogType[LogType["err"] = 1] = "err";
|
|
43
|
-
LogType[LogType["warn"] = 2] = "warn";
|
|
44
|
-
LogType[LogType["ok"] = 3] = "ok";
|
|
45
|
-
LogType[LogType["info"] = 4] = "info";
|
|
46
|
-
LogType[LogType["debug"] = 5] = "debug";
|
|
47
|
-
LogType[LogType["status"] = 6] = "status";
|
|
48
|
-
})(LogType = exports.LogType || (exports.LogType = {}));
|
|
49
|
-
;
|
|
50
|
-
exports.logLevel = LogType.info;
|
|
51
|
-
// if muting any logs, dump them on exit
|
|
52
|
-
let inputRedact;
|
|
53
|
-
process.on('exit', () => {
|
|
54
|
-
if (spinning && hiddenCnt === 0)
|
|
55
|
-
spinner.clear();
|
|
56
|
-
if (inputRedact) {
|
|
57
|
-
console.log('');
|
|
58
|
-
inputRedact();
|
|
59
|
-
}
|
|
60
|
-
if (logBuffer)
|
|
61
|
-
process.stdout.write(logBuffer);
|
|
62
|
-
if (errBuffer)
|
|
63
|
-
process.stderr.write(errBuffer);
|
|
64
|
-
});
|
|
65
|
-
// use the default option in all prompts
|
|
66
|
-
// throws an error for prompts that don't take a default
|
|
67
|
-
exports.useDefaults = false;
|
|
68
|
-
function setUseDefaults(_useDefaults) {
|
|
69
|
-
exports.useDefaults = _useDefaults;
|
|
70
|
-
}
|
|
71
|
-
exports.setUseDefaults = setUseDefaults;
|
|
72
|
-
function setLogLevel(level) {
|
|
73
|
-
exports.logLevel = level;
|
|
74
|
-
}
|
|
75
|
-
exports.setLogLevel = setLogLevel;
|
|
76
|
-
;
|
|
77
|
-
const format = {
|
|
78
|
-
q(msg, opt) {
|
|
79
|
-
return moduleMsg(msg + (opt ? ' [' + opt + ']' : '') + ': ');
|
|
80
|
-
},
|
|
81
|
-
[LogType.err](msg) {
|
|
82
|
-
return chalk_1.default.red.bold('err ') + '(jspm) ' + moduleMsg(msg, false, false);
|
|
83
|
-
},
|
|
84
|
-
[LogType.info](msg) {
|
|
85
|
-
return ' ' + moduleMsg(msg, true);
|
|
86
|
-
},
|
|
87
|
-
[LogType.warn](msg) {
|
|
88
|
-
return chalk_1.default.yellow.bold('warn ') + '(jspm) ' + moduleMsg(msg, true);
|
|
89
|
-
},
|
|
90
|
-
[LogType.ok](msg) {
|
|
91
|
-
return chalk_1.default.green.bold('ok ') + moduleMsg(msg, true);
|
|
92
|
-
},
|
|
93
|
-
[LogType.debug](msg) {
|
|
94
|
-
return moduleMsg(msg, true);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
const spinner = ora({
|
|
98
|
-
text: '',
|
|
99
|
-
color: 'yellow',
|
|
100
|
-
spinner: {
|
|
101
|
-
interval: 200,
|
|
102
|
-
frames: [
|
|
103
|
-
". ",
|
|
104
|
-
".. ",
|
|
105
|
-
"... ",
|
|
106
|
-
" ...",
|
|
107
|
-
" ..",
|
|
108
|
-
" .",
|
|
109
|
-
" "
|
|
110
|
-
]
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
let spinning = false;
|
|
114
|
-
function startSpinner() {
|
|
115
|
-
spinning = true;
|
|
116
|
-
if (hiddenCnt === 0)
|
|
117
|
-
spinner.start();
|
|
118
|
-
}
|
|
119
|
-
exports.startSpinner = startSpinner;
|
|
120
|
-
function stopSpinner() {
|
|
121
|
-
if (spinning && hiddenCnt === 0) {
|
|
122
|
-
spinner.clear();
|
|
123
|
-
spinner.stop();
|
|
124
|
-
frameIndex = 0;
|
|
125
|
-
}
|
|
126
|
-
spinning = false;
|
|
127
|
-
}
|
|
128
|
-
exports.stopSpinner = stopSpinner;
|
|
129
|
-
let hiddenCnt = 0;
|
|
130
|
-
let frameIndex = 0;
|
|
131
|
-
function hideSpinner() {
|
|
132
|
-
if (hiddenCnt++ === 0 && spinning && spinner.id) {
|
|
133
|
-
frameIndex = spinner.frameIndex;
|
|
134
|
-
spinner.clear();
|
|
135
|
-
spinner.stop();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
function showSpinner() {
|
|
139
|
-
if ((hiddenCnt === 0 || --hiddenCnt === 0) && spinning && !spinner.id) {
|
|
140
|
-
spinner.frameIndex = frameIndex;
|
|
141
|
-
spinner.start();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
function logErr(msg) {
|
|
145
|
-
logged = true;
|
|
146
|
-
hideSpinner();
|
|
147
|
-
if (logging)
|
|
148
|
-
console.error(msg);
|
|
149
|
-
else
|
|
150
|
-
logBuffer += msg + '\n';
|
|
151
|
-
showSpinner();
|
|
152
|
-
}
|
|
153
|
-
exports.logErr = logErr;
|
|
154
|
-
function ok(msg) {
|
|
155
|
-
log(msg, LogType.ok);
|
|
156
|
-
}
|
|
157
|
-
exports.ok = ok;
|
|
158
|
-
function err(msg) {
|
|
159
|
-
log(msg, LogType.err);
|
|
160
|
-
}
|
|
161
|
-
exports.err = err;
|
|
162
|
-
function warn(msg) {
|
|
163
|
-
log(msg, LogType.warn);
|
|
164
|
-
}
|
|
165
|
-
exports.warn = warn;
|
|
166
|
-
function debug(msg) {
|
|
167
|
-
log(msg, LogType.debug);
|
|
168
|
-
}
|
|
169
|
-
exports.debug = debug;
|
|
170
|
-
function info(msg) {
|
|
171
|
-
log(msg, LogType.info);
|
|
172
|
-
}
|
|
173
|
-
exports.info = info;
|
|
174
|
-
function log(msg, type = LogType.info) {
|
|
175
|
-
if (type === LogType.status) {
|
|
176
|
-
spinner.text = msg.substr(0, process.stdout.columns);
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
logged = true;
|
|
180
|
-
if (type === undefined) {
|
|
181
|
-
hideSpinner();
|
|
182
|
-
if (logging)
|
|
183
|
-
console.log(msg);
|
|
184
|
-
else
|
|
185
|
-
logBuffer += msg + '\n';
|
|
186
|
-
showSpinner();
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
msg = format[type](msg);
|
|
190
|
-
if (type <= exports.logLevel) {
|
|
191
|
-
hideSpinner();
|
|
192
|
-
if (logging) {
|
|
193
|
-
if (type !== LogType.err)
|
|
194
|
-
console.log(msg);
|
|
195
|
-
else
|
|
196
|
-
console.error(msg);
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
if (type !== LogType.err)
|
|
200
|
-
logBuffer += msg + '\n';
|
|
201
|
-
else
|
|
202
|
-
errBuffer += msg + '\n';
|
|
203
|
-
}
|
|
204
|
-
showSpinner();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
exports.log = log;
|
|
208
|
-
;
|
|
209
|
-
const ansiControlCodeRegEx = /(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]/g;
|
|
210
|
-
function wordWrap(text, columns, leftIndent = 0, rightIndent = 0, skipFirstLineIndent = false) {
|
|
211
|
-
let leftSpaces = '';
|
|
212
|
-
let i;
|
|
213
|
-
for (i = 0; i < leftIndent; i++)
|
|
214
|
-
leftSpaces += ' ';
|
|
215
|
-
// simple word wrapping
|
|
216
|
-
columns = columns - leftIndent - rightIndent;
|
|
217
|
-
let output = [];
|
|
218
|
-
let lastBreak = 0;
|
|
219
|
-
let lastSpace = 0;
|
|
220
|
-
let skipLength = 0; // skip control characters
|
|
221
|
-
// carefully ensure underlines skip tab space added
|
|
222
|
-
let underline = false;
|
|
223
|
-
let underlineNext = false;
|
|
224
|
-
for (i = 0; i < text.length; i++) {
|
|
225
|
-
if (text[i] === '\x1b') {
|
|
226
|
-
ansiControlCodeRegEx.lastIndex = i - 1;
|
|
227
|
-
let controlCodeMatch = ansiControlCodeRegEx.exec(text);
|
|
228
|
-
if (!controlCodeMatch) {
|
|
229
|
-
skipLength = 1;
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
skipLength = controlCodeMatch[0].length;
|
|
233
|
-
if (controlCodeMatch[0] === '\u001b[4m')
|
|
234
|
-
underline = true;
|
|
235
|
-
else if (controlCodeMatch[0] === '\u001b[24m')
|
|
236
|
-
underline = false;
|
|
237
|
-
}
|
|
238
|
-
continue;
|
|
239
|
-
}
|
|
240
|
-
if (text[i] === ' ')
|
|
241
|
-
lastSpace = i;
|
|
242
|
-
// existing newline adds buffer
|
|
243
|
-
if (text[i] === '\n') {
|
|
244
|
-
lastSpace = i;
|
|
245
|
-
output.push((output.length === 0 && skipFirstLineIndent ? '' : leftSpaces) +
|
|
246
|
-
(underlineNext ? '\x1b[4m' : '') +
|
|
247
|
-
text.substring(lastBreak, i) +
|
|
248
|
-
(underline ? ((underlineNext = true), '\x1b[24m') : ((underlineNext = false), '')) +
|
|
249
|
-
'\n');
|
|
250
|
-
lastSpace = i;
|
|
251
|
-
lastBreak = i + 1;
|
|
252
|
-
skipLength = 0;
|
|
253
|
-
}
|
|
254
|
-
// on expected breaking point
|
|
255
|
-
else if ((i - skipLength) !== lastBreak &&
|
|
256
|
-
(i - lastBreak - skipLength) % columns === 0 &&
|
|
257
|
-
lastSpace > lastBreak) {
|
|
258
|
-
output.push((output.length === 0 && skipFirstLineIndent ? '' : leftSpaces) +
|
|
259
|
-
(underlineNext ? '\x1b[4m' : '') +
|
|
260
|
-
text.substring(lastBreak, lastSpace) +
|
|
261
|
-
(underline ? ((underlineNext = true), '\x1b[24m') : ((underlineNext = false), '')) +
|
|
262
|
-
'\n');
|
|
263
|
-
lastBreak = lastSpace + 1;
|
|
264
|
-
skipLength = 0;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
output.push((output.length === 0 && skipFirstLineIndent ? '' : leftSpaces) +
|
|
268
|
-
(underlineNext ? '\x1b[4m' : '') +
|
|
269
|
-
text.substr(lastBreak));
|
|
270
|
-
return output.join('');
|
|
271
|
-
}
|
|
272
|
-
function moduleMsg(msg, tab, wrap) {
|
|
273
|
-
if (tab)
|
|
274
|
-
msg = wordWrap(msg, process.stdout.columns + (common_1.isWindows ? -1 : 0), tab ? 5 : 0).substr(5);
|
|
275
|
-
else if (wrap)
|
|
276
|
-
msg = wordWrap(msg, process.stdout.columns + (common_1.isWindows ? -1 : 0));
|
|
277
|
-
else
|
|
278
|
-
msg.replace(/(\r?\n)/g, '$1 ');
|
|
279
|
-
// formatting
|
|
280
|
-
// msg.replace(/\t/g, ' ');
|
|
281
|
-
return msg;
|
|
282
|
-
}
|
|
283
|
-
;
|
|
284
|
-
let inputQueue = [];
|
|
285
|
-
async function confirm(msg, def, options = {}) {
|
|
286
|
-
if (typeof def === 'object' && def !== null) {
|
|
287
|
-
options = def;
|
|
288
|
-
def = undefined;
|
|
289
|
-
}
|
|
290
|
-
let defText;
|
|
291
|
-
if (def === true)
|
|
292
|
-
defText = 'Yes';
|
|
293
|
-
else if (def === false)
|
|
294
|
-
defText = 'No';
|
|
295
|
-
else
|
|
296
|
-
def = undefined;
|
|
297
|
-
if (exports.useDefaults) {
|
|
298
|
-
if (def === undefined)
|
|
299
|
-
defText = 'Yes';
|
|
300
|
-
hideSpinner();
|
|
301
|
-
process.stdout.write(format.q(msg) + defText + '\n');
|
|
302
|
-
showSpinner();
|
|
303
|
-
return Promise.resolve(!!def);
|
|
304
|
-
}
|
|
305
|
-
let reply = await input(msg + (defText ? '' : ' [Yes/No]'), defText, {
|
|
306
|
-
edit: options.edit,
|
|
307
|
-
info: options.info,
|
|
308
|
-
silent: options.silent,
|
|
309
|
-
options: ['Yes', 'No']
|
|
310
|
-
});
|
|
311
|
-
if (reply == 'Yes')
|
|
312
|
-
return true;
|
|
313
|
-
if (reply == 'No')
|
|
314
|
-
return false;
|
|
315
|
-
return confirm(msg, def, options);
|
|
316
|
-
}
|
|
317
|
-
exports.confirm = confirm;
|
|
318
|
-
;
|
|
319
|
-
let inputFunc = _key => { };
|
|
320
|
-
process.stdin.on('keypress', (_chunk, key) => {
|
|
321
|
-
inputFunc(key);
|
|
322
|
-
});
|
|
323
|
-
function input(msg, def, options = {}, queue = false) {
|
|
324
|
-
if (typeof def === 'object' && def !== null) {
|
|
325
|
-
options = def;
|
|
326
|
-
def = undefined;
|
|
327
|
-
}
|
|
328
|
-
const defValue = def;
|
|
329
|
-
if (typeof options === 'boolean')
|
|
330
|
-
options = {
|
|
331
|
-
silent: true,
|
|
332
|
-
edit: false,
|
|
333
|
-
clearOnType: false,
|
|
334
|
-
info: undefined,
|
|
335
|
-
hideInfo: true,
|
|
336
|
-
completer: undefined,
|
|
337
|
-
validate: undefined,
|
|
338
|
-
validationError: undefined,
|
|
339
|
-
optionalOptions: false
|
|
340
|
-
};
|
|
341
|
-
options.completer = partialLine => {
|
|
342
|
-
if (!partialLine.length || !options.options)
|
|
343
|
-
return [[], partialLine];
|
|
344
|
-
partialLine = partialLine.toLowerCase().trim();
|
|
345
|
-
let hits = options.options.filter(c => c.toLowerCase().indexOf(partialLine) === 0);
|
|
346
|
-
// we only return one option, to avoid printing out completions
|
|
347
|
-
return [hits.length ? [hits[0]] : [], partialLine];
|
|
348
|
-
};
|
|
349
|
-
options = options || {};
|
|
350
|
-
if (exports.useDefaults) {
|
|
351
|
-
process.stdout.write(format.q(msg) + (options.silent ? '' : defValue) + '\n');
|
|
352
|
-
return Promise.resolve(defValue);
|
|
353
|
-
}
|
|
354
|
-
hideSpinner();
|
|
355
|
-
return new Promise((resolve, reject) => {
|
|
356
|
-
if (!logging && !queue)
|
|
357
|
-
return inputQueue.push({
|
|
358
|
-
args: [msg, defValue, options, true],
|
|
359
|
-
resolve: resolve,
|
|
360
|
-
reject: reject
|
|
361
|
-
});
|
|
362
|
-
// if there is info text for this question, first write out the hint text below
|
|
363
|
-
// then restore the cursor and write out the question
|
|
364
|
-
let infoLines = 1;
|
|
365
|
-
if (options.info || options.validationError) {
|
|
366
|
-
let infoText = '\n';
|
|
367
|
-
if (options.info)
|
|
368
|
-
infoText += wordWrap(options.info, process.stdout.columns, 5, 5) + '\n';
|
|
369
|
-
if (options.validationError)
|
|
370
|
-
infoText += format[LogType.warn](wordWrap(options.validationError, process.stdout.columns, 0, 5)) + '\n';
|
|
371
|
-
infoText += '\n';
|
|
372
|
-
process.stdout.write(infoText);
|
|
373
|
-
infoLines = infoText.split('\n').length;
|
|
374
|
-
}
|
|
375
|
-
if (!('hideInfo' in options))
|
|
376
|
-
options.hideInfo = true;
|
|
377
|
-
if (logging && logged)
|
|
378
|
-
process.stdout.write('\n');
|
|
379
|
-
logging = false;
|
|
380
|
-
let rl = readline.createInterface({
|
|
381
|
-
input: process.stdin,
|
|
382
|
-
output: mutableStdout,
|
|
383
|
-
terminal: true,
|
|
384
|
-
completer: options.completer
|
|
385
|
-
});
|
|
386
|
-
let questionMessage = format.q(msg, defValue && !options.edit ? defValue : '');
|
|
387
|
-
infoLines += questionMessage.split('\n').length - 1;
|
|
388
|
-
if (options.options)
|
|
389
|
-
var ctrlOpt = new CtrlOption(options.options, rl);
|
|
390
|
-
if (!options.edit)
|
|
391
|
-
inputFunc = key => {
|
|
392
|
-
if (!key)
|
|
393
|
-
return;
|
|
394
|
-
let i;
|
|
395
|
-
if (options.clearOnType && key.name !== 'return' && key.name !== 'backspace' && key.name !== 'left') {
|
|
396
|
-
// this actually works, which was rather unexpected
|
|
397
|
-
for (i = 0; i < (defValue || '').length; i++)
|
|
398
|
-
process.stdin.emit('keypress', '\b', { name: 'backspace' });
|
|
399
|
-
}
|
|
400
|
-
// allow scrolling through default options
|
|
401
|
-
if (ctrlOpt) {
|
|
402
|
-
if (key.name === 'up')
|
|
403
|
-
ctrlOpt.moveUp();
|
|
404
|
-
if (key.name === 'down')
|
|
405
|
-
ctrlOpt.moveDown();
|
|
406
|
-
}
|
|
407
|
-
// for no default options, allow backtracking to default
|
|
408
|
-
else if (key.name === 'up' || key.name === 'down') {
|
|
409
|
-
rl.write(null, { ctrl: true, name: 'u' });
|
|
410
|
-
for (i = 0; i < defValue.length; i++)
|
|
411
|
-
process.stdin.emit('keypress', defValue[i], { name: defValue[i] });
|
|
412
|
-
}
|
|
413
|
-
};
|
|
414
|
-
rl.question(questionMessage, inputVal => {
|
|
415
|
-
inputFunc = () => { };
|
|
416
|
-
if (mutableStdout.muted)
|
|
417
|
-
console.log('');
|
|
418
|
-
rl.close();
|
|
419
|
-
// run completions by default on enter when provided
|
|
420
|
-
if (options.options && !options.optionalOptions)
|
|
421
|
-
inputVal = options.completer(inputVal)[0][0] || '';
|
|
422
|
-
inputVal = inputVal.trim();
|
|
423
|
-
if (!options.edit)
|
|
424
|
-
inputVal = inputVal || defValue;
|
|
425
|
-
let retryErr;
|
|
426
|
-
if (options.validate)
|
|
427
|
-
retryErr = options.validate(inputVal);
|
|
428
|
-
inputRedact(inputVal, !!retryErr, options.silent);
|
|
429
|
-
inputRedact = null;
|
|
430
|
-
mutableStdout.muted = false;
|
|
431
|
-
if (retryErr)
|
|
432
|
-
return input(msg, defValue, {
|
|
433
|
-
info: options.info,
|
|
434
|
-
silent: options.silent,
|
|
435
|
-
edit: options.edit,
|
|
436
|
-
clearOnType: options.clearOnType,
|
|
437
|
-
completer: options.completer,
|
|
438
|
-
validate: options.validate,
|
|
439
|
-
validationError: retryErr.toString(),
|
|
440
|
-
optionalOptions: options.optionalOptions,
|
|
441
|
-
hideInfo: options.hideInfo
|
|
442
|
-
}, true).then(resolve, reject);
|
|
443
|
-
// bump the input queue
|
|
444
|
-
let next = inputQueue.shift();
|
|
445
|
-
if (next)
|
|
446
|
-
input.apply(null, next.args).then(next.resolve, next.reject);
|
|
447
|
-
else {
|
|
448
|
-
process.stdout.write(logBuffer);
|
|
449
|
-
process.stderr.write(errBuffer);
|
|
450
|
-
logBuffer = '';
|
|
451
|
-
errBuffer = '';
|
|
452
|
-
logging = true;
|
|
453
|
-
logged = false;
|
|
454
|
-
}
|
|
455
|
-
showSpinner();
|
|
456
|
-
resolve(inputVal);
|
|
457
|
-
});
|
|
458
|
-
inputRedact = (inputVal, retry, silent) => {
|
|
459
|
-
inputVal = inputVal || '';
|
|
460
|
-
let inputText = !retry ? format.q(msg, !options.edit && defValue || '') + (silent ? '' : inputVal) + '\n' : '';
|
|
461
|
-
// erase the help text, rewrite the question above, and begin the next question
|
|
462
|
-
process.stdout.write('\x1b[' + (options.hideInfo || retry ? infoLines : 0) + 'A\x1b[J' + inputText);
|
|
463
|
-
};
|
|
464
|
-
mutableStdout.muted = false;
|
|
465
|
-
if (options.silent)
|
|
466
|
-
mutableStdout.muted = true;
|
|
467
|
-
if (defValue && options.edit)
|
|
468
|
-
rl.write(defValue);
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
exports.input = input;
|
|
472
|
-
;
|
|
473
|
-
class CtrlOption {
|
|
474
|
-
constructor(options, rl) {
|
|
475
|
-
this.cursol = 0;
|
|
476
|
-
this.options = options || [];
|
|
477
|
-
this.rl = rl;
|
|
478
|
-
}
|
|
479
|
-
moveUp() {
|
|
480
|
-
let next = this.cursol + 1;
|
|
481
|
-
this.cursol = (next >= this.options.length) ? 0 : next;
|
|
482
|
-
this.move();
|
|
483
|
-
}
|
|
484
|
-
moveDown() {
|
|
485
|
-
let next = this.cursol - 1;
|
|
486
|
-
this.cursol = (next === -1) ? (this.options.length - 1) : next;
|
|
487
|
-
this.move();
|
|
488
|
-
}
|
|
489
|
-
move() {
|
|
490
|
-
this.rl.write(null, { ctrl: true, name: 'u' });
|
|
491
|
-
let input = this.options[this.cursol].split('');
|
|
492
|
-
for (let idx in input)
|
|
493
|
-
process.stdin.emit('keypress', input[idx], { name: input[idx] });
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
//# sourceMappingURL=ui.js.map
|
package/lib/utils/ui.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"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"}
|