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