@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.
@@ -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++) {
@@ -3479,7 +3479,7 @@
3479
3479
 
3480
3480
  /* global TextDecoder */
3481
3481
 
3482
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3482
+ 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("");
3483
3483
  const VALID_CP437 = CP437.length == 256;
3484
3484
 
3485
3485
  function decodeCP437(stringValue) {
@@ -4725,6 +4725,7 @@
4725
4725
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4726
4726
  const WARNING_APPENDED_DATA = "appended data";
4727
4727
  const WARNING_PREPENDED_DATA = "prepended data";
4728
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4728
4729
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4729
4730
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4730
4731
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4818,6 +4819,7 @@
4818
4819
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4819
4820
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4820
4821
  let prependedDataLength = 0;
4822
+ let prependedCentralDirectory;
4821
4823
  let startOffset;
4822
4824
  let zip64EndOfDirectory;
4823
4825
  let zip64EndOfDirectoryVersion2;
@@ -4921,6 +4923,7 @@
4921
4923
  directoryDataOffset = expectedDirectoryDataOffset;
4922
4924
  if (directoryDataOffset > originalDirectoryDataOffset) {
4923
4925
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4926
+ prependedCentralDirectory = storedPointsAtDirectory;
4924
4927
  }
4925
4928
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4926
4929
  directoryView = getDataView(directoryArray);
@@ -5148,6 +5151,9 @@
5148
5151
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5149
5152
  addWarning(warnings, WARNING_PREPENDED_DATA);
5150
5153
  }
5154
+ if (prependedCentralDirectory) {
5155
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5156
+ }
5151
5157
  if (extractPrependedData) {
5152
5158
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5153
5159
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6208,6 +6214,7 @@
6208
6214
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6209
6215
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6210
6216
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6217
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6211
6218
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6212
6219
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6213
6220
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -8524,7 +8531,7 @@
8524
8531
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8525
8532
  */
8526
8533
 
8527
- const VERSION = "2.8.61";
8534
+ const VERSION = "2.9.0";
8528
8535
 
8529
8536
  /*
8530
8537
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9095,6 +9102,7 @@
9095
9102
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
9096
9103
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
9097
9104
  exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
9105
+ exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
9098
9106
  exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
9099
9107
  exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
9100
9108
  exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;