@poe-platform/safe-bash 0.1.520 → 0.1.521
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/safe-bash/commands/find-format.d.ts +28 -0
- package/dist/safe-bash/commands/find-format.d.ts.map +1 -0
- package/dist/safe-bash/commands/find-format.js +168 -0
- package/dist/safe-bash/commands/find-format.js.map +1 -0
- package/dist/safe-bash/commands/find.d.ts.map +1 -1
- package/dist/safe-bash/commands/find.js +21 -5
- package/dist/safe-bash/commands/find.js.map +1 -1
- package/dist/safe-bash/core.browser.js +269 -114
- package/dist/safe-bash/core.browser.js.map +4 -4
- package/package.json +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type CommandContext, type FileStat } from "../contracts/index.js";
|
|
2
|
+
import { type ShellValue } from "../contracts/value.js";
|
|
3
|
+
export interface FindFormatEntry {
|
|
4
|
+
readonly display: string;
|
|
5
|
+
readonly root: string;
|
|
6
|
+
readonly relative: string;
|
|
7
|
+
readonly depth: number;
|
|
8
|
+
readonly stat: FileStat;
|
|
9
|
+
}
|
|
10
|
+
/** Invocation-wide limits apply across every format action and matched entry. */
|
|
11
|
+
export declare class FindFormatBudget {
|
|
12
|
+
readonly context: CommandContext;
|
|
13
|
+
private arguments;
|
|
14
|
+
private steps;
|
|
15
|
+
private bytes;
|
|
16
|
+
private untilYield;
|
|
17
|
+
exhausted: boolean;
|
|
18
|
+
constructor(context: CommandContext);
|
|
19
|
+
fail(label: string): never;
|
|
20
|
+
admitFormat(length: number): void;
|
|
21
|
+
step(count?: number): Promise<void>;
|
|
22
|
+
write(bytes: Uint8Array): Promise<void>;
|
|
23
|
+
admitOutput(length: number): void;
|
|
24
|
+
text(text: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/** Linear scan in admitted format bytes; no native formatting or regexp engine. */
|
|
27
|
+
export declare function compileFindFormat(value: ShellValue, budget: FindFormatBudget): Promise<(entry: FindFormatEntry) => Promise<void>>;
|
|
28
|
+
//# sourceMappingURL=find-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-format.d.ts","sourceRoot":"","sources":["../../src/commands/find-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAI/F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAKD,iFAAiF;AACjF,qBAAa,gBAAgB;IAOf,QAAQ,CAAC,OAAO,EAAE,cAAc;IAN5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAAQ;IAC1B,SAAS,UAAS;gBAEG,OAAO,EAAE,cAAc;IAE5C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAK1B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3B,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9B,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAaxC;AAuBD,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CA2CvI"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { FsError } from "../contracts/index.js";
|
|
2
|
+
import { shellValueByteLength, shellValueBytes } from "../contracts/value.js";
|
|
3
|
+
import { yieldTurn } from "../contracts/yield.js";
|
|
4
|
+
import { output, UsageError } from "./internal.js";
|
|
5
|
+
const controls = { 97: 7, 98: 8, 102: 12, 110: 10, 114: 13, 116: 9, 118: 11, 92: 92 };
|
|
6
|
+
/** Invocation-wide limits apply across every format action and matched entry. */
|
|
7
|
+
export class FindFormatBudget {
|
|
8
|
+
context;
|
|
9
|
+
arguments = 0;
|
|
10
|
+
steps = 0;
|
|
11
|
+
bytes = 0;
|
|
12
|
+
untilYield = 4096;
|
|
13
|
+
exhausted = false;
|
|
14
|
+
constructor(context) {
|
|
15
|
+
this.context = context;
|
|
16
|
+
}
|
|
17
|
+
fail(label) {
|
|
18
|
+
this.exhausted = true;
|
|
19
|
+
throw new FsError("EFBIG", { message: `find printf ${label} limit exceeded` });
|
|
20
|
+
}
|
|
21
|
+
admitFormat(length) {
|
|
22
|
+
this.arguments += length;
|
|
23
|
+
if (this.arguments > 65536)
|
|
24
|
+
throw new UsageError("printf format byte limit exceeded (65536)");
|
|
25
|
+
}
|
|
26
|
+
async step(count = 1) {
|
|
27
|
+
this.context.signal.throwIfAborted();
|
|
28
|
+
this.steps += count;
|
|
29
|
+
if (this.steps > 32 * 1024 * 1024)
|
|
30
|
+
this.fail("work");
|
|
31
|
+
this.untilYield -= count;
|
|
32
|
+
if (this.untilYield <= 0) {
|
|
33
|
+
this.untilYield = 4096;
|
|
34
|
+
await yieldTurn(this.context.signal);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async write(bytes) {
|
|
38
|
+
this.admitOutput(bytes.length);
|
|
39
|
+
this.bytes += bytes.length;
|
|
40
|
+
for (let offset = 0; offset < bytes.length; offset += 4096) {
|
|
41
|
+
const chunk = bytes.subarray(offset, offset + 4096);
|
|
42
|
+
await this.step(chunk.length);
|
|
43
|
+
await output(this.context, chunk);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
admitOutput(length) {
|
|
47
|
+
if (length > 8 * 1024 * 1024 - this.bytes)
|
|
48
|
+
this.fail("output");
|
|
49
|
+
}
|
|
50
|
+
async text(text) {
|
|
51
|
+
this.admitOutput(text.length);
|
|
52
|
+
// Bound each encoding allocation independently of the full pathname length.
|
|
53
|
+
for (let offset = 0; offset < text.length;) {
|
|
54
|
+
let end = Math.min(text.length, offset + 1024);
|
|
55
|
+
if (end < text.length && text.charCodeAt(end - 1) >= 0xd800 && text.charCodeAt(end - 1) <= 0xdbff)
|
|
56
|
+
end--;
|
|
57
|
+
const part = text.slice(offset, end);
|
|
58
|
+
const length = Buffer.byteLength(part);
|
|
59
|
+
this.admitOutput(length);
|
|
60
|
+
await this.write(Buffer.from(part));
|
|
61
|
+
offset = end;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async function field(entry, code, budget) {
|
|
66
|
+
if (code === "p")
|
|
67
|
+
return entry.display;
|
|
68
|
+
if (code === "P")
|
|
69
|
+
return entry.relative;
|
|
70
|
+
if (code === "H")
|
|
71
|
+
return entry.root;
|
|
72
|
+
if (code === "s")
|
|
73
|
+
return String(entry.stat.size);
|
|
74
|
+
if (code === "d")
|
|
75
|
+
return String(entry.depth);
|
|
76
|
+
if (code === "y")
|
|
77
|
+
return ({ file: "f", directory: "d", symlink: "l", character: "c" })[entry.stat.type];
|
|
78
|
+
let end = entry.display.length;
|
|
79
|
+
while (end > 1 && entry.display[end - 1] === "/") {
|
|
80
|
+
await budget.step();
|
|
81
|
+
end--;
|
|
82
|
+
}
|
|
83
|
+
let slash = end - 1;
|
|
84
|
+
while (slash >= 0 && entry.display[slash] !== "/") {
|
|
85
|
+
await budget.step();
|
|
86
|
+
slash--;
|
|
87
|
+
}
|
|
88
|
+
const start = code === "f" ? slash + 1 : 0;
|
|
89
|
+
const finish = code === "f" ? end : slash;
|
|
90
|
+
if (code === "f" && end === 1 && entry.display[0] === "/")
|
|
91
|
+
return "/";
|
|
92
|
+
if (code === "h" && slash < 0)
|
|
93
|
+
return ".";
|
|
94
|
+
budget.admitOutput(finish - start);
|
|
95
|
+
// Charge retained substring copying as well as the backwards component scan.
|
|
96
|
+
for (let offset = start; offset < finish; offset += 4096)
|
|
97
|
+
await budget.step(Math.min(4096, finish - offset));
|
|
98
|
+
return entry.display.slice(start, finish);
|
|
99
|
+
}
|
|
100
|
+
/** Linear scan in admitted format bytes; no native formatting or regexp engine. */
|
|
101
|
+
export async function compileFindFormat(value, budget) {
|
|
102
|
+
if (typeof value === "string" && value.length > 65536)
|
|
103
|
+
budget.admitFormat(value.length);
|
|
104
|
+
budget.admitFormat(shellValueByteLength(value));
|
|
105
|
+
const source = shellValueBytes(value);
|
|
106
|
+
const parts = [];
|
|
107
|
+
let literal = 0;
|
|
108
|
+
let index = 0;
|
|
109
|
+
const flush = () => { if (index > literal)
|
|
110
|
+
parts.push({ start: literal, end: index }); };
|
|
111
|
+
while (index < source.length) {
|
|
112
|
+
await budget.step();
|
|
113
|
+
const byte = source[index];
|
|
114
|
+
if (byte !== 37 && byte !== 92) {
|
|
115
|
+
index++;
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
flush();
|
|
119
|
+
const next = source[++index];
|
|
120
|
+
if (byte === 37) {
|
|
121
|
+
if (next === 37)
|
|
122
|
+
parts.push({ byte: 37 });
|
|
123
|
+
else if (next !== undefined && "pfhsdPHy".includes(String.fromCharCode(next)))
|
|
124
|
+
parts.push({ directive: String.fromCharCode(next) });
|
|
125
|
+
else
|
|
126
|
+
throw new UsageError("unsupported printf format directive or modifier");
|
|
127
|
+
index++;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
if (next === 99) {
|
|
131
|
+
literal = source.length;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
if (next !== undefined && Object.hasOwn(controls, next)) {
|
|
135
|
+
parts.push({ byte: controls[next] });
|
|
136
|
+
index++;
|
|
137
|
+
}
|
|
138
|
+
else if (next !== undefined && next >= 48 && next <= 55) {
|
|
139
|
+
let value = 0;
|
|
140
|
+
const end = Math.min(source.length, index + 3);
|
|
141
|
+
while (index < end && source[index] >= 48 && source[index] <= 55) {
|
|
142
|
+
await budget.step();
|
|
143
|
+
value = value * 8 + source[index++] - 48;
|
|
144
|
+
}
|
|
145
|
+
parts.push({ byte: value & 255 });
|
|
146
|
+
}
|
|
147
|
+
else
|
|
148
|
+
throw new UsageError("unsupported printf format escape");
|
|
149
|
+
}
|
|
150
|
+
literal = index;
|
|
151
|
+
}
|
|
152
|
+
if (literal < source.length && index > literal)
|
|
153
|
+
parts.push({ start: literal, end: index });
|
|
154
|
+
return async (entry) => {
|
|
155
|
+
for (const part of parts) {
|
|
156
|
+
await budget.step();
|
|
157
|
+
if ("directive" in part)
|
|
158
|
+
await budget.text(await field(entry, part.directive, budget));
|
|
159
|
+
else if ("byte" in part) {
|
|
160
|
+
budget.admitOutput(1);
|
|
161
|
+
await budget.write(Uint8Array.of(part.byte));
|
|
162
|
+
}
|
|
163
|
+
else
|
|
164
|
+
await budget.write(source.subarray(part.start, part.end));
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=find-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-format.js","sourceRoot":"","sources":["../../src/commands/find-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAY3I,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAoOvG"}
|
|
@@ -6,6 +6,7 @@ import { escapeText } from "../escaping.js";
|
|
|
6
6
|
import { createDirectoryReader } from "./directory-admission.js";
|
|
7
7
|
import { assertCommandRequirements } from "../contracts/command-requirements.js";
|
|
8
8
|
import { filesystemCommandRequirements } from "./filesystem-requirements.js";
|
|
9
|
+
import { compileFindFormat, FindFormatBudget } from "./find-format.js";
|
|
9
10
|
export function findCommands(execute, maxDirectoryEntries) {
|
|
10
11
|
const readDirectory = createDirectoryReader(maxDirectoryEntries);
|
|
11
12
|
return [define("find", async (context) => {
|
|
@@ -53,7 +54,7 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
53
54
|
args.splice(index, 1);
|
|
54
55
|
values.splice(index, 1);
|
|
55
56
|
}
|
|
56
|
-
else if (["-name", "-iname", "-path", "-ipath", "-type", "-size", "-mtime", "-mmin", "-newer"].includes(args[index]))
|
|
57
|
+
else if (["-name", "-iname", "-path", "-ipath", "-type", "-size", "-mtime", "-mmin", "-newer", "-printf"].includes(args[index]))
|
|
57
58
|
index += 2;
|
|
58
59
|
else
|
|
59
60
|
index++;
|
|
@@ -65,6 +66,8 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
65
66
|
let prunes = false;
|
|
66
67
|
const references = new Map();
|
|
67
68
|
const flushes = [];
|
|
69
|
+
const formats = [];
|
|
70
|
+
const formatBudget = new FindFormatBudget(context);
|
|
68
71
|
const primary = () => {
|
|
69
72
|
const token = args[offset++];
|
|
70
73
|
if (token === undefined)
|
|
@@ -170,6 +173,15 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
170
173
|
explicitAction = true;
|
|
171
174
|
return async (entry) => { await output(context, token === "-print0" ? `${entry.display}\0` : `${escapeText(entry.display, "display")}\n`); return true; };
|
|
172
175
|
}
|
|
176
|
+
if (token === "-printf") {
|
|
177
|
+
if (args[offset] === undefined)
|
|
178
|
+
throw new UsageError("-printf requires a format");
|
|
179
|
+
const operand = values[offset++];
|
|
180
|
+
let render;
|
|
181
|
+
formats.push(async () => { render = await compileFindFormat(operand, formatBudget); });
|
|
182
|
+
explicitAction = true;
|
|
183
|
+
return async (entry) => { await render(entry); return true; };
|
|
184
|
+
}
|
|
173
185
|
if (token === "-exec") {
|
|
174
186
|
explicitAction = true;
|
|
175
187
|
const command = [];
|
|
@@ -236,6 +248,8 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
236
248
|
const evaluate = args.length ? disjunction() : async () => true;
|
|
237
249
|
if (offset !== args.length)
|
|
238
250
|
throw new UsageError(`unexpected expression '${args[offset]}'`);
|
|
251
|
+
for (const prepare of formats)
|
|
252
|
+
await prepare();
|
|
239
253
|
if (deletes && prunes && !explicitDepth)
|
|
240
254
|
throw new PublicDiagnostic("-delete implies -depth; -prune is ineffective unless -depth is explicitly supplied");
|
|
241
255
|
for (const reference of references.keys()) {
|
|
@@ -254,7 +268,7 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
254
268
|
context.signal.throwIfAborted();
|
|
255
269
|
references.set(reference, stat.mtimeMs);
|
|
256
270
|
}
|
|
257
|
-
const visit = async (display, depth, ancestors) => {
|
|
271
|
+
const visit = async (display, depth, ancestors, root, relative) => {
|
|
258
272
|
context.signal.throwIfAborted();
|
|
259
273
|
const path = pathOf(context, display);
|
|
260
274
|
try {
|
|
@@ -271,7 +285,7 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
271
285
|
throw error;
|
|
272
286
|
}
|
|
273
287
|
}
|
|
274
|
-
const entry = { path, display, stat, symlink, depth, prune: false };
|
|
288
|
+
const entry = { path, display, stat, symlink, depth, root, relative, prune: false };
|
|
275
289
|
const apply = async () => { if (depth >= minDepth && await evaluate(entry) && !explicitAction)
|
|
276
290
|
await output(context, `${escapeText(display, "display")}\n`); };
|
|
277
291
|
if (!depthFirst)
|
|
@@ -283,18 +297,20 @@ export function findCommands(execute, maxDirectoryEntries) {
|
|
|
283
297
|
const next = new Set(ancestors).add(physical);
|
|
284
298
|
const children = await readDirectory(context, path, true);
|
|
285
299
|
for (const child of children)
|
|
286
|
-
await visit(`${display.replace(/\/$/u, "")}/${child.name}`, depth + 1, next);
|
|
300
|
+
await visit(`${display.replace(/\/$/u, "")}/${child.name}`, depth + 1, next, root, relative ? `${relative}/${child.name}` : child.name);
|
|
287
301
|
}
|
|
288
302
|
if (depthFirst)
|
|
289
303
|
await apply();
|
|
290
304
|
}
|
|
291
305
|
catch (error) {
|
|
306
|
+
if (formatBudget.exhausted)
|
|
307
|
+
throw error;
|
|
292
308
|
await diagnostic(context, error);
|
|
293
309
|
exitCode = 1;
|
|
294
310
|
}
|
|
295
311
|
};
|
|
296
312
|
for (const root of roots)
|
|
297
|
-
await visit(root, 0, new Set());
|
|
313
|
+
await visit(root, 0, new Set(), root, "");
|
|
298
314
|
for (const flush of flushes)
|
|
299
315
|
await flush();
|
|
300
316
|
return { exitCode };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}
|