@zip.js/zip.js 2.21.0 → 2.22.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/deno.json +1 -1
- package/dist/zip-core-external.js +30 -15
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +30 -14
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +30 -18
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +30 -18
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +30 -18
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +30 -18
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +30 -18
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +30 -14
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +30 -14
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +30 -14
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +30 -18
- package/index-native.min.js +1 -1
- package/index.cjs +30 -18
- package/index.d.cts +36 -14
- package/index.d.ts +36 -14
- package/index.min.js +1 -1
- package/lib/core/configuration.js +1 -3
- package/lib/core/options.js +11 -0
- package/lib/core/version.js +1 -1
- package/lib/core/zip-fs.js +2 -6
- package/lib/core/zip-reader.js +1 -1
- package/lib/core/zip-writer.js +19 -9
- package/lib/zip-core-base.js +1 -0
- package/package.json +1 -1
package/deno.json
CHANGED
|
@@ -216,6 +216,7 @@ const ERR_INVALID_FUNCTION_OPTION = "Invalid option (must be a function)";
|
|
|
216
216
|
const ERR_INVALID_SIGNAL = "Invalid signal (must be an AbortSignal instance)";
|
|
217
217
|
const ERR_INVALID_PASSWORD_TYPE = "Invalid password (password must be a string, rawPassword must be a Uint8Array)";
|
|
218
218
|
const ERR_INVALID_PASS_THROUGH_VALUE = "Invalid passThrough option (must be a boolean or 'compressed')";
|
|
219
|
+
const ERR_INVALID_READER_OPTIONS = "Invalid readerOptions (must be an object)";
|
|
219
220
|
const ERR_ABORTED = "The operation was aborted";
|
|
220
221
|
const ABORT_ERROR_NAME = "AbortError";
|
|
221
222
|
|
|
@@ -226,6 +227,13 @@ function checkFunctionOption(value) {
|
|
|
226
227
|
return value;
|
|
227
228
|
}
|
|
228
229
|
|
|
230
|
+
function checkReaderOptionsObject(readerOptions) {
|
|
231
|
+
if (readerOptions && (typeof readerOptions != OBJECT_TYPE || Array.isArray(readerOptions))) {
|
|
232
|
+
throw new Error(ERR_INVALID_READER_OPTIONS);
|
|
233
|
+
}
|
|
234
|
+
return readerOptions;
|
|
235
|
+
}
|
|
236
|
+
|
|
229
237
|
function checkSignalOption(signal) {
|
|
230
238
|
if (signal && (typeof signal.addEventListener != FUNCTION_TYPE || typeof signal.aborted != BOOLEAN_TYPE)) {
|
|
231
239
|
throw new Error(ERR_INVALID_SIGNAL);
|
|
@@ -321,7 +329,6 @@ const DEFAULT_CONFIGURATION = {
|
|
|
321
329
|
workerStartupTimeout: 5000,
|
|
322
330
|
useWebWorkers: true,
|
|
323
331
|
useCompressionStream: true,
|
|
324
|
-
transferStreams: true,
|
|
325
332
|
CompressionStream: typeof CompressionStream != UNDEFINED_TYPE && CompressionStream,
|
|
326
333
|
DecompressionStream: typeof DecompressionStream != UNDEFINED_TYPE && DecompressionStream
|
|
327
334
|
};
|
|
@@ -335,8 +342,7 @@ const URI_PROPERTY_NAMES = [
|
|
|
335
342
|
];
|
|
336
343
|
const BOOLEAN_PROPERTY_NAMES = [
|
|
337
344
|
"useCompressionStream",
|
|
338
|
-
"useWebWorkers"
|
|
339
|
-
"transferStreams"
|
|
345
|
+
"useWebWorkers"
|
|
340
346
|
];
|
|
341
347
|
const NUMBER_PROPERTY_NAMES = [
|
|
342
348
|
"chunkSize",
|
|
@@ -4860,7 +4866,7 @@ class ZipReader {
|
|
|
4860
4866
|
constructor(reader, options = {}) {
|
|
4861
4867
|
Object.assign(this, {
|
|
4862
4868
|
reader: new GenericReader(reader),
|
|
4863
|
-
options,
|
|
4869
|
+
options: options || {},
|
|
4864
4870
|
readRanges: { indexes: new Set(), sortedRanges: [], pendingRanges: [] },
|
|
4865
4871
|
entriesMissingZip64ExtraField: new WeakSet()
|
|
4866
4872
|
});
|
|
@@ -6880,6 +6886,7 @@ function watchPromiseError(zipWriter, promise) {
|
|
|
6880
6886
|
async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
6881
6887
|
const { pendingAddFileCalls, filenames, fileEntries } = zipWriter;
|
|
6882
6888
|
const filter = checkFunctionOption(options.filter);
|
|
6889
|
+
const readerOptions = checkReaderOptionsObject(options.readerOptions);
|
|
6883
6890
|
while (pendingAddFileCalls.size) {
|
|
6884
6891
|
await Promise.allSettled(Array.from(pendingAddFileCalls));
|
|
6885
6892
|
}
|
|
@@ -6896,15 +6903,19 @@ async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
|
6896
6903
|
await initStream(reader);
|
|
6897
6904
|
}
|
|
6898
6905
|
const { ZipReader, getEntryDataDescriptorLength } = await Promise.resolve().then(function () { return zipReader; });
|
|
6899
|
-
const zipReader$1 = new ZipReader(reader);
|
|
6900
|
-
const entries = await zipReader$1.getEntries();
|
|
6906
|
+
const zipReader$1 = new ZipReader(reader, readerOptions);
|
|
6901
6907
|
const keptEntries = [];
|
|
6902
|
-
|
|
6903
|
-
|
|
6904
|
-
|
|
6908
|
+
let entries;
|
|
6909
|
+
try {
|
|
6910
|
+
entries = await zipReader$1.getEntries();
|
|
6911
|
+
for (const entry of entries) {
|
|
6912
|
+
if (!filter || await filter(entry, getExistingEntry(fileEntries, entry.filename))) {
|
|
6913
|
+
keptEntries.push(entry);
|
|
6914
|
+
}
|
|
6905
6915
|
}
|
|
6916
|
+
} finally {
|
|
6917
|
+
await zipReader$1.close();
|
|
6906
6918
|
}
|
|
6907
|
-
await zipReader$1.close();
|
|
6908
6919
|
await initStream(zipWriter.writer);
|
|
6909
6920
|
const { directoryOffset, entriesMissingZip64ExtraField } = zipReader$1;
|
|
6910
6921
|
keptEntries.forEach(entry => {
|
|
@@ -6974,7 +6985,7 @@ async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
|
6974
6985
|
setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
|
|
6975
6986
|
}
|
|
6976
6987
|
const { offset, diskNumberStart } = entryPositions.get(entry);
|
|
6977
|
-
Object.assign(entry, {
|
|
6988
|
+
fileEntries.set(entry.filename, Object.assign({}, entry, {
|
|
6978
6989
|
zip64Enabled: true,
|
|
6979
6990
|
zip64UncompressedSize,
|
|
6980
6991
|
zip64CompressedSize,
|
|
@@ -6991,8 +7002,7 @@ async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
|
6991
7002
|
rawCentralExtraField: EMPTY_UINT8_ARRAY,
|
|
6992
7003
|
headerArray,
|
|
6993
7004
|
headerView
|
|
6994
|
-
});
|
|
6995
|
-
fileEntries.set(entry.filename, entry);
|
|
7005
|
+
}));
|
|
6996
7006
|
});
|
|
6997
7007
|
} catch (error) {
|
|
6998
7008
|
appendedFilenames.forEach(filename => filenames.delete(filename));
|
|
@@ -7006,6 +7016,11 @@ async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
|
7006
7016
|
}
|
|
7007
7017
|
}
|
|
7008
7018
|
|
|
7019
|
+
function getExistingEntry(fileEntries, filename) {
|
|
7020
|
+
const fileEntry = fileEntries.get(filename);
|
|
7021
|
+
return fileEntry ? new Entry(fileEntry) : UNDEFINED_VALUE;
|
|
7022
|
+
}
|
|
7023
|
+
|
|
7009
7024
|
async function prependZipEntries(zipWriter, reader) {
|
|
7010
7025
|
if (zipWriter.filenames.size) {
|
|
7011
7026
|
throw new Error(ERR_ZIP_NOT_EMPTY);
|
|
@@ -9150,7 +9165,7 @@ function formatSupported(StreamClass, format) {
|
|
|
9150
9165
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
9151
9166
|
*/
|
|
9152
9167
|
|
|
9153
|
-
const VERSION = "2.
|
|
9168
|
+
const VERSION = "2.22.0";
|
|
9154
9169
|
|
|
9155
9170
|
/*
|
|
9156
9171
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -10155,4 +10170,4 @@ async function terminateWorkersAndModule() {
|
|
|
10155
10170
|
|
|
10156
10171
|
configureExternalAssets();
|
|
10157
10172
|
|
|
10158
|
-
export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_ABORTED, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_CODEC_OUT_OF_MEMORY, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_HTTP_STATUS, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_BASE_URI, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_PASS_THROUGH_VALUE, ERR_INVALID_READER, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_URI, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_CRC32, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_SPLIT_USDZ, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_WRITER_SIZE_NOT_WRITABLE, ERR_ZIP_CRYPTO_LAST_MOD_DATE, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_CLAMPED_LAST_MODIFICATION_DATE, WARNING_COMPRESSED_PATCHED_DATA, WARNING_COMPRESSION_UNAVAILABLE, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_MISSING_ZIP64_EXTRA_FIELD, WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
|
|
10173
|
+
export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_ABORTED, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_CODEC_OUT_OF_MEMORY, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_HTTP_STATUS, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_BASE_URI, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_PASS_THROUGH_VALUE, ERR_INVALID_READER, ERR_INVALID_READER_OPTIONS, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_URI, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_CRC32, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_SPLIT_USDZ, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_WRITER_SIZE_NOT_WRITABLE, ERR_ZIP_CRYPTO_LAST_MOD_DATE, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_CLAMPED_LAST_MODIFICATION_DATE, WARNING_COMPRESSED_PATCHED_DATA, WARNING_COMPRESSION_UNAVAILABLE, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_MISSING_ZIP64_EXTRA_FIELD, WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
|