@zip.js/zip.js 2.10.0 → 2.11.1

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.
Files changed (48) hide show
  1. package/deno.json +1 -1
  2. package/dist/zip-core-external.js +23 -48
  3. package/dist/zip-core-external.min.js +1 -1
  4. package/dist/zip-core.js +12 -35
  5. package/dist/zip-core.min.js +1 -1
  6. package/dist/zip-fs-core-external.js +23 -48
  7. package/dist/zip-fs-core-external.min.js +1 -1
  8. package/dist/zip-fs-core.js +12 -35
  9. package/dist/zip-fs-core.min.js +1 -1
  10. package/dist/zip-fs-external.js +23 -48
  11. package/dist/zip-fs-external.min.js +1 -1
  12. package/dist/zip-fs-native.js +15 -38
  13. package/dist/zip-fs-native.min.js +1 -1
  14. package/dist/zip-fs.js +26 -52
  15. package/dist/zip-fs.min.js +1 -1
  16. package/dist/zip-legacy.js +14 -37
  17. package/dist/zip-legacy.min.js +1 -1
  18. package/dist/zip-module.wasm +0 -0
  19. package/dist/zip-native.js +15 -38
  20. package/dist/zip-native.min.js +1 -1
  21. package/dist/zip-web-worker-native.js +1 -1
  22. package/dist/zip-web-worker.js +1 -1
  23. package/dist/zip.js +26 -52
  24. package/dist/zip.min.js +1 -1
  25. package/eslint.config.mjs +1 -1
  26. package/index-native.cjs +15 -38
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +26 -52
  29. package/index.d.cts +5 -37
  30. package/index.d.ts +5 -37
  31. package/index.min.js +1 -1
  32. package/lib/core/codec-pool.js +0 -2
  33. package/lib/core/codec-registry.js +2 -0
  34. package/lib/core/streams/codec-stream.js +0 -2
  35. package/lib/core/streams/common-crypto.js +1 -3
  36. package/lib/core/streams/zip-entry-stream.js +2 -5
  37. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  38. package/lib/core/streams/zlib-wasm/zlib-streams.js +11 -14
  39. package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
  40. package/lib/core/version.js +1 -1
  41. package/lib/core/web-worker-inline-native.js +1 -1
  42. package/lib/core/web-worker-inline-wasm.js +1 -1
  43. package/lib/core/zip-entry.js +0 -6
  44. package/lib/core/zip-reader.js +1 -6
  45. package/lib/core/zip-writer.js +4 -19
  46. package/lib/core/zlib-streams-inline.js +1 -1
  47. package/lib/zip-core-reader.js +0 -1
  48. package/package.json +4 -2
package/dist/zip-core.js CHANGED
@@ -1461,8 +1461,7 @@
1461
1461
  const GET_RANDOM_VALUES_SUPPORTED = typeof crypto != UNDEFINED_TYPE && typeof crypto.getRandomValues == FUNCTION_TYPE;
1462
1462
 
1463
1463
  const ERR_INVALID_PASSWORD = "Invalid password";
1464
- const ERR_INVALID_SIGNATURE = "Invalid signature";
1465
- const ERR_INVALID_AUTHENTICATION_CODE = ERR_INVALID_SIGNATURE;
1464
+ const ERR_INVALID_AUTHENTICATION_CODE = "Invalid authentication code";
1466
1465
  const ERR_ABORT_CHECK_PASSWORD = "zipjs-abort-check-password";
1467
1466
  const ERR_UNSUPPORTED_CRYPTO_API = "Crypto API not supported";
1468
1467
 
@@ -2036,6 +2035,7 @@
2036
2035
  const ERR_INVALID_CODEC_DEFINITION = "Invalid codec definition";
2037
2036
  const ERR_RESERVED_COMPRESSION_METHOD = "Reserved compression method";
2038
2037
  const ERR_INVALID_CODEC_MODULE = "Invalid codec module";
2038
+ const ERR_UNSUPPORTED_COMPRESSION = "Compression method not supported";
2039
2039
 
