@poe-platform/safe-bash 0.1.542 → 0.1.543
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/chunks/chunk-MVVKEMEG.js +1069 -0
- package/dist/safe-bash/chunks/chunk-MVVKEMEG.js.map +7 -0
- package/dist/safe-bash/commands/line-endings/command.d.ts +5 -0
- package/dist/safe-bash/commands/line-endings/command.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/command.js +320 -0
- package/dist/safe-bash/commands/line-endings/command.js.map +1 -0
- package/dist/safe-bash/commands/line-endings/convert.d.ts +11 -0
- package/dist/safe-bash/commands/line-endings/convert.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/convert.js +196 -0
- package/dist/safe-bash/commands/line-endings/convert.js.map +1 -0
- package/dist/safe-bash/commands/line-endings/index.browser.js +18 -0
- package/dist/safe-bash/commands/line-endings/index.browser.js.map +7 -0
- package/dist/safe-bash/commands/line-endings/index.d.ts +7 -0
- package/dist/safe-bash/commands/line-endings/index.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/index.js +9 -0
- package/dist/safe-bash/commands/line-endings/index.js.map +1 -0
- package/dist/safe-bash/commands/line-endings/internal.d.ts +67 -0
- package/dist/safe-bash/commands/line-endings/internal.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/internal.js +144 -0
- package/dist/safe-bash/commands/line-endings/internal.js.map +1 -0
- package/dist/safe-bash/commands/line-endings/io.d.ts +53 -0
- package/dist/safe-bash/commands/line-endings/io.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/io.js +267 -0
- package/dist/safe-bash/commands/line-endings/io.js.map +1 -0
- package/dist/safe-bash/commands/line-endings/stage.d.ts +30 -0
- package/dist/safe-bash/commands/line-endings/stage.d.ts.map +1 -0
- package/dist/safe-bash/commands/line-endings/stage.js +159 -0
- package/dist/safe-bash/commands/line-endings/stage.js.map +1 -0
- package/dist/safe-bash/core.browser.js +13 -1
- package/dist/safe-bash/core.browser.js.map +2 -2
- package/dist/safe-bash/core.d.ts +1 -0
- package/dist/safe-bash/core.d.ts.map +1 -1
- package/dist/safe-bash/core.js +1 -0
- package/dist/safe-bash/core.js.map +1 -1
- package/dist/safe-bash/plugins/composition.d.ts +2 -0
- package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
- package/dist/safe-bash/plugins/composition.js +3 -1
- package/dist/safe-bash/plugins/composition.js.map +1 -1
- package/package.json +8 -2
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { LineEndingError } from "./internal.js";
|
|
2
|
+
import { Lifecycle, Reader, Writer } from "./io.js";
|
|
3
|
+
export async function convert(direction, reader, writer, life, options, state, name, stdio) {
|
|
4
|
+
const prefix = [];
|
|
5
|
+
let bom = "bytes";
|
|
6
|
+
const diagnostic = async (message) => { await life.diagnostic(`${direction}: ${message}\n`); };
|
|
7
|
+
const first = await reader.get();
|
|
8
|
+
let bomError = false;
|
|
9
|
+
if (first !== -1) {
|
|
10
|
+
if (first !== 0xff && first !== 0xfe && first !== 0xef && first !== 0x84)
|
|
11
|
+
prefix.push(first);
|
|
12
|
+
else {
|
|
13
|
+
const second = await reader.get();
|
|
14
|
+
if (second === -1)
|
|
15
|
+
bomError = true;
|
|
16
|
+
else if (first === 0xff && second === 0xfe)
|
|
17
|
+
bom = "le";
|
|
18
|
+
else if (first === 0xfe && second === 0xff)
|
|
19
|
+
bom = "be";
|
|
20
|
+
else {
|
|
21
|
+
const third = await reader.get();
|
|
22
|
+
if (third === -1)
|
|
23
|
+
bomError = true;
|
|
24
|
+
else if (first === 0xef && second === 0xbb && third === 0xbf)
|
|
25
|
+
bom = "utf8";
|
|
26
|
+
else {
|
|
27
|
+
prefix.push(first, second, third);
|
|
28
|
+
if (first === 0x84 && second === 0x31 && third === 0x95) {
|
|
29
|
+
const fourth = await reader.get();
|
|
30
|
+
if (fourth === -1)
|
|
31
|
+
bomError = true;
|
|
32
|
+
else if (fourth === 0x33) {
|
|
33
|
+
bom = "gb";
|
|
34
|
+
prefix.length = 0;
|
|
35
|
+
}
|
|
36
|
+
else
|
|
37
|
+
prefix.push(fourth);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (bomError) {
|
|
44
|
+
if (!options.quiet)
|
|
45
|
+
await diagnostic("can not read from input file: Success");
|
|
46
|
+
return { kind: "bom-error", encoding: "" };
|
|
47
|
+
}
|
|
48
|
+
if (bom === "bytes")
|
|
49
|
+
bom = options.assume;
|
|
50
|
+
const wide = bom === "le" || bom === "be";
|
|
51
|
+
const encoding = wide ? bom === "le" ? "UTF-16LE" : "UTF-16BE" : "";
|
|
52
|
+
const env = life.budget.context.env;
|
|
53
|
+
const locale = env.LC_ALL || env.LC_CTYPE || env.LANG || "C";
|
|
54
|
+
const utf8 = locale === "C.UTF-8" || locale === "C.utf8";
|
|
55
|
+
if (wide && !options.keepUtf16 && !utf8 && locale !== "C" && locale !== "POSIX")
|
|
56
|
+
throw new LineEndingError("UTF-16 conversion supports only C/POSIX and C.UTF-8 locales");
|
|
57
|
+
if (options.addBom || options.keepBom && bom !== "bytes") {
|
|
58
|
+
const bytes = options.keepUtf16 && wide ? bom === "le" ? [0xff, 0xfe] : [0xfe, 0xff] : bom === "gb" ? [0x84, 0x31, 0x95, 0x33] : [0xef, 0xbb, 0xbf];
|
|
59
|
+
for (const byte of bytes)
|
|
60
|
+
await writer.put(byte);
|
|
61
|
+
}
|
|
62
|
+
let prefixOffset = 0;
|
|
63
|
+
const byte = async () => prefixOffset < prefix.length ? prefix[prefixOffset++] : await reader.get();
|
|
64
|
+
let pushed = -1;
|
|
65
|
+
const unit = async () => {
|
|
66
|
+
if (pushed !== -1) {
|
|
67
|
+
const value = pushed;
|
|
68
|
+
pushed = -1;
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
const lead = await byte();
|
|
72
|
+
if (lead === -1 || !wide)
|
|
73
|
+
return lead;
|
|
74
|
+
const trail = await byte();
|
|
75
|
+
return trail === -1 ? -1 : bom === "le" ? lead + trail * 256 : lead * 256 + trail;
|
|
76
|
+
};
|
|
77
|
+
let line = 1;
|
|
78
|
+
const result = { kind: "ok" };
|
|
79
|
+
const put = async (value) => {
|
|
80
|
+
if (!wide) {
|
|
81
|
+
await writer.put(options.sevenBit && bom === "bytes" && value >= 128 ? 32 : value);
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
if (options.keepUtf16) {
|
|
85
|
+
await writer.put(bom === "le" ? value & 255 : value >> 8);
|
|
86
|
+
await writer.put(bom === "le" ? value >> 8 : value & 255);
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
if (state.high >= 0xd800 && state.high < 0xdc00 && (value < 0xdc00 || value >= 0xe000)) {
|
|
90
|
+
await diagnostic("error: Invalid surrogate pair. Missing low surrogate.");
|
|
91
|
+
result.kind = "unicode";
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
if (value >= 0xd800 && value < 0xdc00) {
|
|
95
|
+
state.high = value;
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
if (value >= 0xdc00 && value < 0xe000) {
|
|
99
|
+
if (!(state.high >= 0xd800 && state.high < 0xdc00)) {
|
|
100
|
+
await diagnostic("error: Invalid surrogate pair. Missing high surrogate.");
|
|
101
|
+
result.kind = "unicode";
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
value = 0x10000 + (state.high & 1023) * 1024 + (value & 1023);
|
|
105
|
+
state.high = 1;
|
|
106
|
+
}
|
|
107
|
+
if (!utf8 && value > 127) {
|
|
108
|
+
if (!options.quiet)
|
|
109
|
+
await diagnostic("Invalid or incomplete multibyte or wide character");
|
|
110
|
+
result.kind = "unicode";
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
if (value < 128)
|
|
114
|
+
await writer.put(value);
|
|
115
|
+
else if (value < 2048) {
|
|
116
|
+
await writer.put(0xc0 | value >> 6);
|
|
117
|
+
await writer.put(0x80 | value & 63);
|
|
118
|
+
}
|
|
119
|
+
else if (value < 65536) {
|
|
120
|
+
await writer.put(0xe0 | value >> 12);
|
|
121
|
+
await writer.put(0x80 | value >> 6 & 63);
|
|
122
|
+
await writer.put(0x80 | value & 63);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await writer.put(0xf0 | value >> 18);
|
|
126
|
+
await writer.put(0x80 | value >> 12 & 63);
|
|
127
|
+
await writer.put(0x80 | value >> 6 & 63);
|
|
128
|
+
await writer.put(0x80 | value & 63);
|
|
129
|
+
}
|
|
130
|
+
return true;
|
|
131
|
+
};
|
|
132
|
+
let previous = 0;
|
|
133
|
+
for (;;) {
|
|
134
|
+
let current = await unit();
|
|
135
|
+
if (current === -1)
|
|
136
|
+
break;
|
|
137
|
+
if (!options.force && current < 32 && current !== 9 && current !== 10 && current !== 12 && current !== 13) {
|
|
138
|
+
result.kind = "binary";
|
|
139
|
+
if (!options.quiet)
|
|
140
|
+
await diagnostic(`Binary symbol 0x${current.toString(16).toUpperCase().padStart(wide ? 4 : 2, "0")} found at line ${line}`);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
if (direction === "dos2unix") {
|
|
144
|
+
if (current === 13) {
|
|
145
|
+
pushed = await unit();
|
|
146
|
+
if (pushed !== 10) {
|
|
147
|
+
if (!await put(13))
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
else if (options.newline && !await put(10))
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
if (current === 10)
|
|
155
|
+
line++;
|
|
156
|
+
if (!await put(current))
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
if (current === 10) {
|
|
162
|
+
if (!await put(13))
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
else if (current === 13) {
|
|
166
|
+
current = await unit();
|
|
167
|
+
if (current === -1)
|
|
168
|
+
current = 13;
|
|
169
|
+
else {
|
|
170
|
+
if (!await put(13))
|
|
171
|
+
break;
|
|
172
|
+
previous = 13;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (current === 10)
|
|
176
|
+
line++;
|
|
177
|
+
if (!await put(current))
|
|
178
|
+
break;
|
|
179
|
+
if (options.newline && current === 10 && previous !== 13) {
|
|
180
|
+
if (!await put(13) || !await put(10))
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
previous = current;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (stdio || result.kind === "ok")
|
|
187
|
+
await writer.flush();
|
|
188
|
+
if (!options.quiet) {
|
|
189
|
+
if (result.kind === "binary")
|
|
190
|
+
await diagnostic(`Skipping binary file ${name}`);
|
|
191
|
+
if (result.kind === "unicode")
|
|
192
|
+
await diagnostic(`Skipping UTF-16 file ${name}, an UTF-16 conversion error occurred on line ${line}.`);
|
|
193
|
+
}
|
|
194
|
+
return { kind: result.kind, encoding };
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/commands/line-endings/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createDos2unixCommand,
|
|
3
|
+
createLineEndingCommands,
|
|
4
|
+
createUnix2dosCommand,
|
|
5
|
+
lineEndingCommands
|
|
6
|
+
} from "../../chunks/chunk-MVVKEMEG.js";
|
|
7
|
+
import "../../chunks/chunk-AZNI263O.js";
|
|
8
|
+
import "../../chunks/chunk-DPJWEGIX.js";
|
|
9
|
+
import "../../chunks/chunk-PZMJ4EC3.js";
|
|
10
|
+
import "../../chunks/chunk-5VBLSPNM.js";
|
|
11
|
+
import "../../chunks/chunk-2KL6W6NB.js";
|
|
12
|
+
export {
|
|
13
|
+
createDos2unixCommand,
|
|
14
|
+
createLineEndingCommands,
|
|
15
|
+
createUnix2dosCommand,
|
|
16
|
+
lineEndingCommands
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CommandDefinition, VirtualShellPlugin } from "../../contracts/index.js";
|
|
2
|
+
import type { LineEndingCommandsOptions } from "./internal.js";
|
|
3
|
+
export { createDos2unixCommand, createUnix2dosCommand } from "./command.js";
|
|
4
|
+
export type { LineEndingCommandsOptions, LineEndingLimits } from "./internal.js";
|
|
5
|
+
export declare function createLineEndingCommands(options?: LineEndingCommandsOptions): readonly CommandDefinition[];
|
|
6
|
+
export declare function lineEndingCommands(options?: LineEndingCommandsOptions): VirtualShellPlugin;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/line-endings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjF,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,yBAA8B,GAAG,SAAS,iBAAiB,EAAE,CAA6E;AAC5L,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,kBAAkB,CAG9F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createDos2unixCommand, createUnix2dosCommand } from "./command.js";
|
|
2
|
+
export { createDos2unixCommand, createUnix2dosCommand } from "./command.js";
|
|
3
|
+
export function createLineEndingCommands(options = {}) { return [createDos2unixCommand(options), createUnix2dosCommand(options)]; }
|
|
4
|
+
export function lineEndingCommands(options = {}) {
|
|
5
|
+
const commands = createLineEndingCommands(options);
|
|
6
|
+
return { name: "line-ending-commands", setup(host) { for (const command of commands)
|
|
7
|
+
host.commands.register(command, { replace: options.replace ?? false }); } };
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/line-endings/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,UAAU,wBAAwB,CAAC,UAAqC,EAAE,IAAkC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5L,MAAM,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IACxE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnK,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type CommandContext, type FileStat } from "../../contracts/index.js";
|
|
2
|
+
import { PublicDiagnostic } from "../../diagnostics.js";
|
|
3
|
+
export interface LineEndingLimits {
|
|
4
|
+
readonly maxArguments: number;
|
|
5
|
+
readonly maxArgumentBytes: number;
|
|
6
|
+
readonly maxInputBytes: number;
|
|
7
|
+
readonly maxOutputBytes: number;
|
|
8
|
+
readonly maxBufferedBytes: number;
|
|
9
|
+
readonly maxDiagnosticBytes: number;
|
|
10
|
+
readonly maxFiles: number;
|
|
11
|
+
readonly maxWork: number;
|
|
12
|
+
readonly maxEmptyChunks: number;
|
|
13
|
+
readonly maxPathBytes: number;
|
|
14
|
+
readonly maxDepth: number;
|
|
15
|
+
readonly maxTempAttempts: number;
|
|
16
|
+
readonly chunkSize: number;
|
|
17
|
+
}
|
|
18
|
+
export interface LineEndingCommandsOptions {
|
|
19
|
+
readonly replace?: boolean;
|
|
20
|
+
readonly limits?: Partial<LineEndingLimits>;
|
|
21
|
+
}
|
|
22
|
+
export type Direction = "dos2unix" | "unix2dos";
|
|
23
|
+
export interface ConversionOptions {
|
|
24
|
+
keepBom: boolean;
|
|
25
|
+
addBom: boolean;
|
|
26
|
+
keepUtf16: boolean;
|
|
27
|
+
assume: "bytes" | "le" | "be";
|
|
28
|
+
force: boolean;
|
|
29
|
+
quiet: boolean;
|
|
30
|
+
newline: boolean;
|
|
31
|
+
sevenBit: boolean;
|
|
32
|
+
keepDate: boolean;
|
|
33
|
+
newFile: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function settings(options: LineEndingCommandsOptions): LineEndingLimits;
|
|
36
|
+
export declare class LineEndingError extends PublicDiagnostic {
|
|
37
|
+
readonly status: number;
|
|
38
|
+
constructor(message: string, status?: number);
|
|
39
|
+
}
|
|
40
|
+
export declare class Budget {
|
|
41
|
+
readonly context: CommandContext;
|
|
42
|
+
readonly limits: LineEndingLimits;
|
|
43
|
+
readonly signal: AbortSignal;
|
|
44
|
+
private readonly caller;
|
|
45
|
+
private readonly admission;
|
|
46
|
+
private work;
|
|
47
|
+
private quantum;
|
|
48
|
+
private memory;
|
|
49
|
+
private input;
|
|
50
|
+
private output;
|
|
51
|
+
private diagnostics;
|
|
52
|
+
private files;
|
|
53
|
+
constructor(context: CommandContext, limits: LineEndingLimits, signal: AbortSignal, caller: AbortSignal, admission: {
|
|
54
|
+
closed: boolean;
|
|
55
|
+
});
|
|
56
|
+
private assertOpen;
|
|
57
|
+
check(value: number, maximum: number, label: string): void;
|
|
58
|
+
retain(amount: number): void;
|
|
59
|
+
incoming(amount: number): void;
|
|
60
|
+
emitted(amount: number, diagnostic?: boolean): void;
|
|
61
|
+
file(): void;
|
|
62
|
+
step(amount?: number): Promise<void>;
|
|
63
|
+
arguments(): Promise<string[]>;
|
|
64
|
+
}
|
|
65
|
+
export declare function sameIdentity(first: FileStat, second: FileStat): boolean;
|
|
66
|
+
export declare function missing(error: unknown): boolean;
|
|
67
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/commands/line-endings/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,yBAAyB;IAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAAE;AACtH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAChD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,yBAAyB,GAAG,gBAAgB,CAS7E;AACD,qBAAa,eAAgB,SAAQ,gBAAgB;IACtB,QAAQ,CAAC,MAAM;gBAAhC,OAAO,EAAE,MAAM,EAAW,MAAM,SAAI;CACjD;AACD,qBAAa,MAAM;IAQL,QAAQ,CAAC,OAAO,EAAE,cAAc;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW;IAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAe,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP/K,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,KAAK,CAAK;gBACG,OAAO,EAAE,cAAc,EAAW,MAAM,EAAE,gBAAgB,EAAW,MAAM,EAAE,WAAW,EAAmB,MAAM,EAAE,WAAW,EAAmB,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;IACpM,OAAO,CAAC,UAAU;IAIlB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAG1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI;IAIjD,IAAI,IAAI,IAAI;IACN,IAAI,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/B,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAkDrC;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAIvE;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAsG"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { getCommandArguments } from "../../contracts/index.js";
|
|
2
|
+
import { shellValueByteLength, shellValueBytes } from "../../contracts/value.js";
|
|
3
|
+
import { yieldTurn } from "../../contracts/yield.js";
|
|
4
|
+
import { PublicDiagnostic } from "../../diagnostics.js";
|
|
5
|
+
export function settings(options) {
|
|
6
|
+
const limits = {
|
|
7
|
+
maxArguments: 1024, maxArgumentBytes: 262_144, maxInputBytes: 16_777_216, maxOutputBytes: 33_554_432,
|
|
8
|
+
maxBufferedBytes: 2_097_152, maxDiagnosticBytes: 65_536, maxFiles: 128, maxWork: 134_217_728,
|
|
9
|
+
maxEmptyChunks: 1024, maxPathBytes: 4096, maxDepth: 64, maxTempAttempts: 128, chunkSize: 16_384,
|
|
10
|
+
...options.limits,
|
|
11
|
+
};
|
|
12
|
+
for (const [name, value] of Object.entries(limits))
|
|
13
|
+
if (!Number.isSafeInteger(value) || value < 1)
|
|
14
|
+
throw new RangeError(`Invalid line-ending limit: ${name}`);
|
|
15
|
+
return Object.freeze(limits);
|
|
16
|
+
}
|
|
17
|
+
export class LineEndingError extends PublicDiagnostic {
|
|
18
|
+
status;
|
|
19
|
+
constructor(message, status = 1) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.status = status;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class Budget {
|
|
25
|
+
context;
|
|
26
|
+
limits;
|
|
27
|
+
signal;
|
|
28
|
+
caller;
|
|
29
|
+
admission;
|
|
30
|
+
work = 0;
|
|
31
|
+
quantum = 0;
|
|
32
|
+
memory = 0;
|
|
33
|
+
input = 0;
|
|
34
|
+
output = 0;
|
|
35
|
+
diagnostics = 0;
|
|
36
|
+
files = 0;
|
|
37
|
+
constructor(context, limits, signal, caller, admission) {
|
|
38
|
+
this.context = context;
|
|
39
|
+
this.limits = limits;
|
|
40
|
+
this.signal = signal;
|
|
41
|
+
this.caller = caller;
|
|
42
|
+
this.admission = admission;
|
|
43
|
+
}
|
|
44
|
+
assertOpen() {
|
|
45
|
+
this.signal.throwIfAborted();
|
|
46
|
+
if (this.admission.closed)
|
|
47
|
+
throw new LineEndingError("command is closed");
|
|
48
|
+
}
|
|
49
|
+
check(value, maximum, label) {
|
|
50
|
+
if (!Number.isSafeInteger(value) || value < 0 || value > maximum)
|
|
51
|
+
throw new LineEndingError(`${label} limit exceeded`);
|
|
52
|
+
}
|
|
53
|
+
retain(amount) { this.check(this.memory + amount, this.limits.maxBufferedBytes, "buffered bytes"); this.memory += amount; }
|
|
54
|
+
incoming(amount) { this.check(this.input + amount, this.limits.maxInputBytes, "input bytes"); this.input += amount; }
|
|
55
|
+
emitted(amount, diagnostic = false) {
|
|
56
|
+
if (diagnostic) {
|
|
57
|
+
this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, "diagnostic bytes");
|
|
58
|
+
this.diagnostics += amount;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.check(this.output + amount, this.limits.maxOutputBytes, "output bytes");
|
|
62
|
+
this.output += amount;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
file() { this.check(++this.files, this.limits.maxFiles, "file count"); }
|
|
66
|
+
async step(amount = 1) {
|
|
67
|
+
this.assertOpen();
|
|
68
|
+
this.check(this.work + amount, this.limits.maxWork, "work");
|
|
69
|
+
this.work += amount;
|
|
70
|
+
this.quantum += amount;
|
|
71
|
+
if (this.quantum >= 1024) {
|
|
72
|
+
this.quantum = 0;
|
|
73
|
+
await yieldTurn(this.caller);
|
|
74
|
+
this.assertOpen();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async arguments() {
|
|
78
|
+
const args = this.context.args;
|
|
79
|
+
this.assertOpen();
|
|
80
|
+
const count = args.length;
|
|
81
|
+
this.assertOpen();
|
|
82
|
+
this.check(count, this.limits.maxArguments, "argument count");
|
|
83
|
+
const argumentValues = this.context.argumentValues;
|
|
84
|
+
this.assertOpen();
|
|
85
|
+
const carrier = argumentValues === undefined ? undefined : getCommandArguments({ args, argumentValues });
|
|
86
|
+
const snapshot = [];
|
|
87
|
+
this.retain(count * 64);
|
|
88
|
+
let total = 0;
|
|
89
|
+
for (let index = 0; index < count; index++) {
|
|
90
|
+
const argument = args[index];
|
|
91
|
+
this.assertOpen();
|
|
92
|
+
if (typeof argument !== "string")
|
|
93
|
+
throw new LineEndingError("arguments must be strings");
|
|
94
|
+
this.check(argument.length, this.limits.maxPathBytes, "argument bytes");
|
|
95
|
+
total += argument.length;
|
|
96
|
+
this.check(total, this.limits.maxArgumentBytes, "argument bytes");
|
|
97
|
+
this.retain(argument.length * 12);
|
|
98
|
+
snapshot.push(argument);
|
|
99
|
+
}
|
|
100
|
+
for (const argument of snapshot) {
|
|
101
|
+
for (let index = 0; index < argument.length; index++) {
|
|
102
|
+
await this.step();
|
|
103
|
+
const unit = argument.charCodeAt(index);
|
|
104
|
+
if (unit >= 0xd800 && unit <= 0xdbff) {
|
|
105
|
+
const next = argument.charCodeAt(++index);
|
|
106
|
+
if (!(next >= 0xdc00 && next <= 0xdfff))
|
|
107
|
+
throw new LineEndingError("arguments must be valid UTF-8 paths");
|
|
108
|
+
}
|
|
109
|
+
else if (unit >= 0xdc00 && unit <= 0xdfff)
|
|
110
|
+
throw new LineEndingError("arguments must be valid UTF-8 paths");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const values = (carrier ?? getCommandArguments({ args: snapshot })).values;
|
|
114
|
+
total = 0;
|
|
115
|
+
for (const value of values) {
|
|
116
|
+
const length = shellValueByteLength(value);
|
|
117
|
+
this.check(length, this.limits.maxPathBytes, "argument bytes");
|
|
118
|
+
total += length;
|
|
119
|
+
this.check(total, this.limits.maxArgumentBytes, "argument bytes");
|
|
120
|
+
}
|
|
121
|
+
const result = [];
|
|
122
|
+
for (const value of values) {
|
|
123
|
+
await this.step(shellValueByteLength(value));
|
|
124
|
+
let text;
|
|
125
|
+
try {
|
|
126
|
+
text = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(shellValueBytes(value));
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
throw new LineEndingError("arguments must be valid UTF-8 paths");
|
|
130
|
+
}
|
|
131
|
+
if (text.includes("\0"))
|
|
132
|
+
throw new LineEndingError("NUL is not supported in paths");
|
|
133
|
+
result.push(text);
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export function sameIdentity(first, second) {
|
|
139
|
+
return ((typeof first.identityScope === "object" && first.identityScope !== null) || typeof first.identityScope === "symbol")
|
|
140
|
+
&& first.identityScope === second.identityScope && Number.isSafeInteger(first.dev) && Number.isSafeInteger(first.ino)
|
|
141
|
+
&& first.dev >= 0 && first.ino >= 0 && first.dev === second.dev && first.ino === second.ino;
|
|
142
|
+
}
|
|
143
|
+
export function missing(error) { return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT"; }
|
|
144
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/commands/line-endings/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ByteSink, FileStat } from "../../contracts/index.js";
|
|
2
|
+
import type { OutputOperation } from "../../contracts/output.js";
|
|
3
|
+
import { Budget } from "./internal.js";
|
|
4
|
+
export declare class Lifecycle {
|
|
5
|
+
readonly budget: Budget;
|
|
6
|
+
private readonly captured;
|
|
7
|
+
private readonly caller;
|
|
8
|
+
readonly admission: {
|
|
9
|
+
closed: boolean;
|
|
10
|
+
};
|
|
11
|
+
private readonly pending;
|
|
12
|
+
private readonly cleanups;
|
|
13
|
+
private closing;
|
|
14
|
+
private diagnosticDestination;
|
|
15
|
+
diagnosticCancellation: {
|
|
16
|
+
reason: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
constructor(budget: Budget, output: OutputOperation, captured: ByteSink, caller: AbortSignal, admission: {
|
|
19
|
+
closed: boolean;
|
|
20
|
+
});
|
|
21
|
+
assertOpen(): void;
|
|
22
|
+
private assertDiagnosticOpen;
|
|
23
|
+
cleanup(action: () => Promise<void>): void;
|
|
24
|
+
operation<Value>(action: () => Value | Promise<Value>): Promise<Value>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
stdout(bytes: Uint8Array): Promise<void>;
|
|
27
|
+
diagnostic(text: string): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export declare class Reader {
|
|
30
|
+
readonly life: Lifecycle;
|
|
31
|
+
private iterator;
|
|
32
|
+
private chunk;
|
|
33
|
+
private offset;
|
|
34
|
+
private ended;
|
|
35
|
+
private empties;
|
|
36
|
+
private snapshotBytes;
|
|
37
|
+
private closing;
|
|
38
|
+
constructor(life: Lifecycle);
|
|
39
|
+
close(): Promise<void>;
|
|
40
|
+
open(path?: string, stat?: FileStat): Promise<void>;
|
|
41
|
+
get(): Promise<number>;
|
|
42
|
+
}
|
|
43
|
+
export declare class Writer {
|
|
44
|
+
readonly life: Lifecycle;
|
|
45
|
+
readonly publish: (bytes: Uint8Array) => Promise<void>;
|
|
46
|
+
private buffer;
|
|
47
|
+
private used;
|
|
48
|
+
constructor(life: Lifecycle, publish: (bytes: Uint8Array) => Promise<void>);
|
|
49
|
+
release(): void;
|
|
50
|
+
put(byte: number): Promise<void>;
|
|
51
|
+
flush(): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=io.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/commands/line-endings/io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAc,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AAOxD,qBAAa,SAAS;IAMR,QAAQ,CAAC,MAAM,EAAE,MAAM;IAA2B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAY,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAe,QAAQ,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;IALhL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,qBAAqB,CAA2E;IACxG,sBAAsB,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;gBACnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAmB,QAAQ,EAAE,QAAQ,EAAmB,MAAM,EAAE,WAAW,EAAW,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;IAChL,UAAU,IAAI,IAAI;IAClB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACpC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IAO5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAShB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyB9C;AAED,qBAAa,MAAM;IAQL,QAAQ,CAAC,IAAI,EAAE,SAAS;IAPpC,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAA4B;gBACtB,IAAI,EAAE,SAAS;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAehB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CnD,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CA+B7B;AAED,qBAAa,MAAM;IAGL,QAAQ,CAAC,IAAI,EAAE,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC;IAF5F,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAK;gBACI,IAAI,EAAE,SAAS,EAAW,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC;IAM5F,OAAO,IAAI,IAAI;IACT,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|