@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.
@@ -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,CA+BxH"}
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
- let bytes = 0;
10
- let pulls = 0;
11
- const append = () => {
12
- const zero = line.indexOf(0);
13
- const text = line.slice(0, zero < 0 ? undefined : zero);
14
- line.length = 0;
15
- if (text.length === 2 && text[0] === 46 && text[1] === 10)
16
- return false;
17
- if (text.at(-1) === 10)
18
- text.pop();
19
- const separator = length || !text.length ? 2 : 0;
20
- if (text.length + separator > Math.min(limits.maxTextBytes, 65535) - length)
21
- fail("ZIP archive comment byte limit exceeded");
22
- if (separator)
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
- if (pulls % 64 === 0)
42
- await yieldTurn(signal);
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":"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"}
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", "entry-comments", "display-bytes", "display-counts",
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":"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"}
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;AAkmBtK,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,sBAA2B,GAAG,iBAAiB,CA2CxF"}
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
- if (parsed.archiveComment && parsed.action === "copy" && !parsed.quiet)
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
- if (!parsed.quiet) {
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
- comment = await readZipComment(scope.stdin, limits, context.signal);
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 };