2040
2040
  const RESERVED_COMPRESSION_METHODS = [
2041
2041
  COMPRESSION_METHOD_STORE,
@@ -2135,8 +2135,7 @@
2135
2135
 
2136
2136
  const ERR_INVALID_UNCOMPRESSED_SIZE = "Invalid uncompressed size";
2137
2137
  const ERR_INVALID_COMPRESSED_DATA = "Invalid compressed data";
2138
- const ERR_INVALID_CRC32 = ERR_INVALID_SIGNATURE;
2139
- const ERR_UNSUPPORTED_COMPRESSION$2 = "Compression method not supported";
2138
+ const ERR_INVALID_CRC32 = "Invalid CRC32";
2140
2139
  const FORMAT_DEFLATE_RAW = "deflate-raw";
2141
2140
  const FORMAT_DEFLATE64_RAW = "deflate64-raw";
2142
2141
  const FORMAT_GZIP = "gzip";
@@ -2404,7 +2403,7 @@
2404
2403
 
2405
2404
  function createCodecStream(CodecStreamClass, format, options) {
2406
2405
  if (!CodecStreamClass) {
2407
- throw new Error(ERR_UNSUPPORTED_COMPRESSION$2);
2406
+ throw new Error(ERR_UNSUPPORTED_COMPRESSION);
2408
2407
  }
2409
2408
  return new CodecStreamClass(format, options);
2410
2409
  }
@@ -4548,8 +4547,6 @@
4548
4547
  const PROPERTY_NAME_RAW_CREATION_DATE = "rawCreationDate";
4549
4548
  const PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES = "internalFileAttributes";
4550
4549
  const PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES = "externalFileAttributes";
4551
- const PROPERTY_NAME_DEPRECATED_INTERNAL_FILE_ATTRIBUTES = "internalFileAttribute";
4552
- const PROPERTY_NAME_DEPRECATED_EXTERNAL_FILE_ATTRIBUTES = "externalFileAttribute";
4553
4550
  const PROPERTY_NAME_MSDOS_ATTRIBUTES_RAW = "msdosAttributesRaw";
4554
4551
  const PROPERTY_NAME_MSDOS_ATTRIBUTES = "msdosAttributes";
4555
4552
  const PROPERTY_NAME_MS_DOS_COMPATIBLE = "msDosCompatible";
@@ -4608,8 +4605,6 @@
4608
4605
  PROPERTY_NAME_DISK_NUMBER_START,
4609
4606
  PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES,
4610
4607
  PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES,
4611
- PROPERTY_NAME_DEPRECATED_INTERNAL_FILE_ATTRIBUTES,
4612
- PROPERTY_NAME_DEPRECATED_EXTERNAL_FILE_ATTRIBUTES,
4613
4608
  PROPERTY_NAME_MSDOS_ATTRIBUTES_RAW,
4614
4609
  PROPERTY_NAME_MSDOS_ATTRIBUTES,
4615
4610
  PROPERTY_NAME_MS_DOS_COMPATIBLE,
@@ -4697,7 +4692,6 @@
4697
4692
  const ERR_EXTRAFIELD_ZIP64_NOT_FOUND = "Zip64 extra field not found";
4698
4693
  const ERR_ENCRYPTED = "File contains encrypted entry";
4699
4694
  const ERR_UNSUPPORTED_ENCRYPTION = "Encryption method not supported";
4700
- const ERR_UNSUPPORTED_COMPRESSION$1 = "Compression method not supported";
4701
4695
  const ERR_SPLIT_ZIP_FILE = "Split zip file";
4702
4696
  const ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
4703
4697
  const ERR_ENTRY_DATA_OUT_OF_BOUNDS = "Entry data out of bounds";
@@ -5078,8 +5072,6 @@
5078
5072
  sticky,
5079
5073
  symlink,
5080
5074
  unixExternalUpper,
5081
- internalFileAttribute: fileEntry.internalFileAttributes,
5082
- externalFileAttribute: fileEntry.externalFileAttributes,
5083
5075
  executable,
5084
5076
  directory: modeIsDir || upperIsDir || (msDosCompatible && msdosAttributes.directory) || fileEntry.filename.endsWith(DIRECTORY_SIGNATURE),
5085
5077
  zipCrypto: fileEntry.encrypted && !fileEntry.extraFieldAES
@@ -5278,7 +5270,7 @@
5278
5270
  rawPassword = rawPassword && rawPassword.length && rawPassword;
5279
5271
  if (extraFieldAES) {
5280
5272
  if (extraFieldAES.originalCompressionMethod != COMPRESSION_METHOD_AES) {
5281
- throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
5273
+ throw new Error(ERR_UNSUPPORTED_COMPRESSION);
5282
5274
  }
5283
5275
  }
5284
5276
  if (dataArray.length < HEADER_SIZE || getUint32$1(dataView, 0) != LOCAL_FILE_HEADER_SIGNATURE) {
@@ -5334,7 +5326,7 @@
5334
5326
  }
5335
5327
  const registeredCodec = passThrough ? UNDEFINED_VALUE : getRegisteredCodec(compressionMethod);
5336
5328
  if (compressionMethod != COMPRESSION_METHOD_STORE && compressionMethod != COMPRESSION_METHOD_DEFLATE && compressionMethod != COMPRESSION_METHOD_DEFLATE_64 && !registeredCodec && !passThrough) {
5337
- throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
5329
+ throw new Error(ERR_UNSUPPORTED_COMPRESSION);
5338
5330
  }
5339
5331
  if (encrypted) {
5340
5332
  if (!zipCrypto && (extraFieldAES.strength < 1 || extraFieldAES.strength > 3)) {
@@ -6186,14 +6178,13 @@
6186
6178
  ERR_INVALID_FILENAME_VALIDATION: ERR_INVALID_FILENAME_VALIDATION,
6187
6179
  ERR_INVALID_MAX_APPENDED_DATA_SIZE: ERR_INVALID_MAX_APPENDED_DATA_SIZE,
6188
6180
  ERR_INVALID_PASSWORD: ERR_INVALID_PASSWORD,
6189
- ERR_INVALID_SIGNATURE: ERR_INVALID_SIGNATURE,
6190
6181
  ERR_INVALID_STRICTNESS: ERR_INVALID_STRICTNESS,
6191
6182
  ERR_INVALID_UNCOMPRESSED_SIZE: ERR_INVALID_UNCOMPRESSED_SIZE,
6192
6183
  ERR_LOCAL_FILE_HEADER_NOT_FOUND: ERR_LOCAL_FILE_HEADER_NOT_FOUND,
6193
6184
  ERR_OVERLAPPING_ENTRY: ERR_OVERLAPPING_ENTRY,
6194
6185
  ERR_SPLIT_ZIP_FILE: ERR_SPLIT_ZIP_FILE,
6195
6186
  ERR_UNSAFE_FILENAME: ERR_UNSAFE_FILENAME,
6196
- ERR_UNSUPPORTED_COMPRESSION: ERR_UNSUPPORTED_COMPRESSION$1,
6187
+ ERR_UNSUPPORTED_COMPRESSION: ERR_UNSUPPORTED_COMPRESSION,
6197
6188
  ERR_UNSUPPORTED_ENCRYPTION: ERR_UNSUPPORTED_ENCRYPTION,
6198
6189
  ERR_UNSUPPORTED_UINT64: ERR_UNSUPPORTED_UINT64,
6199
6190
  ERR_WORKER_STARTUP_TIMEOUT: ERR_WORKER_STARTUP_TIMEOUT,
@@ -6261,7 +6252,6 @@
6261
6252
  const ERR_INVALID_EXTRAFIELD_TYPE = "Invalid extra field type (must be integer 0..65535)";
6262
6253
  const ERR_INVALID_EXTRAFIELD_DATA_TYPE = "Invalid extra field data (must be a Uint8Array)";
6263
6254
  const ERR_INVALID_EXTRAFIELD_DATA = "Extra field data exceeds 64KB";
6264
- const ERR_UNSUPPORTED_COMPRESSION = "Compression method not supported";
6265
6255
  const MIN_UNIX_TIME = -2147483648;
6266
6256
  const MAX_UNIX_TIME = 2147483647;
6267
6257
  const MIN_NTFS_TIME = BigInt(0);
@@ -6701,9 +6691,7 @@
6701
6691
  Object.assign(fileEntry, {
6702
6692
  name,
6703
6693
  comment,
6704
- extraField,
6705
- [PROPERTY_NAME_DEPRECATED_INTERNAL_FILE_ATTRIBUTES]: fileEntry.internalFileAttributes,
6706
- [PROPERTY_NAME_DEPRECATED_EXTERNAL_FILE_ATTRIBUTES]: fileEntry.externalFileAttributes
6694
+ extraField
6707
6695
  });
6708
6696
  return new Entry(fileEntry);
6709
6697
  }
@@ -6750,7 +6738,7 @@
6750
6738
  if (versionMadeBy > MAX_16_BITS) {
6751
6739
  throw new Error(ERR_INVALID_VERSION);
6752
6740
  }
6753
- let externalFileAttributes = getAliasedOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_DEPRECATED_EXTERNAL_FILE_ATTRIBUTES);
6741
+ let externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES);
6754
6742
  const externalFileAttributesProvided = externalFileAttributes !== UNDEFINED_VALUE;
