@zip.js/zip.js 2.7.50 → 2.7.51

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.7.50",
3
+ "version": "2.7.51",
4
4
  "exports": {
5
5
  ".": "./index.js",
6
6
  "./data-uri": "./lib/zip-data-uri.js"
@@ -9202,16 +9202,19 @@
9202
9202
  const PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE = "externalFileAttribute";
9203
9203
  const PROPERTY_NAME_MS_DOS_COMPATIBLE = "msDosCompatible";
9204
9204
  const PROPERTY_NAME_ZIP64 = "zip64";
9205
+ const PROPERTY_NAME_ENCRYPTED = "encrypted";
9206
+ const PROPERTY_NAME_VERSION = "version";
9207
+ const PROPERTY_NAME_VERSION_MADE_BY = "versionMadeBy";
9208
+ const PROPERTY_NAME_ZIPCRYPTO = "zipCrypto";
9205
9209
 
9206
9210
  const PROPERTY_NAMES = [
9207
9211
  PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMPPRESSED_SIZE, PROPERTY_NAME_UNCOMPPRESSED_SIZE,
9208
9212
  PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT,
9209
9213
  PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START,
9210
9214
  PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE,
9211
- PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64,
9212
- "directory", "bitFlag", "encrypted", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "version", "versionMadeBy",
9213
- "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS",
9214
- "extraFieldExtendedTimestamp", "zipCrypto"];
9215
+ PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY,
9216
+ PROPERTY_NAME_ZIPCRYPTO, "directory", "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField",
9217
+ "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
9215
9218
 
9216
9219
  class Entry {
9217
9220
 
@@ -10063,11 +10066,11 @@
10063
10066
  if (getLength(rawComment) > MAX_16_BITS) {
10064
10067
  throw new Error(ERR_INVALID_ENTRY_COMMENT);
10065
10068
  }
10066
- const version = getOptionValue(zipWriter, options, "version", VERSION_DEFLATE);
10069
+ const version = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION, VERSION_DEFLATE);
10067
10070
  if (version > MAX_16_BITS) {
10068
10071
  throw new Error(ERR_INVALID_VERSION);
10069
10072
  }
10070
- const versionMadeBy = getOptionValue(zipWriter, options, "versionMadeBy", 20);
10073
+ const versionMadeBy = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION_MADE_BY, 20);
10071
10074
  if (versionMadeBy > MAX_16_BITS) {
10072
10075
  throw new Error(ERR_INVALID_VERSION);
10073
10076
  }
@@ -10084,7 +10087,7 @@
10084
10087
  rawPassword = getOptionValue(zipWriter, options, "rawPassword");
10085
10088
  }
10086
10089
  const encryptionStrength = getOptionValue(zipWriter, options, "encryptionStrength", 3);
10087
- const zipCrypto = getOptionValue(zipWriter, options, "zipCrypto");
10090
+ const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
10088
10091
  const extendedTimestamp = getOptionValue(zipWriter, options, "extendedTimestamp", true);
10089
10092
  const keepOrder = getOptionValue(zipWriter, options, "keepOrder", true);
10090
10093
  const level = getOptionValue(zipWriter, options, "level");
@@ -10096,7 +10099,7 @@
10096
10099
  const useCompressionStream = getOptionValue(zipWriter, options, "useCompressionStream");
10097
10100
  let dataDescriptor = getOptionValue(zipWriter, options, "dataDescriptor", true);
10098
10101
  let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
10099
- if ((password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) && encryptionStrength !== UNDEFINED_VALUE && (encryptionStrength < 1 || encryptionStrength > 3)) {
10102
+ if (!zipCrypto && (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) && !(encryptionStrength >= 1 && encryptionStrength <= 3)) {
10100
10103
  throw new Error(ERR_INVALID_ENCRYPTION_STRENGTH);
10101
10104
  }
10102
10105
  let rawExtraField = new Uint8Array();
@@ -10161,7 +10164,7 @@
10161
10164
  }
10162
10165
  }
10163
10166
  zip64 = zip64 || false;
10164
- const encrypted = getOptionValue(zipWriter, options, "encrypted");
10167
+ const encrypted = getOptionValue(zipWriter, options, PROPERTY_NAME_ENCRYPTED);
10165
10168
  const { signature } = options;
10166
10169
  options = Object.assign({}, options, {
10167
10170
  rawFilename,
@@ -10937,7 +10940,7 @@
10937
10940
  if (availableSize < END_OF_CENTRAL_DIR_LENGTH) {
10938
10941
  lastDiskNumber++;
10939
10942
  }
10940
- let zip64 = getOptionValue(zipWriter, options, "zip64");
10943
+ let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
10941
10944
  if (directoryOffset > MAX_32_BITS || directoryDataLength > MAX_32_BITS || filesLength > MAX_16_BITS || lastDiskNumber > MAX_16_BITS) {
10942
10945
  if (zip64 === false) {
10943
10946
  throw new Error(ERR_UNSUPPORTED_FORMAT);
@@ -11762,12 +11765,16 @@
11762
11765
  encrypted,
11763
11766
  zipCrypto,
11764
11767
  signature,
11765
- compressionMethod
11768
+ compressionMethod,
11769
+ extraFieldAES
11766
11770
  } = child.data;
11767
- let level;
11771
+ let level, encryptionStrength;
11768
11772
  if (compressionMethod === 0) {
11769
11773
  level = 0;
11770
11774
  }
11775
+ if (extraFieldAES) {
11776
+ encryptionStrength = extraFieldAES.strength;
11777
+ }
11771
11778
  zipEntryOptions = {
11772
11779
  externalFileAttribute,
11773
11780
  versionMadeBy,
@@ -11783,7 +11790,8 @@
11783
11790
  zipCrypto,
11784
11791
  signature,
11785
11792
  uncompressedSize,
11786
- level
11793
+ level,
11794
+ encryptionStrength
11787
11795
  });
11788
11796
  }
11789
11797
  }