@poe-platform/safe-bash 0.1.623 → 0.1.624
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/archive/zip/comments.d.ts +14 -1
- package/dist/safe-bash/commands/archive/zip/comments.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/comments.js +72 -37
- package/dist/safe-bash/commands/archive/zip/comments.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/options.js +2 -2
- package/dist/safe-bash/commands/archive/zip/options.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -0
- package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.js +44 -0
- package/dist/safe-bash/commands/archive/zip-format.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip.js +35 -10
- package/dist/safe-bash/commands/archive/zip.js.map +1 -1
- package/dist/safe-bash/core.browser.js +125 -36
- package/dist/safe-bash/core.browser.js.map +3 -3
- package/package.json +2 -2
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { type ByteSource } from "../../../contracts/index.js";
|
|
2
2
|
import { type ArchiveLimits } from "../internal.js";
|
|
3
|
+
/** One bounded cursor for all comments; an input chunk may contain many lines. */
|
|
4
|
+
export declare class ZipCommentInput {
|
|
5
|
+
private readonly limits;
|
|
6
|
+
private readonly signal;
|
|
7
|
+
readonly iterator: AsyncIterator<Uint8Array>;
|
|
8
|
+
private chunk;
|
|
9
|
+
private offset;
|
|
10
|
+
private bytes;
|
|
11
|
+
private pulls;
|
|
12
|
+
private ended;
|
|
13
|
+
constructor(source: ByteSource, limits: ArchiveLimits, signal: AbortSignal);
|
|
14
|
+
readLine(): Promise<Uint8Array | undefined>;
|
|
15
|
+
}
|
|
3
16
|
/** Info-ZIP's fgets/strlen archive-comment grammar, with explicit byte limits. */
|
|
4
|
-
export declare function readZipComment(source: ByteSource, limits: ArchiveLimits, signal: AbortSignal): Promise<Uint8Array>;
|
|
17
|
+
export declare function readZipComment(source: ByteSource | ZipCommentInput, limits: ArchiveLimits, signal: AbortSignal): Promise<Uint8Array>;
|
|
5
18
|
//# sourceMappingURL=comments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1D,kFAAkF;AAClF,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1D,kFAAkF;AAClF,qBAAa,eAAe;IAOM,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAiB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN/F,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAS;gBACV,MAAM,EAAE,UAAU,EAAmB,MAAM,EAAE,aAAa,EAAmB,MAAM,EAAE,WAAW;IAGtG,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAyBlD;AAED,kFAAkF;AAClF,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB1I"}
|
|
@@ -1,48 +1,83 @@
|
|
|
1
1
|
import { readBytes } from "../../../contracts/index.js";
|
|
2
2
|
import { yieldTurn } from "../../../contracts/yield.js";
|
|
3
3
|
import { fail } from "../internal.js";
|
|
4
|
+
/** One bounded cursor for all comments; an input chunk may contain many lines. */
|
|
5
|
+
export class ZipCommentInput {
|
|
6
|
+
limits;
|
|
7
|
+
signal;
|
|
8
|
+
iterator;
|
|
9
|
+
chunk = new Uint8Array();
|
|
10
|
+
offset = 0;
|
|
11
|
+
bytes = 0;
|
|
12
|
+
pulls = 0;
|
|
13
|
+
ended = false;
|
|
14
|
+
constructor(source, limits, signal) {
|
|
15
|
+
this.limits = limits;
|
|
16
|
+
this.signal = signal;
|
|
17
|
+
this.iterator = readBytes(source, signal)[Symbol.asyncIterator]();
|
|
18
|
+
}
|
|
19
|
+
async readLine() {
|
|
20
|
+
const line = [];
|
|
21
|
+
while (line.length < 65535) {
|
|
22
|
+
this.signal.throwIfAborted();
|
|
23
|
+
if (this.offset === this.chunk.length) {
|
|
24
|
+
if (this.ended)
|
|
25
|
+
break;
|
|
26
|
+
if (++this.pulls > this.limits.maxPatternSteps)
|
|
27
|
+
fail("ZIP comment input work limit exceeded");
|
|
28
|
+
const next = await this.iterator.next();
|
|
29
|
+
if (next.done) {
|
|
30
|
+
this.ended = true;
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
if (next.value.length > this.limits.maxFilesFromBytes - this.bytes)
|
|
34
|
+
fail("ZIP comment input byte limit exceeded");
|
|
35
|
+
this.chunk = new Uint8Array(next.value);
|
|
36
|
+
this.offset = 0;
|
|
37
|
+
if (this.pulls % 64 === 0)
|
|
38
|
+
await yieldTurn(this.signal);
|
|
39
|
+
if (!this.chunk.length)
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (++this.bytes > this.limits.maxFilesFromBytes)
|
|
43
|
+
fail("ZIP comment input byte limit exceeded");
|
|
44
|
+
const byte = this.chunk[this.offset++];
|
|
45
|
+
line.push(byte);
|
|
46
|
+
if (this.bytes % 4096 === 0)
|
|
47
|
+
await yieldTurn(this.signal);
|
|
48
|
+
if (byte === 10)
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
if (!line.length)
|
|
52
|
+
return undefined;
|
|
53
|
+
const zero = line.indexOf(0);
|
|
54
|
+
return Uint8Array.from(line.slice(0, zero < 0 ? undefined : zero));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
4
57
|
/** Info-ZIP's fgets/strlen archive-comment grammar, with explicit byte limits. */
|
|
5
58
|
export async function readZipComment(source, limits, signal) {
|
|
59
|
+
const input = source instanceof ZipCommentInput ? source : new ZipCommentInput(source, limits, signal);
|
|
6
60
|
const parts = [];
|
|
7
|
-
const line = [];
|
|
8
61
|
let length = 0;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
parts.push(Buffer.from("\r\n"));
|
|
24
|
-
if (text.length)
|
|
25
|
-
parts.push(Uint8Array.from(text));
|
|
26
|
-
length += separator + text.length;
|
|
27
|
-
return true;
|
|
28
|
-
};
|
|
29
|
-
for await (const chunk of readBytes(source, signal)) {
|
|
30
|
-
if (++pulls > limits.maxPatternSteps)
|
|
31
|
-
fail("ZIP comment input work limit exceeded");
|
|
32
|
-
for (const byte of chunk) {
|
|
33
|
-
if (++bytes > limits.maxFilesFromBytes)
|
|
34
|
-
fail("ZIP comment input byte limit exceeded");
|
|
35
|
-
line.push(byte);
|
|
36
|
-
if ((byte === 10 || line.length === 65535) && !append())
|
|
37
|
-
return Buffer.concat(parts, length);
|
|
38
|
-
if (bytes % 4096 === 0)
|
|
39
|
-
await yieldTurn(signal);
|
|
62
|
+
try {
|
|
63
|
+
for (;;) {
|
|
64
|
+
const line = await input.readLine();
|
|
65
|
+
if (line === undefined || line.length === 2 && line[0] === 46 && line[1] === 10)
|
|
66
|
+
break;
|
|
67
|
+
const text = line.at(-1) === 10 ? line.subarray(0, -1) : line;
|
|
68
|
+
const separator = length || !text.length ? 2 : 0;
|
|
69
|
+
if (text.length + separator > Math.min(limits.maxTextBytes, 65535) - length)
|
|
70
|
+
fail("ZIP archive comment byte limit exceeded");
|
|
71
|
+
if (separator)
|
|
72
|
+
parts.push(Buffer.from("\r\n"));
|
|
73
|
+
if (text.length)
|
|
74
|
+
parts.push(text);
|
|
75
|
+
length += separator + text.length;
|
|
40
76
|
}
|
|
41
|
-
|
|
42
|
-
|
|
77
|
+
return Buffer.concat(parts, length);
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
await input.iterator.return?.();
|
|
43
81
|
}
|
|
44
|
-
if (line.length)
|
|
45
|
-
append();
|
|
46
|
-
return Buffer.concat(parts, length);
|
|
47
82
|
}
|
|
48
83
|
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAsB,MAAM,gBAAgB,CAAC;AAE1D,kFAAkF;AAClF,MAAM,
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export class ZipFailure extends Error {
|
|
|
9
9
|
}
|
|
10
10
|
const longOptions = {
|
|
11
11
|
"recurse-paths": "r", quiet: "q", "junk-paths": "j", "no-dir-entries": "D",
|
|
12
|
-
symlinks: "y", test: "T", "names-stdin": "@", update: "u", freshen: "f", filesync: "FS", "archive-comment": "z",
|
|
12
|
+
symlinks: "y", test: "T", "names-stdin": "@", update: "u", freshen: "f", filesync: "FS", "archive-comment": "z", "entry-comments": "c",
|
|
13
13
|
delete: "d", include: "i", exclude: "x", suffixes: "n", store: "0", "compression-method": "Z",
|
|
14
14
|
"compress-1": "1", "compress-2": "2", "compress-3": "3", "compress-4": "4",
|
|
15
15
|
"compress-5": "5", "compress-6": "6", "compress-7": "7", "compress-8": "8",
|
|
@@ -18,7 +18,7 @@ const longOptions = {
|
|
|
18
18
|
// Include unimplemented Unix options when resolving abbreviations: a partial
|
|
19
19
|
// implementation must not make native-ambiguous prefixes uniquely resolvable.
|
|
20
20
|
const reservedOptions = [
|
|
21
|
-
"adjust-sfx", "temp-path", "
|
|
21
|
+
"adjust-sfx", "temp-path", "display-bytes", "display-counts",
|
|
22
22
|
"display-dots", "display-globaldots", "dot-size", "display-usize", "display-volume",
|
|
23
23
|
"difference-archive", "encrypt", "fix", "fixfix", "fifo",
|
|
24
24
|
"grow", "help", "more-help", "junk-sfx",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACd;IAAyB;IAA9C,YAAqB,MAAc,EAAW,KAAa,EAAE,MAAc;QAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAAxE,WAAM,GAAN,MAAM,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAQ;IAAmC,CAAC;CAChG;AAED,MAAM,WAAW,GAAqC;IACpD,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG;IAC1E,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ export declare function makeZipEntry(name: string, bytes: Uint8Array, attributes
|
|
|
38
38
|
symlink: boolean;
|
|
39
39
|
}, limits: ArchiveLimits, signal: AbortSignal, level?: number, forceCompression?: boolean): Promise<ZipEntry>;
|
|
40
40
|
export declare function updateZipExtras(entry: ZipEntry, previous: ZipEntry | undefined, mode: "strip" | "all", limits: ArchiveLimits): ZipEntry;
|
|
41
|
+
export declare function setZipEntryComment(entry: ZipEntry, comment: Uint8Array, limits: ArchiveLimits): ZipEntry;
|
|
41
42
|
export declare function streamZipArchive(archive: ZipArchive, limits: ArchiveLimits, signal: AbortSignal, descriptors?: boolean, forceZip64?: boolean): ByteSource;
|
|
42
43
|
export declare function writeZipArchive(archive: ZipArchive, limits: ArchiveLimits, signal: AbortSignal, descriptors?: boolean, forceZip64?: boolean): Promise<Uint8Array>;
|
|
43
44
|
//# sourceMappingURL=zip-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-format.d.ts","sourceRoot":"","sources":["../../../src/commands/archive/zip-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAUD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,SAAI,GAAG,MAAM,CAI7D;AAkID,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmIvH;AAED,wBAAuB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAwB7G;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,SAAI,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmC1P;AAcD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,CA4BvI;AAOD,wBAAuB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,UAAU,CAuI5J;AASD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAEnK"}
|
|
1
|
+
{"version":3,"file":"zip-format.d.ts","sourceRoot":"","sources":["../../../src/commands/archive/zip-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAUD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,SAAI,GAAG,MAAM,CAI7D;AAkID,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmIvH;AAED,wBAAuB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAwB7G;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,SAAI,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmC1P;AAcD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,CA4BvI;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,CAsCxG;AAOD,wBAAuB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,UAAU,CAuI5J;AASD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAEnK"}
|
|
@@ -438,6 +438,50 @@ export function updateZipExtras(entry, previous, mode, limits) {
|
|
|
438
438
|
}
|
|
439
439
|
return { ...entry, localExtra: retained[0], centralExtra: retained[1] };
|
|
440
440
|
}
|
|
441
|
+
export function setZipEntryComment(entry, comment, limits) {
|
|
442
|
+
number(comment.length, Math.min(limits.maxTextBytes, 65535), "entry comment");
|
|
443
|
+
let flags = entry.flags ?? 0x800;
|
|
444
|
+
if (flags & 0x800) {
|
|
445
|
+
try {
|
|
446
|
+
new TextDecoder("utf-8", { fatal: true }).decode(comment);
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
flags &= ~0x800;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
const rawName = entry.rawName ?? pathBytes(entry.name, limits);
|
|
453
|
+
const needUnicodePath = !(flags & 0x800) && legacyName(rawName) !== entry.name;
|
|
454
|
+
const metadata = [];
|
|
455
|
+
for (const [original, central] of [[entry.localExtra ?? timestampExtra(entry.modified), false], [entry.centralExtra ?? timestampExtra(entry.modified), true]]) {
|
|
456
|
+
extras(original, rawName, entry.comment ?? new Uint8Array(), central, limits);
|
|
457
|
+
const fields = [];
|
|
458
|
+
const view = new DataView(original.buffer, original.byteOffset, original.byteLength);
|
|
459
|
+
for (let offset = 0; offset < original.length;) {
|
|
460
|
+
const identifier = view.getUint16(offset, true);
|
|
461
|
+
const next = offset + 4 + view.getUint16(offset + 2, true);
|
|
462
|
+
// A changed comment invalidates the old Unicode-comment CRC. Rebuild the
|
|
463
|
+
// Unicode path when it is required after clearing the UTF-8 flag.
|
|
464
|
+
if (identifier !== 0x6375 && !(needUnicodePath && identifier === 0x7075))
|
|
465
|
+
fields.push(original.subarray(offset, next));
|
|
466
|
+
offset = next;
|
|
467
|
+
}
|
|
468
|
+
if (needUnicodePath) {
|
|
469
|
+
const name = pathBytes(entry.name, limits);
|
|
470
|
+
const field = new Uint8Array(9 + name.length);
|
|
471
|
+
const header = new DataView(field.buffer);
|
|
472
|
+
header.setUint16(0, 0x7075, true);
|
|
473
|
+
header.setUint16(2, 5 + name.length, true);
|
|
474
|
+
field[4] = 1;
|
|
475
|
+
header.setUint32(5, crc32(rawName), true);
|
|
476
|
+
field.set(name, 9);
|
|
477
|
+
fields.push(field);
|
|
478
|
+
}
|
|
479
|
+
const rebuilt = Buffer.concat(fields);
|
|
480
|
+
number(rebuilt.length, Math.min(limits.maxPaxBytes, 65535), "extra field");
|
|
481
|
+
metadata.push(rebuilt);
|
|
482
|
+
}
|
|
483
|
+
return { ...entry, comment: new Uint8Array(comment), flags, localExtra: metadata[0], centralExtra: metadata[1] };
|
|
484
|
+
}
|
|
441
485
|
export async function* streamZipArchive(archive, limits, signal, descriptors = false, forceZip64 = false) {
|
|
442
486
|
const chunkSize = admit(limits, signal);
|
|
443
487
|
number(archive.entries.length, Math.min(limits.maxMembers, 65534), "member");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-format.js","sourceRoot":"","sources":["../../../src/commands/archive/zip-format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zip-format.js","sourceRoot":"","sources":["../../../src/commands/archive/zip-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/commands/archive/zip.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0D,KAAK,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAOzI,OAAO,EAAwF,KAAK,sBAAsB,EAAsB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/commands/archive/zip.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0D,KAAK,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAOzI,OAAO,EAAwF,KAAK,sBAAsB,EAAsB,MAAM,eAAe,CAAC;AAonBtK,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,sBAA2B,GAAG,iBAAiB,CA2CxF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseZipDate, zipDateMatches } from "./zip/dates.js";
|
|
2
2
|
import { zipEnvironmentArguments } from "./zip/environment.js";
|
|
3
|
-
import { readZipComment } from "./zip/comments.js";
|
|
3
|
+
import { readZipComment, ZipCommentInput } from "./zip/comments.js";
|
|
4
4
|
import { collectBytes, dirname, getCommandArguments, writeBytes } from "../../contracts/index.js";
|
|
5
5
|
import { shellValueByteLength, shellValueBytes } from "../../contracts/value.js";
|
|
6
6
|
import { writeFileOutput } from "../../contracts/filesystem-output.js";
|
|
@@ -9,7 +9,7 @@ import { yieldTurn } from "../../contracts/yield.js";
|
|
|
9
9
|
import { publicDiagnosticMessage } from "../../diagnostics.js";
|
|
10
10
|
import { escapeText } from "../../escaping.js";
|
|
11
11
|
import { Budget, checkPath, display, fail, hasIdentity, sameIdentity, settings, text, vfsPath } from "./internal.js";
|
|
12
|
-
import { decodeZipEntry, makeZipEntry, readZipArchive, writeZipArchive, streamZipArchive, updateZipExtras } from "./zip-format.js";
|
|
12
|
+
import { decodeZipEntry, makeZipEntry, readZipArchive, writeZipArchive, streamZipArchive, updateZipExtras, setZipEntryComment } from "./zip-format.js";
|
|
13
13
|
import { publishZip, ZipScope } from "./zip/safety.js";
|
|
14
14
|
import { Selection } from "./unzip/arguments.js";
|
|
15
15
|
import { normalizeZipOption, ZipFailure } from "./zip/options.js";
|
|
@@ -53,6 +53,7 @@ async function parse(scope, limits) {
|
|
|
53
53
|
let mustMatch = false;
|
|
54
54
|
let filesync = false;
|
|
55
55
|
let archiveComment = false;
|
|
56
|
+
let entryComments = false;
|
|
56
57
|
let fromDate;
|
|
57
58
|
let beforeDate;
|
|
58
59
|
let descriptors = false;
|
|
@@ -128,6 +129,8 @@ async function parse(scope, limits) {
|
|
|
128
129
|
quiet = true;
|
|
129
130
|
else if (flag === "z")
|
|
130
131
|
archiveComment = true;
|
|
132
|
+
else if (flag === "c")
|
|
133
|
+
entryComments = true;
|
|
131
134
|
else if (flag === "j")
|
|
132
135
|
junkPaths = true;
|
|
133
136
|
else if (flag === "X") {
|
|
@@ -296,7 +299,7 @@ async function parse(scope, limits) {
|
|
|
296
299
|
throw new ZipFailure(16, "Invalid command arguments", "nothing to select from");
|
|
297
300
|
if (filesync && action !== "add")
|
|
298
301
|
throw new ZipFailure(16, "Invalid command arguments", "can't use -d, -f, -u, -U, or -g with filesync -FS\n");
|
|
299
|
-
return { args, action, archive, output, recursive, recursivePatterns, noWild, stopAtDirectories, quiet, junkPaths, omitDirectories, storeLinks, test, mustMatch, filesync, archiveComment, fromDate, beforeDate, descriptors, zip64, metadata, includes, excludes, level, method, suffixes, operands: [...names, ...operands], firstOperand };
|
|
302
|
+
return { args, action, archive, output, recursive, recursivePatterns, noWild, stopAtDirectories, quiet, junkPaths, omitDirectories, storeLinks, test, mustMatch, filesync, archiveComment, entryComments, fromDate, beforeDate, descriptors, zip64, metadata, includes, excludes, level, method, suffixes, operands: [...names, ...operands], firstOperand };
|
|
300
303
|
}
|
|
301
304
|
function memberName(path, limits) {
|
|
302
305
|
if (path.startsWith("//") && !path.startsWith("///"))
|
|
@@ -410,6 +413,7 @@ async function prepare(scope, parsed, budget) {
|
|
|
410
413
|
const selected = new Map();
|
|
411
414
|
const deleted = new Set();
|
|
412
415
|
const synchronized = new Map();
|
|
416
|
+
const commentNames = new Set();
|
|
413
417
|
const selection = new Selection([...parsed.includes, ...parsed.excludes], limits, context.signal, { noWild: parsed.noWild, stopAtDirectories: parsed.stopAtDirectories });
|
|
414
418
|
const recursiveSelection = parsed.recursivePatterns ? new Selection(parsed.operands, limits, context.signal, { noWild: parsed.noWild, stopAtDirectories: parsed.stopAtDirectories, trailingComponents: true }) : undefined;
|
|
415
419
|
let archiveOperandMatches;
|
|
@@ -436,6 +440,8 @@ async function prepare(scope, parsed, budget) {
|
|
|
436
440
|
fail("archive byte limit exceeded");
|
|
437
441
|
compressedBytes += entry.data.length;
|
|
438
442
|
selected.set(name, { entry, source });
|
|
443
|
+
if (parsed.entryComments)
|
|
444
|
+
commentNames.add(name);
|
|
439
445
|
};
|
|
440
446
|
const visit = async (source, name, depth) => {
|
|
441
447
|
context.signal.throwIfAborted();
|
|
@@ -484,6 +490,8 @@ async function prepare(scope, parsed, budget) {
|
|
|
484
490
|
throw new ZipFailure(18, "File not found or no read permission", source);
|
|
485
491
|
if (error.code !== "ENOENT")
|
|
486
492
|
throw error;
|
|
493
|
+
if (parsed.entryComments && old.has(name) && await filterName(name, selection, parsed.includes.length))
|
|
494
|
+
commentNames.add(name);
|
|
487
495
|
if (parsed.mustMatch && !old.has(name)) {
|
|
488
496
|
if (!archiveOperandMatches) {
|
|
489
497
|
const fallback = new Selection(parsed.operands.map(operand => {
|
|
@@ -523,6 +531,8 @@ async function prepare(scope, parsed, budget) {
|
|
|
523
531
|
if (parsed.junkPaths)
|
|
524
532
|
name = directory ? "" : name.slice(name.lastIndexOf("/") + 1);
|
|
525
533
|
const prior = old.get(name);
|
|
534
|
+
if (parsed.entryComments && prior && included && !(directory && parsed.omitDirectories))
|
|
535
|
+
commentNames.add(name);
|
|
526
536
|
if (parsed.filesync && name && included && !(directory && parsed.omitDirectories)) {
|
|
527
537
|
if (synchronized.has(name) && synchronized.get(name) !== source)
|
|
528
538
|
throw new ZipFailure(16, "Invalid command arguments", "cannot repeat names in zip file");
|
|
@@ -593,7 +603,8 @@ async function prepare(scope, parsed, budget) {
|
|
|
593
603
|
}
|
|
594
604
|
};
|
|
595
605
|
const editComment = parsed.archiveComment && parsed.action !== "delete" && parsed.action !== "copy";
|
|
596
|
-
|
|
606
|
+
const editEntries = parsed.entryComments && parsed.action !== "delete" && parsed.action !== "copy";
|
|
607
|
+
if ((parsed.archiveComment || parsed.entryComments) && parsed.action === "copy" && !parsed.quiet)
|
|
597
608
|
await budget.output("\tzip warning: can't set method, move, recurse, or comments with copy mode.\n");
|
|
598
609
|
if (parsed.action === "copy") {
|
|
599
610
|
const operands = new Selection(parsed.operands, limits, context.signal, { noWild: parsed.noWild, stopAtDirectories: parsed.stopAtDirectories });
|
|
@@ -605,7 +616,7 @@ async function prepare(scope, parsed, budget) {
|
|
|
605
616
|
}
|
|
606
617
|
}
|
|
607
618
|
else if (parsed.action === "delete") {
|
|
608
|
-
if (!parsed.quiet && (parsed.recursive || parsed.archiveComment))
|
|
619
|
+
if (!parsed.quiet && (parsed.recursive || parsed.archiveComment || parsed.entryComments))
|
|
609
620
|
await budget.output("\tzip warning: invalid option(s) used with -d; ignored.\n");
|
|
610
621
|
if (!parsed.quiet && !archive.entries.length)
|
|
611
622
|
await budget.output(`\tzip warning: ${parsed.archive} not found or empty\n`);
|
|
@@ -649,9 +660,9 @@ async function prepare(scope, parsed, budget) {
|
|
|
649
660
|
return { kind: "current" };
|
|
650
661
|
}
|
|
651
662
|
}
|
|
652
|
-
if (!selected.size && !(editComment && archive.entries.length) && (parsed.action === "freshen" || parsed.action === "update" && (existing || !parsed.includes.length)))
|
|
663
|
+
if (!selected.size && !((editComment || editEntries) && archive.entries.length) && (parsed.action === "freshen" || parsed.action === "update" && (existing || !parsed.includes.length)))
|
|
653
664
|
return undefined;
|
|
654
|
-
if (!selected.size && !deleted.size && !(editComment && archive.entries.length) && (parsed.action === "delete" || parsed.action === "copy" || parsed.recursivePatterns || parsed.fromDate !== undefined || parsed.beforeDate !== undefined || !parsed.includes.length)) {
|
|
665
|
+
if (!selected.size && !deleted.size && !((editComment || editEntries) && archive.entries.length) && (parsed.action === "delete" || parsed.action === "copy" || parsed.recursivePatterns || parsed.fromDate !== undefined || parsed.beforeDate !== undefined || !parsed.includes.length)) {
|
|
655
666
|
const detail = parsed.action !== "delete" && parsed.recursive && parsed.firstOperand >= 0
|
|
656
667
|
? `try: zip ${parsed.args.slice(0, parsed.firstOperand).join(" ")} . -i ${parsed.args.slice(parsed.firstOperand).join(" ")}`
|
|
657
668
|
: parsed.archive;
|
|
@@ -706,12 +717,25 @@ async function prepare(scope, parsed, budget) {
|
|
|
706
717
|
if (!entries.length)
|
|
707
718
|
queue("\tzip warning: zip file empty\n");
|
|
708
719
|
let comment = archive.comment;
|
|
709
|
-
if (editComment) {
|
|
720
|
+
if (editComment || editEntries && commentNames.size) {
|
|
710
721
|
for (const message of progress)
|
|
711
722
|
await budget.output(message);
|
|
712
723
|
progress.length = 0;
|
|
713
724
|
progressBytes = 0;
|
|
714
|
-
|
|
725
|
+
const commentInput = new ZipCommentInput(scope.stdin, limits, context.signal);
|
|
726
|
+
if (editEntries) {
|
|
727
|
+
for (let index = 0; index < entries.length; index++) {
|
|
728
|
+
const entry = entries[index];
|
|
729
|
+
if (!commentNames.has(entry.name))
|
|
730
|
+
continue;
|
|
731
|
+
if (!parsed.quiet)
|
|
732
|
+
await budget.output(`Enter comment for ${entry.name}:\n`);
|
|
733
|
+
const line = await commentInput.readLine();
|
|
734
|
+
if (line !== undefined)
|
|
735
|
+
entries[index] = setZipEntryComment(entry, line.at(-1) === 10 ? line.subarray(0, -1) : line, limits);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
if (editComment && !parsed.quiet) {
|
|
715
739
|
if (comment.length) {
|
|
716
740
|
await budget.output("current zip file comment is:\n");
|
|
717
741
|
await budget.output(comment);
|
|
@@ -720,7 +744,8 @@ async function prepare(scope, parsed, budget) {
|
|
|
720
744
|
}
|
|
721
745
|
await budget.output("enter new zip file comment (end with .):\n");
|
|
722
746
|
}
|
|
723
|
-
|
|
747
|
+
if (editComment)
|
|
748
|
+
comment = await readZipComment(commentInput, limits, context.signal);
|
|
724
749
|
}
|
|
725
750
|
if (!publication)
|
|
726
751
|
return { kind: "stream", archive: { entries, comment }, progress };
|