6755
6743
  if (!externalFileAttributesProvided) {
6756
6744
  externalFileAttributes = 0;
@@ -6860,7 +6848,7 @@
6860
6848
  const rawLastModDate = getOptionValue(zipWriter, options, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE);
6861
6849
  const lastAccessDate = getDateOptionValue(zipWriter, options, PROPERTY_NAME_LAST_ACCESS_DATE);
6862
6850
  const creationDate = getDateOptionValue(zipWriter, options, PROPERTY_NAME_CREATION_DATE);
6863
- const internalFileAttributes = getAliasedOptionValue(zipWriter, options, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_DEPRECATED_INTERNAL_FILE_ATTRIBUTES, 0);
6851
+ const internalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, 0);
6864
6852
  const passThrough = getOptionValue(zipWriter, options, OPTION_PASS_THROUGH);
6865
6853
  const password = getOptionValue(zipWriter, options, OPTION_PASSWORD);
6866
6854
  const rawPassword = getOptionValue(zipWriter, options, OPTION_RAW_PASSWORD);
@@ -8254,16 +8242,6 @@
8254
8242
  return checkFunctionOption(getOptionValue(zipWriter, options, name));
8255
8243
  }
8256
8244
 
8257
- function getAliasedOptionValue(zipWriter, options, name, deprecatedName, defaultValue) {
8258
- const value = getAliasedValue(options, name, deprecatedName);
8259
- const result = value === UNDEFINED_VALUE ? getAliasedValue(zipWriter.options, name, deprecatedName) : value;
8260
- return result === UNDEFINED_VALUE ? defaultValue : result;
8261
- }
8262
-
8263
- function getAliasedValue(options, name, deprecatedName) {
8264
- return options[name] === UNDEFINED_VALUE ? options[deprecatedName] : options[name];
8265
- }
8266
-
8267
8245
  function getNumberOptionValue(zipWriter, options, name, defaultValue) {
8268
8246
  return toNumber(getOptionValue(zipWriter, options, name, defaultValue));
8269
8247
  }
