@zip.js/zip.js 2.8.61 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/zip.js CHANGED
@@ -495,7 +495,7 @@
495
495
  // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
496
496
  // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
497
497
  // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
498
- // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
498
+ // slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
499
499
  // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
500
500
  const T = [[], [], [], [], [], [], [], []];
501
501
  for (let n = 0; n < 256; n++) {
@@ -3483,7 +3483,7 @@
3483
3483
 
3484
3484
  /* global TextDecoder */
3485
3485
 
3486
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3486
+ const CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\u00B6\u00A7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0".split("");
3487
3487
  const VALID_CP437 = CP437.length == 256;
3488
3488
 
3489
3489
  function decodeCP437(stringValue) {
@@ -4729,6 +4729,7 @@
4729
4729
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4730
4730
  const WARNING_APPENDED_DATA = "appended data";
4731
4731
  const WARNING_PREPENDED_DATA = "prepended data";
4732
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4732
4733
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4733
4734
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4734
4735
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4822,6 +4823,7 @@
4822
4823
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4823
4824
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4824
4825
  let prependedDataLength = 0;
4826
+ let prependedCentralDirectory;
4825
4827
  let startOffset;
4826
4828
  let zip64EndOfDirectory;
4827
4829
  let zip64EndOfDirectoryVersion2;
@@ -4925,6 +4927,7 @@
4925
4927
  directoryDataOffset = expectedDirectoryDataOffset;
4926
4928
  if (directoryDataOffset > originalDirectoryDataOffset) {
4927
4929
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4930
+ prependedCentralDirectory = storedPointsAtDirectory;
4928
4931
  }
4929
4932
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4930
4933
  directoryView = getDataView(directoryArray);
@@ -5152,6 +5155,9 @@
5152
5155
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5153
5156
  addWarning(warnings, WARNING_PREPENDED_DATA);
5154
5157
  }
5158
+ if (prependedCentralDirectory) {
5159
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5160
+ }
5155
5161
  if (extractPrependedData) {
5156
5162
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5157
5163
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6212,6 +6218,7 @@
6212
6218
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6213
6219
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6214
6220
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6221
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6215
6222
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6216
6223
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6217
6224
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -8528,7 +8535,7 @@
8528
8535
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8529
8536
  */
8530
8537
 
8531
- const VERSION = "2.8.61";
8538
+ const VERSION = "2.9.0";
8532
8539
 
8533
8540
  /*
8534
8541
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9512,6 +9519,7 @@
9512
9519
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
9513
9520
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
9514
9521
  exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
9522
+ exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
9515
9523
  exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
9516
9524
  exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
9517
9525
  exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;