@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.
@@ -493,7 +493,7 @@
493
493
  // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
494
494
  // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
495
495
  // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
496
- // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
496
+ // slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
497
497
  // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
498
498
  const T = [[], [], [], [], [], [], [], []];
499
499
  for (let n = 0; n < 256; n++) {
@@ -3477,7 +3477,7 @@
3477
3477
 
3478
3478
  /* global TextDecoder */
3479
3479
 
3480
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3480
+ 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("");
3481
3481
  const VALID_CP437 = CP437.length == 256;
3482
3482
 
3483
3483
  function decodeCP437(stringValue) {
@@ -4743,6 +4743,7 @@
4743
4743
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4744
4744
  const WARNING_APPENDED_DATA = "appended data";
4745
4745
  const WARNING_PREPENDED_DATA = "prepended data";
4746
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4746
4747
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4747
4748
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4748
4749
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4836,6 +4837,7 @@
4836
4837
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4837
4838
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4838
4839
  let prependedDataLength = 0;
4840
+ let prependedCentralDirectory;
4839
4841
  let startOffset;
4840
4842
  let zip64EndOfDirectory;
4841
4843
  let zip64EndOfDirectoryVersion2;
@@ -4939,6 +4941,7 @@
4939
4941
  directoryDataOffset = expectedDirectoryDataOffset;
4940
4942
  if (directoryDataOffset > originalDirectoryDataOffset) {
4941
4943
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4944
+ prependedCentralDirectory = storedPointsAtDirectory;
4942
4945
  }
4943
4946
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4944
4947
  directoryView = getDataView(directoryArray);
@@ -5166,6 +5169,9 @@
5166
5169
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5167
5170
  addWarning(warnings, WARNING_PREPENDED_DATA);
5168
5171
  }
5172
+ if (prependedCentralDirectory) {
5173
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5174
+ }
5169
5175
  if (extractPrependedData) {
5170
5176
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5171
5177
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6226,6 +6232,7 @@
6226
6232
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6227
6233
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6228
6234
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6235
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6229
6236
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6230
6237
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6231
6238
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -8617,7 +8624,7 @@
8617
8624
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8618
8625
  */
8619
8626
 
8620
- const VERSION = "2.8.61";
8627
+ const VERSION = "2.9.0";
8621
8628
 
8622
8629
  /*
8623
8630
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -10481,6 +10488,7 @@
10481
10488
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
10482
10489
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
10483
10490
  exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
10491
+ exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
10484
10492
  exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
10485
10493
  exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
10486
10494
  exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;