@@ -8522,7 +8500,7 @@
8522
8500
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8523
8501
  */
8524
8502
 
8525
- const VERSION = "2.10.0";
8503
+ const VERSION = "2.11.1";
8526
8504
 
8527
8505
  /*
8528
8506
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9014,7 +8992,6 @@
9014
8992
  exports.ERR_INVALID_PASSWORD = ERR_INVALID_PASSWORD;
9015
8993
  exports.ERR_INVALID_PASSWORD_TYPE = ERR_INVALID_PASSWORD_TYPE;
9016
8994
  exports.ERR_INVALID_SIGNAL = ERR_INVALID_SIGNAL;
9017
- exports.ERR_INVALID_SIGNATURE = ERR_INVALID_SIGNATURE;
9018
8995
  exports.ERR_INVALID_SIGNATURE_DATA = ERR_INVALID_SIGNATURE_DATA;
9019
8996
  exports.ERR_INVALID_STRICTNESS = ERR_INVALID_STRICTNESS;
9020
8997
  exports.ERR_INVALID_UID = ERR_INVALID_UID;
@@ -9033,7 +9010,7 @@
9033
9010
  exports.ERR_UNDEFINED_UNCOMPRESSED_SIZE = ERR_UNDEFINED_UNCOMPRESSED_SIZE;
9034
9011
  exports.ERR_UNDETERMINED_SIZE = ERR_UNDETERMINED_SIZE;
9035
9012
  exports.ERR_UNSAFE_FILENAME = ERR_UNSAFE_FILENAME;
9036
- exports.ERR_UNSUPPORTED_COMPRESSION = ERR_UNSUPPORTED_COMPRESSION$1;
9013
+ exports.ERR_UNSUPPORTED_COMPRESSION = ERR_UNSUPPORTED_COMPRESSION;
9037
9014
  exports.ERR_UNSUPPORTED_CONTEXT = ERR_UNSUPPORTED_CONTEXT;
9038
9015
  exports.ERR_UNSUPPORTED_CRYPTO_API = ERR_UNSUPPORTED_CRYPTO_API;
9039
9016
  exports.ERR_UNSUPPORTED_ENCRYPTION = ERR_UNSUPPORTED_ENCRYPTION;