@zip.js/zip.js 2.8.61 → 2.10.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/README.md +40 -0
- package/deno.json +1 -1
- package/dist/zip-core-external.js +15 -15
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +15 -14
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +168 -57
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +170 -56
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +168 -57
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +170 -56
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +170 -56
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +15 -14
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +15 -14
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +15 -14
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +170 -56
- package/index-native.min.js +1 -1
- package/index.cjs +170 -56
- package/index.d.cts +104 -9
- package/index.d.ts +104 -9
- package/index.min.js +1 -1
- package/lib/core/streams/codecs/crc32.js +1 -1
- package/lib/core/util/decode-cp437.js +5 -12
- package/lib/core/version.js +1 -1
- package/lib/core/zip-fs.js +155 -44
- package/lib/core/zip-reader.js +7 -0
- package/lib/zip-core-reader.js +1 -0
- package/package.json +1 -1
package/dist/zip-legacy.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
|
|
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++) {
|
|
@@ -3477,21 +3477,14 @@
|
|
|
3477
3477
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
3478
3478
|
*/
|
|
3479
3479
|
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
|
|
3483
|
-
const VALID_CP437 = CP437.length == 256;
|
|
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("");
|
|
3484
3481
|
|
|
3485
3482
|
function decodeCP437(stringValue) {
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
result += CP437[stringValue[indexCharacter]];
|
|
3490
|
-
}
|
|
3491
|
-
return result;
|
|
3492
|
-
} else {
|
|
3493
|
-
return new TextDecoder().decode(stringValue);
|
|
3483
|
+
let result = "";
|
|
3484
|
+
for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
|
|
3485
|
+
result += CP437[stringValue[indexCharacter]];
|
|
3494
3486
|
}
|
|
3487
|
+
return result;
|
|
3495
3488
|
}
|
|
3496
3489
|
|
|
3497
3490
|
/*
|
|
@@ -4725,6 +4718,7 @@
|
|
|
4725
4718
|
const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
|
|
4726
4719
|
const WARNING_APPENDED_DATA = "appended data";
|
|
4727
4720
|
const WARNING_PREPENDED_DATA = "prepended data";
|
|
4721
|
+
const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
|
|
4728
4722
|
const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
|
|
4729
4723
|
const WARNING_DUPLICATE_FILENAME = "duplicate filename";
|
|
4730
4724
|
const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
|
|
@@ -4818,6 +4812,7 @@
|
|
|
4818
4812
|
let diskNumber = getUint16$1(endOfDirectoryView, 6);
|
|
4819
4813
|
let filesLength = getUint16$1(endOfDirectoryView, 10);
|
|
4820
4814
|
let prependedDataLength = 0;
|
|
4815
|
+
let prependedCentralDirectory;
|
|
4821
4816
|
let startOffset;
|
|
4822
4817
|
let zip64EndOfDirectory;
|
|
4823
4818
|
let zip64EndOfDirectoryVersion2;
|
|
@@ -4921,6 +4916,7 @@
|
|
|
4921
4916
|
directoryDataOffset = expectedDirectoryDataOffset;
|
|
4922
4917
|
if (directoryDataOffset > originalDirectoryDataOffset) {
|
|
4923
4918
|
prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
|
|
4919
|
+
prependedCentralDirectory = storedPointsAtDirectory;
|
|
4924
4920
|
}
|
|
4925
4921
|
directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
|
|
4926
4922
|
directoryView = getDataView(directoryArray);
|
|
@@ -5148,6 +5144,9 @@
|
|
|
5148
5144
|
if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
|
|
5149
5145
|
addWarning(warnings, WARNING_PREPENDED_DATA);
|
|
5150
5146
|
}
|
|
5147
|
+
if (prependedCentralDirectory) {
|
|
5148
|
+
addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
|
|
5149
|
+
}
|
|
5151
5150
|
if (extractPrependedData) {
|
|
5152
5151
|
zipReader.prependedData = startOffset > splitZipSignatureLength ?
|
|
5153
5152
|
await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
|
|
@@ -6208,6 +6207,7 @@
|
|
|
6208
6207
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
|
|
6209
6208
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
|
|
6210
6209
|
WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
|
|
6210
|
+
WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
|
|
6211
6211
|
WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
|
|
6212
6212
|
WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
|
|
6213
6213
|
WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
|
|
@@ -8524,7 +8524,7 @@
|
|
|
8524
8524
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8525
8525
|
*/
|
|
8526
8526
|
|
|
8527
|
-
const VERSION = "2.
|
|
8527
|
+
const VERSION = "2.10.0";
|
|
8528
8528
|
|
|
8529
8529
|
/*
|
|
8530
8530
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -9095,6 +9095,7 @@
|
|
|
9095
9095
|
exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
|
|
9096
9096
|
exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
|
|
9097
9097
|
exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
|
|
9098
|
+
exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
|
|
9098
9099
|
exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
|
|
9099
9100
|
exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
|
|
9100
9101
|
exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;
|