@fnndsc/brasa 0.16.1 → 0.17.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/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/fs/acl.js +57 -1
- package/dist/builtins/fs/acl.js.map +1 -1
- package/dist/builtins/fs/cat.js +46 -9
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cp.js +42 -2
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/destination.d.ts +52 -0
- package/dist/builtins/fs/destination.js +52 -0
- package/dist/builtins/fs/destination.js.map +1 -0
- package/dist/builtins/fs/download.js +5 -2
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/mv.js +41 -1
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/rm.d.ts +6 -0
- package/dist/builtins/fs/rm.js +35 -17
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/upload.js +15 -4
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/help.js +43 -6
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/net/pacs.js +37 -1
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/net/query.csv.d.ts +73 -0
- package/dist/builtins/net/query.csv.js +267 -0
- package/dist/builtins/net/query.csv.js.map +1 -0
- package/dist/builtins/net/query.d.ts +28 -1
- package/dist/builtins/net/query.fanout.d.ts +92 -0
- package/dist/builtins/net/query.fanout.js +171 -0
- package/dist/builtins/net/query.fanout.js.map +1 -0
- package/dist/builtins/net/query.js +709 -20
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/status.js +4 -1
- package/dist/builtins/net/status.js.map +1 -1
- package/dist/builtins/proc.js +18 -0
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/feed.js +43 -2
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/plugin.info.d.ts +32 -0
- package/dist/builtins/res/plugin.info.js +167 -0
- package/dist/builtins/res/plugin.info.js.map +1 -0
- package/dist/builtins/res/plugin.js +41 -1
- package/dist/builtins/res/plugin.js.map +1 -1
- package/dist/core/engine.d.ts +21 -0
- package/dist/core/engine.js +27 -0
- package/dist/core/engine.js.map +1 -1
- package/dist/core/promptContext.d.ts +1 -1
- package/dist/core/question.d.ts +27 -0
- package/dist/core/question.js +38 -0
- package/dist/core/question.js.map +1 -1
- package/dist/core/surface.d.ts +16 -3
- package/dist/core/surface.js.map +1 -1
- package/dist/lib/vfs/providers/static_content.js +10 -81
- package/dist/lib/vfs/providers/static_content.js.map +1 -1
- package/dist/lib/vfs/vfs.js +13 -1
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/package.json +5 -5
package/dist/api/index.js
CHANGED
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/buildinfo.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
1
|
+
{"hash":"afa004"}
|
package/dist/builtins/fs/acl.js
CHANGED
|
@@ -19,7 +19,31 @@ import { aclTarget_resolve, acl_render, setfaclArgs_parse, GETFACL_USAGE, } from
|
|
|
19
19
|
* @returns An envelope naming what was granted.
|
|
20
20
|
*/
|
|
21
21
|
export async function builtin_setfacl(args) {
|
|
22
|
-
|
|
22
|
+
let parsed = setfaclArgs_parse(args);
|
|
23
|
+
// A path and no entry names WHAT to share and not WITH WHOM, which is a
|
|
24
|
+
// question rather than a usage error (an-absent-value-is-a-question). The
|
|
25
|
+
// grant CUBE offers is read on a feed, so the only thing missing is the
|
|
26
|
+
// identity: ask for it, and refuse as before when it is not answered.
|
|
27
|
+
if (parsed.error !== null && entryless_is(args)) {
|
|
28
|
+
const paths = args.filter((token) => !token.startsWith('-'));
|
|
29
|
+
const feedIDs = [];
|
|
30
|
+
for (const path of paths) {
|
|
31
|
+
const feedID = aclTarget_resolve(path);
|
|
32
|
+
if (feedID === null) {
|
|
33
|
+
return envelope_error(`setfacl: '${path}' does not name a feed`);
|
|
34
|
+
}
|
|
35
|
+
if (!feedIDs.includes(feedID))
|
|
36
|
+
feedIDs.push(feedID);
|
|
37
|
+
}
|
|
38
|
+
// One question for the whole set: a grant is per identity, and asking
|
|
39
|
+
// who once for twenty feeds is the same answer twenty times.
|
|
40
|
+
const who = (await who_ask(feedIDs)).trim();
|
|
41
|
+
if (who === '') {
|
|
42
|
+
const named = feedIDs.map((id) => `feed_${id}`).join(' ');
|
|
43
|
+
return envelope_error(`setfacl: nobody named; ${named} shared with no one new`);
|
|
44
|
+
}
|
|
45
|
+
parsed = setfaclArgs_parse(['-m', `u:${who}:r`, ...paths]);
|
|
46
|
+
}
|
|
23
47
|
if (parsed.error !== null)
|
|
24
48
|
return envelope_error(parsed.error);
|
|
25
49
|
if (parsed.remove !== null) {
|
|
@@ -49,6 +73,38 @@ export async function builtin_setfacl(args) {
|
|
|
49
73
|
}
|
|
50
74
|
return envelope_ok(`${entry.username} granted read on ${granted.join(' ')}`, { kind: 'fs.acl', data: { usernames: [entry.username], targets: granted } });
|
|
51
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Whether an invocation names paths but no entry to apply to them.
|
|
78
|
+
*
|
|
79
|
+
* @param args - Raw argument tokens.
|
|
80
|
+
* @returns True when there is something to share and nobody to share with.
|
|
81
|
+
*/
|
|
82
|
+
function entryless_is(args) {
|
|
83
|
+
const flagged = args.some((token) => token === '-m' || token === '-x' || token.startsWith('--'));
|
|
84
|
+
const paths = args.filter((token) => !token.startsWith('-'));
|
|
85
|
+
return !flagged && paths.length >= 1;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Asks which identity a feed should be shared with.
|
|
89
|
+
*
|
|
90
|
+
* @param feedIDs - The distinct feeds the grant is for, named in the question.
|
|
91
|
+
* @returns The answer, empty when the operator abandoned it.
|
|
92
|
+
*/
|
|
93
|
+
async function who_ask(feedIDs) {
|
|
94
|
+
const { repl_question } = await import('../../core/question.js');
|
|
95
|
+
const named = feedIDs.length === 1
|
|
96
|
+
? `feed ${feedIDs[0]}`
|
|
97
|
+
: `${feedIDs.length} feeds (${feedIDs.map((id) => `feed_${id}`).join(', ')})`;
|
|
98
|
+
try {
|
|
99
|
+
// The irreversibility is said where the grant is made, not discovered
|
|
100
|
+
// afterwards: mise cannot revoke a feed grant (`setfacl -x` is refused),
|
|
101
|
+
// so the question that makes one says so before it is answered.
|
|
102
|
+
return await repl_question(`Share ${named} with which user? (a grant cannot be taken back) `);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return '';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
52
108
|
/**
|
|
53
109
|
* Reports a feed's access list, in `getfacl`'s own shape.
|
|
54
110
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.js","sourceRoot":"","sources":["../../../src/builtins/fs/acl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACY,WAAW,EAAE,cAAc,EAAE,UAAU,EACxD,UAAU,EAAE,eAAe,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAChD,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,
|
|
1
|
+
{"version":3,"file":"acl.js","sourceRoot":"","sources":["../../../src/builtins/fs/acl.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/cat.js
CHANGED
|
@@ -269,10 +269,28 @@ export async function cat_run(parsed) {
|
|
|
269
269
|
if (parsed.filePaths.length === 0) {
|
|
270
270
|
return envelope_error('', undefined, `${chalk.red(`Usage: ${CAT_USAGE}`)}\n`);
|
|
271
271
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
272
|
+
// Resolving a path can fail — a listing the server refuses, a provider
|
|
273
|
+
// that throws — and a throw here used to leave the session: an unhandled
|
|
274
|
+
// rejection that dumped an axios request object, auth header and all
|
|
275
|
+
// (#465). A path that cannot be resolved is reported like any other
|
|
276
|
+
// unreadable file, and the rest of the line still runs.
|
|
277
|
+
const targets = [];
|
|
278
|
+
let renderedErr = '';
|
|
279
|
+
const outcomes = [];
|
|
280
|
+
let anyFailed = false;
|
|
281
|
+
for (const pathArg of parsed.filePaths) {
|
|
282
|
+
try {
|
|
283
|
+
const target = await path_resolve(pathArg);
|
|
284
|
+
targets.push({ pathArg, target, isBinaryFile: extension_isBinary(target) });
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
288
|
+
renderedErr += `${chalk.red(`cat: ${pathArg}: ${error_stripDebugPrefix(message)}`)}\n`;
|
|
289
|
+
outcomes.push({ path: pathArg, ok: false, binary: false });
|
|
290
|
+
anyFailed = true;
|
|
291
|
+
process.exitCode = 1;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
276
294
|
const hasTextTarget = !parsed.binaryMode
|
|
277
295
|
&& targets.some((target) => !target.isBinaryFile);
|
|
278
296
|
if (hasTextTarget
|
|
@@ -281,9 +299,6 @@ export async function cat_run(parsed) {
|
|
|
281
299
|
return envelope_error('', undefined, `${chalk.red(`cat: unknown highlight language '${parsed.highlightLanguage}'`)}\n`);
|
|
282
300
|
}
|
|
283
301
|
let rendered = '';
|
|
284
|
-
let renderedErr = '';
|
|
285
|
-
const outcomes = [];
|
|
286
|
-
let anyFailed = false;
|
|
287
302
|
for (let i = 0; i < targets.length; i++) {
|
|
288
303
|
const { pathArg, target, isBinaryFile } = targets[i];
|
|
289
304
|
// Inform user about auto-detection only if in interactive mode (stdout is TTY).
|
|
@@ -296,7 +311,18 @@ export async function cat_run(parsed) {
|
|
|
296
311
|
}
|
|
297
312
|
// Use binary mode if requested OR if file is detected as binary
|
|
298
313
|
if (parsed.binaryMode || isBinaryFile) {
|
|
299
|
-
|
|
314
|
+
let result;
|
|
315
|
+
try {
|
|
316
|
+
result = await chefs_catBinary_cmd(target);
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
320
|
+
renderedErr += `${chalk.red(`cat: ${pathArg}: ${error_stripDebugPrefix(message)}`)}\n`;
|
|
321
|
+
outcomes.push({ path: pathArg, ok: false, binary: true });
|
|
322
|
+
anyFailed = true;
|
|
323
|
+
process.exitCode = 1;
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
300
326
|
if (!result.ok) {
|
|
301
327
|
const error = errorStack.stack_pop();
|
|
302
328
|
renderedErr += `${chalk.red(`cat: ${pathArg}: ${error ? error_stripDebugPrefix(error.message) : 'Unknown error'}`)}\n`;
|
|
@@ -311,7 +337,18 @@ export async function cat_run(parsed) {
|
|
|
311
337
|
outcomes.push({ path: pathArg, ok: true, binary: true, bytes: result.value.length });
|
|
312
338
|
}
|
|
313
339
|
else {
|
|
314
|
-
|
|
340
|
+
let result;
|
|
341
|
+
try {
|
|
342
|
+
result = await textFile_read(target);
|
|
343
|
+
}
|
|
344
|
+
catch (error) {
|
|
345
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
346
|
+
renderedErr += `${chalk.red(`cat: ${pathArg}: ${error_stripDebugPrefix(message)}`)}\n`;
|
|
347
|
+
outcomes.push({ path: pathArg, ok: false, binary: false });
|
|
348
|
+
anyFailed = true;
|
|
349
|
+
process.exitCode = 1;
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
315
352
|
if (!result.ok) {
|
|
316
353
|
const error = errorStack.stack_pop();
|
|
317
354
|
renderedErr += `${chalk.red(`cat: ${pathArg}: ${error ? error_stripDebugPrefix(error.message) : 'Unknown error'}`)}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAc,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAwB,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,kBAAkB,GAGnB,MAAM,eAAe,CAAC;AAEvB,wEAAwE;AACxE,MAAM,uBAAuB,GAAW,GAAG,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,oBAAoB,GAAW,mCAAmC,CAAC;AAEzE,8EAA8E;AAC9E,MAAM,4BAA4B,GAAqC;IACrE,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,YAAY;IAC3B,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,UAAU;IACvB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,mFAAmF;AACnF,MAAM,2BAA2B,GAAqC;IACpE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,UAAU;CACvB,CAAC;AAEF,kFAAkF;AAClF,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAEzD,wEAAwE;AACxE,MAAM,eAAe,GAAU;IAC7B,QAAQ,EAAE,eAAe,CAAC,KAAK;IAC/B,IAAI,EAAE,eAAe,CAAC,MAAM;IAC5B,SAAS,EAAE,eAAe,CAAC,IAAI;IAC/B,QAAQ,EAAE,eAAe,CAAC,UAAU;IACpC,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9B,KAAK,EAAE,eAAe,CAAC,UAAU;IACjC,IAAI,EAAE,eAAe,CAAC,KAAK;IAC3B,OAAO,EAAE,eAAe,CAAC,IAAI;IAC7B,QAAQ,EAAE,eAAe,CAAC,SAAS;IACnC,MAAM,EAAE,eAAe,CAAC,IAAI;IAC5B,QAAQ,EAAE,eAAe,CAAC,MAAM;IAChC,QAAQ,EAAE,eAAe,CAAC,YAAY;IACtC,OAAO,EAAE,eAAe,CAAC,UAAU;IACnC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,SAAS;IAC1C,OAAO,EAAE,eAAe,CAAC,YAAY;IACrC,IAAI,EAAE,eAAe,CAAC,OAAO;IAC7B,cAAc,EAAE,eAAe,CAAC,aAAa;IAC7C,aAAa,EAAE,eAAe,CAAC,KAAK;IACpC,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,MAAM,EAAE,eAAe,CAAC,aAAa;IACrC,MAAM,EAAE,eAAe,CAAC,KAAK;IAC7B,KAAK,EAAE,eAAe,CAAC,IAAI;IAC3B,MAAM,EAAE,eAAe,CAAC,SAAS;IACjC,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI;IAC3C,eAAe,EAAE,eAAe,CAAC,KAAK;IACtC,gBAAgB,EAAE,eAAe,CAAC,MAAM;IACxC,aAAa,EAAE,eAAe,CAAC,aAAa;IAC5C,iBAAiB,EAAE,eAAe,CAAC,UAAU;IAC7C,cAAc,EAAE,eAAe,CAAC,IAAI;IACpC,MAAM,EAAE,eAAe,CAAC,KAAK;IAC7B,MAAM,EAAE,eAAe,CAAC,IAAI;IAC5B,KAAK,EAAE,eAAe,CAAC,IAAI;IAC3B,MAAM,EAAE,eAAe,CAAC,aAAa;IACrC,GAAG,EAAE,eAAe,CAAC,UAAU;IAC/B,cAAc,EAAE,eAAe,CAAC,OAAO;IACvC,mBAAmB,EAAE,eAAe,CAAC,IAAI;IACzC,KAAK,EAAE,eAAe,CAAC,UAAU;IACjC,IAAI,EAAE,eAAe,CAAC,IAAI;IAC1B,QAAQ,EAAE,eAAe,CAAC,UAAU;CACrC,CAAC;AAEF;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,OAAO,2BAA2B,CAAC,QAAQ,CAAC;WACvC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,QAAgB,EAChB,IAAsB,EACtB,QAAiB;IAEjB,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC7D,MAAM,cAAc,GAAuB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC,OAAO,EAAE;YACxB,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAgB,IAAI,GAAG,CAAC;IAC7C,MAAM,EAAI,uBAAuB;IACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAG,SAAS;IACpE,MAAM,EAAI,YAAY;IACtB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAG,WAAW;IACjE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAG,wBAAwB;IAClE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAG,QAAQ;CAC3D,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAiBD;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc;IACzC,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAE1D,IAAI,eAAe,GAAY,KAAK,CAAC;IACrC,IAAI,cAAc,GAAY,KAAK,CAAC;IACpC,MAAM,aAAa,GAAmB,UAAU,CAAC,GAAS,EAAE;QAC1D,eAAe,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,CAAC,cAAc,CAAC;YACxB,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAmB,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3D,cAAc,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,cAAc,GAAG,IAAI,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,EAAE,CAAC,cAAc,CAAC;gBACxB,SAAS,EAAE,OAAO;gBAClB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBAC7C,KAAK,EAAE,oBAAoB;gBAC3B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAoB;IAChD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAgB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CACjE,KAAK,EAAE,OAAe,EAAsB,EAAE;QAC5C,MAAM,MAAM,GAAW,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAY,CAAC,MAAM,CAAC,UAAU;WAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,MAAiB,EAAW,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAExE,IACE,aAAa;WACV,MAAM,CAAC,iBAAiB,KAAK,SAAS;WACtC,CAAC,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAC9C,CAAC;QACD,OAAO,cAAc,CACnB,EAAE,EACF,SAAS,EACT,GAAG,KAAK,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAW,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,IAAI,SAAS,GAAY,KAAK,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAc,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhE,gFAAgF;QAChF,iFAAiF;QACjF,yCAAyC;QACzC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1E,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,6BAA6B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAClI,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,IAAI,CAAC,CAAC;YAC7G,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,gEAAgE;QAChE,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,MAAM,GAAmB,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAEjE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,KAAK,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC/D,WAAW,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,gEAAgE;YAChE,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAmB,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAE3D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,KAAK,GAA6B,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC/D,WAAW,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3D,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAW,iBAAiB,CAC3C,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,iBAAiB,CACzB,CAAC;YACF,QAAQ,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAyC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACvF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAoB,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;QAChG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAoB,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/builtins/fs/cat.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/cp.js
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import path from 'path';
|
|
7
|
-
import { listCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
7
|
+
import { listCache_get, envelope_ok, envelope_error, errorStack } from '@fnndsc/cumin';
|
|
8
8
|
import { commandArgs_process, path_resolve } from '../utils.js';
|
|
9
|
+
import { destination_ask, destination_missing } from './destination.js';
|
|
9
10
|
import { files_cp as chefs_cp_cmd } from '@fnndsc/chili/commands/fs/cp.js';
|
|
10
11
|
import { cp_render } from '@fnndsc/chili/views/fs.js';
|
|
11
12
|
/**
|
|
@@ -19,11 +20,43 @@ import { cp_render } from '@fnndsc/chili/views/fs.js';
|
|
|
19
20
|
export async function builtin_cp(args) {
|
|
20
21
|
const parsed = commandArgs_process(args);
|
|
21
22
|
const pathArgs = parsed._;
|
|
23
|
+
// `-t <dir>` names the TARGET DIRECTORY, so every operand is a source —
|
|
24
|
+
// the shell's own answer to "several things, one destination". Given no
|
|
25
|
+
// value it is a question (an-absent-value-is-a-question), and the answer
|
|
26
|
+
// wants a directory: `cp a b` without it means rename a ONTO b, which
|
|
27
|
+
// is the right reading of that line and the wrong thing for a set.
|
|
28
|
+
const target = parsed.t;
|
|
29
|
+
if (target !== undefined && pathArgs.length > 0) {
|
|
30
|
+
if (typeof target === 'string' && target !== '') {
|
|
31
|
+
return cp_run({ sources: pathArgs, dest: target });
|
|
32
|
+
}
|
|
33
|
+
const chosen = await destination_ask({
|
|
34
|
+
verb: 'cp', commit: 'COPY HERE', sources: pathArgs, wantsDirectory: true,
|
|
35
|
+
});
|
|
36
|
+
if (chosen === '') {
|
|
37
|
+
process.exitCode = 1;
|
|
38
|
+
return envelope_error('', undefined, `${chalk.red(destination_missing('cp'))}\n`);
|
|
39
|
+
}
|
|
40
|
+
return cp_run({ sources: pathArgs, dest: chosen });
|
|
41
|
+
}
|
|
42
|
+
const recursive = !!parsed['r'] || !!parsed['recursive'];
|
|
43
|
+
// One operand names what to copy and not where: a question, not a usage
|
|
44
|
+
// error. See `destination_ask`.
|
|
45
|
+
if (pathArgs.length === 1) {
|
|
46
|
+
const chosen = await destination_ask({
|
|
47
|
+
verb: 'cp', commit: 'COPY HERE', sources: pathArgs,
|
|
48
|
+
});
|
|
49
|
+
if (chosen === '') {
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
return envelope_error('', undefined, `${chalk.red(destination_missing('cp'))}\n`);
|
|
52
|
+
}
|
|
53
|
+
return cp_run({ sources: pathArgs, dest: chosen, recursive });
|
|
54
|
+
}
|
|
22
55
|
// Last arg is destination, all others are sources
|
|
23
56
|
return cp_run({
|
|
24
57
|
sources: pathArgs.slice(0, -1),
|
|
25
58
|
dest: pathArgs.length > 0 ? pathArgs[pathArgs.length - 1] : '',
|
|
26
|
-
recursive
|
|
59
|
+
recursive,
|
|
27
60
|
});
|
|
28
61
|
}
|
|
29
62
|
/**
|
|
@@ -62,6 +95,13 @@ export async function cp_run(options) {
|
|
|
62
95
|
if (sources.length === 1) {
|
|
63
96
|
rendered += `${cp_render(srcPath, destPath, success)}\n`;
|
|
64
97
|
}
|
|
98
|
+
if (!success) {
|
|
99
|
+
// The kernel said WHY on the stack; a bare "Failed to copy" makes an
|
|
100
|
+
// operator guess at a reason that was already known.
|
|
101
|
+
const reason = errorStack.stack_pop();
|
|
102
|
+
if (reason !== undefined)
|
|
103
|
+
renderedErr += `${chalk.red(`cp: ${reason.message}`)}\n`;
|
|
104
|
+
}
|
|
65
105
|
outcomes.push({ source: srcPath, copied: success });
|
|
66
106
|
if (success) {
|
|
67
107
|
successCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/builtins/fs/cp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAmB,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/builtins/fs/cp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The destination a move or a copy was not given.
|
|
3
|
+
*
|
|
4
|
+
* A value-taking flag given no value asks for it (#442). A required
|
|
5
|
+
* OPERAND is the same sentence with the same answer: `mv foo` names what to
|
|
6
|
+
* move and not where to put it, and erroring with a usage line — what it
|
|
7
|
+
* did before — tells an operator something they already know instead of
|
|
8
|
+
* asking them the one thing they have not said.
|
|
9
|
+
*
|
|
10
|
+
* What the ask carries is what makes it answerable without typing a path
|
|
11
|
+
* from scratch: it opens where the source already lives, and offers the
|
|
12
|
+
* source's own name, so a rename is a rename rather than a transcription.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/** What a verb needs said about the destination it is asking for. */
|
|
17
|
+
export interface DestinationAsk {
|
|
18
|
+
/** The verb asking, for the message and for its refusal. */
|
|
19
|
+
verb: string;
|
|
20
|
+
/** The word the committing control should read. */
|
|
21
|
+
commit: string;
|
|
22
|
+
/** The sources the destination is for. */
|
|
23
|
+
sources: string[];
|
|
24
|
+
/**
|
|
25
|
+
* Whether the answer must be a DIRECTORY. Several sources always want
|
|
26
|
+
* one; a single source wants one too when the caller said `-t`, which
|
|
27
|
+
* names a target directory rather than a new name.
|
|
28
|
+
*/
|
|
29
|
+
wantsDirectory?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Asks where the sources should go.
|
|
33
|
+
*
|
|
34
|
+
* Several sources want a DIRECTORY — that is what `mv a b c <dir>` means in
|
|
35
|
+
* a shell — and one wants a path, offered as its own name so the ordinary
|
|
36
|
+
* case is a rename. The anchor is the first source's own folder: a fact,
|
|
37
|
+
* never a directory invented for the occasion.
|
|
38
|
+
*
|
|
39
|
+
* @param ask - The verb, its committing word, and the sources.
|
|
40
|
+
* @returns The destination the operator gave, or '' when they abandoned it.
|
|
41
|
+
*/
|
|
42
|
+
export declare function destination_ask(ask: DestinationAsk): Promise<string>;
|
|
43
|
+
/**
|
|
44
|
+
* The refusal a verb gives when its destination was never named.
|
|
45
|
+
*
|
|
46
|
+
* Returned rather than pushed on the error stack: the caller renders it
|
|
47
|
+
* into the envelope, and a message reported twice reads as two failures.
|
|
48
|
+
*
|
|
49
|
+
* @param verb - The verb that asked.
|
|
50
|
+
* @returns The message, for an error envelope.
|
|
51
|
+
*/
|
|
52
|
+
export declare function destination_missing(verb: string): string;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asks where the sources should go.
|
|
3
|
+
*
|
|
4
|
+
* Several sources want a DIRECTORY — that is what `mv a b c <dir>` means in
|
|
5
|
+
* a shell — and one wants a path, offered as its own name so the ordinary
|
|
6
|
+
* case is a rename. The anchor is the first source's own folder: a fact,
|
|
7
|
+
* never a directory invented for the occasion.
|
|
8
|
+
*
|
|
9
|
+
* @param ask - The verb, its committing word, and the sources.
|
|
10
|
+
* @returns The destination the operator gave, or '' when they abandoned it.
|
|
11
|
+
*/
|
|
12
|
+
export async function destination_ask(ask) {
|
|
13
|
+
const { path_resolve } = await import('../utils.js');
|
|
14
|
+
const { repl_questionPath } = await import('../../core/question.js');
|
|
15
|
+
const first = ask.sources[0] ?? '';
|
|
16
|
+
const resolved = await path_resolve(first);
|
|
17
|
+
const cut = resolved.lastIndexOf('/');
|
|
18
|
+
const folder = cut <= 0 ? '/' : resolved.slice(0, cut);
|
|
19
|
+
const name = resolved.slice(cut + 1);
|
|
20
|
+
const many = ask.sources.length > 1 || ask.wantsDirectory === true;
|
|
21
|
+
try {
|
|
22
|
+
const answer = await repl_questionPath(many
|
|
23
|
+
? `Where should ${ask.sources.length === 1 ? name : `these ${ask.sources.length}`} go? `
|
|
24
|
+
: `Where should ${name} go? `, {
|
|
25
|
+
// Where to look: the folder the source is already in. Nothing is
|
|
26
|
+
// OFFERED — the only name this verb could propose is the source's
|
|
27
|
+
// own, and answering with it moves a file onto itself. A surface
|
|
28
|
+
// that browses composes its own answer from where it lands.
|
|
29
|
+
anchor: folder,
|
|
30
|
+
wantsDirectory: many,
|
|
31
|
+
}, ask.commit);
|
|
32
|
+
return answer.trim();
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// A refused or abandoned ask is not a failure to describe: the operator
|
|
36
|
+
// was asked and chose not to say.
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The refusal a verb gives when its destination was never named.
|
|
42
|
+
*
|
|
43
|
+
* Returned rather than pushed on the error stack: the caller renders it
|
|
44
|
+
* into the envelope, and a message reported twice reads as two failures.
|
|
45
|
+
*
|
|
46
|
+
* @param verb - The verb that asked.
|
|
47
|
+
* @returns The message, for an error envelope.
|
|
48
|
+
*/
|
|
49
|
+
export function destination_missing(verb) {
|
|
50
|
+
return `${verb}: no destination given; nothing ${verb === 'cp' ? 'copied' : 'moved'}.`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=destination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destination.js","sourceRoot":"","sources":["../../../src/builtins/fs/destination.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAmB;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,KAAK,GAAW,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAW,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,GAAG,GAAW,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAW,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAY,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IAC5E,IAAI,CAAC;QACH,MAAM,MAAM,GAAW,MAAM,iBAAiB,CAC5C,IAAI;YACF,CAAC,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;YACxF,CAAC,CAAC,gBAAgB,IAAI,OAAO,EAC/B;YACE,iEAAiE;YACjE,kEAAkE;YAClE,iEAAiE;YACjE,4DAA4D;YAC5D,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,IAAI;SACrB,EACD,GAAG,CAAC,MAAM,CACX,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,kCAAkC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,GAAG,IAAI,mCAAmC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;AACzF,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { sink_get } from '../../core/sink.js';
|
|
|
10
10
|
import { shellArguments_pathnameExpanded } from '../../lib/parser.js';
|
|
11
11
|
import { path_resolve } from '../utils.js';
|
|
12
12
|
import { surface_get } from '../../core/surface.js';
|
|
13
|
+
import { repl_confirm } from '../../core/question.js';
|
|
13
14
|
import { files_path_isDirectory, files_listRecursive } from '@fnndsc/salsa';
|
|
14
15
|
import { directory_archive } from './archive.js';
|
|
15
16
|
/**
|
|
@@ -20,8 +21,10 @@ import { directory_archive } from './archive.js';
|
|
|
20
21
|
* @throws {Error} When the surface declines the operation.
|
|
21
22
|
*/
|
|
22
23
|
async function downloadConfirmation_request(message) {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
// A yes/no says so on the wire, so a graphical surface can offer two
|
|
25
|
+
// capsules rather than make an operator know that `y` is the word. A
|
|
26
|
+
// terminal reads the same line it always did.
|
|
27
|
+
if (!await repl_confirm(message)) {
|
|
25
28
|
throw new Error('Operation cancelled by user.');
|
|
26
29
|
}
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/builtins/fs/download.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,0BAA0B,IAAI,kBAAkB,EAChD,8BAA8B,IAAI,sBAAsB,EAIxD,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAwB,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAe,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAsB,MAAM,cAAc,CAAC;AAGrE;;;;;;GAMG;AACH,KAAK,UAAU,4BAA4B,CAAC,OAAe;IACzD,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/builtins/fs/download.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/mv.js
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import path from 'path';
|
|
7
|
-
import { listCache_get, envelope_ok, envelope_error } from '@fnndsc/cumin';
|
|
7
|
+
import { listCache_get, envelope_ok, envelope_error, errorStack } from '@fnndsc/cumin';
|
|
8
8
|
import { commandArgs_process, path_resolve } from '../utils.js';
|
|
9
|
+
import { destination_ask, destination_missing } from './destination.js';
|
|
9
10
|
import { files_mv as chefs_mv_cmd } from '@fnndsc/chili/commands/fs/mv.js';
|
|
10
11
|
import { mv_render } from '@fnndsc/chili/views/fs.js';
|
|
11
12
|
/**
|
|
@@ -19,6 +20,38 @@ import { mv_render } from '@fnndsc/chili/views/fs.js';
|
|
|
19
20
|
export async function builtin_mv(args) {
|
|
20
21
|
const parsed = commandArgs_process(args);
|
|
21
22
|
const pathArgs = parsed._;
|
|
23
|
+
// `-t <dir>` names the TARGET DIRECTORY, so every operand is a source —
|
|
24
|
+
// the shell's own answer to "several things, one destination". Given no
|
|
25
|
+
// value it is a question (an-absent-value-is-a-question), and the answer
|
|
26
|
+
// wants a directory: `mv a b` without it means rename a ONTO b, which
|
|
27
|
+
// is the right reading of that line and the wrong thing for a set.
|
|
28
|
+
const target = parsed.t;
|
|
29
|
+
if (target !== undefined && pathArgs.length > 0) {
|
|
30
|
+
if (typeof target === 'string' && target !== '') {
|
|
31
|
+
return mv_run({ sources: pathArgs, dest: target });
|
|
32
|
+
}
|
|
33
|
+
const chosen = await destination_ask({
|
|
34
|
+
verb: 'mv', commit: 'MOVE HERE', sources: pathArgs, wantsDirectory: true,
|
|
35
|
+
});
|
|
36
|
+
if (chosen === '') {
|
|
37
|
+
process.exitCode = 1;
|
|
38
|
+
return envelope_error('', undefined, `${chalk.red(destination_missing('mv'))}\n`);
|
|
39
|
+
}
|
|
40
|
+
return mv_run({ sources: pathArgs, dest: chosen });
|
|
41
|
+
}
|
|
42
|
+
// One operand names what to move and not where: that is a question, not a
|
|
43
|
+
// usage error. The answer opens where the file already lives and offers
|
|
44
|
+
// its own name, so the ordinary case is a rename.
|
|
45
|
+
if (pathArgs.length === 1) {
|
|
46
|
+
const chosen = await destination_ask({
|
|
47
|
+
verb: 'mv', commit: 'MOVE HERE', sources: pathArgs,
|
|
48
|
+
});
|
|
49
|
+
if (chosen === '') {
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
return envelope_error('', undefined, `${chalk.red(destination_missing('mv'))}\n`);
|
|
52
|
+
}
|
|
53
|
+
return mv_run({ sources: pathArgs, dest: chosen });
|
|
54
|
+
}
|
|
22
55
|
// Last arg is destination, all others are sources
|
|
23
56
|
return mv_run({
|
|
24
57
|
sources: pathArgs.slice(0, -1),
|
|
@@ -60,6 +93,13 @@ export async function mv_run(options) {
|
|
|
60
93
|
if (sources.length === 1) {
|
|
61
94
|
rendered += `${mv_render(srcPath, destPath, success)}\n`;
|
|
62
95
|
}
|
|
96
|
+
if (!success) {
|
|
97
|
+
// The kernel said WHY on the stack; a bare "Failed to move" makes
|
|
98
|
+
// an operator guess at a reason that was already known.
|
|
99
|
+
const reason = errorStack.stack_pop();
|
|
100
|
+
if (reason !== undefined)
|
|
101
|
+
renderedErr += `${chalk.red(`mv: ${reason.message}`)}\n`;
|
|
102
|
+
}
|
|
63
103
|
outcomes.push({ source: srcPath, moved: success });
|
|
64
104
|
if (success) {
|
|
65
105
|
successCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mv.js","sourceRoot":"","sources":["../../../src/builtins/fs/mv.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAmB,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mv.js","sourceRoot":"","sources":["../../../src/builtins/fs/mv.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/fs/rm.d.ts
CHANGED
|
@@ -6,6 +6,12 @@ export interface RmArgs {
|
|
|
6
6
|
recursive: boolean;
|
|
7
7
|
force: boolean;
|
|
8
8
|
interactive: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Ask ONCE for the whole list rather than once per target (`-I`), which
|
|
11
|
+
* is what a set deserves: twenty questions to remove twenty files is a
|
|
12
|
+
* confirmation an operator learns to dismiss without reading.
|
|
13
|
+
*/
|
|
14
|
+
once: boolean;
|
|
9
15
|
paths: string[];
|
|
10
16
|
}
|
|
11
17
|
/**
|